:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#243a31;background:#f5f6f2;font-synthesis:none;--green:#245c49;--line:#dce4dc;--muted:#65746b}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 15px;color:var(--green);min-height:44px}button:disabled{opacity:.55;cursor:wait}button.primary{background:var(--green);color:white;border-color:var(--green);font-weight:600}a{color:var(--green)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a5c7ad;outline-offset:3px}h1{font-size:clamp(27px,5vw,36px);letter-spacing:-1.2px;margin:6px 0 12px;font-weight:650}h2{font-size:19px;letter-spacing:-.4px;margin:0 0 12px}h3{font-size:16px;margin:0 0 6px}.muted,.hint,small{color:var(--muted)}.hint{font-size:13px;line-height:1.6}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted);font-weight:700;margin:0}.login-wrap{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at top left,#deeadf,transparent 65%)}.login-card{width:100%;max-width:420px;padding:32px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 15px 70px #2646350a}.login-card>img{margin-bottom:28px}.login-card .primary{width:100%;margin-top:8px}label{display:block;font-size:13px;font-weight:600;margin:18px 0 0}input,textarea,select{display:block;width:100%;border:1px solid #ccd8cf;border-radius:9px;padding:12px;background:#fff;color:#243a31;margin-top:7px;font-size:16px}textarea{min-height:135px;resize:vertical;line-height:1.6}.topbar{position:sticky;top:0;z-index:5;background:#fafbf8ee;backdrop-filter:blur(16px);border-bottom:1px solid var(--line);padding:12px max(20px,calc((100vw - 980px)/2));display:flex;align-items:center;justify-content:space-between;gap:8px}.brand{display:flex;align-items:center;gap:9px;font-weight:700;text-decoration:none;letter-spacing:-.5px;white-space:nowrap}.actions{display:flex;gap:8px}main{max-width:980px;margin:auto;padding:32px 20px calc(110px + env(safe-area-inset-bottom))}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.search{margin:12px 0}.search input{background:#fff;padding:14px 16px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:5;display:flex;justify-content:center;background:#fafbf8f5;border-top:1px solid var(--line);padding:8px 8px calc(8px + env(safe-area-inset-bottom));backdrop-filter:blur(16px)}.bottom-nav a{width:140px;text-align:center;padding:14px 5px;color:var(--muted);text-decoration:none;font-size:13px;font-weight:600;border-radius:10px}.bottom-nav a[aria-current=page]{background:#e4eee5;color:var(--green)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{display:block;width:100%;text-align:left;padding:19px;background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;overflow-wrap:anywhere}.grid .card{margin:0}.card p{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}.card .badge{display:inline-block;font-size:11px;border-radius:6px;padding:4px 7px;background:#eaf1e9;color:var(--green);margin-top:12px}.card .overdue{background:#fae9dc;color:#984b21}.section-title{display:flex;justify-content:space-between;align-items:center;margin:27px 0 12px}.section-title h2{margin:0}.empty{padding:45px 20px;text-align:center;border:1px dashed #c8d7ca;border-radius:14px;color:var(--muted);line-height:1.7}.stats{display:flex;gap:10px;margin:18px 0 25px}.stat{flex:1;background:#e8eee5;border-radius:12px;padding:18px}.stat strong{display:block;font-size:28px;font-weight:600;margin-bottom:3px}.stat span{font-size:12px;color:var(--muted)}.back{margin-bottom:18px}.trail{font-size:12px;line-height:1.7;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:18px;padding:25px;width:min(560px,calc(100vw - 24px));max-height:90dvh;color:inherit;overscroll-behavior:contain}dialog::backdrop{background:#16352b77;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px}.dialog-head h2{margin:0}.dialog-head button{padding:5px 12px}.form-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:22px}.row{display:flex;gap:12px}.row>label{flex:1;min-width:0}.error,[role=alert]{color:#a23c31;white-space:pre-wrap;line-height:1.6;font-size:13px}.comment{font-size:14px;white-space:pre-wrap;padding:14px 0;border-bottom:1px solid var(--line)}.comment small{display:block;margin-top:5px}.file-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.file-row span{flex:1;overflow-wrap:anywhere;font-size:14px}.file-row button{flex-shrink:0}#toast{position:fixed;z-index:20;bottom:calc(90px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:#193f31;color:#fff;border-radius:10px;padding:13px 20px;max-width:90vw;font-size:13px;box-shadow:0 5px 25px #0002}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(max-width:600px){.grid{grid-template-columns:1fr}.topbar{padding:10px 16px}main{padding-top:25px}.row{flex-wrap:wrap}.row>label{min-width:125px}.login-card{padding:26px}.actions button{padding:9px 11px}}@media(prefers-reduced-motion:no-preference){.card{transition:background .15s}.card:hover{background:#f8fbf6}}
