:root,[data-theme=dark]{--bg: #070d18;--bg-soft: #0d1628;--panel: rgba(255, 255, 255, .06);--panel-strong: rgba(255, 255, 255, .1);--stroke: rgba(255, 255, 255, .14);--text: rgba(255, 255, 255, .94);--muted: rgba(255, 255, 255, .66);--brand: #59d7ff;--ok: #47d990;--warn: #ffcc66;--bad: #ff5c7a;--shadow: 0 18px 48px rgba(0, 0, 0, .42)}[data-theme=light]{--bg: #eef4fb;--bg-soft: #ffffff;--panel: rgba(255, 255, 255, .8);--panel-strong: rgba(255, 255, 255, .92);--stroke: rgba(10, 19, 36, .1);--text: #0f1f39;--muted: rgba(15, 31, 57, .62);--brand: #0077ff;--ok: #0a9b60;--warn: #b47800;--bad: #df265f;--shadow: 0 18px 48px rgba(24, 44, 78, .14)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Manrope,Segoe UI,sans-serif;background:radial-gradient(900px 600px at 20% -10%,color-mix(in srgb,var(--brand) 25%,transparent),transparent 60%),radial-gradient(900px 700px at 115% 0%,color-mix(in srgb,var(--ok) 14%,transparent),transparent 55%),radial-gradient(800px 600px at 60% 110%,color-mix(in srgb,var(--bad) 12%,transparent),transparent 55%),var(--bg);color:var(--text)}.premiumApp{min-height:100vh;display:flex;flex-direction:column;max-width:1380px;margin:0 auto}.loadingTopBar{position:sticky;top:0;z-index:60;height:3px;width:100%;background:linear-gradient(90deg,var(--brand),var(--ok),var(--warn));background-size:200% 100%;animation:shimmer 1s linear infinite}.layout{display:flex;flex:1;min-height:0}.main{flex:1;min-width:0;padding:14px 16px;overflow:auto}.main.mobileMain{padding-bottom:92px}.routeShell{animation:fadeIn .25s ease}.appbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:0 0 18px 18px;background:var(--panel);border:1px solid var(--stroke);box-shadow:var(--shadow);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--bg-soft) 82%,transparent)}.appbarLeft{display:flex;align-items:center;gap:12px;min-width:0}.appbarRight{display:flex;align-items:center;gap:10px}.logo{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-weight:900;letter-spacing:.7px;color:#041425;background:linear-gradient(135deg,#6de0ff,#46d9a1)}.brandTitle{font-size:14px;font-weight:800}.brandSub{font-size:12px;color:var(--muted);margin-top:2px}.desktopOnly{display:none}.sidebar{width:230px;padding:14px;display:flex;flex-direction:column;gap:8px}.navItem{text-decoration:none;color:var(--text);border-radius:12px;padding:10px 12px;border:1px solid var(--stroke);background:var(--panel);transition:all .2s ease}.navItem:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--panel) 70%,white 4%)}.navItem.isActive{border-color:color-mix(in srgb,var(--brand) 45%,var(--stroke))}.view{display:block}.pageHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px}.pageHeader h1{margin:0;font-size:20px}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end;justify-content:flex-end}.field{display:flex;flex-direction:column;gap:6px;min-width:160px}.field label{font-size:12px;color:var(--muted);font-weight:700}input,select,textarea{background:var(--panel);border:1px solid var(--stroke);color:var(--text);border-radius:12px;padding:10px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid color-mix(in srgb,var(--brand) 55%,transparent);outline-offset:2px}textarea{resize:vertical;min-height:84px}.input{width:260px}.btn,.chip{border:1px solid transparent;border-radius:12px;padding:10px 12px;font-weight:800;cursor:pointer;transition:transform .18s ease,box-shadow .2s ease,filter .2s ease}.btn{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 94%,white 6%),color-mix(in srgb,var(--ok) 88%,white 12%));color:#061628;box-shadow:0 12px 30px #0003}.btn:hover{transform:translateY(-1px) scale(1.01)}.btn:active{transform:scale(.99)}.btnGhost,.chip{background:var(--panel);color:var(--text);border-color:var(--stroke);box-shadow:none}.btnSmall{padding:8px 10px}.btnIcon{width:36px;height:36px;border-radius:12px;border:1px solid var(--stroke);background:var(--panel);color:var(--text);cursor:pointer}.card{border-radius:18px;border:1px solid var(--stroke);box-shadow:var(--shadow);background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 90%,white 3%),color-mix(in srgb,var(--panel) 88%,transparent));overflow:hidden;transition:transform .2s ease}.card:hover{transform:translateY(-1px)}.cardHeader{padding:14px 14px 10px;display:flex;justify-content:space-between;gap:10px}.cardHeader h2{margin:0;font-size:14px}.cardHeaderActions{display:flex;gap:8px}.kpiGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.kpi{padding:14px;border-radius:18px;border:1px solid var(--stroke);background:linear-gradient(135deg,color-mix(in srgb,var(--panel-strong) 70%,white 4%),color-mix(in srgb,var(--panel) 90%,transparent));animation:fadeIn .25s ease}.kpiLabel{font-size:12px;color:var(--muted);font-weight:700}.kpiValue{font-size:22px;font-weight:900;margin-top:6px}.kpiFoot{margin-top:6px;font-size:12px;color:var(--muted);display:flex;gap:8px;align-items:center}.badge,.pill{font-size:11px;border-radius:999px;padding:4px 8px;border:1px solid var(--stroke);background:color-mix(in srgb,var(--panel) 92%,transparent)}.badgeOk,.pillOk{border-color:color-mix(in srgb,var(--ok) 36%,var(--stroke))}.badgeWarn,.pillWarn{border-color:color-mix(in srgb,var(--warn) 42%,var(--stroke))}.badgeBad,.pillBad{border-color:color-mix(in srgb,var(--bad) 42%,var(--stroke))}.pillMuted{color:var(--muted)}.grid2{display:grid;grid-template-columns:1fr;gap:12px;margin-top:12px}.list{padding:0 10px 12px;display:flex;flex-direction:column;gap:8px}.row{padding:10px;border-radius:14px;border:1px solid var(--stroke);background:color-mix(in srgb,var(--panel) 95%,transparent);display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;transition:all .2s ease}.row:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--panel-strong) 80%,transparent)}.rowMain{min-width:0}.rowTitle{font-size:13px;font-weight:850}.rowSub{margin-top:3px;display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:12px}.rowMeta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.workDetails{padding:0 14px 14px;display:flex;flex-direction:column;gap:12px}.workGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.miniCard{border:1px solid var(--stroke);border-radius:14px;background:var(--panel);padding:10px}.miniLabel{font-size:12px;color:var(--muted);font-weight:700}.miniValue{margin-top:6px;font-size:14px;font-weight:800}.divider{height:1px;background:var(--stroke)}.modalBackdrop{position:fixed;inset:0;background:#00000080;z-index:30}.modalShell{position:fixed;inset:0;z-index:31;display:grid;place-items:center;padding:10px}.modalCard{width:min(920px,100vw - 18px);max-height:calc(100vh - 20px);overflow-y:auto;overflow-x:hidden;border-radius:18px;border:1px solid var(--stroke);background:color-mix(in srgb,var(--bg-soft) 92%,transparent);box-shadow:0 28px 80px #00000073;animation:modalIn .2s ease}.modalCard{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--brand) 40%,var(--stroke)) transparent}.modalCard::-webkit-scrollbar{width:10px}.modalCard::-webkit-scrollbar-track{background:transparent;border-radius:999px}.modalCard::-webkit-scrollbar-thumb{background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 40%,transparent),color-mix(in srgb,var(--ok) 40%,transparent));border-radius:999px;border:2px solid transparent;background-clip:padding-box}.modalCard::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 58%,transparent),color-mix(in srgb,var(--ok) 58%,transparent))}.modalHeader{padding:14px 14px 10px;display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--stroke)}.modalTitle{font-weight:900}.modalBody{padding:14px;display:flex;flex-direction:column;gap:12px}.modalBody{width:100%;overflow-x:hidden}.modalFooter{padding:12px 14px;border-top:1px solid var(--stroke);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}.modalActions{display:flex;gap:10px}.evidenceRow .field{min-width:0}.gpsBox{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--stroke);border-radius:14px;padding:10px;background:var(--panel)}.photoPreview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.thumb{border-radius:14px;border:1px solid var(--stroke);overflow:hidden;background:var(--panel)}.thumb img{width:100%;height:120px;object-fit:cover;display:block}.thumb .cap{padding:8px 10px;display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted)}.thumb .cap .mono{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toastWrap{position:fixed;right:14px;bottom:14px;z-index:35;display:flex;flex-direction:column;gap:8px}.toast{max-width:420px;border:1px solid var(--stroke);border-radius:14px;background:color-mix(in srgb,var(--bg-soft) 90%,transparent);box-shadow:var(--shadow);padding:10px 12px}.toastTop{display:flex;justify-content:space-between;gap:10px}.toastTitle{font-size:12px;font-weight:800}.toastMsg{margin-top:6px;font-size:12px;color:var(--muted)}.tabbar{position:fixed;left:50%;transform:translate(-50%);width:min(100%,1380px);bottom:0;z-index:25;display:flex;gap:8px;padding:10px 10px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--stroke);background:color-mix(in srgb,var(--bg-soft) 86%,transparent);backdrop-filter:blur(10px)}.tabItem{flex:1;min-width:0;border:1px solid var(--stroke);border-radius:14px;background:var(--panel);color:var(--text);text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:5px;padding:9px 8px}.tabItem.isActive{border-color:color-mix(in srgb,var(--brand) 40%,var(--stroke));background:color-mix(in srgb,var(--brand) 14%,var(--panel))}.tabLabel{font-size:11px;color:var(--muted)}.stack{padding:0 14px 14px;display:flex;flex-direction:column;gap:10px}.bullets{margin:0;padding:0 14px 14px 30px;color:var(--muted)}.bullets li{margin:8px 0}.tiny{font-size:11px}.muted{color:var(--muted)}.mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px}.skeletonWrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.skeleton{height:110px;border-radius:18px;background:linear-gradient(110deg,var(--panel) 8%,color-mix(in srgb,var(--panel-strong) 40%,white 6%) 18%,var(--panel) 33%);background-size:200% 100%;animation:shimmer 1.2s linear infinite;border:1px solid var(--stroke)}.state{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:14px;border:1px solid var(--stroke);background:var(--panel);color:var(--muted)}.state b{color:var(--text)}.stateError{border-color:color-mix(in srgb,var(--bad) 35%,var(--stroke))}@media (min-width: 1101px){.desktopOnly{display:flex}.grid2{grid-template-columns:1fr 1fr}.tabbar{display:none}.main.mobileMain{padding-bottom:16px}}@media (max-width: 1100px){.kpiGrid,.skeletonWrap,.workGrid,.photoPreview{grid-template-columns:repeat(2,minmax(0,1fr))}.input{width:100%}}@media (max-width: 860px){.appbarRight .chip:nth-child(2){display:none}.appbar{border-radius:0}.kpiGrid,.skeletonWrap,.workGrid,.photoPreview{grid-template-columns:1fr}.toastWrap{left:10px;right:10px;bottom:88px}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes modalIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
