:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033;background:#f5f5f8;--bg:#f5f5f8;--surface:#fff;--border:#e1e3e9;--muted:#6b7280;--blue:#2563eb;--text:#172033;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:9px;padding:10px 14px;min-height:42px}button:hover{background:#eef3ff}button:disabled{opacity:.55;cursor:wait}button.primary{background:var(--blue);color:white;border-color:var(--blue)}button.danger{color:#c52b34}input,select,textarea{width:100%;max-width:100%;min-width:0;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:9px;padding:11px 12px;min-height:44px}textarea{min-height:90px;resize:vertical}input[type=checkbox]{width:20px;min-height:20px}h1{font-size:30px;letter-spacing:-.6px;margin:0 0 7px}h2{font-size:19px;margin:0 0 14px}h3{font-size:16px;margin:0 0 8px}p{line-height:1.55}.muted,small{color:var(--muted)}small{line-height:1.5}.logo{width:40px;height:40px;object-fit:contain;flex-shrink:0}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:750;min-width:0}.brand span{overflow-wrap:anywhere}.layout{display:grid;grid-template-columns:255px minmax(0,1fr);min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;padding:22px 14px;border-right:1px solid var(--border);overflow-y:auto;background:#f0f1f6}.sidebar .brand{padding:0 8px 23px}.nav-group{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:700;margin:21px 12px 7px}.nav-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:0;margin:3px 0;min-height:40px;padding:9px 12px}.nav-item.active{background:#e0e9ff;color:var(--blue);font-weight:650}.nav-item .symbol{width:22px;text-align:center;font-size:19px}.sidebar footer{border-top:1px solid var(--border);margin-top:22px;padding:16px 8px}.workspace{min-width:0}.topbar{position:sticky;top:0;z-index:5;background:var(--surface);border-bottom:1px solid var(--border);display:flex;gap:15px;align-items:center;justify-content:space-between;padding:13px 30px;min-height:69px}.topbar .actions{margin-left:auto}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.status{font-size:12px;color:var(--muted)}.mobile-menu{display:none}.content{padding:30px;max-width:1700px;margin:auto;min-width:0}.page-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:25px}.page-heading p{margin:0;color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:22px;margin-bottom:20px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.metric{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:20px;min-width:0}.metric strong{display:block;font-size:27px;margin:10px 0;overflow-wrap:anywhere}.metric .symbol{color:var(--blue)}.metric small{font-size:12px}.columns{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:16px}.tile{padding:22px;text-align:left;min-width:0;display:block}.tile .symbol{font-size:28px;color:var(--blue);display:block;margin-bottom:15px}.tile small{display:block}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:18px}.toolbar input{max-width:430px}.toolbar select{width:auto;max-width:250px}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:var(--surface)}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{color:var(--muted);font-size:12px;background:var(--bg);font-weight:600}th,td{padding:15px 18px;border-bottom:1px solid var(--border);vertical-align:middle}tbody tr:last-child td{border-bottom:0}td{overflow-wrap:anywhere}td:first-child{font-weight:550}td button{min-height:35px;padding:6px 10px}.badge{display:inline-flex;padding:4px 9px;border-radius:7px;font-size:12px;font-weight:600;background:#eef2ff;color:#3158b3}.badge.green{background:#e4f5eb;color:#16703b}.badge.red{background:#fde8e8;color:#a82832}.badge.orange{background:#fff0dc;color:#9a5908}.empty{text-align:center;padding:60px 20px;background:var(--surface);border:1px dashed var(--border);border-radius:14px}.empty .symbol{font-size:40px;color:var(--muted)}.empty p{color:var(--muted)}.error{padding:13px 16px;background:#fff0f0;color:#a82332;border-radius:9px;margin:12px 0;overflow-wrap:anywhere}.notice{padding:14px;border-radius:9px;background:#eef4ff;color:#294d86;line-height:1.55}.login{min-height:100dvh;display:grid;place-items:center;padding:24px}.login-card{width:min(430px,100%);padding:36px;background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:0 12px 45px #1429510c}.login-card .brand{justify-content:center;margin-bottom:24px;font-size:28px}.login-card .logo{width:66px;height:66px}.login-card h1{font-size:24px;text-align:center}.login-card p{text-align:center}.login-card label{margin:18px 0;display:block}.login-card label span{display:block;font-size:14px;margin-bottom:8px}.login-card button{width:100%;margin-top:10px}.login-card .foot{font-size:12px;text-align:center;margin-top:24px}dialog{width:min(840px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:17px;box-shadow:0 25px 90px #0003}dialog::backdrop{background:#10243d66;backdrop-filter:blur(2px)}.dialog-head{position:sticky;top:0;background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 24px;border-bottom:1px solid var(--border);z-index:2}.dialog-head h2{margin:0}.dialog-body{padding:24px}.dialog-foot{position:sticky;bottom:0;background:var(--surface);padding:16px 24px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--border);z-index:2}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.field{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:14px}.field span{font-weight:550}.field.wide{grid-column:1/-1}.check{display:flex;gap:10px;align-items:center;min-height:44px}.check input{flex-shrink:0}.form-section{border:0;padding:0;margin:0 0 28px;min-width:0}.form-section legend{font-size:17px;font-weight:650;margin-bottom:20px;padding-top:4px}.form-section+.form-section{border-top:1px solid var(--border);padding-top:23px}.form-section details{grid-column:1/-1}.row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 0;border-bottom:1px solid var(--border)}.row:last-child{border:0}.row p{margin:3px 0}.row strong{overflow-wrap:anywhere}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.detail-grid>div{padding:13px;background:var(--bg);border-radius:8px;overflow-wrap:anywhere}.detail-grid small{display:block;margin-bottom:6px}.preview-logo{width:90px;height:90px;object-fit:contain}.upload{max-width:100%}.skip{position:absolute;top:-100px}.skip:focus{top:0;z-index:100;background:white;padding:10px}#toast:not(:empty){position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:calc(100% - 30px);background:#173d31;color:white;padding:14px 22px;border-radius:12px;box-shadow:0 4px 20px #0002;z-index:100}.print-only{display:none}
@media(prefers-color-scheme:dark){:root{--bg:#171a22;--surface:#222631;--border:#363d4d;--muted:#a6afc1;--text:#f0f2f7;color:var(--text);background:var(--bg);color-scheme:dark}.sidebar{background:#1b1f29}.nav-item.active{background:#263757;color:#9bbaff}.notice{background:#243653;color:#c9daff}.badge{background:#2b395c;color:#afc9ff}.error{background:#49262d;color:#ffb4be}button:hover{background:#303d56}.metric{background:var(--surface)}}
@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.columns{grid-template-columns:1fr}.layout{grid-template-columns:225px minmax(0,1fr)}.content{padding:24px}.topbar{padding:12px 24px}}
@media(max-width:760px){.layout{display:block}.sidebar{display:none;position:fixed;z-index:20;left:0;top:65px;width:min(320px,90vw);height:calc(100dvh - 65px);box-shadow:20px 0 80px #0003}.sidebar.open{display:block}.mobile-menu{display:inline-flex}.topbar{padding:10px 16px;min-height:65px}.topbar .status{display:none}.content{padding:20px 16px}.page-heading{align-items:flex-start}.page-heading h1{font-size:25px}.page-heading .actions{justify-content:flex-end}.metrics{gap:10px}.metric{padding:15px}.metric strong{font-size:23px}.toolbar{flex-wrap:wrap}.toolbar input{max-width:none}.toolbar select{flex:1}.fields,.detail-grid{grid-template-columns:1fr}.panel{padding:18px}.dialog-body{padding:20px}.dialog-head{padding:15px 20px}.dialog-head h2{font-size:18px}dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.table-wrap{border:0;background:transparent;overflow:visible}table,tbody,tr,td{display:block;width:100%}thead{display:none}tr{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:12px;padding:10px 16px}td{border:0;padding:7px 0;display:flex;justify-content:space-between;gap:15px;text-align:right;font-weight:400}td:before{content:attr(data-label);text-align:left;color:var(--muted);font-weight:400}td:first-child{font-size:16px}.login-card{padding:26px}.actions{gap:6px}button{min-height:44px}}
@media print{.sidebar,.topbar,.toolbar,.page-heading .actions,dialog,#toast,.skip,button{display:none!important}.layout{display:block}.content{padding:0}.print-only{display:block}body{background:white;color:black}.panel,.table-wrap{border:0}.metrics{grid-template-columns:repeat(4,1fr)}table{display:table}thead{display:table-header-group}tbody{display:table-row-group}tr{display:table-row}td,th{display:table-cell}td:before{display:none}}
.columns .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.columns .tile{padding:18px}.columns .panel{align-self:start}
@media(max-width:760px){.topbar>strong{display:none}.columns .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.columns .tile{padding:14px}}
.nav-section{margin-top:12px}.nav-section>summary{padding:10px 12px;cursor:pointer;color:var(--muted);font-size:.8rem;font-weight:700}.nav-section[open]>summary{color:var(--text)}.nav-section>summary:focus-visible{outline:2px solid #2563eb;border-radius:8px}
