:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#152b38;background:#f5f8fa;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:28px;letter-spacing:-.04em}h2{font-size:20px;letter-spacing:-.03em}p{line-height:1.6;color:#627484}.hidden{display:none!important}.app{display:flex;min-height:100vh}.sidebar{width:234px;background:#102a36;color:#cad9dd;flex-shrink:0;padding:28px 14px;display:flex;flex-direction:column;gap:24px}.brand{font-weight:800;letter-spacing:.08em;font-size:17px;color:#30c79d;padding:0 12px}.sidebar-caption,.nav-group{font-size:10px;letter-spacing:.15em;color:#8199a3;font-weight:800;padding:8px 13px}.sidebar nav{display:flex;flex-direction:column;gap:3px;overflow-y:auto}.sidebar nav button,.sidebar-bottom button{border:0;background:transparent;color:#c7d7dc;text-align:left;padding:10px 13px;border-radius:9px;width:100%}.sidebar nav button:hover,.sidebar nav button.active{background:#204653;color:#fff}.sidebar-bottom{margin-top:auto;border-top:1px solid #34515b;padding:15px 10px;display:grid;gap:6px}.sidebar-bottom span{font-size:12px}.main{flex:1;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e2e9ec;padding:22px 32px}.topbar h1{margin:2px 0 0}.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:800;color:#3f8e81}.top-actions{display:flex;align-items:center;gap:16px;color:#509579;font-size:12px}#content{padding:30px 32px;max-width:1600px}.cards{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:15px;margin-bottom:22px}.card,.panel,.auth-card{background:#fff;border:1px solid #e3eaed;border-radius:16px;box-shadow:0 3px 12px rgba(18,51,62,.035)}.card{padding:21px}.card .label{color:#70818b;font-size:12px}.card strong{display:block;font-size:29px;margin-top:10px;letter-spacing:-.04em}.panel{padding:22px;margin-bottom:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.panel-head h2{margin:0}.muted{color:#748591}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap}th,td{padding:12px 13px;text-align:left;border-bottom:1px solid #edf1f3;vertical-align:top}th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#788b94;background:#f9fbfc}td{max-width:380px;overflow:hidden;text-overflow:ellipsis}tr:hover td{background:#fcfefe}.badge{display:inline-block;font-size:11px;padding:5px 8px;border-radius:100px;font-weight:700;background:#e9eff2;color:#4a6672}.badge.APPROVED,.badge.BALANCED,.badge.POSTED,.badge.ACCEPTED,.badge.DONE,.badge.BRIDGE_PASS,.badge.READY{background:#dff8ec;color:#176c4a}.badge.PENDING,.badge.UNCONFIRMED,.badge.NEEDS_REVIEW,.badge.DOCUMENT_MISSING,.badge.POSSIBLE{background:#fff1d6;color:#916013}.badge.MISMATCH,.badge.CONFLICT,.badge.FAILED,.badge.REJECTED{background:#ffe4e3;color:#a03b39}button.primary,button.secondary,button.danger{border-radius:9px;border:1px solid transparent;padding:10px 15px;font-weight:700}.primary{background:#1b9b79;color:#fff}.primary:hover{background:#127d60}.secondary{background:#fff;color:#244657!important;border-color:#d6e1e5!important}.danger{background:#fff0ee;color:#aa493e;border-color:#f5d1ca!important}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.toolbar input,.toolbar select{min-width:180px}form.grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:13px;align-items:end}form.grid .full{grid-column:1/-1}label{display:grid;gap:6px;color:#516874;font-weight:600;font-size:12px}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #d5e0e5;border-radius:8px;color:#1d3b4a;background:#fff;outline:0}input:focus,select:focus,textarea:focus{border-color:#1b9b79;box-shadow:0 0 0 3px #d9f4e9}textarea{min-height:80px;resize:vertical}.notice{margin:16px 32px 0;padding:12px 16px;border-radius:9px;background:#e7f7f1;color:#176e51}.notice.error,.error{background:#fff0ee;color:#9c3b34;padding:10px;border-radius:8px}.auth-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 20%,#d9f5ed,transparent 38%),#f4f8fa}.auth-card{width:min(420px,92vw);padding:32px}.auth-card .brand{padding:0;margin-bottom:30px}.auth-card label{margin:16px 0}.auth-card button{width:100%;margin-top:10px}.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.help{border-left:3px solid #20a380;padding-left:12px;color:#627984}.empty{padding:32px;text-align:center;color:#7d8d96}.small{font-size:12px}.link-button{border:0;background:transparent;color:#158768;padding:0;font-weight:700}.right{text-align:right}@media(max-width:980px){.cards{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.sidebar{width:185px}.topbar,#content{padding:20px}}@media(max-width:640px){.app{display:block}.sidebar{width:100%;padding:12px}.sidebar nav{display:flex;flex-direction:row;overflow:auto}.sidebar nav button{width:auto;white-space:nowrap}.sidebar .nav-group,.sidebar-caption,.sidebar-bottom{display:none}.topbar{padding:18px;align-items:flex-start}#content{padding:18px}.cards{grid-template-columns:1fr 1fr;gap:8px}form.grid{grid-template-columns:1fr}}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.upload-drop{min-height:175px;border:2px dashed #9bcabd;border-radius:14px;background:#f5fcf9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;padding:22px;color:#516874;cursor:pointer;transition:background .15s,border-color .15s}.upload-drop:hover,.upload-drop:focus,.upload-drop.drag-over{background:#e4f8f0;border-color:#1b9b79;outline:none}.upload-drop strong{font-size:16px;color:#244657}.upload-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#d8f3e8;color:#147e60;font-size:25px;font-weight:800}.upload-selection{color:#147e60;font-size:12px;overflow-wrap:anywhere}
