/* One vertical scroll owner: document for pages, modalContent for dialogs. */
html{scrollbar-gutter:stable}
body{padding-bottom:0}
main,main>section,.panel,.split,.people-side,.preview-side,.review-fields{min-width:0}
.people-side{overflow:visible}
.table-wrap,.people-wrap,.ims-history-group .table-wrap,.lookup-progress .table-wrap,.statistics-detail .table-wrap{height:auto;max-height:none;overflow-x:auto;overflow-y:visible}
#replyPreview,#requests,.lookup-rows,.folder-list,.activity-detail,.review-source pre{height:auto;max-height:none;overflow:visible}
#replyPreview{min-height:220px}
.people-wrap{min-height:160px}
#requests{padding-right:0}
.lookup-rows{padding-right:0}
.bottom{position:static;margin-top:18px;padding:14px 0;z-index:auto}
footer{position:static;inset:auto;width:auto;margin-top:16px}
body:has(dialog[open]){overflow:hidden}
dialog[open]{display:flex;flex-direction:column;overflow:hidden;max-height:92dvh;margin:auto}
.dialog-title,#modalActions{flex:none}
#modalContent{flex:0 1 auto;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden;padding:2px 5px 12px 2px;overscroll-behavior:contain}
#modalActions{padding-top:10px;border-top:1px solid #d7e0e9}
#modalContent .table-wrap,#modalContent .edit-table{max-height:none;height:auto;overflow-x:auto;overflow-y:visible}
.review-split{align-items:start}
.document-canvas{height:auto;max-height:none;overflow:visible}
.review-source pre{margin:0}
/* Embedded PDF/Word viewers and editable text inputs retain native scrolling. */
.review-source iframe{height:65dvh}
@media(max-width:1100px){.split{grid-template-columns:1fr}.preview-side{margin-top:12px}}
@media(max-width:700px){main{padding:16px 10px}.panel{padding:14px}.meta,.admin-settings-grid{grid-template-columns:1fr}.recipient,.archive{grid-column:auto}.search-fields{grid-template-columns:1fr 1fr}dialog[open]{width:98vw;max-height:96dvh;padding:12px}.review-source iframe{height:60dvh}}
.report-body-preview{background:white;padding:24px;max-width:1000px;margin:auto;font:18px/1.6 "Times New Roman",serif}.report-body-preview h2{text-align:center;font-size:20px}.report-body-preview p{text-align:justify;margin:14px 0}
/* Portal identity and touch-friendly layout. No external fonts or assets. */
:root{--brand:#166b65;--ink:#173343;--line:#dce6ea;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#f3f6f9;color:var(--ink)}
button,input,select,textarea{border-radius:8px}button{min-height:40px;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}button:active{transform:translateY(1px)}button.primary{background:#126d65;border-color:#126d65}button.primary:hover{background:#0d574f}button:focus-visible{outline:3px solid #3aa7a0;outline-offset:3px}input,select,textarea{border-color:#c9d8df}input:focus,textarea:focus,select:focus{outline:2px solid #248f85;outline-offset:1px}
header{flex-wrap:wrap;gap:14px;padding:16px 24px;background:#173343;color:white}header strong{color:white}#modules{gap:6px}#modules button{border:0;border-radius:8px;background:transparent;color:#e2edf0;padding:10px 15px}#modules button.active{background:#e5f5ee;color:#12554f}main{padding:24px;max-width:1680px}.panel{border:1px solid var(--line);border-radius:0 12px 12px 12px;background:#fff;box-shadow:0 3px 16px #18334305}.tabs{gap:5px;border-color:var(--line)}.tabs button{border-color:var(--line);background:#edf2f6}.tabs button.active{background:#fff;color:#126d65}.intro{color:#637786;line-height:1.6}h1{letter-spacing:-.5px}.account-bar{gap:8px}.account-bar button{border-color:#51717d;background:#244957}.table-wrap{border-radius:8px}th{white-space:nowrap}td{overflow-wrap:anywhere}.module-permissions{grid-column:1/-1;border:1px solid #a8cec7;border-radius:12px;padding:16px;background:#f3fbf7}.module-permissions legend{font-weight:700;padding:0 8px}.module-permissions label{margin:12px 0}.permission-grid{background:#f4f7fa}.auth-pending{background:#edf3f6}
#authGate{min-height:100vh;min-height:100dvh;padding:40px 24px;background:radial-gradient(ellipse at 15% 0%,#d5e9e3,transparent 52%),radial-gradient(ellipse at 100% 100%,#dce6f4,transparent 50%),#f0f5f6}.auth-shell{display:grid;grid-template-columns:1.05fr 1fr;width:min(1020px,100%);border-radius:28px;overflow:hidden;background:white;box-shadow:0 30px 90px #1733431c;animation:auth-enter .5s ease-out}.auth-intro{padding:56px 44px;background:linear-gradient(145deg,#123b47,#145e59);color:#fff;display:flex;flex-direction:column;justify-content:center;position:relative}.auth-emblem{display:grid;place-items:center;width:64px;height:64px;border:1px solid #ffffff50;border-radius:18px;background:#ffffff14;font-size:24px;font-weight:750;margin-bottom:36px}.auth-eyebrow{font-size:11px;letter-spacing:2px;color:#add6ce}.auth-intro h2{font-size:36px;line-height:1.28;letter-spacing:-1px;white-space:pre-line;margin:8px 0 22px}.auth-intro>p:not(.auth-eyebrow){line-height:1.8;color:#cfdfdf;max-width:340px}.auth-features{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.auth-features span{padding:7px 10px;border:1px solid #ffffff30;border-radius:30px;color:#e1eeeb;font-size:11px}.auth-shell .auth-card{width:100%;border:0;border-radius:0;box-shadow:none;padding:54px 44px;align-self:center}.auth-brand{font-size:11px;letter-spacing:1.2px;color:#167b70}.auth-card h1{font-size:27px;line-height:1.3;letter-spacing:-.7px}.auth-card label{font-weight:600;font-size:13px;position:relative}.auth-card input{min-height:48px;padding:12px 14px;margin-top:8px;background:#f8fafb;font-weight:400;font-size:16px}.auth-card input[type=password]{padding-right:112px}.auth-card .password-toggle{position:absolute;right:5px;bottom:5px;border:0;background:transparent;color:#286b65;font-size:11px;min-height:38px;padding:6px}.auth-card>button{min-height:48px;font-weight:650;font-size:15px;border-radius:9px}.auth-card .error:empty{display:none}.auth-card .error:not(:empty){background:#fff2f1;border:1px solid #f0cdca;padding:10px;border-radius:8px;font-size:13px}
@keyframes auth-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:900px){header{padding:14px 16px;gap:12px}.account-bar{width:100%;margin:0}main{padding:18px 12px}.auth-intro{padding:36px 28px}.auth-intro h2{font-size:30px}.auth-shell .auth-card{padding:36px 28px}.settings-grid,.meta{grid-template-columns:1fr 1fr}}
@media(max-width:600px){html{scrollbar-gutter:auto}body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}header{padding:14px 12px}header strong{font-size:13px}#modules{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}#modules button{font-size:13px;padding:10px 8px;min-height:44px}#modules button[hidden]{display:none}.account-bar{gap:6px}.account-bar>span{width:100%;font-size:12px}.account-bar button{min-height:40px}.tabs{display:flex;flex-wrap:wrap}.tabs button{flex:1 1 120px;min-height:44px;padding:9px;font-size:13px}button{min-height:44px}input,select,textarea,.lookup-person-row input{font-size:16px!important;min-height:44px}input[type=checkbox],input[type=radio]{min-height:22px;min-width:22px}main{padding:18px 10px}h1{font-size:20px;line-height:1.4}.panel{padding:14px 10px}.meta,.settings-grid,.search-fields,.admin-settings-grid,.permission-grid{grid-template-columns:1fr}.recipient,.archive{grid-column:auto}.actions{flex-wrap:wrap}.actions>button{flex:1 1 130px}.request-row{display:flex;flex-wrap:wrap}.request-row input{flex:1 1 130px;max-width:100%!important}.lookup-person-row{grid-template-columns:24px minmax(0,1fr) 44px}.lookup-person-row input{grid-column:2}.lookup-person-row button{grid-column:3;grid-row:1/3}.lookup-person-row .row-number{grid-row:1/3}.inline{flex-wrap:wrap}.table-wrap{max-width:100%;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:540px}.split{display:block}dialog[open]{width:calc(100% - 12px);max-width:none;max-height:calc(100dvh - 20px);padding:14px 10px;border-radius:16px}#modalContent{padding-right:2px}#modalActions{padding-bottom:env(safe-area-inset-bottom)}.dialog-title h2{font-size:17px}.dialog-title button{min-width:44px}.review-source iframe{width:100%}.report-body-preview{padding:14px;font-size:16px}footer{padding-bottom:max(16px,env(safe-area-inset-bottom))}#authGate{padding:20px 14px;padding-bottom:max(20px,env(safe-area-inset-bottom))}.auth-shell{grid-template-columns:1fr;border-radius:20px;max-width:440px}.auth-intro{padding:26px 26px 22px}.auth-emblem{width:42px;height:42px;border-radius:12px;font-size:18px;margin-bottom:14px}.auth-intro h2{font-size:25px;white-space:normal;margin:4px 0 0}.auth-intro>p:not(.auth-eyebrow),.auth-features{display:none}.auth-eyebrow{margin:0 0 6px;font-size:10px}.auth-shell .auth-card{padding:26px}.auth-card h1{font-size:24px;margin-top:12px}.auth-brand{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
#authGate{align-content:center;gap:24px}.portal-copyright{color:#536b77;text-align:center;font-size:24px;line-height:1.7}.home-hero{padding:42px;border-radius:20px;background:linear-gradient(120deg,#143c49,#16635c);color:white;margin-bottom:32px}.home-eyebrow{font-size:11px;letter-spacing:2px;color:#a9d5cc}.home-hero h1{font-size:32px;margin:12px 0}.home-hero>p:not(.home-eyebrow){max-width:670px;line-height:1.8;color:#e0ece9}.home-date{display:inline-block;margin-top:12px;font-size:12px;color:#c0d9d5}.home-heading{margin-bottom:20px}.home-heading p{color:#637786;margin-top:8px}.home-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.home-card{text-align:left;background:#fff;border:1px solid #dce6ea;padding:26px;border-radius:16px;box-shadow:0 4px 18px #17334305}.home-card:hover{background:#f5fcf9;border-color:#80b5a9;box-shadow:0 8px 24px #17334310}.home-card-number{display:inline-grid;place-items:center;width:42px;height:42px;background:#e9f4ef;border-radius:12px;color:#1b7165;font-weight:700}.home-card h3{font-size:18px;margin:22px 0}.home-card-link{color:#17695f;font-size:13px}.auth-card h1{margin-top:14px}@media(max-width:600px){.home-hero{padding:26px 22px;margin-bottom:24px}.home-hero h1{font-size:26px}.home-cards{grid-template-columns:1fr;gap:12px}.home-card{padding:20px}.home-card h3{margin:14px 0}#modules button[data-module=home]{grid-column:1/-1}.portal-copyright{font-size:22px}}
.home-hero h1{color:#fff}
#netchuFrame{width:100%;height:calc(100dvh - 210px);min-height:540px;border:1px solid #dce6ea;border-radius:12px;background:#fff}#netchu .actions{justify-content:space-between;align-items:center}@media(max-width:600px){#netchuFrame{height:80dvh;min-height:500px}}
@media(max-width:600px){body:has(#netchu:not([hidden]))>footer{display:none}body:has(#netchu:not([hidden])) main{padding:8px}#netchu .intro{font-size:12px;margin:8px 0}#netchuFrame{height:calc(100dvh - 170px);min-height:420px}#netchu .actions{gap:6px}#netchu .actions h1{font-size:18px}}
/* Refined dashboard */
#home{max-width:1280px;margin:0 auto;padding:8px 0 24px}.home-topline{display:flex;justify-content:space-between;gap:12px;margin:0 0 20px;color:#6d8190;font-size:11px;letter-spacing:1.3px}.home-topline>span:last-child{letter-spacing:0;font-size:12px}.home-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:40px;padding:46px 48px;margin-bottom:36px;background:radial-gradient(ellipse at 65% -30%,#337e73 0,transparent 65%),linear-gradient(120deg,#143742,#185d57);box-shadow:0 18px 40px #163c4317;overflow:hidden;border:1px solid #ffffff30;border-radius:24px}.home-hero:after{content:'';position:absolute;pointer-events:none;width:480px;height:480px;border:1px solid #ffffff0d;border-radius:50%;right:55px;top:-200px}.home-welcome{position:relative;z-index:1;min-width:0}.home-eyebrow{font-size:10px;letter-spacing:1.7px;color:#b6d9ce;margin:0 0 18px}.home-hero h1{font-size:20px;font-weight:500;letter-spacing:0;margin:0 0 17px;color:#dcebe6;overflow-wrap:anywhere}.home-lead{font-size:36px;line-height:1.27!important;font-weight:700;letter-spacing:-1px;color:white;white-space:pre-line;margin:0 0 18px}.home-description{font-size:14px;line-height:1.8;color:#c1dad5;max-width:450px;margin:0}.home-calendar{align-self:center;text-align:center;border:1px solid #ffffff30;background:#ffffff0a;border-radius:18px;padding:26px 20px;color:#d3e6df;z-index:1;box-shadow:inset 0 1px #ffffff15}.home-calendar>span{font-size:10px;letter-spacing:3px}.home-calendar>strong{display:block;font-size:68px;line-height:1.1;font-weight:300;color:#fff;margin:9px 0}.home-calendar p{font-size:12px;margin:0}.home-calendar-line{height:1px;background:#ffffff25;margin:18px 0 12px}.home-calendar small{font-size:12px}.home-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 20px}.home-heading h2{font-size:22px;letter-spacing:-.6px}.home-heading p{font-size:13px;margin:7px 0 0}.home-count{border:1px solid #d8e4e5;border-radius:30px;padding:8px 13px;color:#53736f;background:#edf5f2;white-space:nowrap;font-size:12px}.home-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.home-card{--app-color:#23766e;--app-bg:#e7f3ee;position:relative;padding:24px;border-radius:18px;border:1px solid #dce5e9;box-shadow:0 4px 14px #14334204;background:#fff;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.home-card[data-app=manage]{--app-color:#426fa5;--app-bg:#eaf1fb}.home-card[data-app=qlnv]{--app-color:#825da5;--app-bg:#f2ecf8}.home-card[data-app=netchu]{--app-color:#b57736;--app-bg:#fbf2e5}.home-card[data-app=admin]{--app-color:#657488;--app-bg:#eef1f6}.home-card-top{display:flex;align-items:center;justify-content:space-between}.home-app-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;color:var(--app-color);background:var(--app-bg)}.home-app-icon svg{width:26px;height:26px}.home-card .home-card-number{background:none;width:auto;height:auto;color:#a0adb5;font-size:11px;font-weight:500;letter-spacing:1px}.home-card h3{font-size:18px;line-height:1.4;margin:22px 0 24px;color:#203e50;min-height:26px}.home-card-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf1f3;padding-top:16px;color:#6b7f8e;font-size:12px}.home-card-arrow{display:grid;place-items:center;border-radius:50%;width:28px;height:28px;background:var(--app-bg);color:var(--app-color);font-size:18px}.home-card:hover{transform:translateY(-3px);border-color:var(--app-color);background:#fff;box-shadow:0 12px 28px #163c4310}.home-bottom-note{display:flex;align-items:center;gap:10px;margin-top:26px;border-top:1px solid #dfe7eb;padding-top:18px;font-size:12px;color:#7b8d98}.home-note-mark{color:#287b6e;font-size:20px}.home-note-title{margin:0;font-weight:600;color:#4b6470}.home-bottom-note>span:last-child{margin-left:auto}
@media(max-width:900px){.home-hero{padding:32px;gap:24px;grid-template-columns:minmax(0,1fr) 170px}.home-lead{font-size:30px}.home-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#home{padding-top:2px}.home-topline{margin-bottom:14px;font-size:9px}.home-topline>span:last-child{display:none}.home-hero{display:block;padding:27px 23px;border-radius:20px;margin-bottom:26px}.home-eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:18px}.home-hero h1{font-size:16px;margin-bottom:14px}.home-lead{font-size:28px;letter-spacing:-.8px}.home-description{font-size:12px;line-height:1.7}.home-calendar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:24px;padding:12px 14px;border-radius:12px;text-align:left}.home-calendar>span{display:none}.home-calendar>strong{font-size:25px;margin:0 2px 0 0;font-weight:600}.home-calendar p,.home-calendar small{font-size:11px}.home-calendar small{margin-left:auto}.home-calendar-line{display:none}.home-heading h2{font-size:20px}.home-heading p{font-size:12px;max-width:220px;line-height:1.6}.home-count{padding:7px 10px;font-size:10px}.home-cards{grid-template-columns:1fr;gap:12px}.home-card{padding:18px 20px;display:grid;grid-template-columns:48px minmax(0,1fr) 28px;gap:16px;align-items:center}.home-card-top{display:block}.home-app-icon{width:48px;height:48px;border-radius:13px}.home-card .home-card-number{display:none}.home-card h3{margin:0;font-size:16px;min-height:0}.home-card-bottom{border:0;padding:0}.home-card-bottom>span:first-child{display:none}.home-bottom-note{flex-wrap:wrap;gap:7px;font-size:11px;margin-top:20px}.home-bottom-note>span:last-child{margin-left:0;width:100%;line-height:1.6}.home-card:hover{transform:none}}
.media-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.media-job{margin:12px 0;padding:18px}.media-history-title{margin-top:26px}.media-job a{overflow-wrap:anywhere}.home-card[data-app=media]{--app-color:#ad5579;--app-bg:#fbeaf1}@media(max-width:600px){.media-options{grid-template-columns:1fr}}
/* Media library */
.media-hero{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(115deg,#142d42,#146461);color:#fff;border-radius:24px;padding:30px;margin-bottom:22px;overflow:hidden}.media-hero h1{color:#fff;font-size:clamp(26px,4vw,42px);margin:10px 0}.media-hero p{color:#d8eeea;max-width:540px}.media-eyebrow{font-size:11px;letter-spacing:3px;font-weight:700}.media-hero-symbol{font-size:100px;opacity:.35;padding:0 25px}.media-composer textarea{width:100%;resize:vertical;min-height:100px}.media-options{grid-template-columns:repeat(3,minmax(0,1fr))}.media-submit{display:flex;align-items:center;gap:20px;margin-top:16px}.media-submit small,.media-info,.media-job small{color:#667784}.media-link-preview{display:flex;gap:16px;align-items:center;margin:16px 0;min-width:0}.media-link-preview img{width:128px;max-height:88px;object-fit:cover;border-radius:10px}.media-link-preview strong{overflow-wrap:anywhere}.media-stats{display:flex;gap:12px;margin:22px 0}.media-stats>div{display:flex;flex:1;align-items:center;gap:12px;padding:16px;background:#fff;border:1px solid #e0e8ec;border-radius:16px}.media-stats strong{font-size:25px;color:#146461}.media-stats span{font-size:13px;color:#657681}.media-library-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0 14px}.media-filters{display:flex;gap:10px}.media-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.media-library .media-job{display:flex;align-items:flex-start;gap:16px;margin:0;min-width:0;padding:18px;transition:box-shadow .2s}.media-cover{width:85px;height:85px;flex:none;border-radius:16px;background:linear-gradient(135deg,#dff4ef,#e3eaf9);display:grid;place-items:center;overflow:hidden}.media-cover img{width:100%;height:100%;object-fit:cover}.media-cover-symbol{font-size:34px;color:#16766a}.media-job-content{flex:1;min-width:0}.media-job h3{margin:0 0 8px;font-size:16px;overflow-wrap:anywhere;line-height:1.5}.media-job p{margin:6px 0;font-size:13px;overflow-wrap:anywhere}.media-job .actions{margin-top:14px;gap:8px;flex-wrap:wrap}.media-job button{font-size:13px}.media-job progress{width:100%;accent-color:#16766a;height:12px}.media-job[data-state=error]{border-color:#e6b69a}.media-delete{color:#a1433c}.media-file-link{display:block;overflow-wrap:anywhere;margin-top:12px}.media-player{width:100%;max-height:300px;margin-top:16px}.media-message:empty{display:none}
@media(max-width:900px){.media-library{grid-template-columns:1fr}.media-library-heading{align-items:stretch;flex-direction:column}.media-filters input{flex:1;min-width:0}}
@media(max-width:600px){.media-hero{padding:22px;border-radius:18px}.media-hero-symbol{display:none}.media-options{grid-template-columns:1fr}.media-submit{align-items:stretch;flex-direction:column;gap:10px}.media-submit button{width:100%;min-height:48px}.media-stats{gap:6px}.media-stats>div{padding:12px 6px;flex-direction:column;gap:4px}.media-library .media-job{padding:14px;gap:12px}.media-cover{width:52px;height:52px;border-radius:12px}.media-job .actions button{min-height:44px}.media-filters{flex-direction:column}.media-link-preview img{width:80px}.media-player{min-width:0}}
@media(prefers-reduced-motion:reduce){.media-library .media-job{transition:none}}
.media-progress-label{display:block;font-size:16px;color:#146461;margin:12px 0 6px;font-variant-numeric:tabular-nums}.media-job[data-state=running]{border:2px solid #168a7c;background:#f8fffc}.media-job progress{display:block;height:18px;margin:8px 0;transition:width .2s}.media-job progress[hidden]{display:none}
.media-progress-label[hidden]{display:none}

/* One copyright per visible application; consistent typography. */
.portal-copyright,body>footer>small{font-size:16px!important;font-weight:700;line-height:1.6}
body:has(#netchu:not([hidden]))>footer>small{display:none}

body.netchu-expanded-body{overflow:hidden}#netchu.netchu-expanded{position:fixed;inset:0;z-index:1000;width:100%;height:100dvh;padding:12px;background:#f3f7fa;display:flex;flex-direction:column;overflow:hidden}#netchu.netchu-expanded>.actions{flex:none;flex-wrap:wrap;margin:0 0 8px}#netchu.netchu-expanded .intro{display:none}#netchu.netchu-expanded #netchuFrame{flex:1;min-height:0;height:0;border-radius:8px}#netchuFullscreen{min-height:44px}#netchu.netchu-expanded #netchuFullscreen{background:#fff0ed;color:#90382f;border-color:#ddafa9}@media(max-width:600px){#netchu.netchu-expanded{padding:8px;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom))}#netchu.netchu-expanded h1{display:none}}
.personal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.personal-grid label{min-width:0}.personal-grid input,.personal-grid textarea{width:100%;min-height:44px}.personal-grid label:last-child{grid-column:1/-1}.personal-card{border:1px solid #d8e3ec;background:#f7fafc;padding:18px;border-radius:14px;margin:12px 0;overflow-wrap:anywhere}.personal-body{white-space:pre-wrap}.personal-card .actions{flex-wrap:wrap}.personal-card summary{cursor:pointer;padding:12px 0;font-weight:700}.personal-card .permission-grid{margin:10px 0}.personal-inbox{max-width:100%}@media(max-width:600px){.personal-grid{grid-template-columns:1fr}.personal-grid input,.personal-grid textarea{font-size:16px}.personal-card{padding:14px}.personal-card button{min-height:44px}#accountBar{flex-wrap:wrap}#accountBar button{min-height:44px}}
#modules[hidden]{display:none!important}

#gradebookFrame{display:block;width:100%;height:85dvh;min-height:600px;border:1px solid #dce6ea;border-radius:12px;background:white}#gradebook{min-width:0}@media(max-width:600px){#gradebookFrame{height:85dvh;min-height:550px}}

#accountBar[hidden]{display:none!important}#modules{width:auto;display:flex;flex:none}#modules button[data-module=home]{white-space:nowrap}header:has(#accountBar[hidden]){padding:10px 16px}

.home-banner{display:flex;align-items:center;gap:16px;padding:18px 22px;margin-bottom:22px;border:1px solid #d7e8e4;border-radius:16px;background:linear-gradient(110deg,#ecf7f2,#fff);box-shadow:0 3px 14px #17334304}.home-banner-copy{min-width:0;flex:1}.home-banner-label{font-size:10px;font-weight:700;letter-spacing:1.2px;color:#508076}.home-banner h1{font-size:23px;line-height:1.25;margin:4px 0;color:#203e50}.home-banner p{margin:4px 0 0;color:#637786;font-size:13px}.home-banner-date{font-size:12px;color:#637786;white-space:nowrap}.profile-avatar{padding:0;width:58px;height:58px;min-width:58px;border-radius:50%;overflow:hidden;border:2px solid #fff;background:#176c64;color:white;font-size:20px;font-weight:700;box-shadow:0 0 0 1px #cee4dc;display:grid;place-items:center;flex:none}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar span{line-height:1}.home-heading{margin-bottom:14px}.home-heading h2{margin:0;font-size:20px}.home-heading p{margin:5px 0;font-size:13px}@media(max-width:600px){.home-banner{gap:12px;padding:14px;margin-bottom:18px;flex-wrap:wrap}.home-banner h1{font-size:19px}.home-banner-date{display:none}.profile-avatar{width:48px;height:48px;min-width:48px;font-size:17px}.home-banner p{font-size:12px}}

body:has(#home:not([hidden])) #status{display:none}
header:has(#accountBar[hidden]){position:sticky;top:0;z-index:50;padding-top:max(10px,env(safe-area-inset-top));box-shadow:0 2px 10px #16334318}

.feedback-letter-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(60px,120px) auto;align-items:center;gap:12px;width:100%;min-height:52px;margin:0 0 8px;padding:12px 14px;text-align:left;background:#fff;border:1px solid #d8e3ec;border-radius:10px;color:#173b49}
.feedback-letter-row:hover{background:#eef8f4;border-color:#54a99a}.feedback-letter-row.unread .feedback-letter-title{font-weight:700}
.feedback-letter-title,.feedback-letter-sender{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.feedback-letter-sender,.feedback-letter-meta{font-size:12px;color:#526978;white-space:nowrap}
@media(max-width:600px){.feedback-letter-row{grid-template-columns:minmax(0,1fr) minmax(40px,65px) auto;gap:7px;padding:12px 9px}.feedback-letter-title{font-size:14px}.feedback-letter-sender,.feedback-letter-meta{font-size:10px}}

/* Writing workspace fills the browser; navigation shares its toolbar. */
body.netchu-active{overflow:hidden;padding:0}
body.netchu-active>header,body.netchu-active>footer{display:none}
body.netchu-active>main{padding:0;margin:0;max-width:none}
body.netchu-active #netchu,#netchu.netchu-expanded{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;width:100%;height:100vh;height:100dvh;padding:0;background:#edf1f7;overflow:hidden}
body.netchu-active #netchuFrame,#netchu.netchu-expanded #netchuFrame{display:block;width:100%;height:0;flex:1;min-height:0;border:0;border-radius:0}
#netchuHome,#netchuFullscreen{position:absolute;z-index:3;top:17px;right:14px;display:grid;place-items:center;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border:1px solid #466082;border-radius:8px;background:#243b60;color:#eef4ff;box-shadow:0 2px 5px #08162a26;transition:background .15s,transform .15s}
#netchuHome{right:56px}
#netchuHome svg,#netchuFullscreen svg{width:20px;height:20px;pointer-events:none}
#netchuHome:hover,#netchuFullscreen:hover{background:#365684;transform:translateY(-1px)}
#netchuHome:focus-visible,#netchuFullscreen:focus-visible{outline:3px solid #93b5ff;outline-offset:2px}
@media(max-width:850px){#netchuHome,#netchuFullscreen{top:12px}}
@media(max-width:600px){#netchuHome,#netchuFullscreen{top:calc(11px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));width:42px;height:42px;min-width:42px;min-height:42px}#netchuHome{right:calc(58px + env(safe-area-inset-right))}}

/* One compact return arrow at the upper left in every application. */
body.application-active:not(.netchu-active)>header{display:contents}
body.application-active:not(.netchu-active)>main{max-width:none;width:100%;padding-top:64px}
body.application-active #modules{position:fixed;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));z-index:1100;width:auto;display:flex}
body.application-active #modules button[data-module=home],#netchuHome{display:grid;place-items:center;width:42px;height:42px;min-width:42px;min-height:42px;padding:0;border:1px solid #466082;border-radius:10px;background:#243b60;color:#eef4ff;box-shadow:0 2px 5px #08162a26}
#modules button[data-module=home] svg{width:22px;height:22px;pointer-events:none}
#netchuHome{top:14px;left:12px;right:auto}
@media(max-width:600px){body.application-active:not(.netchu-active)>main{padding-top:calc(64px + env(safe-area-inset-top))}#netchuHome{top:calc(11px + env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));right:auto}}

/* Shared application workspace, aligned with the writing app. */
.workspace-toolbar{position:fixed;inset:0 0 auto;z-index:1000;display:flex;align-items:center;gap:10px;height:70px;padding:10px 20px 10px 68px;background:#172945;color:#f1f5ff;box-shadow:0 2px 8px #10233f12}
.workspace-toolbar[hidden]{display:none!important}.workspace-toolbar strong{font-size:20px;font-weight:750;line-height:1.3}.workspace-mark{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:9px;background:#3466c4;color:white;font-weight:800;font-size:16px}
body.application-active:not(.netchu-active):not(.gradebook-active){background:#edf1f7;padding-bottom:0}
body.application-active:not(.netchu-active):not(.gradebook-active)>main{padding:84px 18px 16px;min-height:calc(100dvh - 60px);margin:0;max-width:none;width:100%}
body.application-active #modules{top:14px;left:12px}
body.application-active main>section:not([hidden]){min-width:0}
body.application-active :is(#compose,#admin)>h1,body.application-active #manage>.heading-row>h1,body.application-active #media>.media-studio-heading{display:none}
body.application-active :is(#compose,#admin)>p.intro{margin:0 0 12px;font-size:12px;color:#687d99}
body.application-active .panel{border-radius:10px;border:1px solid #d8e1ec;box-shadow:none;padding:18px;background:white}
body.application-active :is(.tabs,.lookup-tabs,.media-studio-tabs){display:flex;flex-wrap:wrap;gap:6px;padding:6px;margin:0 0 14px;border:1px solid #d8e1ec;background:#e4eaf4;border-radius:10px}
body.application-active :is(.tabs,.lookup-tabs,.media-studio-tabs)>button{margin:0;border:0;border-radius:7px;padding:9px 14px;min-height:38px;background:transparent;color:#4c6284;font-weight:600;box-shadow:none}
body.application-active :is(.tabs,.lookup-tabs,.media-studio-tabs)>button:is(.active,.primary){background:#285bd5;color:white;border:0}
body.application-active button.primary{background:#285bd5;border-color:#285bd5}body.application-active button.primary:hover{background:#204dbb}
body.application-active :is(input,select,textarea){border-color:#cdd8e8;border-radius:7px}
body.application-active .heading-row{display:flex;justify-content:flex-end;flex-wrap:wrap;margin:0 0 12px}
body.application-active #qlnv>h1{font-size:18px;margin:8px 0}body.application-active #qlnv>.intro{font-size:12px;line-height:1.6;margin:8px 0 14px}
body.application-active :is(.media-studio-form,.media-composer,.media-edit-card){border-radius:10px;border:1px solid #d8e1ec;padding:18px;background:white;box-shadow:none}
body.application-active .media-workspace{min-width:0}body.application-active .media-studio-form h2{font-size:20px}
body.application-active .table-wrap{border-radius:8px}body.application-active th{background:#edf3fc;color:#526b8d}
body.application-active>footer{margin:0;border-top:1px solid #d8e1ec;background:#edf1f7;padding:8px 18px}
body.gradebook-active{overflow:hidden;padding:0}body.gradebook-active>main{padding:0;margin:0;max-width:none}body.gradebook-active>footer{display:none}
body.gradebook-active #gradebook{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;width:100%;height:100dvh;padding:0;overflow:hidden}
body.gradebook-active #gradebook>.actions{display:none}body.gradebook-active #gradebookFrame{display:block;width:100%;height:0;flex:1;min-height:0;border:0;border-radius:0;background:#edf1f7}
@media(max-width:600px){.workspace-toolbar{height:calc(66px + env(safe-area-inset-top));padding:calc(10px + env(safe-area-inset-top)) 12px 10px calc(62px + env(safe-area-inset-left));gap:8px}.workspace-toolbar strong{font-size:17px}.workspace-mark{width:30px;height:30px;font-size:13px}body.application-active #modules{top:calc(11px + env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left))}body.application-active:not(.netchu-active):not(.gradebook-active)>main{padding:calc(78px + env(safe-area-inset-top)) 10px 12px}body.application-active .panel,body.application-active :is(.media-studio-form,.media-composer,.media-edit-card){padding:14px 10px}body.application-active :is(.tabs,.lookup-tabs,.media-studio-tabs)>button{flex:1 1 120px;min-height:44px;padding:9px 10px;font-size:13px}body.application-active .heading-row>button{flex:1;min-height:44px}body.application-active>footer{padding:8px 10px}body.application-active .workspace-toolbar{min-width:0}body.application-active .workspace-toolbar strong{overflow-wrap:anywhere}}

.journey-mismatch{background:#fff2db!important}.journey-mismatch td{color:#8b520c}.journey-review-table input[type=checkbox]{width:20px;height:20px;accent-color:#285bd5}.journey-review-table td:first-child{text-align:center}

#startupNotice{max-width:420px;margin:18vh auto;padding:28px;background:white;border-radius:18px;box-shadow:0 12px 50px #19334214}#startupNotice[hidden]{display:none}#startupNotice h1{font-size:23px}#startupNotice p{line-height:1.7}#startupNotice a{display:inline-block;padding:12px 18px;background:#087b75;color:white;border-radius:9px;text-decoration:none}@media(max-width:600px){#startupNotice{margin:15vh 16px}}

/* Shared production interface: clear hierarchy, comfortable controls and readable data. */
:root{--ui-ink:#20364c;--ui-muted:#61758a;--ui-line:#dce5ee;--ui-accent:#24675f;--ui-surface:#fff;--ui-bg:#f3f6fa}
body{background:var(--ui-bg);color:var(--ui-ink);font-family:'Segoe UI',Arial,sans-serif;line-height:1.5}
button,input,textarea,select{border-radius:9px;transition:border-color .15s,box-shadow .15s,background .15s}
button{min-height:38px;border-color:#d0dce6;background:#fff;color:#29435b;font-weight:600;padding:8px 13px}
button:hover:not(:disabled){background:#edf5f4;border-color:#77a59e;box-shadow:0 2px 7px #1733430b}
button.primary{background:#24675f;border-color:#24675f;color:white}button.primary:hover:not(:disabled){background:#1b554e;color:white}
button:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}
input:not([type=checkbox]):not([type=radio]),select,textarea{border-color:#cbd8e4;padding:9px 11px;min-height:39px;background:#fff}
input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid #8ac5b9;outline-offset:2px}
input[type=checkbox],input[type=radio]{accent-color:#24675f}
.panel,.personal-card{border-color:var(--ui-line);box-shadow:0 3px 14px #20364c04;border-radius:14px}
:is(.table-wrap,.people-wrap) table{font-variant-numeric:tabular-nums}
th{font-size:12px;letter-spacing:.02em;color:#50677d;background:#edf2f7;font-weight:700}
td,th{padding:12px 13px;border-bottom-color:#e6edf3}tbody tr:hover td{background:#f1f7f6}td{vertical-align:top}
.table-wrap{border:1px solid var(--ui-line);border-radius:12px;background:#fff}
.table-wrap td{overflow-wrap:anywhere}.table-wrap th{white-space:nowrap}
body>header{background:#fff;border-bottom:1px solid var(--ui-line);padding:12px 24px}
.account-bar{gap:8px;flex-wrap:wrap}.account-bar>span{font-weight:650;margin-right:auto;color:#24415a}.account-bar>button{font-size:12px;border-color:#e0e7ee;min-height:36px}
#home{max-width:1240px;margin:auto;padding:12px 0 20px}.home-banner{border:0;border-radius:22px;min-height:138px;padding:28px 30px;background:linear-gradient(115deg,#163d4c,#235d61);box-shadow:0 10px 30px #163d4c10;color:#fff}
.home-banner h1{font-size:27px;color:white;letter-spacing:-.7px}.home-banner p,.home-banner-date{color:#d3e7e6}.home-banner-label{color:#a8d8cd;letter-spacing:1.8px}.home-banner .profile-avatar{box-shadow:0 0 0 5px #ffffff14;border:2px solid #d9f1e8;background:#f4fbf8;color:#205f55}
.home-heading{margin:26px 0 16px;gap:16px}.home-heading h2{font-size:21px;letter-spacing:-.3px}.home-count{border:1px solid #d8e5df;background:#edf6f1;color:#427260;border-radius:20px;padding:7px 13px}
.home-cards{gap:17px}.home-card{border:1px solid #dde6ed;border-radius:17px;padding:23px;background:#fff;box-shadow:0 4px 15px #19334204;text-align:left}.home-card h3{margin:20px 0 7px;min-height:0;font-size:18px}.home-card-description{font-size:12px;font-weight:400;line-height:1.6;color:#61758a;margin:0 0 20px;min-height:38px}.home-card:hover{box-shadow:0 10px 28px #1933420c;transform:translateY(-3px)}.home-card-bottom{font-size:11px}.home-app-icon{border-radius:13px}
.home-search{width:min(360px,100%);position:relative}.home-search input{width:100%;background:#fff;border-radius:12px!important;padding-left:14px!important}.home-empty{padding:32px;text-align:center;background:#fff;border:1px dashed #bbcbd9;border-radius:14px;color:#61758a}
.profile-reminder{max-width:1240px;margin:14px auto 18px;display:flex;align-items:center;gap:14px;padding:16px 20px;border:1px solid #dfd3ac;border-radius:14px;background:#fffaf0;color:#6c572a}.profile-reminder p{margin:3px 0 0;font-size:12px}.profile-reminder strong{font-size:14px}.profile-reminder-icon{display:grid;place-items:center;width:30px;height:30px;flex:none;background:#f5e8be;border-radius:50%;font-weight:700}.profile-reminder>.actions{margin-left:auto;flex:none}.profile-reminder .actions button{font-size:12px}body.application-active #profileReminder{display:none}
dialog{border:1px solid #d8e3eb;border-radius:18px;box-shadow:0 24px 100px #12263d33;padding:20px;width:min(1100px,94vw)}dialog::backdrop{background:#172b4680;backdrop-filter:blur(3px)}.dialog-title{padding:0 0 14px;margin-bottom:14px;border-bottom:1px solid #e5ecf2}.dialog-title h2{font-size:20px;letter-spacing:-.4px}.dialog-title>button{border-radius:50%;width:36px;height:36px;padding:0;font-size:23px;background:#f1f4f8}.dialog-form{gap:15px}.personal-grid{gap:16px}.personal-grid label{color:#536a80;font-size:12px;font-weight:600}.personal-grid input,.personal-grid textarea{font-size:14px;font-weight:400}
.a08-workspace>h2{font-size:24px;letter-spacing:-.5px;margin-bottom:6px}.a08-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0 18px}.a08-metrics article{padding:18px 22px;border:1px solid var(--ui-line);border-radius:14px;background:#fff;box-shadow:0 3px 12px #19334204}.a08-metrics span{display:block;font-size:12px;color:#62778b;margin-bottom:7px}.a08-metrics strong{font-size:30px;font-weight:700;color:#21485e}.a08-metrics .has-error{background:#fff5f3;border-color:#efcfc8}.a08-metrics .a08-error-count{font-size:28px;padding:0 10px;line-height:1.3}
.a08-error-count{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:32px;padding:3px 10px;border:1px solid #f0c1b6;border-radius:8px;background:#fff0ed;color:#a73e2c;text-decoration:underline;text-underline-offset:3px;font-weight:750;cursor:pointer}.a08-error-count:hover{background:#ffe1d9!important;border-color:#ca7e6c!important;color:#8e2f20}.a08-detail-summary{padding:14px 18px;background:#eff5fa;border-radius:12px;margin-bottom:16px}.a08-detail-summary p{margin:4px 0 0;color:#5b7185;font-size:13px}.a08-file-filters{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.a08-file-filters>input{flex:1;min-width:210px}.a08-file-filters label{display:flex;gap:8px;align-items:center;font-size:13px}.a08-file-filters input[type=checkbox]{display:inline;width:18px;height:18px;margin:0}.a08-file-heading{display:flex;flex-direction:column;gap:5px;padding:15px 18px;background:#eff5fa;border-radius:12px;overflow-wrap:anywhere}.a08-file-heading span{font-size:12px;color:#61758a}.a08-error-detail>input{width:100%;margin:8px 0 14px}.a08-error-detail td:nth-child(4){color:#a2392e;white-space:pre-wrap}.a08-error-detail td:nth-child(3){white-space:pre-wrap;max-width:440px}.a08-group-errors{display:grid;gap:10px}.a08-group-errors button{text-align:left;padding:14px}
@media(max-width:700px){body>header{padding:10px 12px}.account-bar>span{width:100%;font-size:13px}.account-bar>button{flex:1 1 auto;font-size:11px;padding:7px 9px}.home-banner{min-height:120px;padding:20px 18px;border-radius:17px}.home-banner h1{font-size:21px}.home-heading{flex-wrap:wrap}.home-search{width:100%}.home-card{padding:18px;grid-template-columns:44px minmax(0,1fr) 26px}.home-card-description{display:none}.home-card h3{font-size:16px;margin:0}.profile-reminder{margin:10px 0;flex-wrap:wrap;padding:13px;gap:10px}.profile-reminder>div:nth-child(2){flex:1;min-width:180px}.profile-reminder>.actions{width:100%;margin-left:40px}.a08-metrics{gap:8px;margin:18px 0}.a08-metrics article{padding:12px 10px}.a08-metrics span{font-size:10px}.a08-metrics strong,.a08-metrics .a08-error-count{font-size:24px}dialog{padding:14px;border-radius:14px;width:96vw}.dialog-title h2{font-size:17px}td,th{padding:10px 9px}.a08-file-filters>input{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(max-width:700px){.profile-reminder>.actions{margin-left:0;padding-left:40px;box-sizing:border-box}.home-card[hidden]{display:none!important}}

.a08-hover-detail{position:fixed;inset:auto;margin:0;z-index:100000;max-height:300px;overflow:auto;padding:16px;border:1px solid #e8c8bc;border-radius:13px;background:#fffaf5;color:#30465a;box-shadow:0 10px 45px #10233f33;font:13px/1.5 'Segoe UI',Arial,sans-serif}.a08-hover-detail strong{display:block;overflow-wrap:anywhere}.a08-hover-detail p{margin:8px 0}.a08-hover-detail .a08-hover-line{border-top:1px solid #efdfd5;padding-top:8px;color:#943f2c;white-space:pre-wrap;overflow-wrap:anywhere}

.inbox-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;min-height:1.5rem;padding:0 .35rem;margin-left:.4rem;border-radius:99px;background:#b42332;color:#fff;font-size:.8rem;font-weight:800;line-height:1.3;vertical-align:middle}

.permission-editor[hidden],.permission-editor [hidden],.permission-overview[hidden]{display:none}
.permission-overview{grid-column:1/-1;margin:0;padding:11px 13px;background:#e8f2fa;border:1px solid #c9dcea;border-radius:8px;color:#234d65;font-weight:600;line-height:1.5}
.permission-editor .permission-group{grid-column:auto;min-width:0;margin:0;background:#fff;border-color:#c7d8e4;padding:10px 14px}
.permission-editor .permission-shared{grid-column:1/-1}
.permission-editor .permission-option label{margin:5px 0;cursor:pointer}
.permission-editor .permission-option label:has(input:disabled){color:#526677;cursor:default}
.permission-editor .permission-children{margin-top:10px;padding-left:11px;border-left:2px solid #c9dcea}
.permission-editor .permission-state{display:block;padding-left:27px;color:#5a6470;line-height:1.45}
.permission-editor .hint{margin:6px 0}
