.dart-shell{--bg:#0a0e17;--panel:#121826;--panel2:#0f1421;--line:#1f2937;--txt:#e6eaf2;--mut:#8b97a8;--acc:#06c;--acc2:#22d3ee;--good:#34d399;--warn:#fbbf24;--bad:#f87171;--rad:14px;min-height:calc(100vh - 48px);color:var(--txt);background:radial-gradient(1200px 600px at 80% -10%, #0066cc2e, transparent), radial-gradient(900px 500px at -10% 10%, #22d3ee1a, transparent), var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,sans-serif}.dart-shell *{box-sizing:border-box}.dart-wrap{max-width:1400px;margin:0 auto;padding:26px 20px 70px}.dart-shell .top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.dart-shell .brand{align-items:center;gap:12px;display:flex}.dart-shell .logo{background:linear-gradient(135deg, var(--acc), var(--acc2));color:#0a0e17;border-radius:12px;place-items:center;width:44px;height:44px;font-size:18px;font-weight:800;display:grid;box-shadow:0 8px 24px #06c6}.dart-shell .brand h1{letter-spacing:-.3px;font-size:20px;font-weight:800}.dart-shell .brand p{color:var(--mut);margin-top:2px;font-size:12px}.dart-shell .badge{color:var(--acc2);white-space:nowrap;background:#22d3ee12;border:1px solid #22d3ee59;border-radius:999px;padding:3px 9px;font-size:11px}.dart-shell .btn{background:linear-gradient(135deg, var(--acc), #2997ff);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:11px 16px;font-size:13px;font-weight:700}.dart-shell .btn.ghost{border:1px solid var(--line);color:var(--txt);background:0 0}.dart-shell .btn:hover{filter:brightness(1.08)}.dart-shell .kpis{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px;display:grid}.dart-shell .kpi{background:linear-gradient(180deg, var(--panel), var(--panel2));border:1px solid var(--line);border-radius:var(--rad);padding:14px 16px}.dart-shell .kpi .l{color:var(--mut);margin-bottom:5px;font-size:11px}.dart-shell .kpi .v{font-size:22px;font-weight:800}.dart-shell .kpi .v small{color:var(--mut);font-size:12px}.dart-shell .panel{background:linear-gradient(180deg, var(--panel), var(--panel2));border:1px solid var(--line);border-radius:var(--rad);margin-bottom:14px;padding:14px 16px}.dart-shell .filters{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));align-items:end;gap:12px;display:grid}.dart-shell .f-search{grid-column:span 2}.dart-shell .f label{color:var(--mut);margin-bottom:5px;font-size:11px;font-weight:600;display:block}.dart-shell .f input,.dart-shell .f select{border:1px solid var(--line);width:100%;color:var(--txt);background:#0b1120;border-radius:9px;outline:none;padding:9px 11px;font-size:13px}.dart-shell .f input:focus,.dart-shell .f select:focus{border-color:var(--acc)}.dart-shell .quick{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.dart-shell .chip{border:1px solid var(--line);color:var(--mut);cursor:pointer;background:#0b1120;border-radius:999px;padding:6px 12px;font-size:12px}.dart-shell .chip.on{color:#b8d4f2;border-color:var(--acc);background:#0066cc2e}.dart-shell .sec-select{border:1px solid var(--line);color:var(--txt);background:#0b1120;border-radius:9px;margin-left:auto;padding:7px 10px;font-size:12px}.dart-shell .toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:6px 2px 10px;display:flex}.dart-shell .count{color:var(--mut);font-size:13px}.dart-shell .count b{color:var(--txt)}.dart-shell .tablewrap{border:1px solid var(--line);border-radius:var(--rad);background:var(--panel2);overflow:auto}.dart-shell table{border-collapse:collapse;width:100%;min-width:980px;font-size:13px}.dart-shell thead th{color:var(--mut);text-align:left;border-bottom:1px solid var(--line);cursor:pointer;white-space:nowrap;background:#0e1422;padding:11px 12px;font-weight:700;position:sticky;top:0}.dart-shell thead th.num{text-align:right}.dart-shell tbody td{border-bottom:1px solid #161d2c;padding:10px 12px}.dart-shell tbody tr:hover{cursor:pointer;background:#0066cc12}.dart-shell .num{text-align:right;font-variant-numeric:tabular-nums}.dart-shell .name{font-weight:700}.dart-shell .sec{color:var(--mut);font-size:11px}.dart-shell .pill{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.dart-shell .pos{color:var(--good)}.dart-shell .neg{color:var(--bad)}.dart-shell .scorebar{text-align:center;border-radius:999px;min-width:34px;padding:2px 8px;font-size:12px;font-weight:800;display:inline-block}.dart-shell .pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:14px;display:flex}.dart-shell .pager button{border:1px solid var(--line);color:var(--txt);cursor:pointer;background:#0b1120;border-radius:8px;padding:8px 12px}.dart-shell .pager button:disabled{opacity:.35}.dart-shell .pager input{border:1px solid var(--line);width:64px;color:var(--txt);text-align:center;background:#0b1120;border-radius:8px;padding:6px 8px;font-size:13px}.dart-shell .drawer{border-left:1px solid var(--line);z-index:60;background:#0d1320;width:460px;max-width:92vw;height:100%;padding:24px;transition:all .25s;position:fixed;top:0;right:0;overflow:auto;transform:translate(100%);box-shadow:-20px 0 60px #00000080}.dart-shell .drawer.open{transform:translate(0)}.dart-shell .drawer h2{margin-bottom:4px;font-size:19px}.dart-shell .drawer .sub{color:var(--mut);margin-bottom:16px;font-size:12px}.dart-shell .drawer .close{color:var(--mut);cursor:pointer;background:0 0;border:none;font-size:22px;position:absolute;top:18px;right:18px}.dart-shell .metricgrid{grid-template-columns:1fr 1fr;gap:10px;margin:14px 0;display:grid}.dart-shell .metric{border:1px solid var(--line);background:#121826;border-radius:10px;padding:10px 12px}.dart-shell .metric .l{color:var(--mut);font-size:11px}.dart-shell .metric .v{margin-top:3px;font-size:16px;font-weight:800}.dart-shell .desc{border:1px solid var(--line);color:#cbd5e1;background:#121826;border-radius:10px;margin:10px 0;padding:12px 14px;font-size:13px;line-height:1.6}.dart-shell .kv{color:#cbd5e1;margin:6px 0;font-size:13px}.dart-shell .kv b{color:var(--mut);min-width:64px;font-weight:600;display:inline-block}.dart-shell .kv a{color:var(--acc2)}.dart-shell .h-sec{color:var(--txt);margin:18px 0 10px;font-size:15px;font-weight:800}.dart-shell .muted-note{color:var(--mut);margin-bottom:12px;font-size:12px;line-height:1.6}.dart-shell footer{text-align:center;color:var(--mut);margin-top:26px;font-size:12px;line-height:1.7}@media (max-width:1000px){.dart-shell .kpis{grid-template-columns:repeat(2,1fr)}.dart-shell .filters{grid-template-columns:1fr 1fr}}.dart-shell .drawer-backdrop{z-index:59;background:#00000059;position:fixed;inset:0}.dart-shell .drawer-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.dart-shell .drawer{overscroll-behavior:contain}.dart-shell .drawer-head{background:var(--st-canvas,#fff);z-index:1;margin:-24px -24px 8px;padding:24px 24px 10px;position:sticky;top:-24px}.dart-shell .drawer-head .sub{margin-bottom:0}.dart-shell .drawer .close{width:36px;height:36px;color:var(--st-ink,#1d1d1f);cursor:pointer;background:#f5f5f7;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:16px;line-height:1;display:inline-flex;position:static}.dart-shell .drawer .close:hover{background:#e8e8ed}@media (max-width:760px){.dart-shell .m-hide{display:none!important}.dart-shell table{min-width:0;font-size:12.5px}.dart-shell thead th,.dart-shell tbody td{padding:9px 7px}.dart-shell thead th:last-child,.dart-shell tbody td:last-child{padding-right:10px}.dart-shell .tablewrap{overflow-x:auto}.dart-shell td.name{white-space:normal;word-break:keep-all}.dart-shell td.name .pill{display:inline-block;margin:2px 4px 0 0!important}.dart-shell .kpis{grid-template-columns:repeat(2,1fr);gap:8px}.dart-shell .kpi{padding:11px 12px}.dart-shell .kpi .l{white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.dart-shell .kpi .v{font-size:19px}.dart-shell .kpis .kpi:first-child{grid-column:1/-1}.dart-shell .drawer{box-sizing:border-box;border-left:0;border-radius:18px 18px 0 0;width:100%;max-width:none;height:92dvh;padding:14px 16px 40px;inset:auto 0 0;overflow-x:hidden;transform:translateY(100%);box-shadow:0 -12px 40px #00000040}.dart-shell .drawer .metric[style*=space-between]{flex-direction:column;gap:6px;align-items:flex-start!important}.dart-shell .drawer .metric[style*=space-between] .sec{text-align:left!important}.dart-shell .drawer.open{transform:translateY(0)}.dart-shell .drawer-head{background:var(--st-canvas,#fff);border-bottom:1px solid var(--st-hairline,#e0e0e0);z-index:1;margin:-14px -16px 10px;padding:14px 16px 10px;position:sticky;top:-14px}.dart-shell .drawer h2{font-size:17px}.dart-shell .drawer .metricgrid{grid-template-columns:1fr 1fr;gap:8px}.dart-shell .drawer .metric .v{font-size:15px}.dart-shell .drawer .kv{display:block!important}.dart-shell .drawer .kv .sec{margin-top:2px;display:block}.dart-shell .drawer table{min-width:0}}
