:root{--paper: rgba(255, 255, 255, .96);--ink: #102724;--muted: #64736f;--accent: #0b806c;--accent-deep: #064f43;--warn: #9a4d2f;--line: rgba(16, 39, 36, .12);--shadow: 0 18px 48px rgba(27, 43, 39, .12);--field-shadow: 0 10px 22px rgba(27, 43, 39, .06)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#f7f4ef,#fffdf9 44%,#f7f3ec)}button,input,select,textarea{font:inherit}.page{max-width:1320px;margin:0 auto;padding:14px 14px 52px;display:grid;gap:24px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.upload-panel,.review-panel{padding:28px}.upload-panel{min-height:calc(100vh - 28px);display:grid;align-content:start;gap:34px}.topbar,.review-topbar,.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.topbar{justify-content:space-between;margin-bottom:12px}.review-topbar{justify-content:flex-end;margin-bottom:22px}.tag{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border-radius:8px;background:#0b806c1a;color:var(--accent-deep);font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}a.crumb,button,.download-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:8px;border:1px solid var(--line);background:#ffffffe0;color:var(--ink);font-weight:650;text-decoration:none;cursor:pointer}button.primary{background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff;border-color:transparent}button.ghost{background:#0b806c14;color:var(--accent-deep)}button.reject{background:#c978481f;color:var(--warn)}button:disabled{opacity:.6;cursor:default}h1,h2,h3{margin:0;font-weight:650;letter-spacing:0}h2{font-size:clamp(1.9rem,2.8vw,2.6rem)}h3{font-size:1.35rem}p{margin:0;color:var(--muted);line-height:1.62}.lead{max-width:70ch}.signin-gate{min-height:calc(100vh - 220px);display:grid;justify-items:center;align-items:start;gap:18px;text-align:center;padding-top:clamp(64px,10vh,112px)}.signin-card{width:min(900px,100%);padding:56px;border-radius:8px;border:1px solid var(--line);background:#ffffffeb;box-shadow:0 22px 56px #1b2b271a;display:grid;gap:22px;justify-items:center}.upload-grid{display:grid;gap:34px;justify-items:center}.upload-copy,.review-hero{display:grid;gap:14px;justify-items:center;text-align:center}.upload-card{width:min(720px,100%);padding:32px;border-radius:8px;border:1px solid var(--line);background:#ffffffeb;box-shadow:0 18px 46px #1b2b2714;display:grid;gap:20px}label,.stack{display:grid;gap:10px}label{font-size:.96rem;font-weight:750}.field-help,.file-limit,.file-name,.page-info{color:var(--muted);font-size:.9rem;font-weight:500}input,select,textarea{width:100%;padding:15px 16px;border-radius:8px;border:1px solid rgba(28,49,49,.14);background:#fffffff0;color:var(--ink);box-shadow:var(--field-shadow)}textarea{min-height:110px;resize:vertical}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.file-dropzone{display:grid;place-items:center;gap:8px;min-height:230px;padding:28px;border:2px dashed rgba(11,128,108,.34);border-radius:8px;background:#f7fcfac7;color:var(--ink);text-align:center;cursor:pointer}.file-dropzone.dragging,.file-dropzone:hover,.file-dropzone:focus-visible{border-color:#0b806cb8;background:#ecf9f4f2;outline:none}.file-drop-icon{display:inline-flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:50%;background:#0b806c1f;color:var(--accent);font-weight:850}.status{min-height:24px;padding:12px 14px;border-radius:8px;background:#0b806c14}.status.error{background:#c978481f;color:var(--warn)}.status:empty{display:none}.auth-status{justify-self:center;width:fit-content}.review-grid{display:grid;grid-template-columns:minmax(340px,.88fr) minmax(0,1.42fr);gap:24px;align-items:start}.review-card{padding:22px;border-radius:8px;border:1px solid var(--line);background:#ffffffc2;box-shadow:0 18px 44px #1b2b2714;display:grid;gap:16px}.review-filters,.review-list,#reviewDetail,.preview-stack{display:grid;gap:14px}.review-list{max-height:560px;padding-right:6px;overflow:auto}.review-item{width:100%;min-height:auto;text-align:left;justify-content:stretch;padding:16px 18px;border-radius:8px;display:grid;gap:12px}.review-item.active{border-color:#0b806c73;box-shadow:0 0 0 3px #0b806c14}.review-item-details,.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.box{padding:16px;border-radius:8px;border:1px solid var(--line);background:#ffffffb8;box-shadow:0 10px 24px #1b2b270d;overflow-wrap:anywhere}.badge{display:inline-block;padding:4px 10px;border-radius:999px;background:#1c313114;color:var(--ink);font-size:12px;font-weight:700}.badge.approved{background:#0b806c1f;color:var(--accent-deep)}.badge.rejected{background:#b13d321f;color:#8d2f27}.badge.pending{background:#c4912d2e;color:#745015}pre{margin:0;padding:16px;border-radius:8px;background:#1a2829;color:#eef7f5;overflow:auto;max-height:540px;font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.empty{padding:20px;border:1px dashed rgba(28,49,49,.2);border-radius:8px;color:var(--muted);background:#ffffff80}.hidden{display:none!important}@media (max-width: 980px){.topbar,.review-topbar,.review-grid,.detail-summary,.detail-grid,.review-item-details{grid-template-columns:1fr;display:grid}.signin-card,.upload-card,.upload-panel,.review-panel{padding:22px}}
