:root{--heat-4: #2563eb0a;--heat-8: #2563eb14;--heat-12: #2563eb1f;--heat-16: #2563eb29;--heat-20: #2563eb33;--heat-40: #2563eb66;--heat-60: #2563eb99;--heat-90: #2563ebe6;--heat-100: #2563eb;--accent: var(--heat-100);--accent-hover: #2f6ef0;--accent-pressed: #1d4fc4;--accent-soft: var(--heat-8);--accent-soft-2: var(--heat-12);--accent-soft-3: var(--heat-20);--accent-40: var(--heat-40);--accent-60: var(--heat-60);--on-accent: #ffffff;--page-bg: #ececee;--page-bg-2: #f4f4f6;--frame-bg: #ffffff;--surface: #ffffff;--surface-2: #f5f5f7;--surface-3: #eeeef1;--surface-raised: #ffffff;--border: #ececef;--border-strong: #e1e1e5;--border-faint: #f1f1f3;--text-1: #1a1a1e;--text-2: #55555b;--text-3: #8e8e95;--text-4: #b6b6bc;--ink: #1a1a1e;--on-ink: #ffffff;--success: #16a34a;--success-soft: #dcfce7;--danger: #ef4444;--danger-soft: #fee2e2;--warning: #d9a400;--warning-soft: #fef6d6;--info: var(--accent);--info-soft: var(--accent-soft-2);--neutral: #9ca3af;--neutral-soft: #f0f0f2;--accent-forest: var(--success);--accent-crimson: var(--danger);--accent-honey: var(--warning);--accent-bluetron: var(--accent);--accent-idle: var(--neutral);--accent-black: var(--text-1);--background-base: var(--page-bg);--r-xs: 6px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 24px;--r-pill: 999px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--frame-margin: 20px;--frame-pad: 24px;--card-pad: 22px;--card-gap: 22px;--sidebar-w: 264px;--topbar-h: 92px;--nav-item-h: 44px;--control-h: 40px;--control-h-sm: 34px;--control-h-lg: 48px;--icon-sm: 16px;--icon: 18px;--icon-lg: 20px;--icon-circle: 30px;--tile-h: 82px;--shadow-card: none;--shadow-active: 0 4px 12px -2px rgba(26, 26, 30, .07), 0 1px 3px rgba(26, 26, 30, .05);--shadow-pop: 0 16px 40px -12px rgba(26, 26, 30, .18), 0 4px 12px -6px rgba(26, 26, 30, .08);--shadow-frame: 0 24px 60px -30px rgba(26, 26, 30, .18);--font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;--font-mono: "Roboto Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fs-2xs: 11px;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 15px;--fs-title: 17px;--fs-h: 19px;--fs-num-sm: 18px;--fs-num-md: 24px;--fs-num-lg: 38px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-tight: 1.15;--lh-snug: 1.3;--lh-base: 1.45;--t-fast: .14s;--t-base: .2s;--ease: cubic-bezier(.2, .7, .3, 1);color-scheme:light}html[data-theme=dark]{--heat-4: #4d9bff0d;--heat-8: #4d9bff17;--heat-12: #4d9bff21;--heat-16: #4d9bff2b;--heat-20: #4d9bff36;--heat-40: #4d9bff69;--heat-60: #4d9bff99;--heat-90: #4d9bffe6;--heat-100: #4d9bff;--accent-hover: #63a8ff;--accent-pressed: #3b8cf5;--page-bg: #09090b;--page-bg-2: #0f0f11;--frame-bg: #121214;--surface: #161618;--surface-2: #1c1c1f;--surface-3: #232326;--surface-raised: #1a1a1d;--border: #232327;--border-strong: #2c2c31;--border-faint: #1d1d21;--text-1: #ededed;--text-2: #b4b4ba;--text-3: #7d7d85;--text-4: #55555b;--ink: #ededed;--on-ink: #121214;--success-soft: #0f2e1d;--danger-soft: #3a1414;--warning-soft: #33290a;--neutral-soft: #202024;--shadow-active: 0 4px 12px -2px rgba(0, 0, 0, .4), 0 1px 3px rgba(0, 0, 0, .3);--shadow-pop: 0 16px 40px -12px rgba(0, 0, 0, .66), 0 6px 16px -8px rgba(0, 0, 0, .5);--shadow-frame: none;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body,#root{height:100%}body{background:var(--page-bg);color:var(--text-1);font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh-base);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"cv11","ss01"}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}::selection{background:var(--accent-soft-3)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-xs)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}*::-webkit-scrollbar-track{background:transparent}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.t-1{color:var(--text-1)}.t-2{color:var(--text-2)}.t-3{color:var(--text-3)}.t-4{color:var(--text-4)}.t-accent{color:var(--accent)}.t-danger{color:var(--danger)}.fs-2xs{font-size:var(--fs-2xs)}.fs-xs{font-size:var(--fs-xs)}.fs-sm{font-size:var(--fs-sm)}.fs-md{font-size:var(--fs-md)}.fs-lg{font-size:var(--fs-lg)}.fw-medium{font-weight:var(--fw-medium)}.fw-semibold{font-weight:var(--fw-semibold)}.fw-bold{font-weight:var(--fw-bold)}.tnum{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.2px}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text-secondary{color:var(--text-2)}.text-tertiary{color:var(--text-3)}.sw-tag{font-size:var(--fs-sm);color:var(--text-3)}.sw-body-small{font-size:var(--fs-sm)}.sw-body-x-small{font-size:var(--fs-xs)}.sw-body-medium{font-size:var(--fs-md)}.sw-label-small{font-size:var(--fs-sm);font-weight:var(--fw-medium)}.sw-label-medium{font-size:var(--fs-md);font-weight:var(--fw-medium)}.sw-mono-small,.sw-mono-x-small{font-family:var(--font-mono);font-size:var(--fs-xs)}.sw-title-h5{font-size:22px;font-weight:var(--fw-semibold);letter-spacing:-.2px}.sw-title-h6{font-size:var(--fs-h);font-weight:var(--fw-semibold);letter-spacing:-.2px}@keyframes ds-fade-in-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes ds-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ds-pop-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ds-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes ds-eq{0%,to{transform:scaleY(.45)}50%{transform:scaleY(1)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--control-h);padding:0 16px;border:1px solid transparent;border-radius:var(--r-sm);font-size:var(--fs-md);font-weight:var(--fw-medium);line-height:1;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn svg{width:var(--icon);height:var(--icon);flex-shrink:0}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:active:not(:disabled){background:var(--accent-pressed)}.btn-secondary{background:var(--surface-2);color:var(--text-1)}.btn-secondary:hover:not(:disabled){background:var(--surface-3)}.btn-outline{background:var(--surface);border-color:var(--border);color:var(--text-1)}.btn-outline:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-2)}.btn-soft{background:var(--accent-soft-2);color:var(--accent)}.btn-soft:hover:not(:disabled){background:var(--accent-soft-3)}.btn-ghost{background:transparent;color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text-1)}.btn-danger{background:transparent;color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-soft)}.btn-sm{height:var(--control-h-sm);padding:0 12px;font-size:var(--fs-sm);border-radius:var(--r-sm)}.btn-sm svg{width:var(--icon-sm);height:var(--icon-sm)}.btn-lg{height:var(--control-h-lg);padding:0 20px;font-size:var(--fs-lg);border-radius:var(--r-md)}.btn-block{width:100%}.icon-btn{display:inline-grid;place-items:center;width:var(--control-h);height:var(--control-h);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text-2);transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.icon-btn:hover{border-color:var(--border-strong);background:var(--surface-2);color:var(--text-1)}.icon-btn:active{transform:scale(.96)}.icon-btn svg{width:var(--icon);height:var(--icon)}.icon-btn-sm{width:var(--control-h-sm);height:var(--control-h-sm);border-radius:var(--r-sm)}.icon-btn-sm svg{width:var(--icon-sm);height:var(--icon-sm)}.icon-btn-lg{width:var(--control-h-lg);height:var(--control-h-lg);border-radius:var(--r-md)}.icon-btn-lg svg{width:var(--icon-lg);height:var(--icon-lg)}.icon-btn-plain{border-color:transparent;background:transparent}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-card);min-width:0}.card-head{display:flex;align-items:center;gap:12px;padding:var(--card-pad) var(--card-pad) 0}.card-head.divided{padding-bottom:16px;border-bottom:1px solid var(--border)}.card-title{font-size:var(--fs-title);font-weight:var(--fw-semibold);letter-spacing:-.2px;color:var(--text-1);min-width:0}.card-title .count{margin-left:8px;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-3)}.card-sub{font-size:var(--fs-sm);color:var(--text-3);margin-top:2px}.card-actions{margin-left:auto;display:flex;align-items:center;gap:8px;flex-shrink:0}.card-body{padding:var(--card-pad)}.card-head+.card-body{padding-top:18px}.card-body.flush{padding:0}.card-body.center{display:flex;flex-direction:column;justify-content:center}.card-head+.card-body.flush{padding-top:12px}.card-foot{padding:14px var(--card-pad);border-top:1px solid var(--border);display:flex;align-items:center;gap:12px;font-size:var(--fs-sm);color:var(--text-3)}.subcard{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);padding:16px;min-width:0;transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.subcard.clickable{cursor:pointer}.subcard.clickable:hover{border-color:var(--border-strong);box-shadow:var(--shadow-active)}.subcard-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.subcard-title{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-1);min-width:0}.subcard-value{font-size:var(--fs-num-sm);font-weight:var(--fw-bold);letter-spacing:-.3px;font-variant-numeric:tabular-nums}.subcard-caption{font-size:var(--fs-sm);color:var(--text-3);margin-top:8px}.list-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.list-row+.list-row{margin-top:10px}.list-row.clickable{cursor:pointer}.list-row.clickable:hover{border-color:var(--border-strong);box-shadow:var(--shadow-active)}.list-row-main{min-width:0;flex:1}.list-row-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-1);font-variant-numeric:tabular-nums}.list-row-sub{font-size:var(--fs-xs);color:var(--text-3);margin-top:1px}.icon-circle{width:var(--icon-circle);height:var(--icon-circle);border-radius:var(--r-pill);display:grid;place-items:center;flex-shrink:0;background:var(--ink);color:var(--on-ink)}.icon-circle svg{width:15px;height:15px}.icon-circle.accent{background:var(--accent);color:var(--on-accent)}.icon-circle.soft{background:var(--accent-soft-2);color:var(--accent)}.icon-circle.lg{width:40px;height:40px}.icon-circle.lg svg{width:18px;height:18px}.tile-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:10px}.tile{height:var(--tile-h);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-1);transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.tile:hover{border-color:var(--border-strong);background:var(--surface-2)}.tile:active{transform:scale(.98)}.tile.active{border-color:var(--accent);color:var(--accent)}.tile.active .icon-circle{background:var(--accent-soft-2);color:var(--accent)}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:var(--r-xs);font-size:var(--fs-xs);font-weight:var(--fw-semibold);line-height:1;white-space:nowrap;background:var(--neutral-soft);color:var(--text-2)}.badge svg{width:12px;height:12px}.badge-accent{background:var(--accent-soft-2);color:var(--accent)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-outline{background:var(--surface);border:1px solid var(--border);color:var(--text-2)}.badge-pill{border-radius:var(--r-pill);padding:0 10px}.count-badge{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 6px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--accent)}.status{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-2);white-space:nowrap}.status .dot{width:8px;height:8px;border-radius:var(--r-pill);flex-shrink:0}.status.sm{font-size:var(--fs-xs);gap:6px}.status.sm .dot{width:7px;height:7px}.eq{display:inline-flex;align-items:flex-end;gap:1.5px;height:10px;width:13px}.eq i{flex:1;background:var(--success);border-radius:1px;height:100%;transform-origin:bottom;animation:ds-eq 1.1s ease-in-out infinite}.eq i:nth-child(2){animation-delay:.16s}.eq i:nth-child(3){animation-delay:.32s}.eq i:nth-child(4){animation-delay:.48s}.delta{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 7px;border-radius:var(--r-xs);font-size:var(--fs-xs);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;white-space:nowrap}.delta svg{width:12px;height:12px}.delta.up{background:var(--success-soft);color:var(--success)}.delta.down{background:var(--danger-soft);color:var(--danger)}.delta.flat{background:var(--neutral-soft);color:var(--text-3)}.segmented{display:inline-flex;align-items:center;gap:2px;padding:4px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.segmented button{height:32px;padding:0 14px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-3);white-space:nowrap;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.segmented button:hover{color:var(--text-1)}.segmented button.active{background:var(--surface);border-color:var(--border);color:var(--text-1);font-weight:var(--fw-semibold);box-shadow:var(--shadow-active)}.tabs{display:flex;gap:2px;padding:4px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);width:fit-content;max-width:100%;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{height:34px;padding:0 14px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-3);white-space:nowrap;display:inline-flex;align-items:center;gap:6px;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.tab:hover{color:var(--text-1)}.tab.active{border-color:var(--border);color:var(--text-1);font-weight:var(--fw-semibold);box-shadow:var(--shadow-active)}.tab .tab-count{font-size:var(--fs-xs);color:var(--text-3);font-weight:var(--fw-medium)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-2);display:flex;align-items:center;gap:6px}.field-label .req{color:var(--danger)}.field-hint{font-size:var(--fs-xs);color:var(--text-3)}.field-optional{color:var(--text-4);font-weight:var(--fw-regular)}.input,.select,.textarea{height:var(--control-h);padding:0 14px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);font-size:var(--fs-md);color:var(--text-1);outline:0;width:100%;transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.input::placeholder,.textarea::placeholder{color:var(--text-4)}.input:hover,.select:hover,.textarea:hover{border-color:var(--border-strong)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-2)}.input.invalid{border-color:var(--danger)}.textarea{height:auto;min-height:96px;padding:10px 14px;resize:vertical;line-height:var(--lh-base)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.5l4.5 4.5 4.5-4.5' stroke='%238e8e95' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}.select-sm,.input-sm{height:var(--control-h-sm);font-size:var(--fs-sm);padding:0 12px}.select-sm{padding-right:30px}.search{display:flex;align-items:center;gap:10px;height:var(--control-h);padding:0 14px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);min-width:260px;transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.search:hover{border-color:var(--border-strong)}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-2)}.search svg{width:var(--icon-sm);height:var(--icon-sm);color:var(--text-3);flex-shrink:0}.search input{border:0;outline:0;background:transparent;font-size:var(--fs-md);width:100%}.search input::placeholder{color:var(--text-4)}.check{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.check-line{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:var(--fs-md);cursor:pointer}.check-line input{margin-top:3px}.check-line .check-desc{display:block;font-size:var(--fs-xs);color:var(--text-3)}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-md)}.switch-row+.switch-row{margin-top:8px}.radio-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.radio-card{border:1px solid var(--border);border-radius:var(--r-md);padding:14px;background:var(--surface);text-align:left;transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.radio-card:hover{border-color:var(--border-strong)}.radio-card.on{border-color:var(--accent);background:var(--accent-soft)}.radio-card b{display:block;font-size:var(--fs-md);font-weight:var(--fw-semibold)}.radio-card span{font-size:var(--fs-xs);color:var(--text-3)}.f-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}.f-grid .full{grid-column:1 / -1}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.f-chip{height:30px;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-2);transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.f-chip:hover{border-color:var(--border-strong);color:var(--text-1)}.f-chip.on{border-color:var(--accent);background:var(--accent-soft-2);color:var(--accent)}.pop-anchor{position:relative;display:inline-flex}.popover{position:absolute;top:calc(100% + 8px);right:0;z-index:40;min-width:240px;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-pop);padding:8px;animation:ds-pop-in var(--t-fast) var(--ease) both}.popover.left{right:auto;left:0}.popover-section{padding:6px 8px 8px}.popover-label{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-3);margin-bottom:8px}.popover-foot{padding:8px 8px 4px;border-top:1px solid var(--border);margin-top:4px}.menu-item{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;padding:9px 10px;border-radius:var(--r-sm);font-size:var(--fs-md);text-align:left;color:var(--text-1);transition:background var(--t-fast) var(--ease)}.menu-item:hover,.menu-item.sel{background:var(--surface-2)}.menu-item svg{width:var(--icon-sm);height:var(--icon-sm);color:var(--text-2)}.menu-item.danger{color:var(--danger)}.menu-item.danger svg{color:var(--danger)}.menu-head{padding:8px 10px 10px;border-bottom:1px solid var(--border);margin-bottom:6px}.menu-head-title{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.menu-head-sub{font-size:var(--fs-xs);color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.float-panel{z-index:130;display:flex;flex-direction:column;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-pop);overflow:hidden;animation:ds-fade-in var(--t-fast) var(--ease) both}.float-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.float-search svg{width:var(--icon-sm);height:var(--icon-sm);color:var(--text-3);flex-shrink:0}.float-search input{border:0;outline:0;background:transparent;width:100%;font-size:var(--fs-md);color:var(--text-1)}.float-search input::placeholder{color:var(--text-4)}.float-list{overflow-y:auto;padding:6px;outline:0;min-height:0}.float-group{padding:10px 10px 4px;font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-3)}.float-empty{padding:12px;font-size:var(--fs-sm);color:var(--text-3)}.float-panel .menu-item{font-size:var(--fs-sm);padding:8px 10px}.float-panel .menu-item small{color:var(--text-4);font-size:var(--fs-xs);flex-shrink:0;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.float-panel .menu-item>svg{width:14px;height:14px;color:var(--accent);flex-shrink:0}.menu-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-btn{display:flex;align-items:center;text-align:left}.select-btn>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-btn:disabled,.date-btn:disabled{background:var(--surface-2);color:var(--text-4);cursor:not-allowed}.placeholder{color:var(--text-4)}.select-btn.open,.date-btn.open{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-2)}.select.invalid{border-color:var(--danger)}.input:disabled{background:var(--surface-2);color:var(--text-4);cursor:not-allowed}.cal{padding:14px}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cal-title{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.cal-title:first-letter{text-transform:uppercase}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.cal-wd{text-align:center;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--text-4);padding:6px 0}.cal-wd.mark{color:var(--accent)}.cal-day{position:relative;aspect-ratio:1;min-height:34px;border:0;border-radius:var(--r-sm);background:transparent;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--text-1);transition:background var(--t-fast) var(--ease)}.cal-day:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--border-strong)}.cal-day:disabled{color:var(--text-4);opacity:.4;cursor:not-allowed}.cal-day.today{font-weight:var(--fw-bold);text-decoration:underline;text-underline-offset:3px}.cal-day.mark:after{content:"";position:absolute;left:50%;bottom:4px;width:5px;height:5px;margin-left:-2.5px;border-radius:var(--r-pill);background:var(--success)}.cal-day.sel,.cal-day.sel:hover{background:var(--accent);color:var(--on-accent);font-weight:var(--fw-semibold);box-shadow:none}.cal-day.sel:after{background:var(--on-accent)}.cal-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:var(--fs-xs);color:var(--text-3)}.cal-legend span{display:inline-flex;align-items:center;gap:6px}.cal-legend i{width:6px;height:6px;border-radius:var(--r-pill);background:var(--success);display:inline-block}.float-cal{overflow:visible}.date-field{position:relative}.date-btn{display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;padding-right:36px}.date-btn svg{width:16px;height:16px;color:var(--text-3);flex-shrink:0}.date-btn>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date-clear{position:absolute;right:8px;top:50%;width:24px;height:24px;margin-top:-12px;border:0;border-radius:var(--r-pill);background:transparent;color:var(--text-3);display:grid;place-items:center}.date-clear:hover{background:var(--surface-2);color:var(--text-1)}.date-clear svg{width:13px;height:13px}.disclosure{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.stack>.disclosure{border-radius:var(--r-lg)}.stack>.disclosure>.disclosure-head{padding:18px var(--card-pad);border-radius:var(--r-lg)}.stack>.disclosure.open>.disclosure-head{border-radius:var(--r-lg) var(--r-lg) 0 0}.stack>.disclosure>.disclosure-body{padding:20px var(--card-pad) 24px}.disclosure-head{width:100%;display:flex;align-items:center;gap:10px;padding:13px 14px;border:0;border-radius:var(--r-md);background:transparent;text-align:left;font-size:var(--fs-md);color:var(--text-1)}.disclosure-head:hover{background:var(--surface-2)}.disclosure.open .disclosure-head{border-radius:var(--r-md) var(--r-md) 0 0}.disclosure-chevron{display:inline-flex;color:var(--text-3);transition:transform var(--t-fast) var(--ease)}.disclosure-chevron svg{width:14px;height:14px}.disclosure.open .disclosure-chevron{transform:rotate(90deg)}.disclosure-title{font-weight:var(--fw-semibold)}.disclosure-hint{font-size:var(--fs-xs);color:var(--text-3)}.disclosure-count{margin-left:auto;font-size:var(--fs-xs);color:var(--text-3);white-space:nowrap}.disclosure-body{padding:16px 14px 18px;border-top:1px solid var(--border)}.tooltip{position:absolute;z-index:50;background:var(--ink);color:var(--on-ink);font-size:var(--fs-xs);font-weight:var(--fw-medium);padding:6px 10px;border-radius:var(--r-sm);white-space:nowrap;pointer-events:none;animation:ds-fade-in var(--t-fast) var(--ease) both}.tbl-wrap{overflow-x:auto}.tbl{width:100%;border-collapse:collapse;font-size:var(--fs-md)}.tbl th{text-align:left;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-3);padding:10px var(--card-pad);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.tbl th.sortable{cursor:pointer}.tbl th.sortable:hover{color:var(--text-1)}.tbl th .sort-arrow{margin-left:4px;font-size:9px}.tbl td{padding:13px var(--card-pad);border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text-1)}.tbl tbody tr{transition:background var(--t-fast) var(--ease)}.tbl tbody tr.rowlink{cursor:pointer}.tbl tbody tr.rowlink:hover{background:var(--surface-2)}.tbl tbody tr:last-child td{border-bottom:0}.tbl .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tbl .nowrap{white-space:nowrap}.tbl .shrink{width:1%;white-space:nowrap}.tbl .muted{color:var(--text-3)}.tbl .strong{font-weight:var(--fw-semibold)}.cell-entity{display:flex;align-items:center;gap:12px;min-width:0}.cell-title{font-weight:var(--fw-semibold);color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px}.cell-media{display:flex;align-items:center;gap:12px;min-width:0}.cell-media .artwork{flex-shrink:0}.cell-sub{font-size:var(--fs-xs);color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tbl-foot{display:flex;align-items:center;gap:12px;padding:12px var(--card-pad);font-size:var(--fs-sm);color:var(--text-3);border-top:1px solid var(--border)}.bulk-bar{display:flex;align-items:center;gap:10px;padding:10px var(--card-pad);border-bottom:1px solid var(--border);background:var(--accent-soft);font-size:var(--fs-sm)}.pager{display:inline-flex;align-items:center;gap:4px;margin-left:auto}.avatar{border-radius:var(--r-pill);display:grid;place-items:center;font-weight:var(--fw-semibold);flex-shrink:0;color:#fff;-webkit-user-select:none;user-select:none;background:var(--ink);border:2px solid var(--surface);box-sizing:border-box}.avatar-group{display:inline-flex;align-items:center}.avatar-group .avatar{margin-left:-8px}.avatar-group .avatar:first-child{margin-left:0}.avatar-group .avatar-more{margin-left:-8px;height:28px;padding:0 8px;border-radius:var(--r-pill);background:var(--surface-2);border:2px solid var(--surface);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-2);display:inline-grid;place-items:center}.avatar-list{display:flex;gap:18px;flex-wrap:wrap}.avatar-item{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-1);cursor:pointer;width:60px}.avatar-item .avatar{transition:transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.avatar-item:hover .avatar{transform:translateY(-2px);box-shadow:var(--shadow-active)}.progress{height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden}.progress-bar{height:100%;border-radius:3px;background:var(--accent);transition:width var(--t-base) var(--ease)}.artwork{display:inline-block;vertical-align:middle;border-radius:var(--r-sm);flex-shrink:0;position:relative;overflow:hidden;border:1px solid var(--border);background:var(--surface-3)}.artwork.round{border-radius:var(--r-pill)}.empty{padding:40px 24px;text-align:center;color:var(--text-3)}.empty-icon{width:44px;height:44px;border-radius:var(--r-md);background:var(--surface-2);color:var(--text-3);display:grid;place-items:center;margin:0 auto 14px}.empty-icon svg{width:20px;height:20px}.empty-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-1);margin-bottom:4px}.empty-desc{font-size:var(--fs-sm);max-width:380px;margin:0 auto 16px}.skeleton{border-radius:var(--r-sm);background:linear-gradient(90deg,var(--surface-2) 0%,var(--surface-3) 50%,var(--surface-2) 100%);background-size:800px 100%;animation:ds-shimmer 1.4s linear infinite}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#1a1a1e52;display:flex;align-items:center;justify-content:center;padding:24px;animation:ds-fade-in var(--t-fast) var(--ease) both}.modal{width:min(560px,100%);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);animation:ds-pop-in var(--t-base) var(--ease) both;max-height:calc(100vh - 48px);display:flex;flex-direction:column}.modal-head{display:flex;align-items:center;gap:12px;padding:20px 22px 0}.modal-title{font-size:var(--fs-title);font-weight:var(--fw-semibold)}.modal-body{padding:18px 22px;overflow-y:auto;min-height:0}.modal-foot{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:14px 22px 20px;flex-shrink:0}.drawer-overlay{justify-content:flex-end;padding:0}.drawer{width:min(480px,100%);height:100%;background:var(--surface-raised);border-left:1px solid var(--border);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;animation:ds-fade-in-up var(--t-base) var(--ease) both}.drawer-head{display:flex;align-items:center;gap:12px;padding:20px 22px;border-bottom:1px solid var(--border)}.drawer-body{padding:22px;overflow-y:auto;flex:1}.alert{display:flex;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);font-size:var(--fs-sm)}.alert svg{width:var(--icon);height:var(--icon);flex-shrink:0;margin-top:1px}.alert-title{font-weight:var(--fw-semibold);font-size:var(--fs-md);color:var(--text-1)}.alert-desc{color:var(--text-2);margin-top:2px}.alert-danger{border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.alert-danger svg{color:var(--danger)}.alert-warning{border-color:color-mix(in srgb,var(--warning) 45%,var(--border))}.alert-warning svg{color:var(--warning)}.alert-info svg{color:var(--accent)}.alert-success svg{color:var(--success)}.toast-stack{position:fixed;right:24px;bottom:24px;z-index:120;display:flex;flex-direction:column;gap:8px}.toast{min-width:260px;max-width:380px;padding:12px 14px;border-radius:var(--r-md);background:var(--ink);color:var(--on-ink);font-size:var(--fs-sm);box-shadow:var(--shadow-pop);animation:ds-fade-in-up var(--t-base) var(--ease) both}.chart-tip{position:absolute;pointer-events:none;background:var(--ink);color:var(--on-ink);border-radius:var(--r-sm);padding:7px 11px;font-size:var(--fs-sm);font-weight:var(--fw-semibold);z-index:30;white-space:nowrap;transform:translate(-50%,calc(-100% - 14px))}.chart-tip:after{content:"";position:absolute;left:50%;top:100%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--ink)}.chart-tip .tip-sub{display:block;font-weight:var(--fw-regular);font-size:var(--fs-2xs);opacity:.7;margin-top:1px}.legend{display:inline-flex;align-items:center;gap:16px;font-size:var(--fs-sm);color:var(--text-1)}.legend-item{display:inline-flex;align-items:center;gap:7px}.legend-item .dot{width:8px;height:8px;border-radius:var(--r-pill)}.legend.sm{font-size:var(--fs-xs);color:var(--text-2);gap:12px}.bar-list{display:flex;flex-direction:column;gap:14px}.bar-row{display:grid;grid-template-columns:minmax(90px,150px) 1fr auto;gap:14px;align-items:center}.bar-row .bar-label{font-size:var(--fs-md);color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden}.bar-fill{height:100%;border-radius:3px;background:var(--accent)}.bar-row .bar-value{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-2);font-variant-numeric:tabular-nums}.kv-list{display:flex;flex-direction:column}.kv{display:grid;grid-template-columns:180px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--border);font-size:var(--fs-md)}.kv:last-child{border-bottom:0}.kv dt{color:var(--text-3)}.kv dd{margin:0;min-width:0;overflow-wrap:break-word;color:var(--text-1);font-weight:var(--fw-medium)}.mono-id{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-2);letter-spacing:.2px}.pill{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:var(--r-sm);border:1px solid var(--border);font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--text-2);white-space:nowrap}.stack{display:flex;flex-direction:column;gap:var(--card-gap)}.stack>*{min-width:0}.stack-sm{display:flex;flex-direction:column;gap:10px}.row-list{display:flex;flex-direction:column}.row-item{display:flex;align-items:center;gap:14px;padding:13px var(--card-pad);border-bottom:1px solid var(--border);transition:background var(--t-fast) var(--ease);color:inherit}.row-item:last-child{border-bottom:0}.row-item.clickable{cursor:pointer}.row-item.clickable:hover{background:var(--surface-2)}.row-body{display:block;min-width:0;flex:1}.row-title{font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--text-1)}.row-desc{display:block;font-size:var(--fs-sm);color:var(--text-3);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-meta{font-size:var(--fs-xs);color:var(--text-3);flex-shrink:0}.row-sev{width:8px;height:8px;border-radius:var(--r-pill);flex-shrink:0}.kv-list.compact .kv{grid-template-columns:1fr;gap:2px;padding:10px 0}.kv-list.compact .kv dt{font-size:var(--fs-xs)}.app{min-height:100%;padding:var(--frame-margin);background:radial-gradient(1200px 600px at 100% 0%,var(--page-bg-2),transparent 60%),var(--page-bg)}.app-frame{position:relative;background:var(--frame-bg);border-radius:var(--r-xl);box-shadow:var(--shadow-frame);min-height:calc(100vh - var(--frame-margin) * 2);display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);gap:var(--frame-pad);padding:var(--frame-pad);overflow:clip}.content{min-width:0;display:flex;flex-direction:column;gap:var(--card-gap)}.page{display:flex;flex-direction:column;gap:var(--card-gap);animation:ds-fade-in-up .35s var(--ease) both;min-width:0}.sidebar{position:sticky;top:calc(var(--frame-margin) + var(--frame-pad));align-self:start;height:calc(100vh - (var(--frame-margin) + var(--frame-pad)) * 2);display:flex;flex-direction:column;min-height:0}.sb-brand{display:flex;align-items:center;gap:12px;height:68px;padding:0 12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.sb-logo{width:44px;height:44px;border-radius:var(--r-md);background:var(--ink);color:var(--on-ink);display:grid;place-items:center;flex-shrink:0}.sb-logo svg{width:22px;height:22px}.sb-brand-name{font-size:var(--fs-lg);font-weight:var(--fw-semibold);letter-spacing:-.2px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-brand-sub{font-size:var(--fs-xs);color:var(--text-3);line-height:1.3}.sb-brand-text{min-width:0;flex:1}.sb-divider{height:1px;background:var(--border);margin:18px 0;flex-shrink:0}.sb-section-label{font-size:var(--fs-sm);color:var(--text-3);padding:0 12px;margin-bottom:8px}.sb-nav{display:flex;flex-direction:column;gap:2px}.sb-item{position:relative;display:flex;align-items:center;gap:12px;height:var(--nav-item-h);padding:0 12px;border:1px solid transparent;border-radius:var(--r-md);font-size:var(--fs-md);font-weight:var(--fw-regular);color:var(--text-2);transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.sb-item:hover{background:var(--surface-2);color:var(--text-1)}.sb-item.active{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow-active);color:var(--text-1);font-weight:var(--fw-semibold)}.sb-item svg{width:var(--icon-lg);height:var(--icon-lg);flex-shrink:0;color:var(--text-2)}.sb-item.active svg{color:var(--accent)}.sb-item.active:before{content:"";position:absolute;left:calc(-1 * var(--frame-pad) - 1px);top:50%;transform:translateY(-50%);width:4px;height:34px;border-radius:0 4px 4px 0;background:var(--accent)}.sb-item .sb-badge{margin-left:auto}.sb-footer{margin-top:auto;padding-top:18px}.sb-logout{display:flex;align-items:center;gap:12px;height:var(--control-h-lg);padding:0 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--accent);font-size:var(--fs-md);font-weight:var(--fw-medium);width:100%;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.sb-logout:hover{background:var(--accent-soft);border-color:var(--accent-40)}.sb-logout svg{width:var(--icon-lg);height:var(--icon-lg)}.sb-scrim{display:none}.topbar-stack{position:sticky;top:calc(var(--frame-margin) + var(--frame-pad));z-index:20;display:flex;flex-direction:column;gap:10px}.topbar-stack .viewas-bar{background:var(--accent-soft-2)}.topbar{position:static;z-index:20;height:var(--topbar-h);display:flex;align-items:center;gap:16px;padding:0 var(--card-pad);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}.tb-info{min-width:0}.tb-greet{font-size:var(--fs-sm);color:var(--text-3);line-height:1.3}.tb-title{display:flex;align-items:center;gap:10px;font-size:var(--fs-h);font-weight:var(--fw-semibold);letter-spacing:-.2px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-cluster{margin-left:auto;display:flex;align-items:center;gap:12px;flex-shrink:0}.tb-cta{height:48px;padding:0 18px;gap:8px}.tb-box{display:flex;align-items:center;gap:12px;height:var(--control-h-lg);padding:0 10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.tb-box .btn{height:36px;border-radius:var(--r-sm)}.tb-search{display:flex;align-items:center;gap:10px;height:var(--control-h-lg);padding:0 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text-1);font-size:var(--fs-md);font-weight:var(--fw-medium);transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.tb-search:hover{border-color:var(--border-strong);background:var(--surface-2)}.tb-search svg{width:var(--icon);height:var(--icon);color:var(--text-2)}.tb-search kbd{font-family:var(--font-sans);font-size:var(--fs-2xs);font-weight:var(--fw-medium);padding:2px 6px;border:1px solid var(--border);border-radius:var(--r-xs);color:var(--text-3);background:var(--surface-2)}.tb-user{display:flex;align-items:center;gap:10px;height:var(--control-h-lg);padding:0 12px 0 8px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--text-1);transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.tb-user:hover{border-color:var(--border-strong);background:var(--surface-2)}.tb-user svg{width:14px;height:14px;color:var(--text-3)}.tb-menu-btn{display:none}.g-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--card-gap);align-items:stretch}.g-12{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--card-gap);align-items:stretch}.g-21{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--card-gap);align-items:stretch}.g-32{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:var(--card-gap);align-items:stretch}.g-23{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:var(--card-gap);align-items:stretch}.g-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--card-gap);align-items:stretch}.g-2>*,.g-12>*,.g-21>*,.g-32>*,.g-23>*,.g-3>*{min-width:0}.g-2>.card,.g-12>.card,.g-21>.card,.g-32>.card,.g-23>.card,.g-3>.card,.g-2>.stack>.card,.g-12>.stack>.card,.g-21>.stack>.card,.g-32>.stack>.card,.g-23>.stack>.card,.g-3>.stack>.card{display:flex;flex-direction:column}.g-2>.stack>.card,.g-12>.stack>.card,.g-21>.stack>.card,.g-32>.stack>.card,.g-23>.stack>.card,.g-3>.stack>.card{flex:1}.card>.card-body{flex:1 1 auto}.card>.card-foot,.card>.tbl-foot{margin-top:auto}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--card-gap)}.metric-label{font-size:var(--fs-sm);color:var(--text-3);margin-bottom:8px}.metric-value{display:flex;align-items:center;gap:10px;font-size:var(--fs-num-md);font-weight:var(--fw-bold);letter-spacing:-.5px;font-variant-numeric:tabular-nums;line-height:1.15;flex-wrap:wrap}.metric-note{font-size:var(--fs-xs);color:var(--text-3);margin-top:8px}.hero-value{display:flex;align-items:center;gap:12px;font-size:var(--fs-num-lg);font-weight:var(--fw-bold);letter-spacing:-1px;line-height:1.1;font-variant-numeric:tabular-nums;flex-wrap:wrap}.hero-value .cur{color:var(--accent);font-weight:var(--fw-medium);margin-right:2px}.hero-value.md{font-size:var(--fs-num-md);letter-spacing:-.5px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar .spacer{flex:1}.page-head{display:flex;align-items:flex-start;gap:16px}.page-head .page-title{font-size:var(--fs-h);font-weight:var(--fw-semibold);letter-spacing:-.2px}.page-head .page-sub{font-size:var(--fs-sm);color:var(--text-3);margin-top:2px}.page-head-actions{margin-left:auto;display:flex;align-items:center;gap:8px;flex-shrink:0}.entity-head{display:flex;align-items:center;gap:18px}.entity-head .entity-kicker{font-size:var(--fs-sm);color:var(--text-3);margin-bottom:2px}.entity-head .entity-title{font-size:22px;font-weight:var(--fw-semibold);letter-spacing:-.3px;line-height:1.2}.entity-head .entity-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:6px;font-size:var(--fs-sm);color:var(--text-2)}.rw-head{display:flex;align-items:center;gap:16px;padding:12px 16px;flex-wrap:wrap}.rw-head .tabs{flex:1;min-width:0;width:auto}.rw-step-done{display:inline-flex;color:var(--success)}.rw-step-done svg{width:12px;height:12px}.rw-step-err{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--danger)}.rw-wrap-btn{white-space:normal;height:auto;min-height:var(--control-h-sm);padding-top:6px;padding-bottom:6px;text-align:left}.rw-check{display:inline-flex;align-items:center;gap:12px;height:40px;padding:0 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);font-size:var(--fs-sm);color:var(--text-2)}.rw-check:hover{border-color:var(--border-strong)}.rw-check .status{font-size:var(--fs-sm)}.rw-album{display:grid;grid-template-columns:200px minmax(0,1fr) 300px;gap:24px;align-items:start}.rw-track-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:28px;align-items:start}.rw-section-label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-2);margin-bottom:10px;display:flex;align-items:center;gap:6px}.rw-section-label .req{color:var(--danger)}.rw-art{position:relative;width:100%;aspect-ratio:1;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);display:grid;place-items:center;text-align:center;overflow:hidden;cursor:pointer;transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.rw-art:hover,.rw-art.over{border-color:var(--border-strong)}.rw-art.filled{border-style:solid;border-color:var(--border)}.rw-art img,.rw-art .artwork{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:0}.rw-art-swap{position:absolute;left:10px;right:10px;bottom:10px;opacity:0;transition:opacity var(--t-fast) var(--ease)}.rw-art:hover .rw-art-swap,.rw-art:focus-visible .rw-art-swap{opacity:1}.rw-art-empty{padding:16px;color:var(--text-3);font-size:var(--fs-xs);display:flex;flex-direction:column;align-items:center;gap:10px}.rw-cols-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.rw-cols-2>.rw-role+.rw-role{margin-top:0}.rw-cols-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}.rw-group-title{font-size:var(--fs-md);font-weight:var(--fw-semibold);display:flex;align-items:center;gap:6px;margin-bottom:10px}.req{color:var(--danger);margin-left:4px}.rw-essential{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}.rw-prof{padding:12px 0;border-top:1px solid var(--border)}.rw-prof-head{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-2);margin-bottom:8px}.rw-prof-list{display:flex;flex-direction:column}.rw-prof-row,.rw-prof-picked,.rw-prof-hit{display:flex;align-items:center;gap:10px;min-width:0;text-align:left}.rw-prof-row{border-top:1px solid var(--border-faint, var(--border))}.rw-prof-row:first-child{border-top:0}.rw-prof-hit{flex:1;padding:6px 0;border:0;background:transparent}.rw-prof-hit:hover .rw-prof-text b{color:var(--accent)}.rw-prof-avatar{width:36px;height:36px;border-radius:var(--r-sm);object-fit:cover;flex-shrink:0;background:var(--surface-2);display:grid;place-items:center;color:var(--text-3)}.rw-prof-avatar svg{width:14px;height:14px}.rw-prof-text{flex:1;min-width:0;display:flex;flex-direction:column}.rw-prof-text b{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rw-prof-text small{font-size:var(--fs-xs);color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rw-prof-empty{padding:8px 0;font-size:var(--fs-sm);color:var(--text-3)}.rw-prof-actions{display:flex;gap:16px;margin-top:8px;font-size:var(--fs-sm)}.rw-prof .link-btn{font-size:var(--fs-sm)}.rw-sched{display:grid;grid-template-columns:330px minmax(0,1fr);gap:28px;align-items:stretch}.rw-cal-frame{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.rw-sched-side{display:flex;flex-direction:column;gap:18px;min-width:0}.rw-sched-side>.field{flex:1;display:flex;flex-direction:column}.rw-sched-side>.field .textarea{flex:1;resize:none}.rw-sched-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.rw-sched-day{font-size:var(--fs-title);font-weight:var(--fw-semibold);color:var(--text-1)}.rw-sched-weekday{font-size:var(--fs-sm);color:var(--text-3);margin-top:2px}.rw-sched-head+.kv-list{margin-top:12px}.kv.rw-sched-kv{grid-template-columns:minmax(0,1fr) auto;font-size:var(--fs-sm);padding:10px 0}.kv.rw-sched-kv dd{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.link-btn{border:0;background:transparent;padding:0;font-size:inherit;font-weight:var(--fw-semibold);color:var(--accent);white-space:nowrap}.link-btn:hover{text-decoration:underline}.rw-mini{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.rw-mini-art{width:56px;height:56px;border-radius:var(--r-sm);overflow:hidden;flex-shrink:0}.rw-mini-art img,.rw-mini-art .artwork{width:100%;height:100%;object-fit:cover;display:block}.rw-pub-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 32px;gap:8px;align-items:center}.rw-pub-row+.rw-pub-row{margin-top:8px}.rw-role{padding:10px 0 12px;border-top:1px solid var(--border)}.rw-role:first-child{border-top:0;padding-top:0}.rw-cols-2>.rw-role{border-top:0;padding-top:0}.rw-role-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-2);margin-bottom:6px;min-height:24px}.rw-people{display:flex;flex-direction:column;margin-bottom:6px}.rw-people:empty{display:none}.rw-person{display:flex;align-items:center;gap:6px;min-height:32px;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-1);border-bottom:1px solid var(--border-faint, var(--border))}.rw-person-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rw-person-warn{width:7px;height:7px;border-radius:var(--r-pill);background:var(--warning);flex-shrink:0}.rw-chip-btn{width:24px;height:24px;border:0;border-radius:var(--r-sm);background:transparent;display:grid;place-items:center;color:var(--text-3);flex-shrink:0}.rw-chip-btn:hover{background:var(--surface-2);color:var(--text-1)}.rw-chip-btn.danger:hover{background:var(--danger-soft);color:var(--danger)}.rw-chip-btn svg{width:13px;height:13px}.rw-picker{position:relative}.rw-add{width:100%;height:var(--control-h-sm);padding:0 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);font-size:var(--fs-sm);color:var(--text-4);text-align:left;display:flex;align-items:center;gap:8px;transition:border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.rw-add:hover{border-color:var(--border-strong);color:var(--text-2)}.rw-add svg{width:14px;height:14px}.rw-picker-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;max-height:248px;overflow-y:auto;padding:6px;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-pop);animation:ds-pop-in var(--t-fast) var(--ease) both}.rw-picker-menu .menu-item{font-size:var(--fs-sm);padding:8px 10px}.rw-picker-menu .menu-item small{margin-left:auto;color:var(--text-4);font-size:var(--fs-xs)}.rw-picker-empty{padding:10px;font-size:var(--fs-sm);color:var(--text-3)}.rw-track{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.rw-track+.rw-track{margin-top:10px}.rw-track-head{display:flex;align-items:center;gap:12px;padding:10px 12px}.rw-track-num{width:24px;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--text-3);flex-shrink:0}.rw-track-meta{display:flex;align-items:center;gap:10px;flex-shrink:0;font-size:var(--fs-xs);color:var(--text-3)}.rw-track-body-wrap{border-top:1px solid var(--border);padding:20px}.rw-block{margin-top:22px;padding-top:22px;border-top:1px solid var(--border)}.rw-track-form{display:grid;grid-template-columns:250px minmax(0,1fr);gap:20px 32px;align-items:start}.rw-track-side{display:flex;flex-direction:column;gap:12px}.rw-track-actions{display:flex;gap:8px;flex-wrap:wrap;padding:2px 0}.rw-track-main{display:flex;flex-direction:column;gap:22px;min-width:0}.rw-track-side .rw-year{grid-template-columns:78px minmax(0,1fr)}.rw-track-side .rw-inline .btn{padding:0 10px}.rw-credit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 18px;align-items:start}.rw-credit-grid>.rw-role{border-top:0;padding:0}.rw-drop.row{display:flex;align-items:center;gap:12px;text-align:left;padding:10px 12px}.rw-player{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2)}.rw-player-btn{width:34px;height:34px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-1);display:grid;place-items:center;flex-shrink:0}.rw-player-btn:disabled{opacity:.35;cursor:not-allowed}.rw-player-btn svg{width:14px;height:14px;fill:currentColor}.rw-player-info{min-width:0;flex:1}.rw-player-name{font-size:var(--fs-sm);font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rw-player-sub{font-size:var(--fs-xs);color:var(--text-3)}.rw-player input[type=range]{width:100%;accent-color:var(--accent);height:4px;margin-top:6px}.rw-drop{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);padding:18px;text-align:center;cursor:pointer;font-size:var(--fs-sm);color:var(--text-3);transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.rw-drop:hover,.rw-drop.over{border-color:var(--border-strong)}.rw-drop b{color:var(--text-1);font-weight:var(--fw-semibold)}.rw-year{display:grid;grid-template-columns:86px minmax(0,1fr);gap:8px}.rw-year .select{padding-left:12px;padding-right:26px;background-position:right 9px center}.rw-inline .btn{flex-shrink:0;padding:0 12px}.rw-inline{display:flex;align-items:center;gap:8px}.rw-loc-row{display:grid;grid-template-columns:170px minmax(0,1fr) 32px;gap:8px;align-items:center}.rw-loc-row+.rw-loc-row{margin-top:8px}.rw-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px var(--card-pad);border-top:1px solid var(--border)}.rw-foot .spacer{flex:1}.rw-summary{display:grid;grid-template-columns:132px repeat(4,minmax(0,1fr));gap:22px;align-items:start}.rw-summary dt{font-size:var(--fs-xs);color:var(--text-3);margin-bottom:3px}.rw-summary dd{font-size:var(--fs-sm);color:var(--text-1);margin:0 0 12px;word-break:break-word}.rw-summary dd b{display:block;font-weight:var(--fw-semibold);color:var(--text-2);font-size:var(--fs-xs);margin-top:6px}.rw-summary dd b:first-child{margin-top:0}.rw-split-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 96px 32px;gap:8px;align-items:center}.rw-split-row+.rw-split-row{margin-top:8px}.dsp-logo{display:inline-block;vertical-align:middle;flex-shrink:0}.dsp-logo.letters{display:inline-grid;place-items:center;border-radius:4px;background:var(--surface-2);color:var(--text-3);font-weight:var(--fw-semibold);letter-spacing:-.02em}.dsp-wall{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;padding:4px 0}.dsp-wall>span{display:inline-flex}.dsp-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:6px}.dsp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:0 20px}.dsp-row{align-items:center;padding:7px 0;font-size:var(--fs-sm)}.dsp-row input{margin-top:0}.dsp-row-name{min-width:0;line-height:1.25}.rw-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 20px}.rw-checks .check-line{padding:6px 0;font-size:var(--fs-sm);align-items:center}.rw-checks .check-line input{margin-top:0}.rw-dist-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.dsp-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px}.dsp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(188px,1fr));gap:8px}.dsp-tile{display:flex;align-items:center;gap:10px;min-width:0;min-height:50px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);text-align:left;transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.dsp-tile:hover{border-color:var(--border-strong)}.dsp-tile.on{background:var(--surface);border-color:var(--border-strong)}.dsp-tile-name{flex:1;min-width:0;font-size:var(--fs-sm);line-height:1.25;font-weight:var(--fw-medium);color:var(--text-3);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.dsp-tile.on .dsp-tile-name{color:var(--text-1);font-weight:var(--fw-semibold)}.dsp-tile-check{width:18px;height:18px;border-radius:var(--r-pill);border:1px solid var(--border-strong);display:grid;place-items:center;flex-shrink:0;color:var(--on-accent)}.dsp-tile.on .dsp-tile-check{background:var(--accent);border-color:var(--accent)}.dsp-tile-check svg{width:11px;height:11px}@media(max-width:1240px){.g-3,.rw-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.rw-sched{grid-template-columns:300px minmax(0,1fr)}.rw-album{grid-template-columns:190px minmax(0,1fr)}.rw-album>.rw-credits{grid-column:1 / -1}.rw-summary{grid-template-columns:110px repeat(2,minmax(0,1fr))}}@media(max-width:900px){.rw-cols-2,.rw-cols-3,.rw-essential,.rw-sched{grid-template-columns:minmax(0,1fr)}.rw-head .tabs{flex:1 1 100%;order:-1}.rw-essential>:first-child{max-width:240px}.rw-album,.rw-track-body,.rw-track-form{grid-template-columns:minmax(0,1fr)}.rw-album>.rw-artcol{max-width:260px}.dsp-grid,.rw-checks{grid-template-columns:minmax(0,1fr)}.rw-summary{grid-template-columns:minmax(0,1fr);gap:10px}.rw-summary>div:first-child{max-width:132px}.rw-split-row{grid-template-columns:minmax(0,1fr) 80px 32px}.rw-split-row>:nth-child(2){grid-column:1 / -1;grid-row:2}.rw-loc-row{grid-template-columns:minmax(0,1fr) 32px}.rw-loc-row>:first-child{grid-column:1 / -1}.card-head{flex-wrap:wrap}.card-actions{flex:1 1 auto;flex-wrap:wrap;justify-content:flex-end;min-width:0}.card-actions .search{min-width:0;flex:1}.rw-track-meta{display:none}.rw-step-line{width:12px;flex:1}.rw-stepper{flex-basis:100%;overflow:visible}.rw-step{padding:0 8px}.rw-step:not(.active){font-size:0;gap:0;padding:0 4px}.rw-step:not(.active) .rw-step-err{display:none}.rw-head>.btn,.rw-head>.rw-check{flex:1;justify-content:center}.rw-track-head{flex-wrap:wrap}.rw-track-head>.input{flex-basis:calc(100% - 48px)}.rw-track-head>.btn{margin-left:auto}.rw-track-body-wrap{padding:16px 14px}.rw-foot .btn-lg{flex:1}}.issue-summary{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 18px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);font-size:var(--fs-md)}.issue-list{display:flex;flex-direction:column}.issue{display:flex;gap:12px;padding:14px var(--card-pad);border-bottom:1px solid var(--border)}.issue:last-child{border-bottom:0}.issue-dot{margin-top:6px;width:8px;height:8px;border-radius:var(--r-pill);flex-shrink:0}.issue-title{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.issue-why{font-size:var(--fs-sm);color:var(--text-2);margin-top:2px;max-width:640px}.issue-fix{font-size:var(--fs-sm);color:var(--text-1);margin-top:4px}.issue-rule{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--text-4);margin-left:auto;flex-shrink:0;padding-top:3px}.dsp-row{display:flex;align-items:center;gap:12px;padding:13px var(--card-pad);border-bottom:1px solid var(--border);font-size:var(--fs-md)}.dsp-row:last-child{border-bottom:0}.dsp-name{font-weight:var(--fw-medium);width:170px;flex-shrink:0}.dsp-note{font-size:var(--fs-sm);color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-date{font-size:var(--fs-xs);color:var(--text-3);width:44px;flex-shrink:0;text-align:center;line-height:1.2}.tl-date b{display:block;font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-1)}.tl-rail{width:1px;align-self:stretch;background:var(--border);flex-shrink:0}.cmd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#1a1a1e52;display:flex;align-items:flex-start;justify-content:center;padding-top:14vh;animation:ds-fade-in var(--t-fast) var(--ease) both}.cmd{width:min(620px,calc(100% - 32px));background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);overflow:hidden;animation:ds-pop-in var(--t-base) var(--ease) both}.cmd-input{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border)}.cmd-input svg{width:var(--icon);height:var(--icon);color:var(--text-3)}.cmd-input input{border:0;outline:0;background:transparent;font-size:var(--fs-lg);width:100%}.cmd-input input::placeholder{color:var(--text-4)}.cmd-results{max-height:400px;overflow-y:auto;padding:8px}.cmd-empty{padding:32px;text-align:center;color:var(--text-3);font-size:var(--fs-md)}.cmd-item .cmd-kind{margin-left:auto;font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-3)}.login-page{min-height:100vh;display:grid;place-items:center;padding:32px 16px;background:radial-gradient(1200px 600px at 100% 0%,var(--page-bg-2),transparent 60%),var(--page-bg)}.login-col{width:min(100%,400px);display:flex;flex-direction:column;gap:20px;animation:ds-fade-in-up .4s var(--ease) both}.login-brand{display:flex;align-items:center;justify-content:center;gap:12px}.login-card{padding:28px}.login-accent{font-style:normal;color:var(--accent)}.login-link{border:0;background:transparent;padding:0;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--accent);cursor:pointer}.login-link:hover{text-decoration:underline}.login-error{font-size:var(--fs-sm);color:var(--danger);margin-bottom:14px}@media(max-width:1280px){:root{--sidebar-w: 240px;--card-gap: 18px;--card-pad: 18px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1100px){.g-12,.g-21,.g-32,.g-23,.g-3{grid-template-columns:minmax(0,1fr)}}@media(max-width:996px){:root{--frame-margin: 0px;--frame-pad: 16px}.app{padding:0}.app-frame{border-radius:0;grid-template-columns:minmax(0,1fr);min-height:100vh;box-shadow:none}.sidebar{position:fixed;inset:0 auto 0 0;height:100vh;width:280px;padding:16px;background:var(--frame-bg);z-index:60;transform:translate(-100%);transition:transform var(--t-base) var(--ease);border-right:1px solid var(--border);overflow-y:auto}.sidebar.open{transform:translate(0);box-shadow:var(--shadow-pop)}.sb-item.active:before{display:none}.sb-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#1a1a1e52}.topbar{top:0;height:72px;padding:0 16px;gap:10px}.tb-menu-btn{display:inline-grid}.tb-greet{display:none}.tb-title{font-size:var(--fs-title)}.tb-box,.tb-user span.tb-user-name,.tb-search .tb-search-text,.tb-search kbd{display:none}.tb-cta{height:40px;width:40px;padding:0;justify-content:center}.tb-cta span{display:none}.tb-search{padding:0;width:var(--control-h-lg);justify-content:center}.g-2{grid-template-columns:minmax(0,1fr)}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.f-grid,.radio-cards{grid-template-columns:1fr}.search{min-width:0;width:100%}.tile-row{grid-template-columns:repeat(auto-fit,minmax(84px,1fr))}}@media(max-width:600px){.metric-grid{grid-template-columns:minmax(0,1fr)}.entity-head{flex-wrap:wrap}}.wallet{position:relative;margin-top:12px}.wallet:before{content:"";position:absolute;left:14px;right:14px;top:-10px;height:22px;border:1px solid var(--border);border-bottom:0;border-radius:var(--r-md) var(--r-md) 0 0;background:var(--surface-2)}.wallet-card{position:relative;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-active);overflow:hidden}.wallet-main{padding:18px}.wallet-brand{display:flex;align-items:center;gap:8px;font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:-.3px;color:var(--accent)}.wallet-brand svg{width:20px;height:20px}.wallet-note{font-size:var(--fs-sm);color:var(--text-3);margin-top:14px}.wallet-number{font-size:var(--fs-lg);font-weight:var(--fw-semibold);letter-spacing:.5px;margin:4px 0 16px}.wallet-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:var(--surface-2);border-top:1px solid var(--border)}.wallet-foot .wf-label{font-size:var(--fs-sm);color:var(--text-3)}.wallet-foot .wf-value{font-size:var(--fs-num-sm);font-weight:var(--fw-bold);letter-spacing:-.3px}.wallet-foot .wf-value .cur{color:var(--accent);font-weight:var(--fw-medium);margin-right:3px}.wallet-foot .wf-link{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--accent);font-weight:var(--fw-medium);text-align:right}.wallet-foot .wf-link svg{width:14px;height:14px}.hero-value .cur svg{display:inline-block;vertical-align:middle}.tb-info{flex:1}@media(max-width:1180px){.tb-box{display:none}}@media(max-width:600px){.tb-title .badge{display:none}.card-head{flex-wrap:wrap}.card-head>div:first-child{flex:1 1 140px}.card-actions{margin-left:auto}.toolbar .spacer{display:none}.toolbar>.select-btn,.toolbar>.search,.toolbar>.date-btn{width:100%!important;flex:1 1 100%}.toolbar>.fs-sm{flex:1 1 100%}.kv{grid-template-columns:minmax(0,1fr);gap:3px}.issue{flex-wrap:wrap}.issue-rule{margin-left:20px;flex-basis:100%;padding-top:0}.entity-head .page-head-actions{flex:1 1 100%}}.viewas-bar{display:flex;align-items:center;gap:10px;padding:10px 16px;border:1px solid var(--accent-40);border-radius:var(--r-md);background:var(--accent-soft-2);color:var(--accent);font-size:var(--fs-sm)}.viewas-bar b{font-weight:var(--fw-semibold)}.share-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.6fr) 110px auto;gap:8px;align-items:center}.share-pct{display:flex;align-items:center;gap:6px}.share-pct input{text-align:right}.share-pct span{color:var(--text-3);font-size:var(--fs-sm)}@media(max-width:600px){.share-row{grid-template-columns:1fr 1fr}}.tally-wrap{border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;background:var(--surface)}.tally-wrap iframe{display:block;width:100%;border:0}code{font-family:var(--font-mono);font-size:var(--fs-xs);background:var(--surface-2);padding:1px 5px;border-radius:4px}.topbar:before{content:"";position:absolute;left:-2px;right:-2px;bottom:100%;height:calc(var(--frame-margin) + var(--frame-pad) + 2px);background:var(--frame-bg);pointer-events:none}.topbar:after{content:"";position:absolute;left:-2px;right:-2px;top:100%;height:calc(var(--card-gap) - 6px);background:linear-gradient(var(--frame-bg),transparent);pointer-events:none}@media(max-width:996px){.topbar:before,.topbar:after{display:none}}.settings-form{display:grid;grid-template-columns:250px minmax(0,1fr);gap:20px 28px;align-items:start}.settings-address{display:grid;grid-template-columns:130px minmax(0,2fr) minmax(0,1fr) 70px;gap:16px 18px}.photo-field{display:flex;align-items:center;gap:14px}.photo-field .artwork{width:72px;height:72px}.photo-empty{display:grid;place-items:center;font-size:24px;font-weight:var(--fw-semibold);color:var(--text-3);background:var(--surface-2)}@media(max-width:900px){.settings-form{grid-template-columns:minmax(0,1fr)}.settings-address{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.fin-metrics{display:flex;align-items:flex-start;gap:40px;flex-wrap:wrap}.fin-metric{min-width:0}.fin-metric.hero{padding-right:8px}.fin-metric .metric-value{line-height:1.25}.fin-metric-sub{font-size:var(--fs-xs);color:var(--text-3);margin-top:4px}.fin-metric.action{margin-left:auto;align-self:center}.tbl-sub td{background:var(--surface-2);font-size:var(--fs-sm);padding-top:8px;padding-bottom:8px}@media(max-width:900px){.fin-metrics{gap:18px 28px}.fin-metric.action{margin-left:0;width:100%}}.first-use{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:20px 40px;align-items:center}.first-use p{margin:6px 0 18px;max-width:460px;font-size:var(--fs-md);line-height:1.55;color:var(--text-2)}.first-use .kv dt{white-space:nowrap}@media(max-width:900px){.first-use{grid-template-columns:minmax(0,1fr)}}.sb-logo{border:0;padding:0;cursor:default}.sb-logo.org{background:var(--accent-soft-2);color:var(--accent);font-weight:var(--fw-semibold);font-size:15px;letter-spacing:-.2px;overflow:hidden}.sb-logo img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.sb-collapse{flex-shrink:0}@media(min-width:997px){.app-frame.nav-collapsed{--sidebar-w: 84px}.nav-collapsed .sb-brand{justify-content:center;padding:0}.nav-collapsed .sb-brand-text,.nav-collapsed .sb-collapse,.nav-collapsed .sb-section-label,.nav-collapsed .sb-item-label,.nav-collapsed .sb-badge{display:none}.nav-collapsed .sb-logo{cursor:pointer}.nav-collapsed .sb-item,.nav-collapsed .sb-logout{justify-content:center;padding-left:0;padding-right:0}.nav-collapsed .sb-divider{margin:12px 0}}
