@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#0d5c45;--green2:#13775a;--mint:#e9f5ef;--gold:#d9a441;--ink:#172a24;--muted:#6d7d76;--line:#e3eae6;--bg:#f5f8f6;--white:#fff;--red:#b83b43;--shadow:0 8px 28px rgba(20,54,40,.055)}
*{box-sizing:border-box}html{font-size:15px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.55}h1,h2,h3,h4,strong{font-family:'Manrope','DM Sans',sans-serif}h1,h2,h3,p{margin-top:0}h1{font-size:1.65rem;letter-spacing:-.04em;margin-bottom:0}h2{font-size:1.35rem;letter-spacing:-.03em;margin-bottom:.45rem}h3{font-size:1rem;margin-bottom:.7rem}p{color:var(--muted)}a{color:inherit;text-decoration:none}.shell{min-height:100vh;display:flex}.sidebar{width:252px;background:#fff;border-right:1px solid var(--line);padding:26px 16px 18px;display:flex;flex-direction:column;flex-shrink:0}.brand{display:flex;gap:11px;align-items:center;padding:0 9px 26px}.brand strong,.brand small{display:block}.brand strong{font-size:14px;letter-spacing:-.03em}.brand small{font-size:11px;color:var(--muted);margin-top:2px}.brand-mark{width:40px;height:40px;border-radius:13px;background:linear-gradient(145deg,#147b5c,#084b3a);color:#fff;display:inline-flex;align-items:center;justify-content:center;font:800 14px Manrope;box-shadow:0 5px 12px #0d5c4526;flex-shrink:0}.profile-mini{display:flex;gap:10px;align-items:center;border-block:1px solid var(--line);padding:17px 9px;margin-bottom:18px}.avatar{width:34px;height:34px;border-radius:50%;background:#e7f4ec;color:var(--green);display:inline-flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.profile-mini strong,.profile-mini small{display:block}.profile-mini strong{font-size:12px}.profile-mini small{font-size:10px;color:var(--muted);letter-spacing:.07em;margin-top:2px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:10px;color:#64746d;font-size:13px;font-weight:600;transition:.15s}.sidebar nav a:hover,.sidebar nav a:focus{background:var(--mint);color:var(--green)}.sidebar-bottom{margin-top:auto;padding:18px 10px 4px;border-top:1px solid var(--line);font-size:11px;color:var(--green);font-weight:700}.sidebar-bottom small{display:block;color:var(--muted);font-weight:400;margin:4px 0 22px}.status-dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:#37a56d;margin-right:5px}.logout{display:block;color:#78867f!important;font-size:12px}.main{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:86px;background:rgba(255,255,255,.88);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:20px}.topbar h1{font-size:20px}.eyebrow{display:block;color:#6b8d7d;font-size:10px;font-weight:700;letter-spacing:.13em;margin-bottom:5px}.top-user{display:flex;align-items:center}.content{padding:30px 38px;max-width:1550px;width:100%;margin:0 auto;flex:1}.footer{border-top:1px solid var(--line);padding:18px 38px;color:#8a9891;font-size:11px}.menu-toggle{display:none;background:white;border:1px solid var(--line);padding:8px 10px;border-radius:8px}.welcome-banner{background:linear-gradient(110deg,#0b5943,#147858);border-radius:18px;padding:32px 34px;color:#fff;display:flex;justify-content:space-between;align-items:center;overflow:hidden;position:relative;min-height:218px}.welcome-banner p{color:#d3e8dd;max-width:530px;margin:8px 0 20px;font-size:13px}.welcome-banner .eyebrow{color:#a8d7bf}.welcome-banner h2{font-size:27px;margin-bottom:4px}.btn{border:0;border-radius:9px;padding:11px 16px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:transform .12s,background .12s}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--green);color:white}.btn.primary:hover{background:#084c39}.btn.secondary{background:#fff;color:#375247;border:1px solid var(--line)}.btn.light{background:#fff;color:var(--green)}.btn.danger{background:#fff1f1;color:var(--red);border:1px solid #f4d7d7}.btn.full{width:100%;padding:13px}.welcome-art{width:185px;height:155px;position:relative;display:flex;align-items:center;justify-content:center;margin-right:20px}.art-circle{position:absolute;width:145px;height:145px;border-radius:50%;background:#ffffff12;border:1px solid #ffffff25}.art-book{width:78px;height:86px;border-radius:12px;background:linear-gradient(140deg,#e9c16c,#b8862f);display:grid;place-items:center;color:#fff;font-size:30px;box-shadow:8px 12px 0 #073e30;transform:rotate(-8deg);z-index:1}.welcome-art span{position:absolute;bottom:0;right:-8px;font-size:10px;letter-spacing:.15em;color:#d3e8dd}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0 30px}.stat-card{background:white;border:1px solid var(--line);border-radius:13px;padding:18px 19px;min-width:0}.stat-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:#e6f5ed;color:#147858;font-size:16px;margin-bottom:14px}.stat-icon.gold{background:#fff4dc;color:#b47e1c}.stat-icon.blue{background:#eaf1ff;color:#4c6cc3}.stat-icon.green{background:#e6f5ed;color:#147858}.stat-label{display:block;color:var(--muted);font-size:11px}.stat-card strong{display:block;font-size:27px;letter-spacing:-.04em;margin:2px 0}.stat-card small{color:#97a29c;font-size:10px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:28px 0 14px}.section-heading h2{font-size:17px}.section-heading p{font-size:12px;margin-bottom:0}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.quick-card{position:relative;background:white;border:1px solid var(--line);border-radius:13px;padding:20px;min-height:165px;transition:.15s}.quick-card:hover{border-color:#9ccbb5;box-shadow:var(--shadow);transform:translateY(-2px)}.quick-icon{display:grid;place-items:center;width:37px;height:37px;background:#e6f5ed;color:#117653;border-radius:11px;margin-bottom:15px;font-size:17px}.quick-icon.violet{background:#f0eafe;color:#7655b8}.quick-icon.orange{background:#fff0df;color:#bd7b28}.quick-card strong{font-size:13px}.quick-card p{font-size:11px;margin:6px 22px 0 0;line-height:1.6}.card-arrow{position:absolute;right:18px;bottom:18px;color:var(--green)}.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:23px;margin-bottom:20px;min-width:0}.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px;min-width:660px}th{text-align:left;text-transform:uppercase;letter-spacing:.08em;font-size:9px;color:#8b9992;font-weight:700;background:#fbfcfb;padding:13px 14px;border-bottom:1px solid var(--line)}td{padding:15px 14px;border-bottom:1px solid #edf1ee;color:#56675f}tr:last-child td{border-bottom:0}td strong{display:block;color:#243a30;font-size:12px}.table-sub{display:block;color:#94a099;font-size:10px;margin-top:3px}.status{display:inline-block;border-radius:20px;padding:4px 8px;font-size:10px;font-weight:700;background:#fff4df;color:#a57218}.status.review{background:#edf2ff;color:#536bc1}.status.done{background:#e6f5ed;color:#168052}.text-link{color:var(--green);font-size:11px;font-weight:700;white-space:nowrap}.empty{text-align:center!important;padding:30px;color:#8a9991}.notice-inline{display:flex;align-items:center;gap:10px;background:#edf6f0;border-radius:10px;padding:13px 15px;margin-top:18px;color:var(--green);font-size:11px}.notice-inline p{margin:0;flex:1;font-size:11px}.notice-inline a{font-weight:700;white-space:nowrap}.page-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px}.page-intro h2{font-size:23px}.page-intro p{font-size:12px;margin:0;max-width:700px}.pill{display:inline-block;border:1px solid #cde5d7;background:#edf8f1;color:#1d7854;padding:7px 11px;border-radius:30px;font-size:10px;font-weight:700;white-space:nowrap}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;align-items:start}.workspace .panel{padding:23px}.quality-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;position:sticky;top:15px}.quality-panel h3{display:flex;gap:8px;align-items:center}.spark{color:#c69634}.quality-panel>p{font-size:11px}.quality-list{padding-left:18px;color:#56675f;font-size:11px;line-height:1.8}.quality-list li{padding:4px 0}.notice-box{background:#fff9e9;border:1px solid #f2e6c4;border-radius:10px;padding:13px;margin-top:18px}.notice-box strong{font-size:11px;color:#8a641b}.notice-box p{font-size:11px;line-height:1.6;margin:5px 0 0;color:#766b4e}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 14px;margin-bottom:18px}label{display:block;font-size:11px;font-weight:700;color:#43574d}input,select,textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #dfe7e2;border-radius:8px;background:#fff;color:#20382d;font:12px 'DM Sans',sans-serif;outline:none;min-width:0}input:focus,select:focus,textarea:focus{border-color:#64a88a;box-shadow:0 0 0 3px #0d5c4512}textarea{resize:vertical;line-height:1.65}fieldset{border:1px solid var(--line);border-radius:10px;padding:13px 14px 14px;min-width:0}legend{font-size:11px;font-weight:700;padding:0 5px;color:#43574d}.span-2{grid-column:span 2}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.check{display:flex;align-items:center;gap:8px;font-weight:500;font-size:11px}.check input{width:15px;height:15px;margin:0;accent-color:var(--green);flex-shrink:0}.form-actions{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0 20px}.alert{padding:12px 14px;border-radius:9px;font-size:12px;margin-bottom:18px}.alert.error{background:#fff0f0;color:#a72e36;border:1px solid #f4d4d5}.alert.success{background:#eaf7ef;color:#1b704b;border:1px solid #cce9d7}.narrow{max-width:720px}.inline-actions{display:flex;gap:8px;flex-wrap:wrap}.danger-zone{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.version-row{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:12px 0;font-size:11px}.version-row small{color:var(--muted)}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.guide-grid>div{padding:17px;border:1px solid var(--line);border-radius:11px}.guide-grid h3{color:var(--green)}.guide-grid p{font-size:12px;margin-bottom:0}.print-toolbar{display:flex;justify-content:space-between;margin-bottom:18px}.print-document{max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:48px 55px;min-height:700px;color:#222}.print-head{display:flex;justify-content:space-between;border-bottom:3px solid var(--green);padding-bottom:13px;font-size:11px;color:var(--green);letter-spacing:.06em}.print-document h1{font-size:23px;margin:28px 0 8px}.document-body{white-space:normal;font-size:12px;line-height:1.85;overflow-wrap:anywhere}.signatures{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:55px;font-size:11px;text-align:center}.login-page,.install-page{min-height:100vh;display:grid;place-items:center;padding:25px;background:#f1f6f2;position:relative;overflow:hidden}.login-decoration{position:absolute;width:600px;height:600px;background:#dceee3;border-radius:50%;top:-280px;right:-140px}.login-card,.install-card{width:min(100%,420px);background:#fff;border:1px solid var(--line);border-radius:20px;padding:38px;box-shadow:0 20px 70px #174c3210;position:relative}.install-card{width:min(100%,520px)}.brand-mark.large{width:52px;height:52px;border-radius:16px;font-size:16px;margin-bottom:24px}.login-card h1{font-size:30px;margin-bottom:10px}.login-card>p{font-size:12px;margin-bottom:24px}.login-card form,.install-card form{display:grid;gap:16px}.login-card .btn{margin-top:4px}.login-foot{border-top:1px solid var(--line);padding-top:17px;margin-top:24px;font-size:10px;text-align:center;color:#8a9991}.muted{color:var(--muted)}.small{font-size:10px!important}.login-card .small{margin:18px 0 0}.install-card h1{font-size:25px;margin-bottom:8px}.install-card>p{font-size:12px}.install-card .muted{margin-top:20px}.print-document .muted{font-size:11px}
@media(max-width:1200px){.content{padding:25px}.topbar{padding:0 25px}.footer{padding:18px 25px}.workspace{grid-template-columns:minmax(0,1fr) 230px}.stats-grid{gap:10px}.stat-card{padding:15px}}
@media(max-width:960px){.sidebar{width:220px}.workspace{grid-template-columns:1fr}.quality-panel{position:static}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.welcome-art{margin-right:0}.topbar h1{font-size:18px}}
@media(max-width:720px){.shell{display:block}.sidebar{position:fixed;z-index:50;left:0;top:0;bottom:0;width:270px;transform:translateX(-105%);transition:transform .2s;box-shadow:none}.nav-open .sidebar{transform:translateX(0);box-shadow:20px 0 50px #102d201f}.menu-toggle{display:inline-block}.topbar{height:76px;padding:0 16px;justify-content:flex-start}.topbar>div:nth-child(2){flex:1}.topbar h1{font-size:16px}.top-user{display:none}.content{padding:19px 15px}.footer{padding:15px;font-size:10px}.welcome-banner{padding:24px 22px;min-height:0}.welcome-banner h2{font-size:23px}.welcome-banner p{font-size:12px}.welcome-art{display:none}.stats-grid{gap:9px;margin:15px 0 24px}.stat-card{padding:13px}.stat-card strong{font-size:23px}.stat-card small{font-size:9px}.quick-grid{grid-template-columns:1fr;gap:10px}.quick-card{min-height:0;padding:15px 16px 17px}.quick-icon{margin-bottom:10px}.quick-card p{margin-right:25px}.section-heading{margin-top:24px}.section-heading h2{font-size:16px}.page-intro{align-items:flex-start;flex-direction:column;gap:12px}.page-intro h2{font-size:21px}.page-intro .btn{width:100%}.workspace .panel,.panel{padding:16px}.form-grid{grid-template-columns:1fr;gap:13px}.span-2{grid-column:span 1}.check-grid{grid-template-columns:1fr}.form-actions .btn{flex:1}.quality-panel{padding:16px}.guide-grid{grid-template-columns:1fr}.inline-actions{width:100%}.inline-actions .btn{flex:1}.print-document{padding:24px 18px;min-height:0}.print-document h1{font-size:20px}.print-toolbar .btn{font-size:11px}.signatures{gap:12px;font-size:10px}.login-card,.install-card{padding:28px 23px}.login-card h1{font-size:27px}.notice-inline{align-items:flex-start;flex-wrap:wrap}.notice-inline p{flex-basis:calc(100% - 35px)}.notice-inline a{margin-left:26px}.table-wrap table{min-width:640px}}
@media print{body{background:#fff}.shell{display:block}.sidebar,.topbar,.footer,.print-toolbar{display:none!important}.main{display:block}.content{padding:0!important;max-width:none}.print-document{box-shadow:none;border:0;margin:0;padding:0;max-width:none}.print-head{margin-bottom:18px}.document-body{font-size:11pt}.signatures{break-inside:avoid}}

/* Added for the archive filters and rule-based quality report. */
.archive-filter{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr) auto;gap:14px;align-items:end;margin-bottom:15px}.archive-filter .form-actions{margin:0;flex-wrap:nowrap}.quality-report{display:grid;gap:12px;margin:18px 0}.quality-result{border:1px solid var(--line);border-radius:12px;padding:15px 17px;background:#fff}.quality-result h3{font-size:15px;margin:0}.quality-result p{margin:8px 0 0;color:var(--ink);line-height:1.55}.quality-result-head{display:flex;gap:12px;align-items:center;justify-content:space-between}.quality-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:700;white-space:nowrap}.quality-status.passed{background:#e4f5ec;color:#176b48}.quality-status.review{background:#fff4dc;color:#8a5a0b}.quality-status.missing{background:#fce9e9;color:#9b2c35}.logout-form{margin:12px 0 0}.logout{border:0;background:transparent;color:inherit;font:inherit;text-decoration:none;cursor:pointer;padding:0}.logout:hover{text-decoration:underline}@media(max-width:720px){.archive-filter{grid-template-columns:1fr}.archive-filter .form-actions{flex-wrap:wrap}.quality-result-head{align-items:flex-start;flex-direction:column}}

/* PowerPoint generator and responsive slide outline previews. */
.pptx-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:18px;align-items:start}.pptx-preview-panel{position:sticky;top:15px;min-width:0}.pptx-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pptx-slide-preview{aspect-ratio:16/9;min-width:0;overflow:hidden;border:1px solid #d7e7dd;border-top:5px solid #c99a3d;border-radius:9px;background:linear-gradient(135deg,#f8fbf8 0%,#eef6f0 100%);padding:10px 11px;box-shadow:0 5px 14px #173a2710}.pptx-slide-index{font-size:8px;letter-spacing:.08em;color:#0d5c45;font-weight:800;margin-bottom:7px}.pptx-slide-preview h3{font-size:12px;line-height:1.25;margin:0 0 7px;color:#18362b;overflow-wrap:anywhere}.pptx-slide-preview ul{margin:0;padding-left:14px;font-size:9px;line-height:1.35;color:#50655a}.pptx-slide-preview li{margin-bottom:3px;overflow-wrap:anywhere}.pptx-slide-preview .pptx-more{font-style:italic;color:#7c8c83}.pptx-layout .form-grid{margin-bottom:12px}.pptx-layout .notice-box{position:relative}.pptx-preview-grid>.muted{grid-column:1/-1}@media(max-width:1200px){.pptx-layout{grid-template-columns:1fr}.pptx-preview-panel{position:static}}@media(max-width:720px){.pptx-preview-grid{grid-template-columns:1fr}.pptx-slide-preview{aspect-ratio:16/9;padding:13px}.pptx-slide-preview h3{font-size:14px}.pptx-slide-preview ul{font-size:11px}}

/* Optional AI assistant controls. */
.ai-output-panel{margin-top:20px}.ai-output-panel textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.7;min-height:420px}.consent-check{display:flex;gap:9px;align-items:flex-start;padding:12px 13px;border:1px solid #d8e8df;background:#f5faf6;border-radius:9px;margin-top:14px;line-height:1.55}.consent-check input{width:16px;height:16px;flex-shrink:0;margin:2px 0 0;accent-color:var(--green)}.ai-output-panel>form{display:grid;gap:15px}.ai-output-panel .form-actions{margin-bottom:0}@media(max-width:720px){.ai-output-panel textarea{min-height:340px}}

/* Document conversion comparison and approval workflow */
.conversion-source-list{display:grid;gap:14px}.conversion-source{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,1.2fr);gap:16px;align-items:start;padding:16px;border:1px solid var(--line,#dbe6df);border-radius:12px;background:#fff}.conversion-source h3,.conversion-change h3{margin:0 0 6px}.conversion-source p,.conversion-change p{overflow-wrap:anywhere}.conversion-source form{display:grid;gap:10px}.conversion-changes{display:grid;gap:16px}.conversion-change{border:1px solid var(--line,#dbe6df);border-radius:12px;padding:16px;background:#fff}.conversion-change>header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.comparison-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin:12px 0}.comparison-grid>div{min-width:0;border:1px solid #dce7df;border-radius:9px;padding:12px;background:#fafcfb}.comparison-grid pre,.conversion-full-preview{font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:380px;overflow:auto;margin:8px 0 0}.conversion-full-preview{max-height:620px;padding:14px;border:1px solid #dce7df;border-radius:9px;background:#fafcfb}.conversion-full-approve{display:grid;gap:12px;margin-top:12px}.conversion-change .form-actions{display:flex;gap:10px;flex-wrap:wrap}.conversion-change .form-actions form{margin:0}.conversion-source .consent-check{margin-top:0}
@media(max-width:760px){.conversion-source{grid-template-columns:1fr}.comparison-grid{grid-template-columns:1fr}.conversion-change{padding:12px}.conversion-change>header{flex-direction:column}.conversion-source form .btn{width:100%}}

/* Admin-managed template toggles and administration module polish. */
.check-label{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--ink);font-weight:600}.check-label input{width:16px;height:16px;accent-color:var(--green)}.inner-panel{margin-top:20px;background:#fbfdfb}.inner-panel .section-heading{margin-top:0}.table-wrap form{display:inline-flex}.table-wrap .inline-actions{align-items:center}


/* Version 8: readable CP/TP before-and-after snapshots */
.sync-diff { min-width: 190px; max-width: 420px; margin-top: 6px; font-size: .88rem; }
.sync-diff summary { cursor: pointer; color: var(--primary, #0d5c45); font-weight: 700; padding: 4px 0; }
.sync-diff strong { display: block; margin-top: 10px; }
.sync-diff-text { max-height: 220px; overflow: auto; white-space: normal; overflow-wrap: anywhere; border: 1px solid var(--border, #d8e4df); border-radius: 8px; padding: 8px; margin-top: 4px; background: var(--surface, #fff); }


/* Version 9: role-aware follow-up dashboard */
.followup-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start;margin:18px 0}.followup-grid .panel{min-width:0}.followup-list{display:grid;gap:12px}.followup-item{border:1px solid var(--line);border-radius:11px;padding:14px;background:#fbfdfb;min-width:0}.followup-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.followup-item p{margin:7px 0;color:var(--muted);font-size:12px}.followup-item small{display:block;line-height:1.6;overflow-wrap:anywhere}.followup-item .form-actions{margin-top:11px;margin-bottom:0}.missing-types{color:#925b08;font-size:11px;line-height:1.6}.followup-stats{margin-top:18px}@media(max-width:960px){.followup-grid{grid-template-columns:1fr}}@media(max-width:720px){.followup-item-head{align-items:flex-start;flex-direction:column}.followup-item{padding:12px}.followup-grid{gap:12px}}


/* v11 report filters */
.report-filters{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:14px;align-items:end}.report-filters label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:650;color:var(--muted,#667085)}.report-filters select,.report-filters input{width:100%;min-width:0;border:1px solid var(--line,#dce5df);border-radius:10px;padding:10px 11px;background:var(--surface,#fff);color:var(--text,#182b25);font:inherit}.report-filter-actions{grid-column:1/-1;display:flex;gap:9px;flex-wrap:wrap;padding-top:3px}@media(max-width:760px){.report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter-actions .btn{flex:1 1 42%}}@media(max-width:460px){.report-filters{grid-template-columns:1fr}}


/* v13: official MIS Kurnia Hasan identity and leadership supervision dashboard */
.brand-mark-logo{background:#fff;border:1px solid #e2ebe4;padding:2px;overflow:hidden;border-radius:10px;box-shadow:none}.brand-mark-logo img{display:block;width:100%;height:100%;object-fit:contain}.supervisi-controls{margin-bottom:20px}.supervisi-report{background:#fff;border:1px solid #e0e9e3;border-radius:16px;padding:24px;box-shadow:0 8px 28px rgba(20,54,40,.04)}.supervisi-print-header{display:flex;align-items:center;gap:20px;border-bottom:2px solid #d9a441;padding-bottom:18px;margin-bottom:14px}.supervisi-print-header img{width:100px;height:100px;object-fit:contain;flex:0 0 100px}.supervisi-print-header h2{font-size:19px;line-height:1.3;margin:3px 0 4px;color:#123d2e}.supervisi-print-header strong{font-size:12px}.supervisi-print-header p{font-size:11px;margin:6px 0 0}.supervisi-meta{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;color:#6d7d76;font-size:11px;margin:0 0 15px}.supervisi-meta strong{color:#263b31}.supervisi-stats{margin:14px 0 20px;grid-template-columns:repeat(4,minmax(0,1fr))}.supervisi-stats .stat-card{border:1px solid #e4ece7;box-shadow:none}.supervisi-report .panel{box-shadow:none;border:1px solid #e3eae6;margin:16px 0;padding:19px}.supervisi-report .section-heading{margin-top:0}.period-comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.period-card{border:1px solid #e2eae5;border-radius:11px;padding:15px;background:#fcfdfc;min-width:0}.period-card>span{display:block;font-size:11px;color:#64756c;font-weight:700}.period-card>strong{display:block;font-size:22px;margin:7px 0 3px;color:#1c392c;overflow-wrap:anywhere}.period-card>small{display:block;font-size:10px;color:#7b8982}.period-card.active-period{border-top:4px solid #0d5c45}.period-statuses{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.period-statuses span{font-size:10px;padding:4px 7px;border-radius:6px;background:#eef4f0;color:#4b6055}.period-delta{border-top:4px solid #d9a441}.trend-legend{display:flex;flex-wrap:wrap;gap:15px;margin:8px 0 12px;font-size:11px;color:#65766d}.trend-legend span{display:flex;align-items:center;gap:6px}.trend-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.legend-draft,.trend-draft{background:#d9a441}.legend-review,.trend-review{background:#6f9fc4}.legend-done,.trend-done{background:#19835e}.trend-chart{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;align-items:end;padding:14px 4px 0;border-bottom:1px solid #dfe8e2;overflow:visible}.trend-month{display:flex;align-items:center;flex-direction:column;gap:5px;min-width:0}.trend-total{font-size:10px;font-weight:800;color:#324d3f;min-height:14px}.trend-stack{height:132px;width:min(100%,30px);display:flex;flex-direction:column-reverse;align-items:stretch;justify-content:flex-start;background:#f3f7f4;border-radius:5px 5px 0 0;overflow:hidden}.trend-segment{display:block;flex:0 0 auto;width:100%;min-height:0}.trend-month-label{font-size:9px;color:#687b70;white-space:nowrap;writing-mode:horizontal-tb}.supervisi-report .table-wrap{overflow-x:auto}.supervisi-report .table-wrap table{min-width:0;width:100%;font-size:11px}.supervisi-report .table-wrap th,.supervisi-report .table-wrap td{padding:9px 8px;vertical-align:top}.supervisi-report .table-sub{display:block;font-size:9px}.supervisi-signatures{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin:25px 0 5px;padding-top:14px;border-top:1px solid #e4ebe6;font-size:11px;color:#617067}.supervisi-signatures>div:last-child{text-align:center;min-width:220px;line-height:1.8}.supervisi-signatures strong{color:#243b30}
@media(max-width:1050px){.period-comparison-grid{grid-template-columns:1fr 1fr}.period-delta{grid-column:1/-1}.supervisi-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.supervisi-report{padding:16px}.trend-chart{gap:4px}.trend-month-label{font-size:8px}}
@media(max-width:700px){.supervisi-print-header{align-items:flex-start;gap:12px}.supervisi-print-header img{width:68px;height:68px;flex-basis:68px}.supervisi-print-header h2{font-size:15px}.supervisi-meta{flex-direction:column;gap:5px}.period-comparison-grid{grid-template-columns:1fr}.period-delta{grid-column:auto}.trend-chart{gap:2px;padding-inline:0}.trend-stack{width:100%;max-width:18px;height:106px}.trend-month-label{font-size:7px;transform:rotate(-35deg);transform-origin:top center;margin-bottom:8px}.trend-legend{gap:8px}.supervisi-signatures{flex-direction:column;gap:15px}.supervisi-signatures>div:last-child{align-self:flex-end;min-width:200px}}
@media print{
  @page{size:A4 portrait;margin:12mm}
  body{background:#fff!important;color:#111;font-family:Arial,sans-serif;font-size:9pt}
  .shell{display:block!important;min-height:0}.sidebar,.topbar,.footer,.menu-toggle,.no-print,.supervisi-controls{display:none!important}.main{display:block!important}.content{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.supervisi-report{border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;background:#fff!important}.supervisi-print-header{break-inside:avoid;margin-bottom:9px;padding-bottom:10px}.supervisi-print-header img{width:72px;height:72px;flex-basis:72px}.supervisi-print-header h2{font-size:13pt}.supervisi-print-header .eyebrow{font-size:7pt}.supervisi-print-header p{font-size:8pt}.supervisi-meta{font-size:8pt;margin-bottom:8px}.supervisi-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;margin:8px 0!important}.supervisi-stats .stat-card{padding:8px!important;border:1px solid #ddd!important;break-inside:avoid}.supervisi-stats .stat-card strong{font-size:17pt}.supervisi-stats .stat-card small{font-size:7pt}.supervisi-report .panel{padding:10px!important;margin:9px 0!important;border:1px solid #ddd!important;break-inside:avoid-page;box-shadow:none!important}.supervisi-report h2{font-size:11pt}.supervisi-report p{font-size:8pt}.period-comparison-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px}.period-card{padding:8px;border:1px solid #ddd}.period-card>strong{font-size:13pt}.period-card>span,.period-card>small,.period-statuses span{font-size:7pt}.period-delta{grid-column:auto}.trend-chart{gap:4px;grid-template-columns:repeat(12,minmax(0,1fr));padding-top:6px}.trend-stack{height:95px!important;width:70%;max-width:24px;background:#f6f6f6!important}.trend-total,.trend-month-label{font-size:7pt}.trend-legend{font-size:7pt;margin:4px 0}.trend-legend i{print-color-adjust:exact;-webkit-print-color-adjust:exact}.trend-segment{print-color-adjust:exact;-webkit-print-color-adjust:exact}.supervisi-report .table-wrap{overflow:visible!important}.supervisi-report .table-wrap table{width:100%!important;min-width:0!important;border-collapse:collapse;font-size:7pt!important}.supervisi-report .table-wrap th,.supervisi-report .table-wrap td{padding:4px!important;border:1px solid #ddd!important;word-break:break-word}.supervisi-report .status{border:1px solid #aaa;background:#fff!important;color:#111!important;padding:2px 4px}.supervisi-signatures{font-size:8pt;break-inside:avoid;margin-top:14px}.supervisi-report .muted.small{font-size:7pt}
}

/* v14: assessment generator fields */
[hidden]{display:none!important}
.assessment-fields{margin-top:1rem;padding:1rem;border:1px solid var(--line,#dce6df);border-radius:14px;background:rgba(19,108,77,.035)}
#assessment-ai-status{display:inline-block;min-width:180px}

/* Separate Word exports for assessment papers. */
.assessment-export-panel { margin-top: 1rem; border: 1px solid var(--line, #d7e3dd); }
.assessment-export-panel[hidden], [data-export-part-button][hidden] { display: none !important; }
.assessment-export-panel .form-actions { display: flex; flex-wrap: wrap; gap: .65rem; }
