:root{--bg:#f5f7f6;--surface:#fff;--text:#152019;--muted:#6e7d74;--border:#e3e9e5;--green:#1f8f5f;--green2:#e9f7f0;--red:#d64545;--amber:#cc8a15;--shadow:0 10px 30px rgba(20,40,28,.06)}
*{box-sizing:border-box}html{background:#122219}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);min-height:100vh}button,input,select{font:inherit}.hidden{display:none!important}.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:#122219;color:#fff;padding:24px 18px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;margin-bottom:32px}.brand-mark{width:42px;height:42px;border-radius:12px;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:800;font-size:20px}.brand span{display:block;color:#9fb0a6;font-size:12px;margin-top:2px}.sidebar nav{display:grid;gap:8px}.nav-btn{border:0;background:transparent;color:#b8c7be;text-align:left;padding:12px 14px;border-radius:10px;cursor:pointer}.nav-btn span{margin-left:9px}.nav-btn.active,.nav-btn:hover{background:#20372a;color:#fff}.sidebar-note{margin-top:auto;color:#9fb0a6;font-size:13px;line-height:1.4}main{padding:28px 34px;overflow:auto}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.topbar h1{margin:0 0 5px;font-size:28px}.topbar p{margin:0;color:var(--muted)}.top-actions{display:flex;gap:8px}.primary,.secondary{border:0;border-radius:10px;padding:10px 15px;cursor:pointer}.primary{background:var(--green);color:white;font-weight:650}.primary.big{padding:13px 16px}.secondary{background:#eef2ef;color:#304138}.view{display:none}.active-view{display:block}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.stat,.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.stat{padding:18px}.stat-label{color:var(--muted);font-size:13px}.stat-value{font-size:30px;font-weight:750;margin-top:6px}.stat-sub{font-size:12px;color:var(--muted);margin-top:5px}.grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-bottom:18px}.card{padding:18px}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.card-head h2{font-size:17px;margin:0}.card-head span{font-size:12px;color:var(--muted)}.link-btn{border:0;background:transparent;color:var(--green);cursor:pointer}.section-actions{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.section-actions input,.section-actions select{min-width:290px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:10px 12px;outline:none}.cards-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.entity-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px}.entity-top{display:flex;justify-content:space-between;gap:15px}.entity-title{font-weight:760;font-size:17px}.entity-sub{color:var(--muted);font-size:13px;margin-top:3px}.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:650}.badge.green{background:var(--green2);color:var(--green)}.badge.red{background:#fdecec;color:var(--red)}.badge.amber{background:#fff5df;color:var(--amber)}.meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:15px}.meta{font-size:12px;color:var(--muted)}.meta b{display:block;color:var(--text);font-size:14px;margin-top:3px}.table-row{display:grid;grid-template-columns:1.4fr 1fr 1fr .8fr;gap:12px;align-items:center;padding:12px 5px;border-bottom:1px solid var(--border);font-size:14px}.table-row:last-child{border-bottom:0}.alert{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--border)}.alert:last-child{border-bottom:0}.alert small,.table-row small{color:var(--muted)}.status-line{display:flex;justify-content:space-between;align-items:center;padding:9px 0}.empty{padding:28px;text-align:center;color:var(--muted)}.mobile-quick{display:none}.quick-card{border:1px solid var(--border);background:#fff;border-radius:16px;padding:14px;text-align:left}.quick-card span{font-size:24px;display:block}.quick-card b,.quick-card small{display:block}.quick-card small{color:var(--muted);margin-top:3px}
dialog{border:0;border-radius:18px;padding:0;width:min(620px,calc(100vw - 32px));box-shadow:0 30px 80px rgba(0,0,0,.22)}dialog::backdrop{background:rgba(15,25,19,.48)}#modal-form{padding:20px}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h2{margin:0}.close{border:0;background:transparent;font-size:28px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:18px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;color:var(--muted)}.field input,.field select,.field textarea{width:100%;padding:10px;border:1px solid var(--border);border-radius:9px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.upload-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}.upload-tile{border:1px dashed #b9c9bf;border-radius:14px;padding:18px 12px;display:grid!important;text-align:center;gap:5px!important;color:var(--text)!important;cursor:pointer;background:#fbfdfc}.upload-tile:hover{border-color:var(--green);background:var(--green2)}.upload-tile b{font-size:14px}.upload-tile small{color:var(--muted)}.hidden-file,.visually-hidden{position:absolute;opacity:0;width:1px!important;height:1px!important;pointer-events:none}.selected-file{font-size:12px;color:var(--muted);padding-top:7px}.doc-actions{display:flex;gap:8px;justify-content:flex-end}.small-btn{border:1px solid var(--border);background:#fff;border-radius:8px;padding:6px 9px;cursor:pointer}.small-btn.danger{color:var(--red)}
.login-screen{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:20px;background:#f5f7f6}.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--border);border-radius:18px;padding:28px;box-shadow:var(--shadow);display:grid;gap:14px}.login-card h1{margin:4px 0 0}.login-card p{margin:0 0 8px;color:var(--muted)}.login-card label{font-size:13px;color:var(--muted);display:grid;gap:6px}.login-card input{padding:12px;border:1px solid var(--border);border-radius:10px}.remember{grid-template-columns:auto 1fr!important;align-items:center}.remember input{width:20px;height:20px}.error{color:var(--red);font-size:13px;min-height:18px}.login-note{font-size:12px;color:var(--muted);line-height:1.45}
@media(max-width:900px){.app-shell{grid-template-columns:76px 1fr}.brand>div:last-child,.nav-btn span,.sidebar-note{display:none}.brand{justify-content:center}.nav-btn{text-align:center}.stats{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.cards-list{grid-template-columns:1fr}main{padding:20px}.topbar p{display:none}}
@media(max-width:600px){body{padding-bottom:env(safe-area-inset-bottom)}.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;bottom:0;left:0;right:0;z-index:20;height:calc(68px + env(safe-area-inset-bottom));padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#122219}.brand,.sidebar-note{display:none}.sidebar nav{grid-template-columns:repeat(5,1fr);gap:4px}.nav-btn{padding:9px 4px;font-size:19px}.nav-btn span{display:none}main{padding:calc(14px + env(safe-area-inset-top)) 12px calc(86px + env(safe-area-inset-bottom))}.topbar{margin-bottom:16px;align-items:center}.topbar h1{font-size:23px}.top-actions .install-btn{display:none}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:14px}.stat-value{font-size:24px}.section-actions{flex-direction:column}.section-actions input,.section-actions select{min-width:0;width:100%}.table-row{grid-template-columns:1.4fr 1fr}.table-row>*:nth-child(3){display:none}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}dialog{width:calc(100vw - 16px);max-height:92dvh;overflow:auto;border-radius:16px}.modal-actions{position:sticky;bottom:0;background:#fff;padding-top:12px}.mobile-quick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.upload-choice{grid-template-columns:1fr}.login-card{padding:22px}.doc-actions{justify-content:flex-start}}
