:root{--ink:#122b45;--muted:#617184;--navy:#112f4e;--blue:#255a85;--green:#168a76;--border:#dce6ee;--bg:#f3f6fa;--paper:#fff;--red:#ad3838;--shadow:0 9px 30px rgba(19,42,66,.055)}
*{box-sizing:border-box}html{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:15px;color:var(--ink);scroll-behavior:smooth}body{margin:0;background:var(--bg);min-height:100vh;line-height:1.58}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3{letter-spacing:-.025em;line-height:1.24}h1{font-size:clamp(1.65rem,2.5vw,2.25rem);margin:0}h2{font-size:1.25rem;margin:0 0 17px}h3{font-size:1.08rem;margin:0 0 12px}p{margin:0 0 14px}.wrap{max-width:1180px;margin:0 auto;padding-left:24px;padding-right:24px}.topbar{background:linear-gradient(115deg,#0c2947 0%,#174567 68%,#145f69 100%);color:white;box-shadow:0 2px 12px rgba(11,33,51,.14)}.topin{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:12px;padding-bottom:12px;min-height:85px}.brand{color:#fff;display:flex;align-items:center;gap:14px;text-decoration:none;min-width:265px}.brand:hover{text-decoration:none}.brand img{width:51px;height:59px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.16))}.brand strong{display:block;font-size:1.12rem;letter-spacing:.005em;line-height:1.3}.brand small{display:block;color:#bad4e3;font-size:.8rem;font-weight:500;letter-spacing:.03em}nav{display:flex;align-items:center;gap:17px;flex-wrap:wrap;justify-content:flex-end}nav a,nav button{color:#fff;font-size:.87rem;font-weight:600}nav .linklike{color:#fff}.inlineform{display:inline-block;margin:0 0 0 6px}.linklike{border:0;background:transparent;color:var(--blue);padding:6px;font-size:.91rem;text-decoration:underline;text-underline-offset:2px}.linklike:hover{opacity:.75}.main{padding-top:34px;padding-bottom:50px;min-height:calc(100vh - 180px)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:24px}.user-chip{background:#e5eef4;color:#44627a;border:1px solid #d6e4ee;padding:6px 12px;border-radius:999px;font-size:.83rem}.footer{border-top:1px solid var(--border);font-size:.82rem;color:var(--muted);text-align:center;padding-top:22px;padding-bottom:22px}.panel{background:var(--paper);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:27px;margin-bottom:23px}.panel.narrow{max-width:610px}.muted{color:var(--muted)}.eyebrow{font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:var(--green);margin-bottom:10px}.hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px;background:linear-gradient(120deg,#fff,#f7fbfc)}.hero h2{font-size:1.75rem;margin-bottom:7px}.hero p{margin:0}.yearform{display:flex;align-items:end;gap:9px}.yearform label{min-width:190px}.status{font-size:.78rem;display:inline-block;font-weight:700;padding:4px 10px;border-radius:30px;margin-left:8px}.status-draft{color:#84671a;background:#fff2d4}.status-done{color:#17644a;background:#dcf5e9}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #215777;border-radius:10px;background:#185a83;color:#fff;padding:11px 18px;font-weight:700;text-decoration:none;white-space:normal;text-align:center;box-shadow:0 2px 5px rgba(15,63,99,.08)}.btn:hover{background:#10486b;color:#fff;text-decoration:none}.btn.secondary{color:#1b5379;background:#fff;border-color:#cedfe9;box-shadow:none}.btn.secondary:hover{background:#eef6fa}.btn.danger{background:#8d3035;border-color:#8d3035}.btn.danger:hover{background:#6d2328}.btn:disabled{background:#bdc9d2;border-color:#bdc9d2;cursor:not-allowed}.actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:18px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat{padding:20px 23px;border:1px solid var(--border);border-radius:16px;background:#fff}.stat b{font-size:1.85rem;color:#1e5276;display:block;line-height:1.3}.stat span{color:var(--muted);font-size:.87rem}.section-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}.section-title h2{margin:0}.sections{border-top:1px solid var(--border)}.sectionitem{display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--border);padding:16px 6px;color:var(--ink);font-weight:650;transition:background .15s}.sectionitem:hover{background:#f5fafc;text-decoration:none}.sectionitem>span:nth-child(2){flex:1}.sectionitem small{display:block;font-size:.78rem;font-weight:400;color:var(--muted)}.arrow{font-size:.85rem;color:var(--blue);white-space:nowrap}.dot{width:13px;height:13px;border:2px solid #b4c3cc;border-radius:50%;flex:none}.dot.yes{border-color:#2e9f7e;background:#43b791;box-shadow:0 0 0 3px #e5f8ef}.submitbox,.return-form{border-top:1px solid var(--border);margin-top:27px;padding-top:23px}.return-form{padding:23px;border:1px solid #eacaca;background:#fff9f8;border-radius:12px}.tag{font-size:.78rem;background:#edf5f9;color:#285b79;border-radius:999px;padding:7px 12px}.feedback{border-left:4px solid #158a78}.feedback-item{padding:15px 0;border-bottom:1px solid var(--border)}.feedback-item:last-child{border-bottom:0}.feedback-item p{margin:8px 0 0}.notice{border:1px solid #c7dfd8;border-left:4px solid #28a080;background:#f1faf6;border-radius:9px;padding:13px 17px;margin-bottom:19px}.notice.bad{border-color:#f1c9c9;border-left-color:var(--red);background:#fff4f4}.notice.gentle{border:1px solid #d5e4ec;background:#f4f9fc;color:#315a71}.grid2{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(285px,1fr);gap:22px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.form-grid .wide{grid-column:1/-1}.stack{display:flex;flex-direction:column;align-items:stretch;gap:17px}.stack>button{align-self:flex-start}label{display:block;font-weight:650;color:#29445c;font-size:.91rem}input:not([type=hidden]):not([type=checkbox]):not([type=file]),textarea,select{width:100%;display:block;margin-top:6px;padding:11px 13px;background:#fff;color:var(--ink);border:1px solid #cbd9e3;border-radius:9px;min-width:0;outline:0}input:focus,textarea:focus,select:focus{border-color:#368aaa;box-shadow:0 0 0 3px rgba(39,124,161,.13)}textarea{resize:vertical;line-height:1.63}input[type=file]{display:block;margin-top:9px;max-width:100%;font-size:.88rem}input[type=file]::file-selector-button{border:1px solid #c9dbe5;border-radius:7px;background:#ecf5f9;padding:10px;margin-right:12px;cursor:pointer}hr{border:0;border-top:1px solid var(--border);margin:25px 0}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;font-weight:700;color:#52697e;background:#f5f8fb;white-space:nowrap}th,td{padding:13px 11px;border-bottom:1px solid #e4ebf0;vertical-align:top}td small{display:block;color:var(--muted);font-size:.78rem;overflow-wrap:anywhere}.file-actions{display:flex;gap:12px}.danger-text{color:var(--red)}.backlink{display:inline-block;margin:0 0 21px}.samplebox{padding:20px;border:1px solid #d4e4eb;background:#f6fbfc;border-radius:14px;margin:18px 0 22px}.sample-preview{white-space:pre-line;line-height:1.75;margin-top:18px;padding:18px;border-left:3px solid var(--green);background:#fff;color:#355069;border-radius:0 8px 8px 0}.sample-preview[hidden]{display:none}.readtext{white-space:normal;line-height:1.85;overflow-wrap:anywhere}.info-line{display:flex;gap:18px;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}.info-line b{color:#576b7e;font-size:.88rem;min-width:38%}.info-line span{flex:1;overflow-wrap:anywhere}.upload-card{background:#f7fafc;padding:22px;border:1px solid #dae8ef;border-radius:12px;margin:20px 0 30px}.upload-card h2{margin-top:0}.print-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:18px}.mode-tabs{display:flex;gap:5px;background:#e7eff3;padding:5px;border-radius:10px}.mode-tabs a{padding:9px 14px;font-size:.88rem;font-weight:650;border-radius:7px}.mode-tabs a.selected{background:white;box-shadow:0 1px 5px #b8c9d5;color:var(--ink)}.print-hint{font-size:.87rem;color:#6b7684;margin-bottom:24px}.print-sheet{max-width:850px;margin:0 auto;background:#fff;border:1px solid #e0e4e9;box-shadow:0 10px 35px #00000010}.print-cover{min-height:930px;padding:52px 55px 45px;display:flex;flex-direction:column;justify-content:space-between;position:relative;background:linear-gradient(155deg,#fff 0%,#fff 57%,#f6fafc 100%);border-bottom:5px solid #185b7d}.letterhead{display:flex;gap:16px;align-items:center;border-bottom:2px solid #1d5c83;padding:0 0 18px}.letterhead img{height:84px;width:72px;object-fit:contain}.letterhead strong{display:block;font-size:1.12rem;color:#13375b;line-height:1.25}.letterhead small{display:block;font-size:.78rem;margin-top:4px;color:#5b6f7d}.cover-center{text-align:center;margin:auto 0;transform:translateY(-20px)}.cover-center h2{font-size:2.85rem;color:#123d65;line-height:1.2;letter-spacing:.045em;margin:20px 0 27px}.cover-center h3{font-size:1.7rem;color:#2d4e69;margin-bottom:10px}.cover-center p{font-size:1.08rem;color:#5b6b7a}.cover-year{display:inline-block;border:1px solid #aac5d3;border-radius:40px;padding:9px 22px;color:#174b6a;margin-top:15px;font-weight:600}.cover-foot{text-align:center;color:#6c8392;font-size:.8rem}.print-section{margin:0;padding:35px 55px 28px;border-bottom:1px solid #e9eef0;break-inside:auto}.print-section h2{color:#184c71;border-bottom:1px solid #d6e4ed;padding-bottom:10px;font-size:1.3rem;break-after:avoid}.print-section h3{break-after:avoid}.print-section .readtext{min-height:30px;text-align:justify}.toc ol{columns:2;padding-left:22px;line-height:2}.print-profile>div{display:flex;gap:18px;padding:10px 5px;border-bottom:1px solid #edf0f2}.print-profile strong{width:37%;min-width:37%;font-size:.85rem;color:#5f7385}.print-profile span{overflow-wrap:anywhere}.evidence-list li{margin-bottom:9px}.evidence-list small{color:#617184}.evidence-print{page-break-inside:avoid;break-inside:avoid;border:1px solid #dce6ee;border-radius:10px;padding:18px;margin:18px 0}.evidence-print h3{margin:0 0 5px;color:#184b70}.evidence-image{max-width:100%;max-height:820px;object-fit:contain;display:block;margin:14px auto}.pdf-onscreen{border:1px solid var(--border);margin-top:13px}.non-image-note{color:#556a80;font-size:.88rem}
@media(max-width:840px){.topin{align-items:flex-start;flex-direction:column}.brand{min-width:0}nav{justify-content:flex-start}.grid2{grid-template-columns:1fr}.hero{align-items:flex-start;flex-direction:column}.yearform{width:100%}.yearform label{flex:1}.print-cover{min-height:720px}.print-section{padding:28px}.print-cover{padding:35px}.stats{gap:8px}.stat{padding:15px}}
@media(max-width:550px){.wrap{padding-left:14px;padding-right:14px}.main{padding-top:23px}.panel{padding:19px;border-radius:13px}.page-heading{align-items:flex-start;flex-direction:column}.user-chip{display:none}.brand strong{font-size:1rem}.topin{gap:8px}.stats{grid-template-columns:1fr}.stat{display:flex;justify-content:space-between;align-items:center}.stat b{font-size:1.25rem}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.section-title{align-items:flex-start;flex-direction:column}.sectionitem{gap:10px}.sectionitem .arrow{font-size:.78rem}.info-line{flex-direction:column;gap:4px}.print-actions{flex-direction:column;align-items:stretch}.mode-tabs{flex-wrap:wrap}.cover-center h2{font-size:2rem}.print-cover{padding:25px 18px;min-height:680px}.letterhead img{height:56px;width:47px}.letterhead strong{font-size:.85rem}.letterhead small{font-size:.68rem}.print-section{padding:23px 18px}.toc ol{columns:1}.print-profile>div{flex-direction:column;gap:3px}.print-profile strong{width:100%}}
@page{size:A4;margin:13mm}
@media print{*{-webkit-print-color-adjust:exact;print-color-adjust:exact}body{background:#fff;color:#162a3c;font-size:11pt}.topbar,.footer,.page-heading,.print-actions,.print-hint,.pdf-onscreen{display:none!important}.wrap{max-width:none;padding:0}.main{padding:0;min-height:0}.print-sheet{max-width:none;border:0;box-shadow:none}.print-cover{min-height:268mm;padding:18mm 12mm 11mm;break-after:page;border:0}.cover-center{transform:none}.letterhead img{height:25mm;width:21mm}.print-section{padding:6mm 2mm;margin:0;border-bottom:0}.print-section h2{font-size:15pt}.toc{break-after:page}.toc ol{columns:1}.print-section .readtext{font-size:10.8pt}.print-profile>div{break-inside:avoid}.evidence-print{break-inside:avoid;border:0;border-bottom:1px solid #c7d8e0;border-radius:0;padding:8px 0}.evidence-image{max-height:220mm;max-width:100%}.non-image-note{font-style:italic}.evidence-list li{break-inside:avoid}.print-sheet a{color:#172d42;text-decoration:none}}


.hero-card{background:linear-gradient(135deg,#0e3a67 0%,#165187 55%,#1a6aa8 100%);color:#fff;border-radius:20px;padding:28px 30px;margin-bottom:26px;box-shadow:0 18px 40px rgba(10,43,74,.18)}
.hero-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:start}
.hero-card h2{margin:.2rem 0 1rem;font-size:2rem;line-height:1.15;color:#fff}
.hero-card p{color:rgba(255,255,255,.92);max-width:70ch}
.eyebrow{display:inline-block;font-size:.86rem;letter-spacing:.06em;text-transform:uppercase;color:#c9e3ff;font-weight:700}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.hero-actions .btn{box-shadow:none}
.hero-actions .secondary{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.25);color:#fff}
.hero-side{display:grid;gap:12px}
.stat-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:16px 18px;backdrop-filter:blur(2px)}
.stat-card span{display:block;color:#d9ebff;font-size:.92rem;margin-bottom:6px}
.stat-card strong{font-size:1.3rem;color:#fff}
.home-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;margin-bottom:22px}
.info-card h2{margin-top:0;margin-bottom:14px}
.steps-list{margin:0;padding-left:1.2rem;display:grid;gap:12px}
.steps-list li{line-height:1.55}
.quick-links{display:grid;gap:12px}
.quick-link{display:block;border:1px solid #d6e3ef;border-radius:14px;padding:14px 16px;background:#f8fbfe;text-decoration:none;color:#17324d;transition:.18s ease}
.quick-link strong{display:block;margin-bottom:4px;color:#0e3a67}
.quick-link span{display:block;font-size:.95rem;color:#48627b;line-height:1.45}
.quick-link:hover{transform:translateY(-1px);border-color:#a9c7e0;background:#fff}
.feedback-list{display:grid;gap:14px}
.feedback-item{border-left:4px solid #2a72b5;background:#f8fbfe;padding:14px 16px;border-radius:0 12px 12px 0}
.feedback-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px;color:#48627b;font-size:.95rem}
.feedback-item p{margin:0;line-height:1.55}
.director-hints{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.director-hints>div{background:#f8fbfe;border:1px solid #d6e3ef;border-radius:14px;padding:16px}
.director-hints h3{margin:0 0 8px;color:#0e3a67}
@media (max-width: 900px){.hero-grid,.home-grid,.director-hints{grid-template-columns:1fr}.hero-card{padding:22px}.hero-card h2{font-size:1.6rem}}


/* Landing page — official university-style design, version 2.0.3 */
.landing-hero{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(230px,.75fr);min-height:305px;gap:28px;align-items:stretch;padding:32px 34px;border-radius:20px;background:linear-gradient(110deg,#153a5c,#174f73 60%,#26687e);color:#fff;box-shadow:0 14px 34px rgba(8,41,71,.12);position:relative;overflow:hidden}
.landing-hero:after{content:"";position:absolute;width:370px;height:370px;right:-165px;bottom:-210px;border-radius:50%;border:70px solid rgba(255,255,255,.06);pointer-events:none}
.landing-hero-content{position:relative;z-index:1;align-self:center}
.landing-kicker,.landing-eyebrow{display:block;color:#58738c;font-size:.76rem;font-weight:750;letter-spacing:.075em;text-transform:uppercase}
.landing-kicker{color:#b3d7e7;margin-bottom:13px}
.landing-hero h2{font-size:clamp(1.65rem,3vw,2.5rem);line-height:1.18;color:#fff;max-width:600px;margin:0 0 18px;font-weight:800;letter-spacing:-.02em}
.landing-hero p{color:#e6f0f7;line-height:1.72;max-width:650px;margin:0}
.landing-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:23px}
.landing-hero-actions .btn{font-weight:700;border-radius:10px}
.landing-btn-primary{background:#fff!important;color:#17465d!important;border-color:#fff!important}
.landing-btn-primary:hover{background:#e8f2f7!important}
.landing-btn-outline{color:#fff!important;background:transparent!important;border:1px solid rgba(255,255,255,.54)!important}
.landing-btn-outline:hover{background:rgba(255,255,255,.1)!important}
.landing-hero-identity{display:flex;justify-content:center;align-items:center;position:relative;z-index:1}
.landing-identity-frame{width:100%;max-width:270px;border-radius:17px;text-align:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);padding:24px 18px;color:#fff;backdrop-filter:blur(3px)}
.landing-identity-frame img{width:84px;height:90px;object-fit:contain;background:#fff;border-radius:12px;padding:7px;margin:0 auto 12px;display:block}
.landing-identity-line{width:40px;height:2px;background:#a9d5da;margin:0 auto 12px}
.landing-identity-frame span,.landing-identity-frame small{display:block;color:#cee1ed}
.landing-identity-frame strong{display:block;font-size:1.08rem;margin:3px auto 4px}
.landing-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;position:relative;background:#dce7ed;border:1px solid #dce7ed;overflow:hidden;border-radius:16px;margin:16px 0 24px;box-shadow:0 6px 16px rgba(8,41,71,.035)}
.landing-stat{background:#fff;padding:19px 22px 24px;min-width:0}
.landing-stat>span{display:block;color:#5a7183;font-size:.84rem;margin-bottom:6px}
.landing-stat strong{font-size:1.23rem;color:#163e5f;display:block;overflow-wrap:anywhere}
.landing-stat .landing-state-done{color:#147660}.landing-stat .landing-state-work{color:#9a601d}
.landing-progress{position:absolute;left:0;right:0;bottom:0;width:100%;height:5px;background:#e9eef2;border:0;appearance:none;border-radius:0}
.landing-progress::-webkit-progress-bar{background:#e9eef2}
.landing-progress::-webkit-progress-value{background:linear-gradient(90deg,#0e8278,#49aab0)}
.landing-progress::-moz-progress-bar{background:linear-gradient(90deg,#0e8278,#49aab0)}
.landing-director-note{border:1px solid #d8e5ec;background:#fff;border-left:4px solid #269493;box-shadow:0 7px 23px rgba(10,42,64,.04);border-radius:14px;padding:23px 28px;margin-bottom:24px}
.landing-note-heading{display:flex;gap:16px;align-items:center}
.landing-note-mark{font-family:Georgia,serif;font-size:4rem;line-height:.75;color:#2c848f;opacity:.7}
.landing-note-heading h2{font-size:1.22rem;margin:3px 0 0;color:#163e5f}
.landing-director-note>p{line-height:1.75;color:#344d62;max-width:1000px;margin:13px 0}
.landing-signature{display:flex;gap:8px;flex-wrap:wrap;justify-content:space-between;border-top:1px solid #edf2f5;padding-top:12px;color:#577185;font-size:.84rem;font-weight:650}
.landing-two-col{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);gap:22px;margin-bottom:24px}
.landing-side-stack{display:grid;gap:22px;align-content:start}
.landing-panel{padding:24px 26px;border-radius:16px;margin:0}
.landing-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:19px}
.landing-heading h2{font-size:1.3rem;line-height:1.3;margin:5px 0 0;color:#143d5c}
.landing-number,.landing-release{font-size:.78rem;font-weight:750;color:#4c6b7c;background:#eef5f7;border-radius:9px;padding:7px 10px;white-space:nowrap}
.landing-steps{list-style:none;padding:0;margin:0;display:grid;gap:18px}
.landing-steps li{display:flex;align-items:flex-start;gap:14px}
.landing-step-number{min-width:35px;height:35px;border:1px solid #b8d6de;border-radius:10px;display:grid;place-items:center;background:#edf7f8;color:#196775;font-weight:800;font-size:.83rem}
.landing-steps strong{color:#153f5f;display:block;margin:2px 0 5px}
.landing-steps p{line-height:1.58;color:#597083;font-size:.94rem;margin:0}
.landing-actions-list{display:grid;gap:8px}
.landing-actions-list a{border-radius:10px;background:#f7fafc;border:1px solid #dce8ee;display:grid;grid-template-columns:35px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 13px;color:#224f69;text-decoration:none;transition:background .18s,border-color .18s}
.landing-actions-list a:hover{background:#eff8fa;border-color:#a9cbd5}
.landing-action-symbol{background:#e4f1f4;color:#1c6872;border-radius:8px;width:34px;height:34px;display:grid;place-items:center;font-size:.75rem;font-weight:800}
.landing-actions-list strong,.landing-actions-list small{display:block}
.landing-actions-list strong{font-size:.94rem}
.landing-actions-list small{color:#667d8d;font-size:.78rem;margin-top:2px}
.landing-update-panel{border-top:4px solid #228c83}
.landing-updates{padding:0;margin:0;list-style:none;display:grid;gap:15px}
.landing-updates li{display:flex;gap:12px;align-items:start}
.landing-check{height:25px;min-width:25px;border-radius:50%;background:#e2f5ee;color:#177562;display:grid;place-items:center;font-weight:bold}
.landing-updates strong{display:block;color:#224f69}
.landing-updates small{display:block;line-height:1.55;color:#62798b;margin-top:4px}
.landing-feedback{margin-bottom:24px}
.landing-comment{border-left:3px solid #258d98;background:#f5fafc;border-radius:0 9px 9px 0;padding:14px;margin-top:12px}
.landing-comment strong{color:#143d5c}.landing-comment span{display:block;color:#698092;font-size:.79rem;margin-top:3px}.landing-comment p{line-height:1.6;margin:10px 0 0;color:#3c596c}
.landing-faq{margin-bottom:24px}
.landing-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.landing-faq-grid details{background:#f8fafc;border:1px solid #dde8ec;border-radius:11px;padding:14px 17px;align-self:start}
.landing-faq-grid summary{cursor:pointer;color:#164460;font-weight:700;line-height:1.45;list-style:none;display:flex;gap:8px;justify-content:space-between}
.landing-faq-grid summary::after{content:'+';font-size:1.4rem;font-weight:400;line-height:1;color:#2d8791}
.landing-faq-grid details[open] summary::after{content:'−'}
.landing-faq-grid summary::-webkit-details-marker{display:none}
.landing-faq-grid p{margin:11px 0 2px;color:#526b7e;line-height:1.65;font-size:.93rem}
.landing-admin-notice{border-left:4px solid #1d7e85;margin-bottom:24px}
.landing-admin-notice p{line-height:1.7;max-width:900px;color:#4b6376}
@media(max-width:930px){.landing-hero,.landing-two-col{grid-template-columns:1fr}.landing-hero-identity{display:none}.landing-status{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-faq-grid{grid-template-columns:1fr}}
@media(max-width:550px){.landing-hero{padding:23px 20px;border-radius:15px}.landing-hero h2{font-size:1.6rem}.landing-status{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-stat{padding:14px 13px 19px}.landing-stat strong{font-size:1.02rem}.landing-panel,.landing-director-note{padding:20px 17px}.landing-note-heading{gap:10px}.landing-heading h2{font-size:1.14rem}}
@media print{.landing-hero,.landing-status,.landing-director-note,.landing-two-col,.landing-feedback,.landing-faq,.landing-admin-notice{display:none!important}}

/* Read-only director overview — version 2.0.3 */
.director-progress{margin-bottom:24px;border-top:4px solid #287f88}
.director-progress-heading{align-items:end}
.director-progress-heading p{margin:8px 0 0;color:#627789;line-height:1.55;max-width:740px;font-size:.92rem}
.director-year-form{display:flex;align-items:end;gap:10px;flex-shrink:0}
.director-year-form label{min-width:190px;margin:0;font-size:.85rem}
.director-year-form select{margin-top:4px}
.director-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 20px}
.director-summary>div{border:1px solid #dfebf1;background:#f7fafc;border-radius:12px;padding:15px}
.director-summary span{display:block;color:#63798d;line-height:1.4;font-size:.78rem;min-height:2.3em}
.director-summary strong{display:block;color:#174866;font-size:1.55rem;line-height:1.2;margin-top:7px}
.director-progress-table{min-width:820px;font-size:.88rem}
.director-progress-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.035em}
.director-progress-table td{vertical-align:middle}
.director-progress-cell{min-width:155px}
.director-progress-text{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}
.director-progress-text b{color:#174866;font-size:1rem}
.director-progress-text small{white-space:nowrap;font-size:.73rem}
.director-bar{display:block;width:100%;height:7px;background:#e2ebf1;border-radius:999px;overflow:hidden;border:0;appearance:none}
.director-bar::-webkit-progress-bar{background:#e2ebf1;border-radius:999px}
.director-bar::-webkit-progress-value{background:linear-gradient(90deg,#248e88,#2ca3a8);border-radius:999px}
.director-bar::-moz-progress-bar{background:linear-gradient(90deg,#248e88,#2ca3a8);border-radius:999px}
.director-detail,.director-detail-muted{display:block;white-space:nowrap}
.director-detail{color:#1c6575;font-weight:650}
.director-detail-muted{color:#687d8d;font-size:.78rem}
.director-status{display:inline-block;border-radius:9px;padding:5px 9px;font-size:.75rem;font-weight:700;white-space:nowrap;background:#ecf3f7;color:#36657d}
.director-status-submitted{background:#dff5eb;color:#147056}
.director-status-returned{background:#fff0e0;color:#965a19}
.director-status-ready{background:#e0f2f9;color:#1d627d}
.director-status-inactive{background:#eceef0;color:#66717b}
.director-status-empty{background:#f3f5f6;color:#677785}
.director-status-draft{background:#eef5fa;color:#436c87}
.director-inactive-row{opacity:.68}
.director-open{font-weight:700;white-space:nowrap;color:#176579}
.director-progress-bottom{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-top:16px;font-size:.82rem;color:#698091}
.director-progress-bottom a{font-weight:700;white-space:nowrap}
.director-empty{margin-bottom:0;background:#f6fafc;border-radius:10px;padding:16px}
@media(max-width:1000px){.director-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.director-progress-heading{align-items:start;flex-direction:column}.director-year-form{width:100%;max-width:430px}.director-year-form label{flex:1}}
@media(max-width:600px){.director-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.director-summary>div{padding:12px}.director-summary strong{font-size:1.3rem}.director-progress-bottom{flex-direction:column}.director-year-form{flex-wrap:wrap}}
@media print{.director-progress{display:none!important}}
