@font-face{font-family:Pretendard Variable;font-weight:45 920;font-style:normal;font-display:swap;src:url(/assets/PretendardVariable-CJuje-Rk.woff2) format("woff2-variations")}:root{--font-family-base: "Pretendard Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;--font-display: var(--font-family-base);--font-mono: "Pretendard Variable", "Cascadia Code", "Consolas", "Courier New", monospace;--type-body-size: 16px;--type-body-line: 1.6;--type-body-weight: var(--weight-400);--type-subtle-size: 14px;--type-subtle-line: 1.6;--type-subtle-weight: var(--weight-400);--type-caption-size: 12px;--type-caption-line: 1.5;--type-caption-weight: var(--weight-400);--type-section-kicker-size: 12px;--type-section-kicker-line: 1.4;--type-section-kicker-weight: var(--weight-600);--type-page-title-size: 24px;--type-page-title-line: 1.3;--type-page-title-weight: var(--weight-700);--type-card-title-size: 16px;--type-card-title-line: 1.4;--type-card-title-weight: var(--weight-600);--type-table-header-size: 13px;--type-table-header-line: 1.4;--type-table-header-weight: var(--weight-600);--type-table-body-size: 13px;--type-table-body-line: 1.5;--type-table-body-weight: var(--weight-400);--type-button-size: 14px;--type-button-line: 1.2;--type-button-weight: var(--weight-500);--type-input-size: 14px;--type-input-line: 1.5;--type-input-weight: var(--weight-400);--type-badge-size: 11px;--type-badge-line: 1.2;--type-badge-weight: var(--weight-600);--type-modal-title-size: 18px;--type-modal-title-line: 1.4;--type-modal-title-weight: var(--weight-600);--type-modal-body-size: 14px;--type-modal-body-line: 1.6;--type-modal-body-weight: var(--weight-400);--type-nav-item-size: 14px;--type-nav-item-line: 1.5;--type-nav-item-weight: var(--weight-500);--type-nav-group-title-size: 12px;--type-nav-group-title-line: 1.4;--type-nav-group-title-weight: var(--weight-600);--type-alert-size: 14px;--type-alert-line: 1.5;--type-alert-weight: var(--weight-500);--type-link-size: 14px;--type-link-line: 1.5;--type-link-weight: var(--weight-400);--radius-lg: 18px;--radius-md: 12px;--radius-sm: 8px;--shadow-1: 0 6px 16px rgba(15, 23, 42, .08);--shadow-2: 0 12px 28px rgba(15, 23, 42, .14);--glass-blur: 10px;--motion-duration-base: .16s;--motion-ease-base: cubic-bezier(.2, .8, .2, 1);--motion-duration-expressive: .28s;--motion-ease-expressive: cubic-bezier(.34, 1.56, .64, 1);--notice-radius: 12px;--notice-gap: 10px;--notice-padding: 12px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px}:root{color-scheme:light;--weight-400: 400;--weight-500: 500;--weight-600: 600;--weight-700: 700;--bg-default: #F9FAFB;--bg-surface: #FCFCFD;--bg-surface-alt: #F3F4F6;--text-primary: #111827;--text-secondary: #374151;--text-muted: #6B7280;--text-disabled: #9CA3AF;--text-on-primary: #FCFCFD;--text-on-status: #FCFCFD;--border-default: #E5E7EB;--border-strong: #D1D5DB;--primary-500: #2563EB;--primary-600: #1D4ED8;--primary-700: #1E40AF;--success: #16A34A;--warning: #D97706;--error: #DC2626;--info: #0284C7;--tile-bg: #FCFCFD;--tile-border: #E5E7EB;--tile-hover-bg: #F3F4F6;--tile-title: #111827;--tile-subtext: #6B7280;--tile-icon: #2563EB;--tile-disabled-bg: #F3F4F6;--tile-disabled-border: #E5E7EB;--tile-disabled-title: #9CA3AF;--tile-disabled-subtext: #9CA3AF;--tile-disabled-icon: #9CA3AF;--notice-bg: var(--bg-surface);--notice-text: var(--text-primary);--notice-border: var(--border-default);--bg: var(--bg-default);--bg-strong: var(--bg-surface-alt);--text: var(--text-primary);--muted: var(--text-muted);--surface: var(--bg-surface);--glass-bg: rgba(249, 250, 251, .92);--glass-border: rgba(209, 213, 219, .5);--border-subtle: rgba(209, 213, 219, .6);--accent: var(--primary-500);--accent-2: var(--primary-700);--active-bg: rgba(37, 99, 235, .08);--hover-bg: rgba(37, 99, 235, .06)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-display);font-size:var(--type-body-size);line-height:var(--type-body-line);font-weight:var(--type-body-weight);color:var(--text);background:var(--bg);position:relative}body:before,body:after{content:none}a{color:inherit;font-size:var(--type-link-size);line-height:var(--type-link-line);font-weight:var(--type-link-weight)}[role=alert],.ApiErrorAlert{font-size:var(--type-alert-size);line-height:var(--type-alert-line);font-weight:var(--type-alert-weight)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button{font-family:inherit}.glass{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--shadow-1);backdrop-filter:blur(var(--glass-blur)) saturate(140%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(140%)}.app-shell{min-height:100vh;display:grid;grid-template-rows:64px 1fr}.app-header{display:flex;align-items:center;gap:16px;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--glass-border);position:sticky;top:0;z-index:10}.brand{display:inline-flex;align-items:baseline;gap:8px;font-weight:700;letter-spacing:.02em}.brand-mark{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:linear-gradient(120deg,var(--accent),var(--accent-2));color:var(--text-on-primary);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:var(--type-caption-weight);text-transform:uppercase}.brand-name{font-size:var(--type-body-size);line-height:var(--type-body-line);font-weight:var(--type-body-weight)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.user-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--bg-strong);font-size:var(--type-subtle-size);line-height:var(--type-subtle-line);font-weight:var(--type-subtle-weight);white-space:nowrap;flex-shrink:0}.user-access{opacity:.75}.app-body{display:grid;grid-template-columns:220px 1fr;min-height:0}.app-nav{padding:14px 10px;overflow:auto;background:var(--surface);border-right:1px solid var(--glass-border);position:sticky;top:64px;align-self:start;height:calc(100vh - 64px)}.nav-group{margin-bottom:18px}.nav-title{font-size:var(--type-nav-group-title-size);line-height:var(--type-nav-group-title-line);font-weight:var(--type-nav-group-title-weight);text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin:6px 0 12px;display:block}.nav-links{display:flex;flex-direction:column;gap:8px}.nav-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);text-decoration:none;background:transparent;color:var(--text);font-size:var(--type-nav-item-size);line-height:var(--type-nav-item-line);font-weight:var(--type-nav-item-weight);transition:background var(--motion-duration-base) var(--motion-ease-base),transform var(--motion-duration-base) var(--motion-ease-base);animation:navFade var(--motion-duration-base) var(--motion-ease-base) both;animation-delay:var(--stagger, 0ms);justify-content:flex-start}.nav-link:hover{transform:translate(4px);background:var(--hover-bg)}.crud-action-menu{position:fixed;z-index:1500;min-width:180px;max-width:240px;border-radius:10px;padding:6px;display:flex;flex-direction:column;gap:4px}.crud-action-menu-item{display:flex;align-items:center;gap:8px;width:100%;border:1px solid transparent;background:transparent;color:var(--text);border-radius:8px;padding:8px 10px;text-align:left;cursor:pointer}.crud-action-menu-item:hover{background:var(--hover-bg)}.crud-action-menu-item.is-danger{color:var(--error)}.crud-action-menu-item[aria-disabled=true]{opacity:.45;cursor:not-allowed}.crud-action-menu-item[aria-disabled=true]:hover{background:transparent}.crud-action-menu-icon{width:16px;display:inline-flex;justify-content:center}.crud-dialog-message{margin:4px 0 0}.nav-link.is-active{background:var(--active-bg);box-shadow:inset 0 0 0 1px var(--glass-border);color:var(--accent);font-weight:var(--type-nav-item-weight)}.nav-dot{width:6px;height:6px;border-radius:999px;background:var(--accent);opacity:.7}.nav-icon{width:18px;height:18px;fill:currentColor;opacity:.85}.app-main{padding:20px;overflow:auto}.page-surface{min-height:100%;padding:24px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--glass-border);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(calc(var(--glass-blur) + 4px)) saturate(140%);backdrop-filter:blur(calc(var(--glass-blur) + 4px)) saturate(140%)}.dashboard-card-grid{display:grid;gap:16px}.dashboard-card{display:grid;gap:12px}.dashboard-card-tight{display:grid;gap:10px}.company-picker-actions{gap:8px;margin-bottom:8px}.company-picker-actions .form-input{flex:1 1 220px;min-width:0}.company-picker-actions .company-picker-type-select{flex:0 0 128px;min-width:128px}.company-picker-selected{margin-top:8px;padding:12px}.company-picker-helper{margin-top:6px}.dashboard-welcome-line{font-size:var(--type-card-title-size);line-height:var(--type-card-title-line);font-weight:var(--type-card-title-weight)}.dashboard-status-row{display:flex;gap:8px;flex-wrap:wrap}.clickable-row{cursor:pointer}.help-tiles-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.help-tile-button{display:grid;place-items:center;gap:6px;padding:12px;border-radius:16px;border:1px solid var(--tile-border);background:var(--tile-bg);color:var(--tile-title);cursor:pointer;text-align:center;transition:background var(--motion-duration-base) var(--motion-ease-base),border-color var(--motion-duration-base) var(--motion-ease-base),color var(--motion-duration-base) var(--motion-ease-base)}.help-tile-button:hover:not(:disabled){background:var(--tile-hover-bg)}.help-tile-button:disabled{background:var(--tile-disabled-bg);border-color:var(--tile-disabled-border);color:var(--tile-disabled-title);cursor:default}.help-tile-title{font-size:var(--type-card-title-size);line-height:var(--type-card-title-line);font-weight:var(--type-card-title-weight);color:inherit}.help-tile-subtext{font-size:var(--type-subtle-size);line-height:var(--type-subtle-line);font-weight:var(--type-subtle-weight);color:var(--tile-subtext)}.help-tile-icon{width:64px;height:64px;color:var(--tile-icon)}.help-tile-button:disabled .help-tile-subtext{color:var(--tile-disabled-subtext)}.help-tile-button:disabled .help-tile-icon{color:var(--tile-disabled-icon)}.modal-body-html{line-height:1.6}.notification-stack{position:fixed;z-index:1200;display:grid;gap:var(--notice-gap)}.notification-stack--toast{bottom:16px;right:16px;max-width:min(360px,90vw)}.notification-stack--snackbar{bottom:18px;left:50%;transform:translate(-50%);max-width:min(420px,90vw)}.notification-stack--banner{top:12px;left:50%;transform:translate(-50%);width:min(960px,calc(100vw - 24px));pointer-events:none}.notification-banner,.notification-toast,.notification-snackbar,.notification-inline{pointer-events:auto}.notification-inline-slot{display:grid;gap:var(--notice-gap)}.notification-card{display:grid;gap:10px;padding:var(--notice-padding);border-radius:var(--notice-radius);background:var(--bg-surface);color:var(--text-primary);border:1px solid color-mix(in srgb,var(--notice-status, var(--border-strong)) 24%,var(--border-default));box-shadow:var(--shadow-1);animation:toastEnter .24s ease-out both}.notification-card.notification-success{--notice-status: var(--success)}.notification-card.notification-warning{--notice-status: var(--warning)}.notification-card.notification-error{--notice-status: var(--error)}.notification-card.notification-info{--notice-status: var(--info)}.notification-card.notification-pop{animation:toastEnter .24s ease-out both,noticePop .28s var(--motion-ease-expressive) 0ms both}.notification-card.notification-leave{animation:toastExit .24s ease-out both}.notification-content{display:grid;grid-template-columns:auto 1fr;column-gap:8px;row-gap:4px;align-items:start}.notification-dot{width:8px;height:8px;border-radius:999px;background:var(--notice-status, var(--border-strong));margin-top:6px}.notification-title{font-size:var(--type-card-title-size);line-height:var(--type-card-title-line);font-weight:var(--type-card-title-weight);grid-column:2}.notification-message{font-size:var(--type-subtle-size);line-height:var(--type-subtle-line);font-weight:var(--type-subtle-weight);white-space:pre-wrap;grid-column:2}.notification-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.notification-undo,.notification-close{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border-radius:999px;border:1px solid currentColor;padding:6px 12px;background:transparent;color:inherit;font-size:var(--type-button-size);line-height:var(--type-button-line);font-weight:var(--type-button-weight);white-space:nowrap;flex-shrink:0;cursor:pointer;transition:transform var(--motion-duration-base) var(--motion-ease-base)}.notification-undo:hover,.notification-close:hover{transform:translateY(-1px)}.notification-toast .notification-card,.notification-snackbar .notification-card,.notification-banner .notification-card{background:var(--bg-surface)}.notification-snackbar .notification-card{animation:snackbarEnter .24s ease-out both}.notification-snackbar .notification-card.notification-leave{animation:snackbarExit .24s ease-out both}.notification-banner .notification-card{animation:bannerEnter .24s ease-out both}.notification-banner .notification-card.notification-leave{animation:bannerExit .24s ease-out both}.notification-inline{position:static}.notification-inline .notification-card{background:var(--bg-surface-alt);animation:inlineEnter .24s ease-out both}.notification-inline .notification-card.notification-leave{animation:inlineExit .24s ease-out both}.notification-detail{margin:0;padding:10px;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg-surface-alt);color:var(--text-secondary);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:var(--type-caption-weight);overflow:auto}@keyframes toastEnter{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastExit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(6px)}}@keyframes bannerEnter{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes bannerExit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}@keyframes snackbarEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes snackbarExit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(6px)}}@keyframes inlineEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes inlineExit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(6px)}}@keyframes noticePop{0%{transform:scale(1)}60%{transform:scale(1.02)}to{transform:scale(1)}}.auth-screen{min-height:calc(100vh - 48px);display:flex;align-items:center;justify-content:center}.auth-card{width:min(480px,100%);display:grid;gap:16px}.auth-card-wide{width:min(860px,100%)}.auth-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-brand{display:flex;align-items:center;gap:12px}.auth-logo{width:auto;height:32px;object-fit:contain}.auth-brand-title{font-size:var(--type-card-title-size);line-height:var(--type-card-title-line);font-weight:var(--type-card-title-weight);letter-spacing:.08em;text-transform:uppercase}.page-title{margin:0 0 12px;font-size:var(--type-page-title-size);line-height:var(--type-page-title-line);font-weight:var(--type-page-title-weight);letter-spacing:.02em}.page-subtitle{margin:0 0 16px;font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:var(--type-caption-weight);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.section-kicker{font-size:var(--type-section-kicker-size);line-height:var(--type-section-kicker-line);font-weight:var(--type-section-kicker-weight);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.glass-card{border-radius:var(--radius-md);padding:16px;border:1px solid var(--glass-border);background:var(--surface);box-shadow:var(--shadow-1);transition:transform var(--motion-duration-base) var(--motion-ease-base),box-shadow var(--motion-duration-base) var(--motion-ease-base)}.glass-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-2)}.kpi-number{font-family:var(--font-mono);font-size:var(--type-page-title-size);line-height:var(--type-page-title-line);font-weight:var(--type-page-title-weight);letter-spacing:.04em}.connection-lamp{display:inline-flex;align-items:center;gap:8px;font-size:var(--type-subtle-size);line-height:var(--type-subtle-line);font-weight:var(--type-subtle-weight);color:var(--text)}.connection-lamp-dot{width:10px;height:10px;border-radius:999px;background:var(--border-subtle);box-shadow:0 0 0 2px color-mix(in srgb,var(--border-subtle) 40%,transparent)}.connection-lamp.is-ok .connection-lamp-dot{background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 30%,transparent)}.connection-lamp.is-fail .connection-lamp-dot{background:var(--error);box-shadow:0 0 0 3px color-mix(in srgb,var(--error) 30%,transparent)}.connection-lamp.is-checking .connection-lamp-dot{background:var(--warning);box-shadow:0 0 0 3px color-mix(in srgb,var(--warning) 28%,transparent)}.kpi-label{font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:var(--type-caption-weight);color:var(--muted);text-transform:uppercase;letter-spacing:.16em}.table-shell{display:flex;flex-direction:column;gap:12px}.table-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.table-search{flex:1;min-width:220px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--surface);color:inherit;font-family:inherit;font-size:var(--type-input-size);line-height:var(--type-input-line);font-weight:var(--type-input-weight)}.table-search::placeholder{color:var(--muted)}.table-actions{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0}.table-toolbar .table-actions{margin-left:auto}.table-toolbar .table-button{min-width:120px}.table-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 12px;border-radius:999px;border:1px solid var(--glass-border);background:var(--surface);color:inherit;text-decoration:none;font-size:var(--type-button-size);line-height:var(--type-button-line);font-weight:var(--type-button-weight);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;flex-shrink:0;vertical-align:middle;cursor:pointer;transition:transform var(--motion-duration-base) var(--motion-ease-base),opacity var(--motion-duration-base) var(--motion-ease-base)}.table-button.primary{background:var(--accent);color:var(--text-on-primary);border-color:var(--accent)}.table-button:disabled{cursor:not-allowed;opacity:.55}.table-button:not(:disabled):hover{transform:translateY(-1px)}.table-wrap{overflow:auto;border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--surface)}.data-table{width:100%;border-collapse:collapse;min-width:640px;font-size:inherit}.data-table thead th{text-align:left;font-size:var(--type-table-header-size);line-height:var(--type-table-header-line);font-weight:var(--type-table-header-weight);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);padding:12px 14px;border-bottom:1px solid var(--glass-border);background:var(--bg-strong)}.data-table tbody td{font-size:var(--type-table-body-size);line-height:var(--type-table-body-line);font-weight:var(--type-table-body-weight);padding:12px 14px;border-bottom:1px solid var(--border-subtle)}.data-table tbody tr:hover{background:var(--bg-strong)}.table-empty{text-align:center;padding:32px 12px;color:var(--muted)}.sales-page{height:calc(100vh - 152px);min-height:calc(100vh - 152px);display:flex;flex-direction:column}.sales-page .sales-grid{flex:1;min-height:0}.sales-page .sales-grid-body{flex:1;height:100%;min-height:420px}.sales-summary-mini{margin-bottom:12px;border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden;background:var(--surface)}.sales-summary-mini table{width:100%;border-collapse:collapse;table-layout:fixed}.sales-summary-mini th,.sales-summary-mini td{border-bottom:1px solid var(--border-subtle);padding:10px 12px;text-align:center;white-space:nowrap}.sales-summary-mini th{text-align:center;color:var(--muted);font-size:var(--type-subtle-size);line-height:var(--type-subtle-line);font-weight:var(--type-subtle-weight);background:var(--surface-elevated)}.sales-summary-mini td{font-size:var(--type-table-body-size);line-height:var(--type-table-body-line);font-weight:var(--type-table-body-weight)}.sales-summary-mini tbody tr:last-child td{border-bottom:0}.sales-analytics-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(320px,380px) minmax(0,1fr);gap:12px}.sales-analytics-settings,.sales-analytics-output{min-height:0;display:flex;flex-direction:column;gap:12px;overflow:auto}.sales-analytics-card{padding:12px;border-radius:12px}.sales-analytics-grid-wrap{flex:1 1 0;min-height:360px;display:flex;flex-direction:column}.sales-analytics-grid-wrap .sales-grid{flex:1;min-height:0}.sales-analytics-page .sales-analytics-grid-wrap{background:transparent;border:0;padding:0;backdrop-filter:none;-webkit-backdrop-filter:none;min-height:360px}.sales-analytics-page .sales-analytics-grid-wrap .sales-grid{height:100%}.sales-analytics-page .sales-analytics-grid-wrap .sales-grid-body{height:100%;min-height:320px}@media (max-width: 1280px){.sales-analytics-layout,.sales-analytics-page .sales-analytics-layout{grid-template-columns:1fr}}.sales-grid{display:flex;flex-direction:column;gap:12px}.sales-grid-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.sales-grid-toolbar-main{display:flex;align-items:center;gap:12px;flex:1;min-width:260px}.sales-grid-toolbar-actions{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}.sales-grid-pagination{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.sales-grid-body{height:560px;min-height:420px;border-radius:var(--radius-md);overflow:hidden}.sales-grid-lock{display:inline-flex;align-items:center;gap:6px;font-size:var(--type-subtle-size);line-height:var(--type-subtle-line);font-weight:var(--type-subtle-weight);color:var(--muted);white-space:nowrap;flex-shrink:0}.sales-grid-lock.is-locked{color:var(--success)}.sales-grid-lock.is-conflict{color:var(--error)}.ag-overlay-text{color:var(--muted);font-size:var(--type-subtle-size);line-height:var(--type-subtle-line);font-weight:var(--type-subtle-weight)}.opp-wide-table .data-table{min-width:1600px}.opp-wide-table .data-table th,.opp-wide-table .data-table td{white-space:nowrap}.filter-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0;margin-bottom:12px}.filter-chip{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 14px;border-radius:999px;border:1px solid var(--glass-border);background:var(--surface);color:inherit;font-size:var(--type-button-size);line-height:var(--type-button-line);font-weight:var(--type-button-weight);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;flex-shrink:0;cursor:pointer;transition:transform var(--motion-duration-base) var(--motion-ease-base),background var(--motion-duration-base) var(--motion-ease-base)}.filter-chip.is-active{background:var(--accent);color:var(--text-on-primary);border-color:var(--accent)}.filter-chip:hover{transform:translateY(-1px)}.subtle-note{font-size:var(--type-subtle-size);line-height:var(--type-subtle-line);font-weight:var(--type-subtle-weight);color:var(--muted)}.form-grid{display:grid;gap:12px}.form-row{display:grid;gap:6px}.form-label{font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:var(--type-caption-weight);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.required-mark{color:#dc2626;font-weight:700;margin-left:2px}.form-error-msg{font-size:var(--type-caption-size);line-height:var(--type-caption-line);color:var(--error);margin-top:2px}.form-input,.form-textarea,.form-select{padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--surface);color:inherit;font-size:var(--type-input-size);line-height:var(--type-input-line);font-weight:var(--type-input-weight);font-family:inherit}.form-textarea{min-height:160px;resize:vertical}.form-toggle{display:inline-flex;align-items:center;gap:8px;font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:var(--type-caption-weight)}.form-toggle input{width:16px;height:16px}.badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;max-width:100%;padding:2px 10px;border-radius:999px;font-size:var(--type-badge-size);line-height:var(--type-badge-line);font-weight:var(--type-badge-weight);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;flex-shrink:0;border:1px solid var(--glass-border);background:var(--bg-strong)}.badge.active{color:var(--text-on-primary);background:var(--accent);border-color:var(--accent)}.toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;min-width:0;margin-bottom:12px}.inline-actions{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0}.inline-actions .form-input,.inline-actions .table-search,.table-actions .form-input,.table-actions .table-search{flex:1 1 220px;min-width:0}.table-pagination{display:flex;align-items:center;gap:8px;justify-content:flex-end;width:100%}.ghost-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border-radius:999px;border:1px solid var(--glass-border);background:transparent;color:inherit;font-size:var(--type-button-size);line-height:var(--type-button-line);font-weight:var(--type-button-weight);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;flex-shrink:0;text-decoration:none;cursor:pointer;transition:transform var(--motion-duration-base) var(--motion-ease-base),background var(--motion-duration-base) var(--motion-ease-base)}.ghost-button:hover{transform:translateY(-1px);background:var(--bg-strong)}.partnership-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px}.partnership-tab-group{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap}.partnership-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;margin-left:auto}.partnership-section{margin-top:12px;padding:12px;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--bg-surface);min-width:0}.partnership-vendor-segment{display:flex;gap:8px;flex-wrap:wrap}.partnership-note{margin-bottom:10px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--warning) 45%,var(--glass-border));background:color-mix(in srgb,var(--warning) 10%,var(--bg-surface));color:var(--text-primary)}.partnership-summary-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.partnership-kpi{display:grid;gap:4px;padding:10px;border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--surface)}.partnership-kpi span{color:var(--muted);font-size:var(--type-table-header-size)}.partnership-kpi strong{font-size:var(--type-card-title-size)}.partnership-expiry-icon{margin-right:4px}.partnership-expired-text{margin-left:6px;color:var(--warning);font-size:var(--type-subtle-size)}.partnership-lamp{display:inline-flex;align-items:center;gap:6px;font-weight:var(--type-badge-weight)}.partnership-lamp-dot{width:10px;height:10px;border-radius:999px;box-shadow:0 0 0 1px var(--glass-border) inset}.partnership-lamp.is-green .partnership-lamp-dot{background:var(--success)}.partnership-lamp.is-yellow .partnership-lamp-dot{background:var(--warning)}.partnership-lamp.is-gray .partnership-lamp-dot{background:#9ca3af}.partnership-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;min-width:44px;padding:2px 8px;border-radius:999px;font-size:var(--type-badge-size);line-height:var(--type-badge-line);font-weight:var(--type-badge-weight);white-space:nowrap;flex-shrink:0;border:1px solid var(--glass-border)}.partnership-badge.is-ok{color:var(--success);background:color-mix(in srgb,var(--success) 12%,var(--bg-surface))}.partnership-badge.is-warn{color:var(--warning);background:color-mix(in srgb,var(--warning) 14%,var(--bg-surface))}.partnership-badge.is-neutral{color:var(--muted);background:var(--bg-strong)}.partnership-check-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.partnership-actions-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 8px;min-width:0}.partnership-actions-row .panel-title{margin:0;font-size:var(--type-card-title-size);line-height:var(--type-card-title-line);font-weight:var(--type-card-title-weight);letter-spacing:.02em}.partnership-actions-row .table-button{min-width:96px;text-transform:none;letter-spacing:0}.partnership-section .data-table thead th{text-transform:none;letter-spacing:0}.partnership-section .data-table .table-button{min-width:56px;padding:6px 12px;text-transform:none;letter-spacing:0}.partnership-row-actions{display:inline-flex;align-items:center;gap:6px}.partnership-subtitle{color:var(--muted);font-size:var(--type-table-body-size);font-weight:var(--type-table-body-weight)}.partnership-section .data-table tbody tr.is-selected-row{background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.partnership-section .data-table tbody tr.is-selected-row:hover{background:color-mix(in srgb,var(--accent) 16%,var(--surface))}@media (max-width: 900px){.partnership-actions-row{flex-wrap:wrap;justify-content:flex-start}.partnership-actions-row .table-button{width:100%}}.partnership-form-grid-product{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.partnership-form-grid-financial{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.partnership-form-grid-cert{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.partnership-form-grid-product .table-button,.partnership-form-grid-financial .table-button,.partnership-form-grid-cert .table-button{justify-self:end}.bvp-grid{display:grid;grid-template-columns:1fr;gap:12px}.bvp-card{border:1px solid var(--line-strong);border-radius:14px;padding:12px;background:var(--surface-card)}.bvp-card .toolbar-row h2{margin:0;font-size:18px}.bvp-card .data-table tbody tr{cursor:pointer}.bvp-card .data-table tbody tr.is-selected-row{background:color-mix(in oklab,var(--brand) 14%,white)}.bvp-card .data-table tbody tr.is-selected-row:hover{background:color-mix(in oklab,var(--brand) 20%,white)}.sales-admin-section{padding:16px}.contract-modal-card{width:min(1480px,98vw);max-height:88vh}.revenue-modal-card{width:min(1200px,96vw);max-height:86vh}.contract-form-grid{grid-template-columns:minmax(0,1fr);align-items:start}.contract-form-row-wide,.revenue-form-row-wide{grid-column:1 / -1}.contract-revenue-chip{min-width:160px}.performance-kpi-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}.performance-kpi-grid-wide{grid-template-columns:repeat(4,minmax(0,1fr))}.performance-overview-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-number-meta{font-size:.42em;font-weight:700;color:var(--muted);white-space:nowrap}.performance-chart-card{min-height:320px;margin-bottom:12px}.performance-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.performance-target-modal-card{width:min(840px,96vw);max-height:88vh}.performance-target-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-scope-picker{display:grid;gap:10px}.performance-target-modal-wide{width:min(980px,96vw)}.performance-target-modal-xxl{width:min(1620px,99vw)}.performance-target-modal-split{width:min(1500px,calc(100vw - 48px))}.performance-target-modal-settings{width:min(1200px,calc(100vw - 48px));max-height:88vh}.performance-target-modal-settings .modal-body{overflow-x:hidden}.performance-target-modal-settings .modal-footer .ghost-button,.performance-target-modal-settings .modal-footer .table-button{text-transform:none;letter-spacing:0}.readonly-value-box{min-height:44px;border-radius:var(--radius-md);border:1px solid rgba(133,148,170,.24);background:#f6f8fceb;padding:11px 14px;display:flex;align-items:center;justify-content:flex-end;font-weight:700}.performance-waterfall-shell{padding:18px;border-radius:var(--radius-xl);display:grid;gap:16px;margin-bottom:12px;align-content:start;overflow:visible}.performance-waterfall-stack{display:grid;gap:14px;align-content:start;grid-auto-rows:max-content}.performance-waterfall-stage{padding:14px;border-radius:var(--radius-lg);border:1px solid rgba(133,148,170,.18);background:linear-gradient(180deg,#ffffffeb,#f4f7fbe0);display:grid;gap:12px;align-content:start;overflow:visible}.performance-waterfall-stage-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:4px;border-bottom:1px solid rgba(133,148,170,.14)}.performance-waterfall-card-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:stretch}.performance-waterfall-card{width:100%;text-align:left;border-radius:var(--radius-lg);border:1px solid rgba(133,148,170,.18);background:#ffffffe6;padding:14px;display:grid;gap:8px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.performance-waterfall-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-1)}.performance-waterfall-card.active{border-color:#2b58ff73;box-shadow:0 18px 34px #25376724}.performance-waterfall-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.performance-waterfall-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.performance-waterfall-card-heading{display:grid;gap:4px;min-width:0}.performance-waterfall-card-heading strong{font-size:16px;line-height:1.4}.performance-waterfall-card-sub{font-size:12px;line-height:1.5;color:var(--muted)}.performance-waterfall-metrics{display:grid;gap:6px}.performance-waterfall-metrics.is-owner{grid-template-columns:1fr}.performance-waterfall-metrics>div,.performance-waterfall-detail-grid>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.performance-waterfall-metric-wide{grid-column:1 / -1}.performance-waterfall-metrics span,.performance-waterfall-detail-grid span{color:var(--muted);font-size:12px;white-space:nowrap}.performance-waterfall-metrics strong,.performance-waterfall-detail-grid strong{font-weight:700;text-align:right}.performance-waterfall-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:4px}.performance-waterfall-card-actions .table-button{min-width:116px;text-transform:none;letter-spacing:0}.performance-waterfall-detail{border-top:1px solid rgba(133,148,170,.16);padding-top:16px;display:grid;gap:12px}.performance-waterfall-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.performance-waterfall-detail-head h2{margin:0 0 6px}.performance-waterfall-detail-head p{margin:0;color:var(--muted)}.performance-waterfall-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}.status-chip{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.status-chip.tone-unallocated{background:#9ba3b729;color:#5d6b82}.status-chip.tone-partial{background:#f5b33629;color:#946205}.status-chip.tone-matched{background:#24a76a29;color:#0f6a42}.status-chip.tone-over{background:#e0485a24;color:#b11e35}.status-chip.tone-info{background:#2b58ff24;color:#2148d2}.table-button.danger{border-color:#e0485a47;color:#b11e35}.performance-settings-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:12px}.performance-settings-summary-grid .readonly-value-box{align-items:flex-start;justify-content:center;flex-direction:column;gap:6px}.performance-target-settings-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start;min-width:0}.performance-target-settings-panel{display:grid;gap:14px;min-width:0;overflow:hidden}.performance-target-settings-panel h3{margin:0}.performance-settings-action-row{flex-wrap:wrap}.performance-target-settings-picker-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0}.performance-target-settings-picker-row .form-select{min-width:0}.performance-target-settings-picker-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}.performance-target-settings-picker-actions .table-button{min-width:88px;text-transform:none;letter-spacing:0}.performance-target-settings-groups{display:grid;gap:12px}.performance-target-settings-group{display:grid;gap:8px;padding:12px;border-radius:var(--radius-lg);background:#f7f9fce6;border:1px solid rgba(133,148,170,.18)}.performance-target-settings-subgroup{display:grid;gap:8px}.performance-target-settings-chip-list{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.performance-target-settings-chip{border:none;cursor:pointer;flex-shrink:1;max-width:100%;min-height:36px;padding:8px 12px;justify-content:flex-start;text-align:left;text-transform:none;letter-spacing:0;white-space:normal;overflow-wrap:anywhere;word-break:keep-all}.performance-target-settings-result-panel{overflow-y:auto;overflow-x:hidden;max-height:440px;min-width:0}.performance-split-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-bottom:12px}.performance-split-summary-card{display:grid;gap:8px;min-height:96px;padding:14px;border-radius:var(--radius-lg);background:#f7f9fce6;border:1px solid rgba(133,148,170,.18)}.performance-split-summary-card span{color:var(--muted);font-size:12px}.performance-split-summary-card strong{font-weight:700;font-size:20px;line-height:1.4;word-break:break-all}.performance-split-summary-text{font-size:15px!important}.performance-split-table-wrap{overflow-x:auto;padding-bottom:4px}.performance-split-table{display:grid;gap:8px;min-width:1500px}.performance-split-row{display:grid;grid-template-columns:minmax(360px,1.5fr) minmax(280px,1fr) minmax(280px,1fr) minmax(220px,.7fr);gap:12px;align-items:center}.performance-split-header{font-size:12px;color:var(--muted);font-weight:700}.performance-money-input,.performance-split-amount-box{min-width:0;font-family:var(--font-mono);text-align:right}.performance-split-warning{color:var(--error);font-weight:700}.performance-summary-section{margin-bottom:16px}.performance-summary-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.performance-summary-section-header h3{margin:0;font-size:var(--type-card-title-size);font-weight:var(--type-card-title-weight)}.performance-summary-table-wrap{overflow-x:auto;border:1px solid rgba(133,148,170,.18);border-radius:var(--radius-lg);background:#fffffff0}.performance-summary-table{width:100%;border-collapse:collapse}.performance-summary-table thead th{position:sticky;top:0;z-index:1;background:#f5f7fcfa;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.02em;text-align:left;padding:12px 14px;border-bottom:1px solid rgba(133,148,170,.18);white-space:nowrap}.performance-summary-table thead th.is-number{text-align:right;min-width:120px}.performance-summary-table tbody td{padding:12px 14px;border-bottom:1px solid rgba(133,148,170,.12);font-size:13px;vertical-align:middle;word-break:keep-all}.performance-summary-table tbody td.is-number{text-align:right;white-space:nowrap;font-family:var(--font-mono);font-weight:700}.performance-summary-table tbody tr.is-summary-row td{background:#f6f8fcf2;font-weight:700}.performance-summary-table tbody tr.is-grand-total td{background:#e1eaff85;color:#1a3db8}.performance-summary-table-empty{text-align:center;color:var(--muted);padding:36px 16px!important}.performance-targets-page{height:auto;min-height:calc(100vh - 152px);overflow:visible}.performance-targets-page .performance-waterfall-shell{flex:0 0 auto}.role-permission-table-wrap{overflow:auto}.role-permission-table{min-width:1280px}.role-permission-table th:nth-child(1),.role-permission-table td:nth-child(1),.role-permission-table th:nth-child(2),.role-permission-table td:nth-child(2),.role-permission-table th:nth-child(3),.role-permission-table td:nth-child(3){white-space:nowrap}.role-permission-table th:nth-child(2),.role-permission-table td:nth-child(2){min-width:180px}.role-permission-table th:nth-child(3),.role-permission-table td:nth-child(3){min-width:180px}.role-permission-table th:nth-child(4),.role-permission-table td:nth-child(4){min-width:320px}.role-permission-table th:nth-child(5),.role-permission-table td:nth-child(5){width:88px;min-width:88px;text-align:center}@media (max-width: 1200px){.performance-target-settings-picker-row{grid-template-columns:1fr;align-items:stretch}.performance-target-settings-picker-actions{justify-content:stretch}.performance-target-settings-picker-actions .table-button{flex:1 1 0;width:100%}}@media (max-width: 900px){.contract-form-grid{grid-template-columns:1fr}.performance-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-target-form-grid,.performance-chart-grid,.performance-waterfall-detail-grid,.performance-settings-summary-grid,.performance-target-settings-layout,.performance-split-row{grid-template-columns:1fr}.performance-split-table{min-width:100%}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;display:flex;align-items:flex-start;justify-content:center;padding:72px 24px 24px;z-index:1000}.modal-card{width:min(640px,100%);border-radius:var(--radius-lg);padding:20px;border:1px solid var(--glass-border);box-shadow:var(--shadow-2);max-height:80vh;display:flex;flex-direction:column;margin:0 auto}.modal-card.roles-detail-modal-card{width:min(1480px,calc(100vw - 48px));max-height:88vh}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.modal-title{margin:0;font-size:var(--type-modal-title-size);line-height:var(--type-modal-title-line);font-weight:var(--type-modal-title-weight);letter-spacing:.02em}.modal-body{display:grid;font-size:var(--type-modal-body-size);line-height:var(--type-modal-body-line);font-weight:var(--type-modal-body-weight);gap:12px;overflow:auto;flex:1;min-height:0}.modal-footer{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;align-items:center;margin-top:16px}.page-stagger>*{animation:fadeSlide var(--motion-duration-base) var(--motion-ease-base) both}.page-stagger>*:nth-child(1){animation-delay:.04s}.page-stagger>*:nth-child(2){animation-delay:.08s}.page-stagger>*:nth-child(3){animation-delay:.12s}.page-stagger>*:nth-child(4){animation-delay:.16s}.page-stagger>*:nth-child(5){animation-delay:.2s}.page-stagger>*:nth-child(6){animation-delay:.24s}.page-stagger>*:nth-child(7){animation-delay:.28s}.page-stagger>*:nth-child(8){animation-delay:.32s}.page-animate{animation:rise var(--motion-duration-base) var(--motion-ease-base) both}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes navFade{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@keyframes fadeSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-loading{padding:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm);color:var(--muted);font-size:var(--type-subtle-size);line-height:var(--type-subtle-line)}@keyframes spin{to{transform:rotate(360deg)}}.auth-loading .spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border-default);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@media (max-width: 900px){.performance-waterfall-card-actions .table-button{width:100%}.app-body{grid-template-columns:1fr;grid-template-rows:auto 1fr}.app-nav{display:flex;gap:16px;flex-wrap:wrap}.nav-group{min-width:220px}}@media (max-width: 640px){.app-header{flex-direction:column;align-items:flex-start;height:auto;padding:16px 18px;gap:10px}.header-actions{width:100%;justify-content:space-between}.app-main{padding:14px}.page-surface{padding:18px}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}:root[data-motion=off] *{animation:none!important;transition:none!important}:root[data-motion=off] *:before,:root[data-motion=off] *:after{animation:none!important;transition:none!important}body.is-session-expired #root{filter:blur(4px);pointer-events:none;-webkit-user-select:none;user-select:none}.session-expired-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#00000073}.session-expired-modal{background:var(--color-surface, #fff);border-radius:12px;padding:40px 36px 32px;width:360px;max-width:calc(100vw - 32px);text-align:center;box-shadow:0 8px 40px #00000038;display:flex;flex-direction:column;gap:16px}.session-expired-icon{font-size:2.5rem;line-height:1}.session-expired-title{font-size:1.125rem;font-weight:700;color:var(--color-text-primary, #111);margin:0}.session-expired-message{font-size:.9rem;color:var(--color-text-secondary, #555);line-height:1.6;margin:0}.session-expired-confirm{margin-top:8px;padding:10px 32px;background:var(--color-primary, #1a56db);color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s}.session-expired-confirm:hover{background:var(--color-primary-hover, #1648c0)}
