:root{--bg:#eff2f5;--bg-strong:#e4e8ee;--card:#fff;--surface:#fff;--surface-2:#e4e8ee;--surface-hover:#f5f7fa;--text:#111318;--muted:#6b7280;--border:#00000017;--accent:red;--accent-hover:#c00;--accent-soft:#ff000014;--danger-soft:#b91c1c1a;--header-bg:#0e2e3f;--shadow:0 1px 3px #00000012, 0 0 0 1px #0000000d;--radius:8px;--font:Arial, sans-serif}*{box-sizing:border-box}body{font-family:var(--font);color:var(--text);background-color:var(--bg);min-height:100vh;margin:0;position:relative}body:before{content:"";opacity:.45;z-index:0;pointer-events:none;background-image:url(/assets/bg-design.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;position:fixed;inset:0}#root{z-index:1;min-height:100vh;position:relative}.page{max-width:1320px;margin:0 auto;padding:24px}.page-title{margin:0;font-size:2rem;font-weight:400;line-height:1.1}.page-subtitle{color:var(--muted);margin:6px 0 0;font-size:.95rem}.page-header{gap:4px;padding-bottom:14px;display:grid;position:relative}.page-header:after{content:"";background:var(--accent);border-radius:2px;width:56px;height:3px;position:absolute;bottom:0;left:0}.page-header .page-subtitle{margin:0}.stat-tiles{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.stat-tile{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border-top:3px solid var(--accent);padding:14px 16px 12px;animation:.35s both fade-up}.stat-tile:nth-child(2){animation-delay:50ms}.stat-tile:nth-child(3){animation-delay:.1s}.stat-tile:nth-child(4){animation-delay:.15s}.stat-tile-value{color:var(--header-bg);font-size:2rem;font-weight:700;line-height:1.1}.stat-tile-label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:4px;font-size:.72rem;font-weight:600}.stat-tile-hint{color:var(--muted);margin-top:2px;font-size:.78rem}.chip{text-align:center;letter-spacing:.05em;border-radius:4px;min-width:34px;padding:3px 9px;font-size:.74rem;font-weight:700;display:inline-block}.chip-outline{background:var(--surface-2);color:#374151;letter-spacing:0;font-weight:600}.count-pill{background:var(--header-bg);color:#fff;border-radius:12px;justify-content:center;align-items:center;min-width:28px;height:24px;padding:0 8px;font-size:.78rem;font-weight:700;display:inline-flex}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card-title{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px;font-size:.72rem;font-weight:600}.stack{gap:16px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.grid{gap:16px;display:grid}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.muted{color:var(--muted)}.field{gap:6px;display:grid}.field label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:700}input,select,button{font-family:inherit}.input,.select{background:var(--surface);color:var(--text);border:1px solid #0000002e;border-radius:4px;min-height:38px;padding:8px 12px}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.select[multiple]{min-height:94px}.btn{cursor:pointer;border:1px solid #0000;border-radius:4px;padding:9px 18px;font-weight:500;transition:all .15s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{background:var(--surface);border-color:var(--border);color:var(--text)}.btn-ghost:hover{background:var(--surface-hover)}.badge{border-radius:4px;justify-content:center;align-items:center;padding:4px 10px;font-size:.76rem;font-weight:600;display:inline-flex}.badge-neutral{background:var(--surface-2);color:#374151}.badge-accent{background:var(--accent-soft);color:#b91c1c}.badge-danger{background:var(--danger-soft);color:#b91c1c}.table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:11px 10px;font-size:.91rem}thead th{background:var(--surface-2);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:600}thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}thead th.sortable:hover{color:var(--text)}tbody tr{cursor:pointer;transition:background-color .13s,box-shadow .13s}tbody tr:hover{background:var(--surface-hover);box-shadow:inset 3px 0 0 var(--accent)}tbody tr:last-child td{border-bottom:none}td.row-chevron{color:var(--muted);text-align:right;width:32px;font-size:1.1rem}tbody tr:hover td.row-chevron{color:var(--accent)}.selected-row{background:var(--accent-soft)}.state{text-align:center;color:var(--muted);border:1px dashed #0000002e;border-radius:8px;padding:24px}.modal-backdrop{z-index:20;background:#050c1c8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{width:min(680px,100%);max-height:90vh;overflow:auto}.screenshot{border:1px solid var(--border);border-radius:10px;width:100%}.delta-chart{width:100%;height:440px}.app-header-inner{align-items:center;gap:24px;max-width:1320px;height:68px;margin:0 auto;padding:0 24px;display:flex}.app-header-divider{background:#fff3;flex-shrink:0;width:1px;height:32px}.app-header-appname{flex-shrink:0}.app-header-bmwkms{background:#ffffff14;border:1px solid #ffffff1f;border-radius:4px;flex-shrink:0;align-items:center;padding:5px 12px;display:flex}@media (width<=1000px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.page{padding:12px}.page-title{font-size:1.4rem}.page-subtitle{font-size:.85rem}.grid-4{grid-template-columns:1fr;gap:10px}.card{padding:12px}.grid-4 .card{border-radius:10px;padding:10px}.grid-4 .card-title{margin-bottom:6px;font-size:.82rem;line-height:1.2}.grid-4 .card strong{word-break:break-word;font-size:.96rem;line-height:1.25}.btn{min-height:44px;padding:10px 16px;font-size:.95rem}.input,.select{min-height:44px;font-size:1rem}.delta-chart{height:280px}.table-wrap{-webkit-overflow-scrolling:touch}th,td{padding:10px 8px;font-size:.83rem}.row{gap:8px}.app-header-divider,.app-header-appname,.app-header-bmwkms{display:none}.app-header-inner{gap:12px;height:56px;padding:0 14px}.modal{border-radius:14px 14px 0 0;width:100%;max-height:95vh;position:fixed;bottom:0;left:0}.modal-backdrop{align-items:flex-end;padding:0}}
