:root{--ink:#193c36;--accent:#087f6b;--accent-dark:#075f50;--muted:#647671;--line:#dce7e2;--surface:#fff;--canvas:#f4f7f5}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{background:var(--canvas)!important;color:var(--ink);font-family:'Segoe UI',system-ui,sans-serif!important}a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #d49b38;outline-offset:4px}input,textarea,select{font:inherit}input:focus,select:focus,textarea:focus{outline:3px solid #087f6b25;border-color:var(--accent)!important}input[type=radio],input[type=checkbox]{accent-color:var(--accent)}[hidden]{display:none!important}
body>aside{background:linear-gradient(165deg,#123f36,#082f29)!important;box-shadow:none!important}body>aside nav a{min-height:46px}body>aside nav a[aria-current=page]{background:#ffffff18;border-left:3px solid #7ee1bf}body>header{background:#123f36!important}body>div>main{padding-top:32px;padding-bottom:40px}body>div>main.max-w-4xl{max-width:1180px;padding-left:32px;padding-right:32px}body>div>main.max-w-2xl{max-width:850px}body>div>main .bg-white{border:1px solid var(--line);box-shadow:0 4px 20px #193c3605}.text-gray-400{color:#70807a!important}.input-pill,.textarea-pill{background:#f9fbfa!important;border:1px solid var(--line)!important;border-radius:12px!important;color:var(--ink)!important}.textarea-pill{resize:vertical!important}.input-pill:focus,.textarea-pill:focus{box-shadow:0 0 0 4px #087f6b12!important}.app-topbar{height:72px;background:#ffffffd9;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:16px}.app-topbar small{display:block;color:var(--muted)}.app-topbar strong{font-size:14px}.topbar-school{font-size:12px;color:var(--muted)}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:white;padding:12px}.skip-link:focus{top:12px}
.workspace{max-width:1240px;margin:auto;padding:32px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:8px 0 28px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:750;color:var(--accent);margin:0 0 10px}.workspace h1{font-size:32px;line-height:1.2;letter-spacing:-1px;font-weight:750;margin:0 0 10px}.workspace h2{font-size:19px;line-height:1.35;font-weight:700;margin:0}.muted{color:var(--muted);font-size:13px;line-height:1.7}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 19px;border-radius:10px;min-height:45px;font-size:13px;font-weight:650;text-decoration:none;white-space:nowrap;transition:background .18s,transform .18s}.btn-primary{background:var(--accent);color:white;border:1px solid var(--accent)}.btn-primary:hover{background:var(--accent-dark);transform:translateY(-1px)}.btn-secondary{background:white;color:var(--ink);border:1px solid var(--line)}.btn-secondary:hover{background:#eef5f1}.button-group{display:flex;gap:8px}.badge{display:inline-flex;background:#e7f4ee;color:#116b53;padding:6px 10px;border-radius:6px;font-size:11px;font-weight:650}.hero-panel{background:#123f36;border-radius:18px;color:#fff;padding:32px 36px;display:flex;justify-content:space-between;align-items:center;gap:24px;position:relative;overflow:hidden}.hero-panel h2{font-size:30px;letter-spacing:-.6px;line-height:1.25;margin:18px 0 12px}.hero-panel p{font-size:13px;color:#bed6cf;max-width:450px;line-height:1.7}.hero-panel .badge{background:#ffffff16;color:#b9e6d4}.hero-mark{font-size:88px;font-weight:800;letter-spacing:-5px;color:#8bcbb4;line-height:1.1;padding:24px;border:1px solid #ffffff20;border-radius:50%;aspect-ratio:1;display:flex;flex-direction:column;justify-content:center;align-items:center}.hero-mark span{font-size:10px;letter-spacing:0;font-weight:400;color:#bdd5cd}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.metric{background:white;border:1px solid var(--line);border-radius:12px;padding:20px 24px;display:flex;flex-direction:column;gap:12px}.metric span{font-size:12px;color:var(--muted)}.metric strong{font-size:30px;font-weight:700;line-height:1}.filter-bar{display:flex;gap:10px;margin:28px 0;flex-wrap:wrap}.search-field{flex:1;min-width:190px}.filter-bar input,.filter-bar select{width:100%;padding:12px 14px;background:white;border:1px solid var(--line);border-radius:10px;font-size:13px;min-height:45px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.report-card{background:white;border:1px solid var(--line);border-radius:14px;padding:24px;transition:box-shadow .2s,transform .2s}.report-card:hover{box-shadow:0 10px 28px #123f3610;transform:translateY(-2px)}.report-card h3{font-size:18px;font-weight:700;line-height:1.4;margin:18px 0 10px}.report-excerpt{font-size:13px;line-height:1.75;color:var(--muted);overflow-wrap:anywhere}.report-meta{display:flex;flex-direction:column;gap:5px;font-size:12px;margin:22px 0;color:var(--muted)}.card-footer{border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:space-between;gap:10px;font-size:12px}.card-footer a{font-weight:650;color:var(--accent)}.empty-panel{text-align:center;padding:48px 24px;border:1px dashed #b8cfc3;border-radius:16px;background:white}.empty-panel p{margin:12px 0 24px}.empty-symbol{font-size:48px;color:var(--accent);display:block;margin-bottom:18px}.back-link{font-size:12px;color:var(--muted);display:inline-block;margin-bottom:20px}.form-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}.form-guide{position:sticky;top:24px;padding:18px 0}.form-guide>a{display:flex;gap:14px;font-size:12px;padding:14px 0;color:var(--accent);border-bottom:1px solid var(--line)}.form-guide>a span{color:var(--ink)}.guide-note{padding:20px;background:#e7eee8;border-radius:12px;margin:28px 0 16px;font-size:12px;line-height:1.8}.guide-note p{color:var(--muted);margin-top:10px}.form-section{background:white;border:1px solid var(--line);border-radius:16px;padding:28px;margin-bottom:20px}.section-title{display:flex;align-items:center;gap:14px;margin-bottom:28px}.section-title>span{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;background:#edf5f0;color:var(--accent);font-size:12px;font-weight:750;border-radius:10px}.section-title p{margin:4px 0 0}.plc-form fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}.plc-form legend,.field>label{display:block;font-size:13px;font-weight:650;margin-bottom:10px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choice-row{display:flex;gap:10px;flex-wrap:wrap}.choice-card{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:14px;border-radius:10px;cursor:pointer;font-size:12px;transition:background .15s,border-color .15s}.choice-card:has(input:checked){border-color:var(--accent);background:#edf8f2}.choice-card input{width:16px;height:16px;flex-shrink:0}.choice-card strong,.choice-card small{display:block}.choice-card small{font-size:12px;color:var(--muted);margin-top:4px}.field{margin-bottom:20px;min-width:0}.field:last-child{margin-bottom:0}.field>input,.field>select,.field>textarea{width:100%;padding:12px 14px;background:#fcfdfc;border:1px solid #cfded6;border-radius:9px;font-size:13px;color:var(--ink);line-height:1.6}.field textarea{resize:vertical;min-height:190px}.field input::placeholder,.field textarea::placeholder{color:#81918a}.hint{font-size:11px;line-height:1.7;color:var(--muted);margin:8px 0}.fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.full-width{grid-column:1/-1}.text-count{text-align:right;font-size:10px;color:var(--muted);margin-top:5px}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:8px 0 20px}.form-actions>div{display:flex;gap:8px}.form-actions p{font-size:11px;max-width:190px}.notice,.error-summary,.success-notice{padding:18px 22px;border-radius:12px;margin:20px 0;font-size:13px;line-height:1.7}.notice{background:#fff5df;color:#80550b}.error-summary{background:#fff0ef;color:#a32d29;border:1px solid #f0b7b2}.error-summary ul{list-style:disc;padding-left:20px;margin:8px 0 0}.error-summary a{text-decoration:underline}.field-error{font-size:12px;color:#b22c28;margin:6px 0}.success-notice{background:#e2f5e9;color:#146039}.member-picker{border:1px solid #cfded6;border-radius:10px;background:#fcfdfc}.member-picker summary{cursor:pointer;padding:14px;font-size:13px}.member-picker>input{width:calc(100% - 24px);margin:0 12px 8px;padding:10px;border:1px solid var(--line);border-radius:6px;font-size:13px}.member-options{max-height:230px;overflow-y:auto;padding:0 12px 12px}.member-options label{display:flex;align-items:center;gap:12px;padding:11px 8px;font-size:13px;cursor:pointer;border-radius:6px}.member-options label:hover{background:#e9f4ee}.member-options input{width:17px;height:17px}.member-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}.detail-grid dt{font-size:11px;color:var(--muted);margin-bottom:6px}.detail-grid dd{font-size:14px;font-weight:600;overflow-wrap:anywhere}.report-prose{font-size:14px;line-height:1.9;margin-top:16px;overflow-wrap:anywhere}.member-list{display:flex;flex-wrap:wrap;gap:10px;list-style:disc;padding-left:20px;margin-top:20px}.member-list li{font-size:13px;min-width:210px;padding-right:24px}.dashboard-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;background:#123f36;border-radius:16px;color:white;margin-bottom:24px}.dashboard-welcome h1{font-size:26px;font-weight:700;letter-spacing:-.5px}.dashboard-welcome p{font-size:13px;color:#c5ddd4;margin-top:8px}.dashboard-welcome .btn-primary{background:#cbe8d7;color:#123f36;border:0}.login-page{background:radial-gradient(ellipse at top left,#d7eade,transparent 60%),#f4f7f5!important}.login-page>div{max-width:420px}.login-page .bg-white{border:1px solid var(--line);box-shadow:0 20px 70px #123f3610}.login-page input{min-height:48px}.login-page button[type=submit]{background:var(--accent)!important;border-radius:10px}.login-page label{font-size:12px;color:var(--ink);font-weight:650;display:block;margin-bottom:8px}
@media(min-width:768px){body>div>main{min-height:calc(100vh - 72px)}}
@media(max-width:1100px){.form-layout{grid-template-columns:1fr}.form-guide{position:static;display:flex;flex-wrap:wrap;gap:8px;padding:0}.form-guide .eyebrow,.form-guide .guide-note,.form-guide>p{display:none}.form-guide>a{padding:10px;border:1px solid var(--line);border-radius:8px}.hero-mark{font-size:65px}.form-actions{flex-wrap:wrap}}
@media(max-width:767px){.app-topbar{display:none}.workspace,body>div>main.max-w-4xl{padding:24px 18px}.workspace h1{font-size:26px}.page-heading{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:24px}.hero-panel{padding:26px}.hero-panel h2{font-size:26px}.hero-mark{display:none}.metrics{gap:8px}.metric{padding:16px 12px}.metric strong{font-size:25px}.metric span{font-size:10px}.report-grid{grid-template-columns:1fr}.form-section{padding:22px 18px}.form-guide{gap:6px}.form-guide>a{font-size:10px;gap:5px}.form-actions>div{width:100%}.form-actions .btn-primary{flex:1}.form-actions p{max-width:none}.dashboard-welcome{padding:24px;align-items:flex-start;flex-direction:column}.dashboard-welcome h1{font-size:23px}.section-heading>.muted{font-size:10px}.card-footer{font-size:11px}body>nav{padding-bottom:max(12px,env(safe-area-inset-bottom))!important}body>nav>div{border-radius:18px!important}.detail-grid{gap:20px}}
@media(max-width:400px){.fields-grid,.choice-grid{grid-template-columns:1fr}.choice-row{flex-direction:column}.filter-bar>label:not(.search-field){flex:1}.form-section{padding:20px 14px}.member-list li{min-width:0}.btn-primary,.btn-secondary{padding:11px 13px}.detail-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{body>aside,body>header,body>nav,.app-topbar,.no-print,.skip-link{display:none!important}body>div{margin:0!important;padding:0!important}body{background:white!important}.workspace{max-width:none;padding:0!important}.form-section{border:0;border-bottom:1px solid #ddd;padding:16px 0;margin:0;border-radius:0}.report-view h2,.report-view .section-heading{break-after:avoid}.report-prose{orphans:3;widows:3}.page-heading{display:block}.detail-grid{grid-template-columns:1fr 1fr}.badge{border:1px solid #ccc}a{text-decoration:none!important}}

.plc-leave-dialog{border:1px solid var(--line);border-radius:16px;padding:28px;width:calc(100% - 32px);max-width:460px;color:var(--ink);box-shadow:0 24px 80px #123f3633}.plc-leave-dialog::backdrop{background:#082f2980}.plc-leave-dialog h2{font-size:20px;font-weight:700;margin:0 0 12px}.plc-leave-dialog p{font-size:14px;line-height:1.7;color:var(--muted);margin-bottom:24px}.plc-leave-dialog .button-group{flex-wrap:wrap}.plc-leave-dialog .button-group button{flex:1}

