@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}:root[data-theme=light]{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)}:root[data-theme=dark]{color-scheme:dark;--weight-400: 500;--weight-500: 600;--weight-600: 600;--weight-700: 700;--bg-default: #0B0D10;--bg-surface: #12151A;--bg-surface-alt: #181C22;--text-primary: #E7E9ED;--text-secondary: #C7CBD2;--text-muted: #9AA2AE;--text-disabled: #6B7280;--text-on-primary: #E7E9ED;--text-on-status: #E7E9ED;--border-default: #232834;--border-strong: #343B4A;--primary-500: #3B82F6;--primary-600: #2563EB;--primary-700: #1D4ED8;--success: #22C55E;--warning: #F59E0B;--error: #EF4444;--info: #38BDF8;--tile-bg: #12151A;--tile-border: #232834;--tile-hover-bg: #181C22;--tile-title: #E7E9ED;--tile-subtext: #9AA2AE;--tile-icon: #3B82F6;--tile-disabled-bg: #181C22;--tile-disabled-border: #232834;--tile-disabled-title: #6B7280;--tile-disabled-subtext: #6B7280;--tile-disabled-icon: #6B7280;--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(15, 23, 42, .82);--glass-border: rgba(51, 65, 85, .5);--border-subtle: rgba(51, 65, 85, .6);--accent: var(--primary-500);--accent-2: var(--primary-700);--active-bg: rgba(59, 130, 246, .18);--hover-bg: rgba(59, 130, 246, .12);--shadow-1: 0 10px 24px rgba(15, 23, 42, .45);--shadow-2: 0 18px 36px rgba(15, 23, 42, .6)}*{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}.theme-toggle{border:1px solid transparent;background:var(--surface);color:inherit;padding:8px 14px;border-radius:999px;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),border-color var(--motion-duration-base) var(--motion-ease-base),background var(--motion-duration-base) var(--motion-ease-base)}.theme-toggle:hover{transform:translateY(-1px);border-color:var(--glass-border)}.user-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--bg-strong);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:var(--type-caption-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-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-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}.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: 900px){.contract-form-grid{grid-template-columns:1fr}}.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}.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)}}@media (max-width: 900px){.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}
