:root{--bg:#f6f7f4;--card:#fff;--text:#283333;--muted:#818b86;--accent:#304f46;--border:#e6eae5;--green:#e2eee7;--peach:#faeadf;--shadow:0 8px 35px rgba(27,50,40,.035)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.6}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #99baab;outline-offset:2px}.serif{font-family:Georgia,serif;font-style:italic;font-weight:400}
.layout{display:grid;grid-template-columns:254px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--border);padding:30px 17px 20px}.brand{display:flex;align-items:center;gap:10px;padding:3px 12px;font-size:24px;letter-spacing:-.9px;font-weight:750;line-height:1}.brand-mark{width:39px;height:39px;display:grid;place-items:center;background:#eaf0eb;border-radius:13px;color:#426e5a;font-size:29px}.brand small{display:block;margin-top:7px;font-size:9px;letter-spacing:1.5px;font-weight:500;color:var(--muted)}.side-caption{font-size:10px;color:#a4b1a9;letter-spacing:2.4px;margin:54px 17px 16px;font-weight:700}.sidebar .nav{display:flex;flex-direction:column;gap:5px}.navlink{display:flex;align-items:center;gap:13px;padding:10px 13px;border-radius:10px;font-size:13px;font-weight:550;color:#596760;transition:background .15s}.navlink:hover{background:#f7f9f7}.navlink.active{background:#e7f0e9;color:#294c3c;font-weight:750}.navlink>span:first-child{font-size:21px;width:22px;text-align:center;line-height:1}.mini-lock{margin-left:auto;font-size:9px;color:#a4aaa7;white-space:nowrap}.side-footer{margin-top:auto;border-top:1px solid var(--border);padding:17px 5px 0;display:flex;align-items:center;gap:9px}.avatar,.member-avatar{width:34px;height:34px;border-radius:11px;background:#e9e6df;display:grid;place-items:center;color:#6a655e;font-weight:800;flex:none}.side-person{display:flex;flex-direction:column;flex:1;min-width:0}.side-person strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-person span{font-size:10px;color:var(--muted)}.logout{border:0;background:transparent;font-size:22px;color:#9baca2;padding:2px}
.main{min-width:0}.topbar{height:79px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:0 5.5%}.top-info{font-size:12px;color:#647269;display:flex;align-items:center;gap:9px}.live-dot{display:inline-block;width:7px;height:7px;background:#6e9b7b;border-radius:50%;box-shadow:0 0 0 4px #e3efe7;vertical-align:middle}.top-date{margin-left:24px;color:#97a199}.eyebrow{font-weight:750;font-size:10px;letter-spacing:2.3px;color:#7a9c8c}.content{max-width:1420px;margin:auto;padding:38px 5.5% 18px;min-height:calc(100vh - 79px)}.footer{color:#a4aea7;text-align:center;padding:60px 0 15px;font-size:11px}.toast{padding:12px 17px;border-radius:12px;background:#e2f0e6;border:1px solid #cde3d4;color:#315341;margin-bottom:20px}.card{background:var(--card);border:1px solid var(--border);border-radius:17px;box-shadow:var(--shadow)}
h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.1px;line-height:1.3;font-size:30px;font-weight:750}h2{font-size:18px;letter-spacing:-.4px;margin:5px 0 0}h3{font-size:15px;margin:0}.muted,.page-heading p{color:var(--muted)}.flower{font-weight:400;color:#779a86}.welcome{overflow:hidden;min-height:238px;display:flex;position:relative;background:#e7eee7;border-color:#e2e9e2;box-shadow:none;padding:43px 45px}.welcome>div:first-child{position:relative;z-index:1;max-width:660px}.welcome h1{margin:13px 0 12px}.welcome p{font-size:13px;color:#687d70;margin-bottom:22px;line-height:1.8}.welcome-links{display:flex;gap:10px}.btn{appearance:none;border:1px solid #dce5dd;color:#375447;background:#f8faf8;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font-size:12px;font-weight:700;white-space:nowrap;transition:transform .15s,background .15s}.btn:hover{transform:translateY(-1px);background:#eef4ee}.btn.primary{background:#315447;color:white;border-color:#315447}.btn.primary:hover{background:#244235}.btn.ghost{background:rgba(255,255,255,.5);border-color:#d3ded5}.btn.sm{font-size:11px;padding:7px 11px}.btn.danger{color:#a96a63;background:#fff;border-color:#f1e0de}.btn.full{width:100%}.welcome-art{position:absolute;right:2%;top:-85px;width:360px;height:340px}.orbit{position:absolute;border:1px solid rgba(99,145,114,.20);border-radius:50%}.orbit-a{inset:24px}.orbit-b{inset:62px}.welcome-flower{position:absolute;top:80px;left:80px;font-size:180px;line-height:1;color:#b3ceba;font-weight:200}.welcome-small{font:italic 23px Georgia,serif;color:#7eaa8b;position:absolute;top:228px;left:140px;line-height:1.1;transform:rotate(-7deg)}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.stat{padding:20px 24px;display:flex;flex-direction:column;position:relative}.stat strong{font-size:34px;line-height:1.25;letter-spacing:-1px}.stat>span:last-child{font-size:12px;color:var(--muted)}.stat-symbol{position:absolute;top:14px;right:22px;font-size:23px;color:#95b19f}.columns{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:17px;margin:18px 0}.panel{padding:25px 27px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px;gap:14px}.section-head.outside{margin:35px 0 18px}.more{font-size:12px;color:#527e67;font-weight:700;white-space:nowrap}.simple-item{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid #f0f2ee}.simple-info{min-width:0;flex:1}.simple-info strong,.request-mini strong,.file-mini strong{font-size:12px;font-weight:700;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.simple-info small,.request-mini small,.file-mini small{display:block;font-size:11px;color:#9ca7a0}.checkbox-vis{width:19px;height:19px;border:1.7px solid #b8c8bd;border-radius:6px;flex:none;display:grid;place-items:center;font-size:12px;color:#fff}.checkbox-vis.checked{background:#6d9b7f;border-color:#6d9b7f}.done{text-decoration:line-through;color:#a2aaa3!important}.pill{display:inline-block;border-radius:20px;padding:3px 9px;font-size:10px;font-weight:700;white-space:nowrap;background:#f0f2ef;color:#7d8c80}.pill-pale{background:#f1f1ef;color:#86928b}.pill-green{background:#e4f2e8;color:#508065}.pill-orange{background:#fff0e1;color:#ac7850}.pill-blue{background:#e4edf8;color:#53779e}.request-mini{padding:14px 0;border-top:1px solid #f0f2ee;display:flex;align-items:center;justify-content:space-between;gap:10px}.request-mini>div{min-width:0}.file-mini{display:flex;align-items:center;gap:12px;border-top:1px solid #f0f2ee;padding:12px 0}.file-mini>div{min-width:0;flex:1}.file-icon{width:41px;height:42px;display:grid;place-items:center;background:#eff3ee;color:#5c8c6b;border-radius:11px;font-size:25px;flex:none}.recent-files{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:25px}.empty{color:#a0aaa3;font-size:12px;padding:22px 0}.empty.large{padding:50px;text-align:center}.notice{font-size:12px;background:#edf2ec;color:#6b816e;border:1px solid #dce7db;border-radius:12px;margin-top:18px;padding:15px 19px;line-height:1.9}
.page-heading{margin:0 0 26px}.page-heading h1{margin:10px 0 8px}.page-heading p{margin:0;font-size:13px}.form-card{padding:26px 29px;margin:20px 0}.form-card h3{font-size:16px;margin-bottom:17px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 22px;align-items:end}.form-grid label,.login-box label{font-size:12px;font-weight:700;color:#536258;display:flex;flex-direction:column;gap:7px}.form-grid label.span2{grid-column:1/-1}input:not([type=hidden]),select,textarea{width:100%;background:#fff;border:1px solid #dfe6df;border-radius:9px;padding:10px 12px;min-height:42px;color:#35423a}input::placeholder,textarea::placeholder{color:#a6b1a9}textarea{resize:vertical;line-height:1.7}input[type=file]{padding:10px;cursor:pointer}.submit-self{justify-self:start;min-height:42px}.cards-stack{display:flex;flex-direction:column;gap:13px}.cards-stack.outside{margin-top:20px}.task-row{padding:19px 22px;display:flex;justify-content:space-between;align-items:center;gap:15px}.task-row-main{display:flex;gap:12px;align-items:start;min-width:0}.task-row-main>.checkbox-vis{margin-top:3px}.task-row h3{font-size:14px;overflow-wrap:anywhere}.task-row p,.request-card p{color:#7f8982;font-size:12px;margin:6px 0 10px}.multiline{white-space:pre-wrap;overflow-wrap:anywhere}.meta{font-size:11px;color:#99a49c;margin-top:6px}.actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.actions form{margin:0}.count{color:#8ea696;font-size:14px}.text-danger{font-size:11px;border:0;background:transparent;color:#b17c75;padding:4px 0}.text-danger:hover{text-decoration:underline}
.schedule-week{display:grid;grid-template-columns:repeat(7,minmax(170px,1fr));gap:10px;overflow-x:auto;padding:1px 1px 12px}.day-card{min-width:0;min-height:175px;padding:13px}.day-title{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0ec;padding:4px 3px 12px;margin-bottom:12px}.day-title strong{font-size:13px}.day-title span{font-size:10px;color:#9caaa0}.class-event{display:flex;flex-direction:column;gap:4px;margin:9px 0;background:#e9f0e9;padding:10px;border-left:3px solid #83ab91;border-radius:6px}.class-event strong{font-size:12px}.class-event small{font-size:10px;color:#758b7a}.class-time{font-size:11px;color:#547d60;font-weight:800}.day-empty{font-size:11px;color:#b2bab5;margin:7px 4px}.file-list{overflow:hidden}.file-row{padding:16px 19px;display:flex;align-items:center;gap:14px;border-bottom:1px solid #eff1ed}.file-row:last-child{border-bottom:0}.file-info{min-width:0;flex:1}.file-info strong{display:block;font-size:13px;overflow-wrap:anywhere}.file-info p{font-size:12px;color:#849288;margin:3px 0}.file-info small{font-size:11px;color:#9ba79e}.note-field{font-size:12px;color:#6a836f;align-self:center}.request-card{padding:22px 25px}.request-head{display:flex;justify-content:space-between;gap:15px;align-items:start}.request-head h3{font-size:17px;margin:6px 0}.reply-list{margin:14px 0;background:#f7f9f6;border-radius:9px;padding:7px 13px}.reply{padding:8px 0;font-size:12px;border-bottom:1px solid #ebefea}.reply:last-child{border-bottom:0}.reply small{color:#a2ada5;margin-left:8px;font-size:10px}.request-controls{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-top:15px;flex-wrap:wrap}.reply-form,.status-form{display:flex;gap:6px}.reply-form{flex:1;min-width:230px}.reply-form input{flex:1}.request-controls input,.request-controls select{min-height:34px;padding:7px 10px;font-size:12px}.request-controls .btn{align-self:center}
.chat-card{padding:0;overflow:hidden}.chat-top{border-bottom:1px solid var(--border);padding:16px 20px;font-size:13px;font-weight:700;display:flex;gap:12px;align-items:center}.messages{height:min(57vh,510px);min-height:280px;overflow-y:auto;background:linear-gradient(145deg,#fdfefd,#f5f9f5);padding:25px 22px}.bubble-wrap{max-width:76%;margin-bottom:17px}.bubble-wrap.self{margin-left:auto;text-align:right}.bubble-author{font-size:10px;color:#9faea3;margin:0 0 5px 7px}.bubble{display:inline-block;text-align:left;background:white;border:1px solid #ebefeb;box-shadow:0 3px 10px rgba(27,50,40,.04);border-radius:3px 13px 13px 13px;padding:10px 14px;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.self .bubble{background:#dfece1;border:1px solid #cfe4d1;border-radius:13px 3px 13px 13px}.chat-send{display:flex;padding:15px 17px;gap:12px;align-items:end;border-top:1px solid var(--border)}.chat-send textarea{resize:none;min-height:53px}.chat-send button{align-self:end;height:44px}.notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.notes-grid.outside{margin-top:24px}.note-card{padding:24px;display:flex;flex-direction:column}.note-card h3{font-size:17px;margin:13px 0 9px}.note-card>p{font-size:13px;color:#66776b;line-height:1.95;flex:1}.note-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.member-list{overflow:hidden}.member-row{padding:16px 20px;display:flex;gap:13px;align-items:center;border-bottom:1px solid var(--border);flex-wrap:wrap}.member-row:last-child{border-bottom:0}.member-avatar{width:38px;height:38px}.member-detail{flex:1;min-width:130px}.member-detail strong,.member-detail small{display:block}.member-detail small{font-size:11px;color:var(--muted)}.member-actions{display:flex;align-items:center;gap:18px}.member-actions details{position:relative;font-size:11px;color:#557c67;cursor:pointer}.member-actions details form{position:absolute;z-index:5;background:white;border:1px solid var(--border);padding:15px;right:0;top:24px;min-width:250px;border-radius:11px;box-shadow:0 12px 30px #40504025}.member-actions details input{margin-bottom:9px;font-size:12px}
.login-layout{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.login-story{background:#dbe7db;position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.login-deco{position:absolute;right:-110px;top:2%;color:#bdd4c2;font-size:650px;line-height:1;font-weight:100;transform:rotate(25deg)}.login-story-inner{position:relative;z-index:1;width:72%;max-width:500px}.login-story h1{font-size:clamp(40px,4vw,69px);margin:27px 0;line-height:1.3}.login-story h1 .dot{color:#89a995}.login-story p{font-size:16px;line-height:2.1;color:#6f8275}.story-line{color:#8ba094;font-size:11px;letter-spacing:2px;margin-top:85px}.login-panel{display:flex;align-items:center;justify-content:center;padding:40px 8%}.login-box{width:min(100%,390px)}.login-logo{font-size:50px;color:#64836e;line-height:1.4}.login-box h2{font-size:26px;margin:13px 0 6px}.login-box>.muted{margin-bottom:40px}.login-box label{margin:17px 0}.login-box input{padding:12px 13px;min-height:47px}.login-box .btn{padding:14px;margin-top:17px;justify-content:space-between;font-size:13px}.login-hint{color:#9aaba0;font-size:11px;margin-top:26px;line-height:1.8}.alert{background:#fff0ee;color:#a56d66;border-radius:8px;padding:10px 13px;margin-top:20px;font-size:12px}.mobile-nav{display:none}
@media(max-width:1180px){.schedule-week{grid-template-columns:repeat(7,180px)}.welcome-art{opacity:.5}.recent-files{grid-template-columns:1fr}.sidebar{padding-left:11px;padding-right:11px}.layout{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:860px){.sidebar{display:none}.layout{display:block}.topbar{height:60px;padding:0 20px}.content{padding:26px 18px 100px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:#fff;box-shadow:0 -5px 22px rgba(32,50,40,.07);border-top:1px solid var(--border);z-index:99;padding:8px 6px calc(8px + env(safe-area-inset-bottom))}.mobile-nav a{display:flex;align-items:center;flex-direction:column;gap:1px;font-size:10px;color:#9aaba0;min-width:42px}.mobile-nav a>span{font-size:23px;line-height:1.25}.mobile-nav a.active{color:#406a51;font-weight:800}.footer{padding:35px 0 16px}.login-layout{grid-template-columns:1fr}.login-story{display:none}.login-panel{min-height:100vh;padding:30px}.login-box>.muted{margin-bottom:20px}}
@media(max-width:640px){.eyebrow{font-size:9px;letter-spacing:1.7px}.top-date{display:none}h1{font-size:24px}.welcome{min-height:240px;padding:28px 22px}.welcome h1{font-size:22px}.welcome p{font-size:12px;max-width:280px}.welcome-art{right:-180px;top:-70px;opacity:.35}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.stat{padding:13px 12px;min-height:95px}.stat strong{font-size:24px}.stat>span:last-child{font-size:10px}.stat-symbol{top:5px;right:8px;font-size:16px}.columns{grid-template-columns:1fr;gap:12px;margin:12px 0}.panel{padding:19px}.form-card{padding:19px}.form-grid{grid-template-columns:1fr;gap:13px}.form-grid label.span2{grid-column:auto}.task-row{flex-wrap:wrap;padding:15px}.task-row .actions{padding-left:31px}.notes-grid{grid-template-columns:1fr}.reply-form{width:100%}.file-row{flex-wrap:wrap;padding:14px}.file-info{min-width:calc(100% - 60px)}.file-row .actions{margin-left:auto}.request-controls{justify-content:stretch}.status-form{width:100%}.status-form select{flex:1}.page-heading p{font-size:12px}.chat-send{padding:10px}.chat-send button{padding:8px 12px}.bubble-wrap{max-width:90%}.login-panel{padding:25px}.member-actions{width:100%;padding-left:48px}}
.inline-edit{position:relative;z-index:2}.inline-edit summary{cursor:pointer;list-style:none}.inline-edit summary::-webkit-details-marker{display:none}.inline-edit[open]{z-index:15}.inline-edit-form{position:absolute;right:0;top:calc(100% + 8px);width:min(330px,80vw);padding:16px;display:flex;flex-direction:column;gap:10px;background:white;border:1px solid #dfe8df;border-radius:12px;box-shadow:0 14px 35px #344a3830;text-align:left}.inline-edit-form label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#607367}.inline-edit-form input,.inline-edit-form select,.inline-edit-form textarea{min-width:0;font-size:12px;min-height:36px;padding:6px 8px}.inline-edit-form button{align-self:flex-start}.text-link{border:0;background:transparent;color:#527e67;font-size:11px;font-weight:700;padding:3px 0;cursor:pointer}

/* v2 additions */
.feature-grid,.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr));gap:15px;margin:16px 0}
.button-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}
.stacked-form{display:flex;flex-direction:column;gap:12px;margin-top:14px}.stacked-form label{display:flex;flex-direction:column;gap:6px;font-size:13px}
.stacked-form input,.stacked-form select{width:100%;max-width:500px;min-height:38px;padding:8px;border:1px solid #cfdcd2;border-radius:9px;background:#fff}
.table-scroll{max-width:100%;overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:12px;min-width:520px}.data-table td,.data-table th{border-bottom:1px solid #e5ece5;padding:12px 8px;text-align:left}.data-table th{color:#51705b}
.metric-card{padding:24px}.stats-line{display:flex;justify-content:space-between;gap:12px;margin:17px 0}.stats-line div{display:flex;flex-direction:column;gap:6px}.stats-line strong{font-size:20px;color:#355a45}.stats-line small,.bar-col small{font-size:10px;color:#748777}.bar-chart{display:flex;gap:8px;align-items:flex-end;height:116px;margin-bottom:23px;padding-top:6px}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;height:100%;gap:6px}.bar-col .bar{width:100%;max-width:38px;border-radius:5px 5px 0 0;background:#76a68b;min-height:4px}.bar-col small{white-space:nowrap;font-size:9px}
.alert-row{display:flex;flex-direction:column;gap:6px;padding:15px;border-bottom:1px solid #e2e9e1;color:#284735;text-decoration:none}.alert-row small{color:#708372}.alert-row.is-unread{background:#f0f8f0}
@media(max-width:600px){.stats-line strong{font-size:17px}.feature-grid,.metric-grid{grid-template-columns:1fr}}

/* v2.1: independent school timetables and shared free-time view */
.school-settings-grid { margin-top: 16px; align-items: start; }
.school-profile { border: 1px solid #e2e9e2; border-radius: 12px; padding: 17px; background: #fbfcfa; min-width: 0; }
.school-profile h3 { margin-top: 0; }
.school-profile textarea { width: 100%; min-height: 150px; font-variant-numeric: tabular-nums; }
.school-profile small { line-height: 1.55; }
.school-profile .notice { margin-top: 12px; }
.schedule-hint { font-size: 12px; line-height: 1.7; color: #69786f; margin-top: 16px; }
.schedule-section-title { margin: 24px 0 12px; font-size: 20px; }
.free-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; margin-top: 16px; }
.free-day { background: #f7faf7; border: 1px solid #e5ede5; border-radius: 11px; padding: 12px; min-width: 0; }
.free-day > strong { display: block; margin-bottom: 9px; }
.free-slot { display: block; padding: 5px 0; font-variant-numeric: tabular-nums; font-size: 12px; border-top: 1px solid #e7eee7; }
.free-slot small { color: #849188; font-size: 10px; }
@media(max-width: 760px) { .school-profile { padding: 12px; } .free-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }


/* v2.2: fix clipped file-settings editor and active row stacking. */
.file-list{overflow:visible}
.file-row{position:relative;z-index:0}
.file-row:focus-within,.file-row:has(.inline-edit[open]){z-index:20}
.file-list .file-row:first-child{border-radius:17px 17px 0 0}
.file-list .file-row:last-child{border-radius:0 0 17px 17px}
@media(max-width:640px){.file-row:has(.inline-edit[open]) .actions{flex:1 1 100%;justify-content:flex-end}.file-row .inline-edit-form{right:0;width:min(320px,calc(100vw - 70px))}}
/* v2.2: activity center */
.top-info{gap:12px}.notification-menu{position:relative;z-index:110}.notification-menu summary{list-style:none}.notification-menu summary::-webkit-details-marker{display:none}
.notification-trigger{height:38px;width:42px;display:flex;align-items:center;justify-content:center;border:1px solid #dfebe2;background:white;border-radius:12px;font-size:26px;color:#3e6d54;position:relative;cursor:pointer}
.notification-trigger:hover,.notification-menu[open] .notification-trigger{background:#e8f1e8}.notification-count,.side-notification-count{font-size:10px;line-height:19px;min-width:19px;text-align:center;padding:0 4px;background:#bb554b;color:white;border-radius:999px;font-weight:800}
.notification-count{position:absolute;top:-7px;right:-7px}.side-notification-count{margin-left:auto}.notification-count[hidden],.side-notification-count[hidden],.activity-toast[hidden]{display:none}
.notification-popover{position:absolute;top:calc(100% + 8px);right:0;width:min(365px,calc(100vw - 32px));background:#fff;border:1px solid #dbe6da;border-radius:14px;box-shadow:0 18px 40px #344b3830;overflow:hidden;z-index:120;color:var(--text)}
.notification-popover-head{display:flex;justify-content:space-between;align-items:center;padding:13px 17px;border-bottom:1px solid #eef1eb;font-size:14px}.notification-popover-head a{font-size:12px;color:#547b64}.notification-preview{max-height:310px;overflow:auto}.notification-preview p{padding:13px;margin:0}.notification-preview form{margin:0;border-bottom:1px solid #edf0ed}.notification-preview button{width:100%;background:#fff;text-align:left;border:0;padding:12px 15px;cursor:pointer;color:var(--text);display:flex;flex-direction:column;gap:3px}.notification-preview button:hover{background:#eef6ee}.notification-preview button strong{font-size:12px}.notification-preview button small{color:#778a7e;font-size:11px;line-height:1.5}.activity-toast{position:fixed;right:24px;top:90px;z-index:300;background:#fff;border:1px solid #cde2d2;box-shadow:0 12px 40px #334a3830;border-radius:13px;padding:14px 19px;max-width:min(340px,calc(100vw - 32px));color:#365d45;text-decoration:none;font-size:13px;cursor:pointer}.activity-toast strong{display:block}.activity-toast small{display:block;color:#7a8b80;margin-top:5px}.notification-history{padding:18px 25px}.notice-entry{display:flex;gap:12px;align-items:center;border-bottom:1px solid #edf1ec;padding:13px 0}.notice-entry:last-child{border:0}.notice-entry form{flex:1;min-width:0}.notice-entry button{text-align:left;border:0;background:none;cursor:pointer;padding:6px 9px;border-radius:9px;width:100%;color:#345440}.notice-entry button:hover{background:#edf5ee}.notice-entry button strong,.notice-entry button small{display:block}.notice-entry button small{color:#728274;margin-top:3px}.notice-entry.unread{background:#f5faf5}.notice-entry .notification-kind{font-size:11px;color:#72967c;white-space:nowrap}.notification-history .section-head{margin-bottom:12px}
@media(max-width:860px){.notification-popover{right:-100px}.activity-toast{top:69px;right:12px}.topbar{padding:0 16px}.top-info{gap:9px}.notification-trigger{height:35px;width:37px}}
