:root{--navy-900: #05132a;--navy-800: #071c3c;--navy-700: #0e2a51;--navy-600: #17395f;--navy-500: #24486f;--blue-700: #0a58c2;--blue-600: #0e6fef;--blue-500: #3187ff;--blue-100: #d6e7ff;--blue-50: #eef5ff;--ink-900: #17202a;--ink-800: #26313d;--ink-700: #3d4854;--ink-600: #566270;--ink-500: #6c7885;--ink-400: #8d98a5;--ink-300: #aab3bf;--line: #dfe6ee;--line-soft: #edf1f6;--surface: #ffffff;--surface-alt: #f8fafc;--canvas: #f2f5f8;--ok-700: #0b7d4f;--ok-600: #0f9d63;--ok-50: #e3f6ee;--warn-700: #a8620f;--warn-600: #c9791b;--warn-50: #fdf2e2;--bad-700: #b0332c;--bad-600: #d4453d;--bad-50: #fdecea;--info-600: var(--blue-600);--info-50: var(--blue-50);--purple-600: #6c4bd4;--purple-50: #f0ecfd;--r-xs: 6px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--r-pill: 999px;--sh-1: 0 1px 2px rgba(11, 26, 48, .05), 0 1px 3px rgba(11, 26, 48, .04);--sh-2: 0 4px 14px rgba(11, 26, 48, .08);--sh-3: 0 14px 38px rgba(11, 26, 48, .14);--sidebar-w: 244px;--topbar-h: 60px;--font-sans: "Inter", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic UI", Meiryo, sans-serif;--font-num: "Inter", "SF Mono", ui-monospace, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;color:var(--ink-900);background:var(--canvas);font-family:var(--font-sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,p,figure,ul,ol{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}table{border-collapse:collapse;width:100%}svg{display:block}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}:focus-visible{outline:2px solid var(--blue-600);outline-offset:2px;border-radius:var(--r-xs)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#17202a2e;border:3px solid transparent;border-radius:var(--r-pill);background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#17202a4d;background-clip:content-box}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.btn{display:inline-flex;gap:7px;align-items:center;justify-content:center;padding:8px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-800);font-size:14px;font-weight:600;white-space:nowrap;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.btn:hover{background:var(--surface-alt);border-color:var(--ink-300)}.btn svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.9;fill:none}.btn--primary{border-color:transparent;background:var(--blue-600);color:#fff;box-shadow:0 1px 2px #0e6fef4d}.btn--primary:hover{background:var(--blue-700);border-color:transparent}.btn--ghost{border-color:transparent;background:transparent;color:var(--ink-600)}.btn--ghost:hover{background:var(--line-soft);border-color:transparent}.btn--sm{padding:5px 10px;font-size:13px}.btn--sm svg{width:13px;height:13px}.card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-1)}.card__head{display:flex;gap:14px;align-items:center;padding:15px 18px;border-bottom:1px solid var(--line-soft)}.card__head h2{flex:1 1 auto;min-width:0;font-size:15.5px;font-weight:700;letter-spacing:-.01em}.card__head p{margin-top:2px;color:var(--ink-500);font-size:12.5px;font-weight:400}.card__body{padding:18px}.card__body--flush{padding:0}.card__foot{padding:11px 18px;border-top:1px solid var(--line-soft);background:var(--surface-alt);border-radius:0 0 var(--r-lg) var(--r-lg);color:var(--ink-500);font-size:13px}.grid{display:grid;gap:16px}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--main{grid-template-columns:minmax(0,1.62fr) minmax(0,1fr);align-items:start}.stack{display:grid;gap:16px}@media(max-width:1240px){.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1080px){.grid--main,.grid--3,.grid--2{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.grid--4{grid-template-columns:minmax(0,1fr)}}.kpi{position:relative;padding:16px 17px 15px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-1);overflow:hidden}.kpi:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--accent, var(--blue-600))}.kpi__label{display:flex;gap:6px;align-items:center;color:var(--ink-500);font-size:12.5px;font-weight:600;letter-spacing:.01em}.kpi__value{display:flex;align-items:baseline;gap:3px;margin-top:8px;font-size:26px;font-weight:700;letter-spacing:-.035em;line-height:1.1;font-variant-numeric:tabular-nums}.kpi__value small{font-size:14px;font-weight:600;color:var(--ink-500);letter-spacing:0}.kpi__foot{display:flex;gap:8px;align-items:center;margin-top:9px;font-size:12.5px;color:var(--ink-500)}.trend{display:inline-flex;gap:3px;align-items:center;padding:1px 6px 1px 4px;border-radius:var(--r-xs);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.trend svg{width:11px;height:11px;stroke:currentColor;stroke-width:2.4;fill:none}.trend--up{background:var(--ok-50);color:var(--ok-700)}.trend--down{background:var(--bad-50);color:var(--bad-700)}.trend--flat{background:var(--line-soft);color:var(--ink-500)}.badge{display:inline-flex;gap:4px;align-items:center;padding:2px 8px;border-radius:var(--r-pill);font-size:12px;font-weight:600;white-space:nowrap;line-height:1.6}.badge--ok{background:var(--ok-50);color:var(--ok-700)}.badge--warn{background:var(--warn-50);color:var(--warn-700)}.badge--bad{background:var(--bad-50);color:var(--bad-700)}.badge--info{background:var(--info-50);color:var(--blue-700)}.badge--purple{background:var(--purple-50);color:var(--purple-600)}.badge--muted{background:var(--line-soft);color:var(--ink-600)}.badge--dot:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.tablewrap{overflow-x:auto}.table{min-width:100%;font-size:14px}.table thead th{position:sticky;top:0;z-index:1;padding:9px 14px;border-bottom:1px solid var(--line);background:var(--surface-alt);color:var(--ink-500);font-size:12.5px;font-weight:700;letter-spacing:.02em;text-align:left;white-space:nowrap}.table tbody td{padding:11px 14px;border-bottom:1px solid var(--line-soft);vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background .12s ease}.table tbody tr:hover{background:var(--blue-50)}.table .r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table .c{text-align:center}a.link{color:var(--blue-600);font-weight:600}a.link:hover{text-decoration:underline}.cell-main{font-weight:600;color:var(--ink-900)}.cell-sub{margin-top:1px;color:var(--ink-400);font-size:12.5px}.pos{color:var(--ok-700);font-weight:700}.neg{color:var(--bad-700);font-weight:700}.muted{color:var(--ink-500)}.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.field{position:relative;display:inline-flex;align-items:center}.field select,.field input{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:7px 30px 7px 11px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font-size:13.5px;transition:border-color .14s ease,box-shadow .14s ease}.field input{padding-right:11px}.field input[type=search]{min-width:220px}.field select:focus,.field input:focus{outline:none;border-color:var(--blue-500);box-shadow:0 0 0 3px var(--blue-50)}.field__caret{position:absolute;right:10px;width:12px;height:12px;stroke:var(--ink-400);stroke-width:2;fill:none;pointer-events:none}.segmented{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-alt)}.segmented button{padding:5px 12px;border-radius:var(--r-xs);color:var(--ink-600);font-size:13.5px;font-weight:600;transition:background .14s ease,color .14s ease}.segmented button.is-active{background:var(--surface);color:var(--ink-900);box-shadow:var(--sh-1)}.count-note{margin-left:auto;color:var(--ink-500);font-size:13px;font-variant-numeric:tabular-nums}.bar{height:6px;border-radius:var(--r-pill);background:var(--line-soft);overflow:hidden}.bar>i{display:block;height:100%;border-radius:var(--r-pill);background:var(--bar-color, var(--blue-600))}.empty{padding:40px 20px;text-align:center;color:var(--ink-500)}.empty svg{width:34px;height:34px;margin:0 auto 10px;stroke:var(--ink-300);stroke-width:1.5;fill:none}.samplebar{display:flex;gap:9px;align-items:flex-start;margin-bottom:18px;padding:10px 14px;border:1px solid var(--warn-50);border-left:3px solid var(--warn-600);border-radius:var(--r-sm);background:#fffaf2;color:var(--warn-700);font-size:13px;line-height:1.55}.samplebar svg{width:15px;height:15px;flex:0 0 auto;margin-top:2px;stroke:currentColor;stroke-width:1.9;fill:none}.samplebar b{color:var(--warn-700)}.soon{display:grid;place-items:center;padding:64px 24px;border:1px dashed var(--line);border-radius:var(--r-lg);background:var(--surface);text-align:center}
