@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #F8FAFC;--surface: #FFFFFF;--border: #E2E8F0;--border-strong: #CBD5E1;--text: #0F172A;--text-muted: #64748B;--text-subtle: #94A3B8;--primary: #4F46E5;--primary-hover: #4338CA;--primary-light: #EEF2FF;--primary-mid: #C7D2FE;--status-active: #059669;--status-active-bg: #ECFDF5;--status-support: #4F46E5;--status-support-bg: #EEF2FF;--status-sent: #D97706;--status-sent-bg: #FFFBEB;--status-error: #DC2626;--status-error-bg: #FEF2F2;--status-check: #7C3AED;--status-check-bg: #F5F3FF;--status-expired: #94A3B8;--status-expired-bg: #F1F5F9;--shadow-sm: 0 1px 2px rgba(15,23,42,.05);--shadow: 0 1px 3px rgba(15,23,42,.08), 0 1px 2px rgba(15,23,42,.04);--shadow-md: 0 4px 8px rgba(15,23,42,.08), 0 2px 4px rgba(15,23,42,.04)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}.layout{display:flex;flex-direction:column;min-height:100vh}.topnav{position:sticky;top:0;z-index:100;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:0;padding:0 24px;height:52px;flex-shrink:0}.topnav-logo{display:flex;align-items:center;gap:10px;margin-right:24px;flex-shrink:0}.topnav-logo-img{height:42px;width:auto;object-fit:contain}.topnav-logo-text{font-weight:700;font-size:14px;color:var(--text);white-space:nowrap}.topnav-logo-sub{font-size:10px;color:var(--text-subtle);font-weight:400;display:block;line-height:1;margin-top:1px}.topnav-divider{width:1px;height:20px;background:#334155;margin:0 16px;flex-shrink:0}.topnav-links{display:flex;align-items:center;gap:2px;flex:1;overflow:hidden}.nav-item{display:flex;align-items:center;padding:0 14px;height:52px;border-radius:0;color:var(--text-muted);font-size:13px;font-weight:500;white-space:nowrap;transition:color .12s;border-bottom:2px solid transparent}.nav-item:hover{background:transparent;color:var(--text)}.nav-item.active{color:var(--text);background:transparent;font-weight:600;border-bottom:2px solid var(--primary)}.topnav-right{display:flex;align-items:center;gap:12px;margin-left:auto;flex-shrink:0}.sidebar,.nav-label,.nav-section-label,.sidebar-logo-icon,.sidebar-logo-img,.sidebar-logo-text,.sidebar-logo-sub{display:none}.main{flex:1;min-width:0;padding:28px 36px;max-width:1400px;width:100%;margin:0 auto}.page-title{font-size:18px;font-weight:700;margin-bottom:24px;color:var(--text);letter-spacing:-.4px}.main-header{display:none}.page-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.page-header .page-title{margin:0}.page-header--tight{display:flex;align-items:center;gap:12px;margin-bottom:8px}.page-header--tight .page-title{margin:0}.header-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.header-danger-actions{display:flex;gap:8px;align-items:flex-start}.page-narrow{max-width:800px}.page-narrow-sm{max-width:700px}.page-form{max-width:none}.mb-section{margin-bottom:28px}@media(min-width:1700px){.main{max-width:1620px}}@media(min-width:2200px){.main{max-width:1960px}}.card{background:var(--surface);border-radius:2px;padding:20px;border:1px solid var(--border)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin-bottom:28px}.stat-card{background:var(--surface);border-radius:2px;padding:18px 20px;border:1px solid var(--border);border-left:3px solid var(--border-strong)}.stat-card.highlight{border-left-color:var(--primary)}.stat-card.warn{border-left-color:#f59e0b}.stat-card.danger{border-left-color:var(--status-error)}.stat-card .label{font-size:12px;font-weight:500;color:var(--text-muted);margin-bottom:10px}.stat-card .value{font-size:28px;font-weight:700;color:var(--text);letter-spacing:-.5px;line-height:1}.stat-card.highlight .value{color:var(--primary)}.stat-card.warn .value{color:#d97706}.stat-card.danger .value{color:var(--status-error)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;padding:6px 14px 8px;font-size:11px;font-weight:700;color:var(--text-subtle);background:transparent;border-bottom:2px solid var(--border-strong);border-top:none;white-space:nowrap;letter-spacing:.06em;text-transform:uppercase}th:first-child{border-radius:0}td{padding:10px 14px;border-bottom:1px solid var(--border);font-size:13px}tr:last-child td{border-bottom:none}tr:hover td{background:var(--primary-light)}tr.clickable{cursor:pointer}.badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:3px;font-size:11px;font-weight:600;white-space:nowrap;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis}.badge-active_and_under_support{background:var(--status-support-bg);color:var(--status-support)}.badge-active{background:var(--status-active-bg);color:var(--status-active)}.badge-active_but_no_support_perpetual,.badge-active_but_no_support{background:#fef3c7;color:#92400e}.badge-to_be_sent{background:var(--status-sent-bg);color:var(--status-sent)}.badge-no_renewal{background:#e5e7eb;color:#374151}.badge-expiring_soon{background:#fef3c7;color:#b45309}.badge-expired{background:var(--status-expired-bg);color:var(--status-expired)}.badge-error_sent_in_future,.badge-error_lease_active_no_support,.badge-error_lease_period_expired{background:var(--status-error-bg);color:var(--status-error)}.badge-check_license_file_needs_update,.badge-check_perpetual_not_active_but_support,.badge-check_perpetual_not_active,.badge-check_lease_to_be_updated,.badge-check_needed{background:var(--status-check-bg);color:var(--status-check)}.badge-unknown{background:var(--status-expired-bg);color:var(--text-subtle)}.badge-incomplete{background:#fef3c7;color:#92400e;margin-left:6px;cursor:help}.filters{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;align-items:center}select,input[type=text],input[type=date],input[type=number],input[type=email]{padding:7px 11px;border:1px solid var(--border);border-radius:6px;font-size:13px;font-family:inherit;background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:var(--text-subtle);opacity:1}select:focus,input[type=text]:focus,input[type=date]:focus,input[type=number]:focus,input[type=email]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border-radius:4px;border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;font-size:13px;font-weight:500;font-family:inherit;color:var(--text);transition:background .1s,border-color .1s;white-space:nowrap}.btn:hover{background:var(--bg);border-color:var(--text-subtle)}.btn:active{opacity:.8}.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-sm{padding:4px 10px;font-size:12px}.btn-success{background:#f0fff4;color:var(--status-active);border-color:var(--status-active)}.btn-success:hover{background:#dcfce7}.btn-danger{background:#fff5f5;color:#dc2626;border-color:#fca5a5}.btn-danger:hover{background:#fee2e2;border-color:#dc2626}.loading{color:var(--text-subtle);padding:48px;text-align:center;font-size:13px}.error-msg{color:var(--status-error);padding:11px 14px;background:var(--status-error-bg);border:1px solid #FECACA;border-radius:7px;margin-bottom:16px;font-size:13px}.warning-msg{color:#92400e;padding:11px 14px;background:#fffbeb;border:1px solid #fde68a;border-radius:7px;font-size:13px}.payment-status-inline{padding:4px 10px;border-radius:5px;font-size:12px;font-weight:500;display:inline-block}.payment-status-inline.payment-status-paid{background:var(--status-active-bg);color:var(--status-active)}.payment-status-inline.payment-status-po_received{background:#fffbeb;color:#b7791f}.payment-status-inline.payment-status-unpaid{background:var(--status-error-bg);color:var(--status-error)}.mode-selector{display:flex;gap:12px;margin-bottom:24px}.mode-card{flex:1;border:2px solid var(--border);border-radius:8px;padding:14px 16px;text-align:left;background:#fff;cursor:pointer}.mode-card--active{border-color:var(--primary);background:#eff6ff}.mode-card-label{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px}.mode-card-desc{font-size:12px;color:var(--text-muted)}.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:10px;max-width:380px}.toast{display:flex;align-items:flex-start;gap:10px;padding:13px 16px;border-radius:9px;font-size:13px;font-weight:500;box-shadow:0 4px 16px #00000024;animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.toast-error{background:#fef2f2;color:#b91c1c;border:1px solid #FECACA}.toast-success{background:#f0fdf4;color:#15803d;border:1px solid #BBF7D0}.toast-info{background:#eff6ff;color:#1d4ed8;border:1px solid #BFDBFE}.toast-message{flex:1;line-height:1.4}.toast-close{background:none;border:none;cursor:pointer;font-size:16px;line-height:1;opacity:.5;padding:0;color:inherit;flex-shrink:0}.toast-close:hover{opacity:1}.section-title{font-size:13px;font-weight:600;margin-bottom:12px;color:var(--text);letter-spacing:-.1px}.account-stat{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 20px;text-align:center;min-width:96px;box-shadow:var(--shadow-sm)}.account-stat-value{font-size:22px;font-weight:700;color:var(--text);letter-spacing:-.5px}.account-stat-label{font-size:10px;color:var(--text-subtle);text-transform:none;letter-spacing:.06em;font-weight:600;margin-top:3px}.account-stat.ok .account-stat-value{color:var(--status-active)}.account-stat.warn .account-stat-value{color:var(--status-sent)}.form-section{margin-bottom:32px}.form-section-title{font-size:11px;font-weight:700;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.07em;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--border)}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.form-field{display:flex;flex-direction:column;gap:5px}.form-field-wide{grid-column:1 / -1}.form-field label{font-size:11px;color:var(--text-subtle);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.form-field input,.form-field select{padding:8px 11px;border:1px solid var(--border);border-radius:4px;font-size:13px;font-family:inherit;background:var(--surface);color:var(--text)}.form-field input:focus,.form-field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.form-actions{display:flex;gap:8px;margin-top:8px}.form-actions--end{display:flex;gap:8px;justify-content:flex-end}.form-field-inline{flex-direction:row;align-items:center}.form-checkbox-group{flex-direction:row;align-items:center;gap:18px;flex-wrap:wrap}.form-checkbox-group label{display:inline-flex;align-items:center;gap:8px;margin:0}.form-section-title-flex{display:flex;align-items:center;gap:8px;justify-content:space-between}.input-mono{font-family:JetBrains Mono,Fira Code,monospace;font-size:12px}.input-hidden{display:none}.count-badge{background:var(--primary-light);color:var(--primary);font-size:11px;font-weight:600;padding:1px 8px;border-radius:10px;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-search{position:relative;width:220px}.global-search input{width:100%;padding:6px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg);box-shadow:none}.global-search input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a;background:var(--surface)}.global-search-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 30px #00000026;max-height:480px;overflow-y:auto;z-index:100}.global-search-empty{padding:16px;color:var(--text-muted);font-size:13px;text-align:center}.global-search-group{border-bottom:1px solid var(--border)}.global-search-group:last-child{border-bottom:none}.global-search-group-title{padding:6px 12px;font-size:11px;color:var(--text-muted);background:var(--bg);font-weight:600}.global-search-item{padding:8px 12px;cursor:pointer;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:2px}.global-search-item:first-child{border-top:none}.global-search-item:hover{background:var(--primary-light)}.global-search-meta{font-size:11px;color:var(--text-muted)}.sidebar-user-wrap{position:relative}.sidebar-user{padding:5px 10px;border:1px solid var(--border);border-radius:6px;cursor:pointer;display:flex;flex-direction:column;gap:1px;min-width:80px}.sidebar-user:hover{background:var(--bg)}.sidebar-user-label{font-size:9px;color:var(--text-muted);text-transform:none;letter-spacing:.04em}.sidebar-user-name{font-size:12px;font-weight:600;color:var(--text)}.sidebar-user-dropdown{position:absolute;top:100%;right:0;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:0 0 8px 8px;box-shadow:0 8px 16px #0000001a;max-height:320px;overflow-y:auto;z-index:200}.sidebar-user-divider{height:1px;background:var(--border)}.sidebar-user-option{padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.sidebar-user-option:hover{background:var(--bg)}.sidebar-user-option.selected{background:var(--primary-light)}.sidebar-user-alias{font-weight:700;font-family:monospace;font-size:12px;width:36px;color:var(--primary)}.sidebar-user-fullname{font-size:12px;color:var(--text)}.sidebar-user-manage{display:block;padding:9px 12px;color:var(--primary);font-size:12px;font-weight:600}.sidebar-user-manage:hover{background:var(--bg)}.sidebar-user-button{background:none;border:none;cursor:pointer;text-align:left;width:100%}.auth-screen{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,rgba(4,93,121,.14),transparent 32%),linear-gradient(135deg,#f8fbfc,#eef5f7);padding:32px}.auth-card{width:min(460px,100%);background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 22px 60px #0d2b361f;padding:32px}.auth-kicker{color:var(--primary);font-size:11px;font-weight:800;letter-spacing:.1em;margin-bottom:10px;text-transform:none}.auth-card h1{font-size:28px;letter-spacing:-.04em;margin-bottom:8px}.auth-card p{color:var(--text-muted);line-height:1.6;margin-bottom:18px}.sidebar-notif-wrap{position:relative}.sidebar-notif{background:#fffbeb;border:1px solid #f6ad55;border-radius:8px;padding:5px 10px;cursor:pointer;display:flex;align-items:center;gap:6px;color:#b7791f;white-space:nowrap}.sidebar-notif:hover{background:#fef5e7}.sidebar-notif-icon{font-size:14px}.sidebar-notif-count{font-weight:700;font-size:13px}.sidebar-notif-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em}.sidebar-notif-dropdown{position:absolute;top:100%;right:0;width:280px;background:var(--surface);border:1px solid var(--border);border-radius:0 0 8px 8px;box-shadow:0 8px 16px #0000001a;overflow:hidden;z-index:200}.sidebar-notif-item{padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--border);font-size:13px}.sidebar-notif-item:hover{background:var(--primary-light)}.sidebar-notif-item:last-child{border-bottom:none}.tab-bar{display:flex;gap:2px;margin-bottom:20px;border-bottom:1px solid var(--border)}.tab-btn{padding:8px 14px;border:none;background:none;cursor:pointer;font-size:13px;font-weight:500;font-family:inherit;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-1px;display:flex;align-items:center;gap:6px;transition:color .1s;border-radius:4px 4px 0 0}.tab-btn:hover{color:var(--text);background:var(--bg)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.tab-btn--disabled{opacity:.4;cursor:default;pointer-events:none}.tab-count{background:var(--border);color:var(--text-subtle);font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px}.tab-btn.active .tab-count{background:var(--primary-mid);color:var(--primary)}.detail-section{margin-bottom:28px}.detail-section-title{font-size:11px;font-weight:700;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.07em;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:4px;overflow:hidden}.detail-grid--cols-2{grid-template-columns:repeat(2,1fr)}.detail-grid--cols-3{grid-template-columns:repeat(3,1fr)}.detail-grid--cols-4{grid-template-columns:repeat(4,1fr)}.detail-field{padding:12px 16px;background:var(--surface);min-width:0}.detail-field--full{grid-column:1 / -1}.detail-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);margin-bottom:3px}.detail-value{font-size:13px;font-weight:400;color:var(--text);min-width:0;overflow-wrap:anywhere}.detail-input{width:100%;padding:5px 9px;border:1px solid var(--primary);border-radius:5px;font-size:13px;font-family:inherit;background:var(--primary-light);color:var(--text);outline:none;box-shadow:0 0 0 2px #4f46e514}.detail-input:focus{box-shadow:0 0 0 3px #4f46e526}.td-mono{font-family:JetBrains Mono,Fira Code,monospace;font-size:12px}.td-muted{font-size:12px;color:var(--text-muted)}.td-nowrap{white-space:nowrap}.td-strong{font-weight:500}.td-empty{text-align:center;color:var(--text-subtle);padding:32px 24px;font-size:13px}.text-right{text-align:right}.text-muted{color:var(--text-muted)}.text-active{color:var(--status-active)}.text-error{color:var(--status-error)}.td-loss{color:var(--status-error);font-weight:600}.td-arr-loss{color:#c05621;font-weight:600}.td-expiry-warn{color:#b7791f;font-weight:600}.td-expiry-danger{color:var(--status-error);font-weight:600}.filter-count{color:var(--text-muted);font-size:13px}.checkbox-filter{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:13px;padding:6px 8px}.row-actions{text-align:right;white-space:nowrap;width:1%}.row-actions-inner{display:inline-flex;justify-content:flex-end;gap:8px}.confirm-inline{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted)}.warn-text{color:#f97316;font-size:12px;margin-top:8px}.count-link{color:var(--primary);cursor:pointer;text-decoration:underline}.count-link:hover{color:var(--primary-dark)}.field-readonly{font-size:13px;color:var(--text-muted);padding:6px 0}.save-ok{color:var(--status-active);font-size:13px;margin-bottom:12px;font-weight:500}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal-panel{background:var(--surface);border-radius:8px;padding:24px;width:min(600px,90vw);max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-panel--sm{width:min(420px,90vw)}.modal-panel--lg{width:min(780px,92vw)}.modal-panel--wide{width:min(980px,95vw)}.modal-title{font-size:18px;font-weight:600;margin-bottom:8px}.modal-help{font-size:13px;color:var(--text-muted);margin-bottom:16px}.email-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--border, #e5e7eb);border-radius:6px;background:#fff;box-sizing:border-box;min-height:38px;width:100%;max-width:100%;min-width:0;overflow:hidden}.email-chips:focus-within{border-color:var(--primary, #2563eb)}.email-chip{display:inline-flex;align-items:center;gap:6px;background:#eef2ff;border:1px solid #c7d2fe;border-radius:4px;padding:2px 4px 2px 8px;font-size:12px;color:#3730a3;font-family:monospace;max-width:100%;min-width:0;overflow:hidden;text-decoration:none}.email-chip:hover{background:#dbeafe}.email-chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-chip--invalid{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.email-chip-remove{border:none;background:transparent;color:inherit;cursor:pointer;font-size:14px;line-height:1;padding:0 2px;opacity:.7;flex-shrink:0}.email-chip-remove:hover{opacity:1}.email-chips-input{flex:1;min-width:min(120px,100%);border:none;outline:none;padding:2px;font-size:13px;background:transparent}.email-attachments{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.email-attachment-chip{display:inline-flex;align-items:center;background:#f3f4f6;border:1px solid var(--border, #e5e7eb);border-radius:4px;padding:3px 10px;font-size:12px;color:var(--text, #374151);font-family:monospace;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-compose-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 16px}.email-compose-grid .email-compose-full{grid-column:1 / -1}.email-compose-grid textarea{width:100%;resize:vertical;font-family:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;box-sizing:border-box}.sf-wrap{position:relative;min-width:min(180px,100%);max-width:100%}.sf-input-row{display:flex;align-items:center;border:1px solid var(--border, #e5e7eb);border-radius:6px;background:#fff;padding:0 8px;min-height:34px;gap:4px}.sf-input-row:focus-within{border-color:#6366f1}.sf-input{border:none;outline:none;font-size:13px;flex:1;background:transparent;min-width:80px;padding:6px 0}.sf-clear{background:none;border:none;color:var(--text-muted, #9ca3af);cursor:pointer;font-size:16px;padding:0;line-height:1;flex-shrink:0}.sf-clear:hover{color:var(--text, #111)}.sf-arrow{color:var(--text-muted, #9ca3af);font-size:10px;flex-shrink:0;cursor:pointer;padding:4px 2px}.sf-dropdown{position:absolute;z-index:200;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--border, #e5e7eb);border-radius:8px;box-shadow:0 6px 20px #0000001f;overflow:hidden;max-height:240px;overflow-y:auto}.sf-option{padding:7px 12px;font-size:13px;cursor:pointer}.sf-option:hover{background:var(--hover-bg, #f3f4f6)}.sf-option--selected{background:#eff6ff;color:#1d4ed8;font-weight:500}.sf-empty{padding:12px;text-align:center;color:var(--text-muted, #9ca3af);font-size:13px}.sf-option--create{color:var(--primary);font-weight:600;border-top:1px solid var(--border)}.log-detail-list{margin:0;padding-left:16px;list-style:disc}.log-detail-list li{margin:1px 0}.catalog-toolbar{display:flex;gap:8px;margin-bottom:8px}.feature-search{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--surface)}.catalog-app-picker{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--surface);cursor:pointer}.bundle-apps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.bundle-app-card{display:flex;align-items:center;gap:10px;padding:12px;border:1.5px solid var(--border);border-radius:8px;cursor:pointer;background:var(--surface);transition:all .12s}.bundle-app-card:hover,.bundle-app-card.selected{border-color:var(--primary);background:var(--primary-light)}.bundle-app-info{flex:1;min-width:0}.bundle-app-name{font-weight:600;font-size:13px;color:var(--text);font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bundle-app-meta{font-size:11px;color:var(--text-muted);margin-top:2px}.feature-picker{border:1px solid var(--border);border-radius:8px;overflow:hidden;max-height:480px;overflow-y:auto;box-shadow:var(--shadow-sm)}.extra-features-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:12px;min-width:0;max-width:100%}.extra-features-label{font-size:12px;color:var(--text-muted)}.extra-feature-chip{display:inline-flex;align-items:center;gap:6px;background:var(--primary-light);border:1px solid var(--primary);border-radius:4px;padding:3px 8px;font-size:12px;font-family:monospace;color:var(--text);max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.extra-feature-remove{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:14px;line-height:1;padding:0}.extra-feature-remove:hover{color:var(--text)}.feature-group{border-bottom:1px solid var(--border)}.feature-group:last-child{border-bottom:none}.feature-group-header{width:100%;display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg);border:none;cursor:pointer;text-align:left;font-size:12px;font-weight:600;font-family:inherit;color:var(--text);transition:background .1s}.feature-group-header:hover{background:#eef2ff}.feature-group-name{flex:1}.feature-group-count{font-size:11px;color:var(--text-subtle);font-weight:400;display:flex;gap:8px;align-items:center}.feature-selected-count{color:var(--primary);font-weight:600}.feature-group-body{padding:4px 0}.feature-row{display:flex;align-items:center;gap:8px;padding:5px 14px;cursor:pointer;font-size:12px;transition:background .1s}.feature-row:hover{background:var(--bg)}.feature-name{flex:1;font-family:JetBrains Mono,Fira Code,monospace;font-size:11.5px;color:var(--text)}.feature-required{font-size:10px;background:var(--status-error-bg);color:var(--status-error);padding:1px 6px;border-radius:4px;font-weight:600;letter-spacing:.02em}.feature-version{font-size:11px;color:var(--text-subtle)}.feature-deprecated{font-size:10px;background:var(--bg);color:var(--text-muted);padding:1px 6px;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.feature-row--deprecated{opacity:.5;text-decoration:line-through;cursor:not-allowed}.feature-kernel{font-size:10px;background:#ecfeff;color:#0e7490;padding:1px 6px;border-radius:4px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.flag-row{display:flex;flex-wrap:wrap;gap:4px}.feature-tag{display:inline-flex;align-items:center;gap:4px;background:var(--primary-light);color:var(--primary);padding:2px 8px;border-radius:20px;font-size:11px;font-family:JetBrains Mono,Fira Code,monospace;font-weight:500;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feature-tag button{background:none;border:none;cursor:pointer;color:var(--primary);font-size:14px;padding:0;line-height:1;opacity:.7}.feature-tag button:hover{opacity:1}.option-add-panel{margin-bottom:12px;padding:12px;border:1px solid var(--border);border-radius:6px;background:var(--bg)}.option-add-controls{display:grid;grid-template-columns:minmax(140px,190px) 1fr;gap:8px}.option-app-filter,.option-search-input{width:100%}.option-search-results{max-height:360px;overflow-y:auto;margin-top:8px;border:1px solid var(--border);border-radius:4px;background:var(--surface)}.option-search-row{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;cursor:pointer;border-bottom:1px solid var(--border);font-size:12px}.option-search-main{min-width:0;display:flex;align-items:center;gap:6px}.option-search-row:last-child{border-bottom:none}.option-search-row:hover{background:var(--primary-light)}.option-search-app{font-size:11px;color:var(--text-muted);background:var(--bg);padding:2px 8px;border-radius:10px;flex-shrink:0;white-space:nowrap}.option-search-footer{padding:8px 12px;color:var(--text-muted);font-size:11px;background:var(--bg)}.option-search-footer-top{position:sticky;top:0;z-index:1;border-bottom:1px solid var(--border)}.option-remove-btn{border:none;background:transparent;color:var(--status-error);cursor:pointer;font-size:18px;line-height:1;padding:0 4px;margin-left:auto;opacity:.5}.option-remove-btn:hover{opacity:1}.manual-feature{margin-top:12px}.manual-feature-hint{font-size:12px;color:var(--text-muted);margin-bottom:8px}.manual-feature-row{display:flex;gap:8px}.manual-feature-row .input-mono{flex:1}.manual-feature-tags{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px;min-width:0;max-width:100%}.catalog-empty{color:var(--text-muted);font-size:12px;margin-bottom:8px}.empty-state{color:var(--text-muted);padding:24px 0}.hint-text{color:var(--text-muted);padding:40px 0;text-align:center}.option-search-row-check{display:flex;align-items:center;gap:10px;cursor:pointer;padding:7px 12px}.option-search-row-check:hover{background:var(--hover-bg, #f3f4f6)}.option-search-row-check input[type=checkbox]{flex-shrink:0;width:15px;height:15px;cursor:pointer}.option-add-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-top:1px solid var(--border, #e5e7eb);background:#fafafa}.catalog-notes-field{margin-top:14px;border-top:1px solid var(--border);padding-top:14px}.catalog-notes-label{display:block;font-size:11px;font-weight:600;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.catalog-notes-textarea{width:100%;min-height:68px;padding:8px 10px;border:1px solid var(--border);border-radius:4px;font-size:12px;font-family:inherit;color:var(--text);background:var(--bg);resize:vertical;line-height:1.5}.catalog-notes-textarea:focus{outline:none;border-color:var(--primary);background:var(--surface)}.catalog-form-footer{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.catalog-check-label{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text-muted);cursor:pointer}.selected-summary{border:1px solid var(--border);border-radius:6px;margin-bottom:12px;overflow:hidden}.selected-summary-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--bg-card, var(--surface));border:none;padding:10px 14px;cursor:pointer;font-size:13px;font-weight:600;color:var(--text);gap:8px}.selected-summary-toggle:hover{background:#eef2ff}.selected-summary-label{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.selected-summary-body{padding:10px 14px;display:flex;flex-direction:column;gap:8px;max-height:260px;overflow-y:auto;border-top:1px solid var(--border)}.selected-summary-empty{font-size:12px;color:var(--text-muted)}.summary-app-row{display:flex;flex-direction:column;gap:4px}.summary-app-name{font-size:11px;font-weight:700;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-feat-chips{display:flex;flex-wrap:wrap;gap:4px;min-width:0;max-width:100%}.workflow-card{border-color:#dbeafe;background:linear-gradient(135deg,#eff6ffe6,#ffffffeb 38%),var(--surface)}.workflow-current{font-size:11px;font-weight:600;padding:4px 9px;border-radius:6px}.workflow-current-done{background:var(--status-active-bg);color:var(--status-active)}.workflow-current-pending{background:#fffbeb;color:#b7791f}.wf-list{display:flex;flex-direction:column}.wf-group-label{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-subtle);padding:10px 0 4px}.wf-group-label-delivery{margin-top:4px;padding-top:14px;border-top:1px solid var(--border)}.wf-step{display:grid;grid-template-columns:20px 1fr 60px auto;gap:0 14px;align-items:center;padding:7px 0;border-bottom:1px solid var(--border);font-size:13px}.wf-step:last-child{border-bottom:none}.wf-step-num{font-size:10px;font-weight:700;color:var(--text-subtle);text-align:right}.wf-step-name{font-weight:500}.wf-step-pending .wf-step-name{color:var(--text-muted)}.wf-step-skipped .wf-step-name{color:var(--text-subtle);text-decoration:line-through}.wf-step-status{font-size:10px;font-weight:700;padding:2px 6px;border-radius:3px;text-align:center}.wf-step-status-done{background:var(--status-active-bg);color:var(--status-active)}.wf-step-status-pending{background:var(--bg);color:var(--text-subtle);border:1px solid var(--border)}.wf-step-status-partial{background:#fffbeb;color:#b45309}.wf-step-status-skipped{background:var(--bg);color:var(--text-subtle)}.wf-step-detail{font-size:11px;color:var(--text-muted);font-family:JetBrains Mono,Fira Code,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-step-date{color:var(--text-subtle)}.workflow-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:4px}.workflow-section+.workflow-section{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.workflow-section-label{font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:6px}.workflow-step{position:relative;display:flex;gap:10px;padding:12px;border:1px solid var(--border);border-radius:3px;background:var(--surface);min-height:80px}.workflow-step-done{border-color:#bbf7d0}.workflow-step-partial{border-color:#fde68a}.workflow-step-pending{opacity:.72}.workflow-dot{width:22px;height:22px;border-radius:3px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px;font-weight:700;background:var(--bg);color:var(--text-muted);border:1px solid var(--border)}.workflow-step-done .workflow-dot{background:var(--status-active);color:#fff;border-color:var(--status-active)}.workflow-step-partial .workflow-dot{background:#f59e0b;color:#fff;border-color:#f59e0b}.workflow-step-body{min-width:0;flex:1}.workflow-step-title{display:flex;justify-content:space-between;gap:8px;align-items:center;font-weight:700;font-size:13px;margin-bottom:7px}.workflow-step-detail{color:var(--text-muted);font-size:12px;line-height:1.45}.workflow-state{flex-shrink:0;font-size:10px;font-weight:700;text-transform:none;letter-spacing:.05em;padding:2px 6px;border-radius:999px}.workflow-state-done{background:var(--status-active-bg);color:var(--status-active)}.workflow-state-partial{background:#fffbeb;color:#b7791f}.workflow-state-pending{background:var(--bg);color:var(--text-subtle)}.workflow-state-skipped{background:var(--bg);color:var(--text-muted)}.workflow-step-skipped{opacity:.72}.workflow-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-top:14px}.workflow-metrics div{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:10px 12px}.workflow-metrics span{display:block;font-size:19px;font-weight:800;letter-spacing:-.02em}.workflow-metrics small{color:var(--text-muted);font-size:10px;text-transform:none;letter-spacing:.05em;font-weight:700}.workflow-subsection{margin-top:16px;border-top:1px solid var(--border);padding-top:14px}.workflow-subtitle{font-size:12px;font-weight:800;text-transform:none;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px}.workflow-table th,.workflow-table td{padding:7px 10px}.workflow-current-row td{background:var(--primary-light);font-weight:600}.payment-badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis}.payment-badge-paid{background:var(--status-active-bg);color:var(--status-active)}.payment-badge-po_received{background:#fffbeb;color:#b7791f}.payment-badge-unpaid{background:var(--bg);color:var(--text-muted)}.workflow-activity-list{display:flex;flex-direction:column;gap:7px}.workflow-activity-row{display:grid;grid-template-columns:72px 92px 1fr auto;gap:10px;align-items:center;padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:7px;font-size:12px}.workflow-activity-row small{color:var(--text-muted);white-space:nowrap}.action-panel{border-left:4px solid var(--primary);padding:16px}.action-panel.action-panel-done{border-left-color:var(--status-active)}.action-panel-complete-text{color:var(--status-active);font-size:13px;font-weight:700}.action-panel-main{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.action-panel-kicker{color:var(--primary);font-size:11px;font-weight:600;margin-bottom:4px}.action-panel h2{font-size:16px;letter-spacing:-.02em;margin-bottom:4px}.action-panel p{color:var(--text-muted);font-size:13px;max-width:680px}.action-panel-buttons,.action-panel-secondary,.action-group-buttons{display:flex;flex-wrap:wrap;gap:8px}.action-panel-buttons{justify-content:flex-end;min-width:260px}.action-panel-secondary{border-top:1px solid var(--border);margin-top:14px;padding-top:12px;align-items:center}.action-panel-secondary>span,.action-group-title{color:var(--text-subtle);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:none}.actions-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.action-groups{flex-direction:column;gap:12px}.action-group{background:var(--bg);border-top:1px solid var(--border);padding:12px 0}.action-group-primary{background:linear-gradient(135deg,var(--primary-light),#fff 72%)}.action-group-secondary{background:#fff}.action-group-title{margin-bottom:8px}.account-layout{display:flex;gap:24px;margin-bottom:28px}.account-info-card{flex:1}.account-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;font-size:13px}.account-info-label{font-size:11px;color:var(--text-muted)}.account-info-value{font-weight:500}.account-stats-col{display:flex;flex-direction:column;gap:12px}.contracts-header{display:flex;align-items:center;margin-bottom:12px}.contracts-header .section-title{margin:0;flex:1}.contracts-empty{color:var(--text-muted);font-size:13px}.contract-status{font-size:11px;font-weight:600}.contract-status--active{color:var(--status-active)}.contract-status--inactive{color:var(--text-muted)}.new-contract-page{max-width:1180px}.new-contract-page .contract-form-grid{grid-template-columns:repeat(3,minmax(240px,1fr));column-gap:24px;row-gap:18px}.new-contract-page textarea{min-height:82px;padding:8px 11px;border:1px solid var(--border);border-radius:4px;font-size:13px;font-family:inherit;color:var(--text);background:var(--surface);resize:vertical;box-shadow:var(--shadow-sm)}.new-contract-page textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}@media(max-width:1050px){.new-contract-page .contract-form-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media(max-width:720px){.new-contract-page .contract-form-grid{grid-template-columns:1fr}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:28px;width:560px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-md)}.modal-header{display:flex;align-items:center;margin-bottom:20px}.modal-title{font-size:16px;font-weight:600;margin:0;flex:1}.revenue-total{font-size:13px;color:var(--text-muted)}.revenue-total strong{color:var(--text);font-weight:600}.payment-warning{display:block;margin-top:4px;font-size:11px;color:var(--text-muted);max-width:360px}.payment-add-row{display:grid;grid-template-columns:1.1fr .8fr 86px .9fr 1fr .9fr auto;gap:6px;align-items:center;margin-top:10px}.payment-add-row input,.payment-add-row select{min-width:0;font-size:12px}.customer-report-card{border-left:4px solid var(--primary)}.report-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.customer-report-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin-top:10px}.customer-report-grid>div{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.customer-report-grid span{display:block;font-size:18px;font-weight:700;color:var(--text)}.customer-report-grid small{display:block;margin-top:2px;color:var(--text-muted);font-size:11px;text-transform:none;letter-spacing:.04em}.report-help{margin:12px 0 0;color:var(--text-muted);font-size:12px}.revenue-display-table{width:100%;border-collapse:collapse}.revenue-display-table tr{border-bottom:1px solid var(--border)}.revenue-display-table tr:last-child{border-bottom:none}.revenue-display-table td{padding:10px 4px;vertical-align:middle;font-size:13px}.revenue-display-label{color:var(--text);font-weight:500}.revenue-display-amount{color:var(--text);font-weight:600;text-align:right;white-space:nowrap;min-width:100px}.revenue-display-meta{text-align:right}.revenue-display-actions{width:30px;text-align:right}.revenue-tag{display:inline-block;font-size:10px;padding:2px 7px;border-radius:10px;background:var(--primary-light);color:var(--primary);margin-left:6px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.revenue-tag-manual{background:var(--bg);color:var(--text-muted)}.td-center{text-align:center}.edit-mode-banner{background:#fff8e1;border:1px solid #f59e0b;border-radius:6px;padding:8px 14px;font-size:13px;color:#92400e;font-weight:500;margin-bottom:12px}.stat-row{display:flex;gap:12px;flex-wrap:wrap}.stat-row .stat-pill{flex:1;min-width:90px;max-width:100%;overflow:hidden;background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:8px;padding:10px 14px}.stat-row .stat-pill .label{font-size:11px;text-transform:none;letter-spacing:.04em;color:var(--text-muted, #6b7280)}.stat-row .stat-pill .value{font-size:20px;font-weight:600;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-row .stat-pill.warn{border-color:#f59e0b;background:#fff8e1}.revenue-list{display:flex;flex-direction:column;gap:4px}.revenue-row{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border-bottom:1px solid var(--border, #eee)}.revenue-row:last-child{border-bottom:none}.revenue-row .revenue-label{color:var(--text-muted, #6b7280);font-size:13px}.revenue-row .revenue-amount{font-weight:600;font-variant-numeric:tabular-nums}.revenue-row.revenue-total-row{border-top:2px solid var(--border, #e5e7eb);font-weight:700;padding-top:8px}.revenue-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 0}.revenue-grid-row{display:contents}.revenue-grid-label{padding:6px 0;font-size:13px;color:var(--text-muted, #6b7280)}.revenue-grid-value{padding:6px 0;font-size:13px;font-weight:500;text-align:right;font-variant-numeric:tabular-nums}.revenue-grid-total{border-top:2px solid var(--border, #e5e7eb);font-weight:700;padding-top:8px;margin-top:4px}.revenue-grid-input{width:120px;text-align:right;padding:4px 8px;border:1px solid var(--border, #e5e7eb);border-radius:4px;font-size:13px}.chain-help{font-size:12px;color:var(--text-muted);margin:10px 0 12px}.lic-preview-signrow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.ok-text{color:var(--status-active)}.link-mono{font-family:monospace;font-size:12px;color:var(--primary);text-decoration:underline;word-break:break-all}.link-mono:hover{color:var(--primary-dark, var(--primary))}.validation-card{border-left:4px solid var(--border-strong)}.validation-card-ok{border-left-color:var(--status-active)}.validation-card-warning{border-left-color:#f59e0b}.validation-card-error{border-left-color:var(--status-error)}.validation-status{font-size:11px;font-weight:700;padding:4px 9px;border-radius:6px}.validation-status-ok{background:var(--status-active-bg);color:var(--status-active)}.validation-status-warning{background:#fffbeb;color:#b7791f}.validation-status-error{background:var(--status-error-bg);color:var(--status-error)}.validation-status-pending{background:var(--bg);color:var(--text-muted)}.wf-table{display:flex;flex-direction:column}.wf-row{display:flex;align-items:center;gap:16px;padding:10px 0;border-bottom:1px solid var(--border)}.wf-row:last-child{border-bottom:none}.wf-label{font-size:11px;font-weight:700;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.06em;min-width:60px;flex-shrink:0}.wf-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.val-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.val-title{font-size:13px;font-weight:600;color:var(--text)}.val-empty{font-size:12px;color:var(--text-muted)}.val-issue{display:flex;align-items:baseline;gap:8px;padding:6px 8px;font-size:12px;border-radius:3px;margin-bottom:4px;line-height:1.4}.val-issue-icon{font-size:11px;font-weight:700;flex-shrink:0;width:12px;text-align:center}.val-issue-error{background:var(--status-error-bg);color:#991b1b}.val-issue-error .val-issue-icon{color:var(--status-error)}.val-issue-warn{background:#fffbeb;color:#78350f}.val-issue-warn .val-issue-icon{color:#d97706}.val-issue-ok{background:var(--status-active-bg);color:#065f46}.val-issue-ok .val-issue-icon{color:var(--status-active)}.val-checks{display:flex;flex-direction:column;margin-top:10px;padding-top:10px;border-top:1px solid var(--border);gap:2px}.val-check{display:flex;align-items:baseline;gap:10px;font-size:12px;padding:3px 0}.val-check-tag{font-size:10px;font-weight:700;font-family:JetBrains Mono,Fira Code,monospace;min-width:30px;flex-shrink:0}.val-check-ok{color:var(--text-muted)}.val-check-ok .val-check-tag{color:var(--status-active)}.val-check-fail{color:var(--text)}.val-check-fail .val-check-tag{color:#b45309}.validation-block{border-radius:8px;padding:10px 12px;margin-bottom:10px;font-size:12px}.validation-block strong{display:block;margin-bottom:5px;font-size:12px}.validation-block p{margin:3px 0}.validation-block-error{background:var(--status-error-bg);color:var(--status-error);border:1px solid #fecaca}.validation-block-warning{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.validation-block-ok{background:var(--status-active-bg);color:var(--status-active);border:1px solid #bbf7d0}.validation-check-list{display:flex;flex-direction:column;gap:6px}.validation-check{display:grid;grid-template-columns:52px 1fr;gap:8px;align-items:start;font-size:12px;padding:7px 8px;border-radius:7px;background:var(--bg)}.validation-check span{font-size:10px;font-weight:800;letter-spacing:.04em}.validation-check p{color:var(--text-muted)}.validation-check-ok span{color:var(--status-active)}.validation-check-fail span{color:#b7791f}.license-code{font-family:monospace;font-size:12px;color:var(--text-muted);margin-bottom:16px}.lic-actions{margin-bottom:16px;display:flex;align-items:center;gap:12px}.lic-preview{background:#1a202c;color:#e2e8f0;border-radius:8px;padding:16px 20px;font-family:monospace;font-size:12px;line-height:1.8;overflow-x:auto;white-space:pre}.lic-preview-wide{width:100%;min-height:280px;max-height:560px;overflow:auto}.lic-preview-note{font-size:11px;color:var(--text-muted);margin-top:10px}.detail-two-col{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}.detail-left,.detail-right{display:flex;flex-direction:column;gap:16px}.detail-card{padding:20px}.subsection-block{margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}.subsection-title{margin-bottom:12px;font-size:12px;font-weight:700;color:var(--text-muted);text-transform:none;letter-spacing:.08em}.mt-section{margin-top:20px}.options-list{display:flex;flex-direction:column;gap:6px;margin-top:4px}.option-row{display:flex;align-items:center;gap:8px;font-size:13px;min-width:0}.option-check{color:var(--status-active);font-size:12px;flex-shrink:0}.option-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.option-version{font-size:11px;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:1px 5px;flex-shrink:0;white-space:nowrap}.options-list-wide{gap:10px}.option-row-wide{justify-content:space-between;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#fff}.option-row-main,.option-row-side{display:flex;align-items:center;gap:8px;min-width:0}.option-row-main{flex:1}.option-row-side{flex-shrink:0}.option-add-panel-wide{margin-top:10px}.options-groups{display:flex;flex-direction:column;gap:14px;margin-top:10px}.options-group{border:1px solid var(--border);border-radius:8px;background:#fff;overflow:hidden}.options-group-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg);border-bottom:1px solid var(--border);min-width:0}.options-group-name{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.options-group-count{font-size:11px;color:var(--text-muted);background:#fff;border:1px solid var(--border);border-radius:10px;padding:0 7px;min-width:18px;text-align:center}.options-group-items{display:flex;flex-wrap:wrap;gap:8px;padding:12px}.option-chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:5px 8px 5px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);max-width:100%;min-width:0;overflow:hidden}.option-chip .option-name{flex:0 1 auto;max-width:280px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-help{margin:4px 0 12px;color:var(--text-muted);font-size:12px}.workflow-section-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:12px}.lic-preview{width:100%;max-width:100%;white-space:pre-wrap;word-break:break-word;overflow-x:hidden;box-sizing:border-box;max-height:420px;overflow-y:auto}.status-cell,td .badge,td .payment-badge{white-space:normal;word-break:break-word}.catalog-edit-active,.edit-focus-flash{animation:catalog-flash 1.2s ease;scroll-margin-top:80px}@keyframes catalog-flash{0%{box-shadow:0 0 0 3px #f59e0b80}to{box-shadow:0 0 0 3px #f59e0b00}}.detail-value .badge,.detail-value.status-cell .badge,.detail-value{white-space:normal;word-break:break-word}.detail-value .badge{display:inline-block;line-height:1.3}.timezone-picker{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--border, #e5e7eb);border-radius:12px;background:linear-gradient(180deg,#eff6ff8c,#fffffff5),var(--surface)}.timezone-picker-field{grid-column:1 / -1}.timezone-picker-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.timezone-picker-label{font-size:11px;font-weight:800;text-transform:none;letter-spacing:.08em;color:var(--text-subtle)}.timezone-picker-helper{margin-top:4px;color:var(--text-muted);font-size:12px}.timezone-picker-summary{text-align:right;min-width:110px}.timezone-picker-summary-label{color:var(--text-subtle);font-size:11px;font-weight:700;text-transform:none;letter-spacing:.06em}.timezone-picker-hex{display:inline-block;margin-top:4px;font-size:18px;font-weight:800;letter-spacing:.08em;color:var(--primary)}.timezone-picker-chips{display:flex;flex-wrap:wrap;gap:6px;min-width:0;max-width:100%}.timezone-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--primary-light);color:var(--primary);font-size:11px;font-weight:700;max-width:100%;min-width:0;overflow:hidden}.timezone-chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timezone-chip button{background:none;border:none;padding:0;color:inherit;cursor:pointer;font-size:14px;line-height:1;flex-shrink:0}.timezone-picker-default{padding:8px 10px;border-radius:8px;background:var(--bg);color:var(--text-muted);font-size:12px;border:1px dashed var(--border)}.timezone-picker-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.timezone-picker-search{flex:1;min-width:220px}.timezone-picker-search input{width:100%}.timezone-picker-actions{display:flex;gap:8px;flex-wrap:wrap}.timezone-picker-list{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow:auto;padding-right:2px}.timezone-picker-empty{padding:14px 10px;border-radius:8px;background:var(--bg);color:var(--text-muted);text-align:center;font-size:13px}.timezone-picker-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fff;cursor:pointer;transition:border-color .12s,background .12s,transform .12s}.timezone-picker-row:hover{border-color:var(--primary);background:#f8fbff}.timezone-picker-row--selected{border-color:var(--primary);background:#eff6ffe6}.timezone-picker-row input{margin-top:3px}.timezone-picker-main{flex:1;min-width:0}.timezone-picker-name{font-size:13px;font-weight:700;color:var(--text)}.timezone-picker-meta{font-size:11px;color:var(--text-muted);margin-top:2px}.timezone-picker-row-hex{font-size:11px;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-subtle);white-space:nowrap}.timezone-readonly{display:flex;flex-direction:column;gap:2px}.timezone-readonly-meta{color:var(--text-muted);font-size:11px;font-family:JetBrains Mono,Fira Code,monospace}.collapsible-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.collapsible-header:hover{opacity:.8}.collapsible-body{overflow:hidden}.collapsible-body.collapsed{display:none}.collapsible-body.expanded{max-height:320px;overflow-y:auto}.note-field{display:flex;flex-direction:column;gap:8px}.note-field textarea{width:100%;min-height:72px;padding:8px 10px;border:1px solid var(--border, #e5e7eb);border-radius:6px;font-size:13px;resize:vertical;font-family:inherit}.note-field-actions{display:flex;justify-content:flex-end}.tz-cb{position:relative}.tz-cb-trigger{display:flex;align-items:center;gap:8px;padding:5px 10px;border:1px solid var(--border, #e5e7eb);border-radius:6px;background:#fff;cursor:pointer;min-height:36px;flex-wrap:wrap;min-width:0;max-width:100%;overflow:hidden}.tz-cb-trigger:hover{border-color:#9ca3af}.tz-cb-chips{display:flex;flex-wrap:wrap;gap:4px;flex:1;min-width:0}.tz-chip{display:inline-flex;align-items:center;gap:4px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;padding:2px 6px;font-size:12px;color:#1d4ed8;white-space:nowrap;max-width:100%;min-width:0;overflow:hidden}.tz-chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tz-chip-remove{background:none;border:none;color:#93c5fd;cursor:pointer;font-size:14px;line-height:1;padding:0}.tz-chip-remove:hover{color:#1d4ed8}.tz-cb-placeholder{color:var(--text-muted, #9ca3af);font-size:13px;flex:1}.tz-cb-hex-badge{font-family:monospace;font-size:11px;color:var(--text-muted, #9ca3af);flex-shrink:0}.tz-cb-arrow{color:var(--text-muted, #9ca3af);font-size:11px;flex-shrink:0}.tz-cb-dropdown{position:absolute;z-index:9999;background:#fff;border:1px solid var(--border, #e5e7eb);border-radius:8px;box-shadow:0 8px 24px #00000026;overflow:hidden}.tz-cb-dropdown-header{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border, #e5e7eb)}.tz-cb-search{flex:1;padding:6px 10px;border:1px solid var(--border, #e5e7eb);border-radius:5px;font-size:13px;outline:none}.tz-cb-clear-all{white-space:nowrap;flex-shrink:0}.tz-cb-list{max-height:260px;overflow-y:auto}.tz-cb-option{display:grid;grid-template-columns:20px 1fr auto auto;align-items:center;gap:6px;padding:7px 12px;font-size:13px;cursor:pointer}.tz-cb-option:hover{background:var(--hover-bg, #f9fafb)}.tz-cb-option--selected{background:#f0f9ff}.tz-cb-check{color:#2563eb;font-size:12px;font-weight:700;text-align:center}.tz-cb-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tz-cb-gmt{font-size:11px;color:var(--text-muted, #9ca3af);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.tz-cb-hex{font-family:monospace;font-size:11px;color:var(--text-muted, #9ca3af);flex-shrink:0}.tz-cb-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-top:1px solid var(--border, #e5e7eb);font-size:12px;color:var(--text-muted, #6b7280);background:#fafafa}.tz-cb-footer code{font-size:11px;background:#f3f4f6;padding:1px 4px;border-radius:3px}.tz-cb-empty{padding:16px;text-align:center;color:var(--text-muted, #9ca3af);font-size:13px}.import-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.import-card{background:var(--surface);border-radius:4px;padding:20px;box-shadow:var(--shadow)}.import-card h3{font-size:13px;font-weight:600;margin-bottom:4px}.import-card p{font-size:12px;color:var(--text-muted);margin-bottom:14px;line-height:1.6}.drop-zone{border:1px solid var(--border);border-radius:6px;padding:24px 20px;text-align:center;color:var(--text-muted);font-size:12px;cursor:pointer;background:var(--bg);transition:border-color .15s,color .15s,background .15s}.drop-zone:hover,.drop-zone.over,.drop-zone--over{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.import-exact-path{margin-top:14px}.import-exact-path p{margin:4px 0 0}.import-path-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.result-box{margin-top:12px;padding:10px 12px;border-radius:6px;font-size:12px}.result-box-flex{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.result-ok{background:var(--status-active-bg);color:var(--status-active)}.result-err{background:var(--status-error-bg);color:var(--status-error)}.import-inline-checkbox{margin:6px 0 12px;padding-left:0}.import-result-pre{font-size:11px;white-space:pre-wrap}.trainees-list{display:flex;flex-direction:column;gap:8px}.trainee-row{display:grid;grid-template-columns:1fr 110px 1.5fr 1.5fr auto;gap:8px;align-items:center}.trainee-row input,.trainee-row select{padding:7px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px}.template-quick-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.template-quick-label{font-size:12px;color:var(--text-muted)}.td-actions{white-space:nowrap}.td-actions .btn{margin-right:6px}.diff-table{width:100%;border-collapse:collapse;font-size:12px;margin:8px 0}.diff-table th,.diff-table td{padding:6px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.diff-table th{background:var(--bg);font-weight:600;text-transform:none;font-size:10px;letter-spacing:.05em;color:var(--text-muted)}.diff-field{font-family:monospace;font-weight:600;color:var(--text);white-space:nowrap}.diff-old{color:var(--status-error);text-decoration:line-through;font-family:monospace}.diff-new{color:var(--status-active);font-weight:500;font-family:monospace}.preview-banner{padding:10px 14px;border-radius:6px;margin:8px 0;font-size:13px}.preview-banner--ok{background:var(--status-active-bg);color:var(--status-active);border:1px solid var(--status-active)}.preview-banner--warn{background:#fffbeb;color:#b7791f;border:1px solid #f6ad55}.dry-run-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:12px 0}.dry-run-stat{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:10px;text-align:center}.dry-run-stat-value{font-size:22px;font-weight:700;color:var(--text)}.dry-run-stat-label{font-size:10px;color:var(--text-muted);text-transform:none;letter-spacing:.05em;margin-top:2px}.dry-run-stat--ok{border-color:var(--status-active)}.dry-run-stat--ok .dry-run-stat-value{color:var(--status-active)}.dry-run-stat--warn{border-color:#f6ad55}.dry-run-stat--warn .dry-run-stat-value{color:#b7791f}.dry-run-stat--err{border-color:var(--status-error)}.dry-run-stat--err .dry-run-stat-value{color:var(--status-error)}.dry-run-rows{max-height:360px;overflow-y:auto;margin-top:8px;border:1px solid var(--border);border-radius:6px}.row-action-create{background:#48bb780d}.row-action-update{background:#f6ad5514}.row-action-skip{color:var(--text-muted)}.badge-create{background:var(--status-active-bg);color:var(--status-active)}.badge-update{background:#fffbeb;color:#b7791f}.badge-skip{background:var(--bg);color:var(--text-muted)}.crm-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crm-badge--existing{background:#fef3c7;color:#92400e}.crm-badge--update{background:#dbeafe;color:#1e40af}.crm-badge--renewal{background:#ede9fe;color:#5b21b6}.crm-badge--new-customer,.crm-badge--create{background:#d1fae5;color:#065f46}.import-file-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.import-file-row{display:grid;grid-template-columns:1fr 24px 1fr auto;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;border:1px solid var(--border, #e5e7eb);background:#fff}.import-file-row--will_match,.import-file-row--matched{border-left:3px solid #16a34a}.import-file-row--will_create,.import-file-row--created{border-left:3px solid #2563eb}.import-file-row--will_skip,.import-file-row--skipped{border-left:3px solid #d1d5db;background:#f9fafb}.import-file-row--error{border-left:3px solid #dc2626;background:#fff5f5}.import-file-left{min-width:0}.import-file-name{display:block;font-family:monospace;font-size:12px;font-weight:600;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-file-error{display:block;font-size:11px;color:#dc2626;margin-top:2px}.import-file-arrow{color:#9ca3af;font-size:16px;text-align:center}.import-file-dest{min-width:0}.import-file-company{display:block;font-weight:600;font-size:13px;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-file-contract{display:block;font-size:11px;color:#6b7280;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-file-unknown{display:block;font-size:12px;color:#9ca3af;font-style:italic}.import-file-badge{flex-shrink:0}.import-preview-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:4px}.import-preview-panel{background:#f8fafc;border:1px solid var(--border, #e5e7eb);border-radius:8px;padding:14px 16px}.import-preview-panel-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;margin-bottom:10px}.import-preview-field{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:4px 0;border-bottom:1px solid #f1f5f9}.import-preview-key{font-size:12px;color:#6b7280;flex-shrink:0;text-transform:capitalize}.import-preview-val{font-size:12px;font-weight:600;color:#111827;text-align:right;font-family:monospace}.import-preview-company{font-size:15px;font-weight:700;color:#111827;margin-bottom:10px}.import-preview-strategy{font-size:11px;color:#6b7280;margin-top:8px;font-style:italic}.import-preview-nomatch{color:#dc2626;font-size:13px;font-weight:600;padding:16px 0}.import-preview-empty{color:#9ca3af;font-size:13px;font-style:italic}.crm-preview-fields{display:flex;flex-direction:column;gap:0;border:1px solid var(--border, #e5e7eb);border-radius:8px;overflow:hidden;margin-top:8px}.crm-preview-field-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 14px;border-bottom:1px solid #f1f5f9;background:#fff}.crm-preview-field-row:last-child{border-bottom:none}.crm-preview-field-row:nth-child(2n){background:#f8fafc}.crm-preview-field-label{font-size:12px;color:#6b7280;flex-shrink:0;min-width:140px}.crm-preview-field-val{font-size:13px;font-weight:600;color:#111827;text-align:right}.crm-preview-diff-row{display:grid;grid-template-columns:140px 1fr 20px 1fr;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid #f1f5f9;background:#fff}.crm-preview-diff-row:last-child{border-bottom:none}.crm-preview-diff-row:nth-child(2n){background:#f8fafc}.crm-preview-diff-old{font-size:12px;color:#9ca3af;text-decoration:line-through}.crm-preview-diff-arrow{font-size:12px;color:#9ca3af;text-align:center}.crm-preview-diff-new{font-size:13px;font-weight:600;color:#111827}.ipm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:32px}.ipm-modal{background:#fff;border-radius:14px;box-shadow:0 24px 80px #00000047;width:100%;max-width:700px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.ipm-modal--wide{max-width:1000px}.ipm-header{display:flex;align-items:center;justify-content:space-between;padding:22px 28px 18px;border-bottom:1px solid var(--border, #e5e7eb);flex-shrink:0}.ipm-title{font-size:17px;font-weight:700;color:#111827}.ipm-close{background:none;border:none;cursor:pointer;font-size:20px;color:#9ca3af;padding:0 4px;line-height:1}.ipm-close:hover{color:#374151}.ipm-body{flex:1;overflow-y:auto;padding:24px 28px;display:flex;flex-direction:column;gap:20px}.ipm-footer{display:flex;justify-content:flex-end;gap:12px;padding:18px 28px;border-top:1px solid var(--border, #e5e7eb);flex-shrink:0;background:#f9fafb}.ipg-sections{display:flex;flex-direction:column;gap:12px}.ipg-section{border:1px solid var(--border, #e5e7eb);border-radius:10px;overflow:hidden}.ipg-section-header{display:flex;align-items:center;gap:10px;padding:11px 16px;font-size:13px;font-weight:600}.ipg-section-header--ok{background:#f0fdf4;color:#15803d}.ipg-section-header--new{background:#eff6ff;color:#1d4ed8}.ipg-section-header--skip{background:#f9fafb;color:#6b7280}.ipg-section-header--err{background:#fef2f2;color:#dc2626}.ipg-section-icon{font-size:14px;font-weight:700}.ipg-section-count{margin-left:auto;background:#00000014;border-radius:10px;padding:1px 8px;font-size:12px}.ipg-section-body{padding:6px 0}.ipg-section-body--muted{padding:10px 16px}.ipg-company-group{padding:4px 0}.ipg-company-group+.ipg-company-group{border-top:1px solid var(--border)}.ipg-company-name{display:flex;align-items:center;gap:8px;padding:6px 16px 2px;font-size:12px;font-weight:600}.ipg-row{display:flex;align-items:baseline;gap:12px;padding:7px 16px;border-bottom:1px solid #f3f4f6}.ipg-row:last-child{border-bottom:none}.ipg-row--err{background:#fef2f2}.ipg-filename{font-family:monospace;font-size:12px;font-weight:600;color:#111827;flex-shrink:0;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ipg-dest{font-size:12px;color:#374151;flex:1}.ipg-unknown{color:#9ca3af;font-style:italic}.ipg-err-msg{color:#dc2626}.ipg-skip-list{font-size:12px;color:#9ca3af;line-height:1.6}.ipg-more{display:block;padding:6px 16px;font-size:11px;color:#9ca3af}.ipg-empty{color:#9ca3af;font-size:13px;font-style:italic;margin:0}.ipg-row--stacked{flex-direction:column;align-items:flex-start;gap:4px;padding:10px 16px}.ipg-row-top{display:flex;align-items:baseline;gap:12px;width:100%}.ipg-feature-tags{display:flex;flex-wrap:wrap;gap:4px;padding-left:2px;min-width:0;max-width:100%}.ipg-feature-tag{font-size:11px;font-family:monospace;background:#eff6ff;color:#1d4ed8;border-radius:4px;padding:1px 7px;border:1px solid #bfdbfe;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ipg-host-id{font-size:11px;font-family:monospace;background:#f0fdf4;color:#166534;border-radius:4px;padding:1px 7px;border:1px solid #bbf7d0;flex-shrink:0}.ipg-payment{display:flex;flex-direction:column;gap:0}.ipg-payment-section{padding:4px 0 12px}.ipg-payment-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#9ca3af;margin-bottom:12px}.ipg-payment-divider{height:1px;background:var(--border, #e5e7eb);margin:8px 0 20px}.ipg-payment-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f3f4f6}.ipg-payment-row:last-child{border-bottom:none}.ipg-payment-key{font-size:13px;color:#6b7280;text-transform:capitalize}.ipg-payment-val{font-size:13px;font-weight:600;color:#111827}.ipg-payment-match{display:flex;align-items:flex-start;gap:14px;padding:6px 0}.ipg-match-check{font-size:18px;color:#16a34a;font-weight:700;line-height:1.3}.ipg-match-company{font-size:16px;font-weight:700;color:#111827}.ipg-match-sub{font-size:12px;color:#6b7280;margin-top:3px}.ipg-nomatch{font-size:13px;color:#dc2626;font-weight:600;padding:8px 0}.ipg-excel-stats{display:flex;gap:12px;margin-bottom:4px}.ipg-excel-stat{flex:1;border-radius:10px;padding:16px;text-align:center;background:#f9fafb;border:1px solid var(--border, #e5e7eb)}.ipg-excel-stat--ok{background:#f0fdf4;border-color:#bbf7d0}.ipg-excel-stat--upd{background:#fffbeb;border-color:#fde68a}.ipg-excel-stat--err{background:#fef2f2;border-color:#fecaca}.ipg-excel-num{font-size:28px;font-weight:800;color:#111827;line-height:1}.ipg-excel-lbl{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;margin-top:5px}.crm-preview-section-title{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:700;text-transform:none;letter-spacing:.07em;color:#9ca3af;margin-bottom:10px}.crm-preview-section-title--match{color:#1d4ed8}.crm-preview-section-title--new{font-size:13px;text-transform:none;letter-spacing:0;font-weight:600;padding:10px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#15803d}.crm-preview-count{background:#e5e7eb;border-radius:10px;padding:1px 9px;font-size:11px;font-weight:600;color:#374151;letter-spacing:0;text-transform:none}.crm-match-info{font-size:13px;font-weight:600;color:#111827;text-transform:none;letter-spacing:0}.crm-match-strategy{font-size:11px;color:#9ca3af;font-weight:400;text-transform:none;letter-spacing:0;margin-left:auto}.crm-no-diff{font-size:13px;color:#6b7280;padding:10px 14px;background:#f9fafb;border-radius:8px;border:1px solid var(--border);margin:0}.crm-revenue-section{margin-top:4px}.crm-fields-table{width:100%;border-collapse:collapse;border:1px solid var(--border, #e5e7eb);border-radius:8px;overflow:hidden;font-size:13px}.crm-fields-table tr{border-bottom:1px solid #f3f4f6}.crm-fields-table tr:last-child{border-bottom:none}.crm-ft-label{width:18%;padding:8px 14px;font-size:11px;color:#9ca3af;font-weight:500;white-space:nowrap;background:#fafafa;border-right:1px solid #f3f4f6}.crm-ft-value{width:32%;padding:8px 14px;font-weight:600;color:#111827;border-right:1px solid #f3f4f6;word-break:break-word}.crm-ft-value:last-child{border-right:none}.crm-ft-empty{color:#d1d5db;font-weight:400}.crm-diff-table{border-color:#fde68a;background:#fffbeb}.crm-diff-table .crm-ft-label{background:#fffbeb;border-color:#fef3c7}.crm-diff-table thead .crm-ft-label{color:#92400e;font-weight:700}.crm-diff-old{width:32%;padding:8px 14px;color:#9ca3af;text-decoration:line-through;font-size:13px;border-right:1px solid #fef3c7}.crm-diff-new{width:32%;padding:8px 14px;font-weight:700;color:#92400e;font-size:13px}.ipg-feature-more{background:transparent;border-style:dashed;color:var(--text-muted);cursor:help}.ipg-filename-link{color:var(--primary);text-decoration:none;cursor:pointer}.ipg-filename-link:hover{text-decoration:underline}.dashboard-tables{display:grid;grid-template-columns:1fr 1fr;gap:24px}.dash-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.dash-header-left{display:flex;align-items:center;gap:12px}.dash-alerts{display:flex;gap:6px}.dash-alert{font-size:11px;font-weight:600;padding:2px 8px;border-radius:3px}.dash-alert-warn{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.dash-alert-danger{background:var(--status-error-bg);color:var(--status-error);border:1px solid #fecaca}.dash-filter{min-width:220px}.dash-section-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.dash-section-label{font-size:13px;font-weight:600;color:var(--text)}.dash-count{font-size:11px;font-weight:700;padding:1px 7px;border-radius:10px}.dash-count-warn{background:#fffbeb;color:#b45309}.dash-count-danger{background:var(--status-error-bg);color:var(--status-error)}.dash-empty{color:var(--text-muted);font-size:13px;padding:20px 0}.urgent-title{font-size:13px;font-weight:600;margin-bottom:10px}.urgent-title span{font-weight:400;color:var(--text-muted);margin-left:4px}.urgent-warn{color:var(--status-sent)}.urgent-danger{color:var(--status-error)}.churn-table{width:100%;border-collapse:collapse;font-size:13px}.churn-table th,.churn-table td{padding:8px 12px;border:1px solid var(--border, #e5e7eb)}.churn-group-header{text-align:center;font-weight:700;font-size:11px;padding:6px}.churn-group-clients{background:#eff6ff;color:#1d4ed8}.churn-group-contracts{background:#f0fdf4;color:#15803d}.churn-group-arr{background:#fef3c7;color:#92400e}.churn-sub{font-size:11px;color:var(--text-muted, #6b7280);font-weight:500;background:#fafafa}.churn-loss-cell{white-space:nowrap}.churn-pct{font-size:11px;color:var(--text-muted, #9ca3af)}.td-loss{color:#dc2626;font-weight:600}.td-arr-loss{color:#b45309;font-weight:600}.churn-total-row td{background:#f8fafc;font-weight:700;border-top:2px solid var(--border, #e5e7eb)}@media(max-width:900px){.dashboard-tables{grid-template-columns:1fr}.customer-report-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}}@media(max-width:980px){.payment-add-row{grid-template-columns:1fr 1fr}}@media(max-width:960px){.detail-two-col{grid-template-columns:1fr}}@media(max-width:760px){.main{padding:22px 18px}.page-header,.page-header--tight{align-items:flex-start;flex-wrap:wrap}.header-actions{width:100%;margin-left:0;justify-content:flex-start}.header-danger-actions{width:100%;justify-content:flex-start}.workflow-rail{grid-template-columns:repeat(2,1fr)}.action-panel-main{flex-direction:column}.action-panel-buttons{justify-content:flex-start;min-width:0;width:100%}.workflow-section-grid{grid-template-columns:1fr}.option-row-wide{flex-direction:column;align-items:flex-start}.option-row-side{width:100%;justify-content:space-between}}@media(max-width:600px){.import-preview-2col{grid-template-columns:1fr}}@media(min-width:1700px){.main{padding:32px 48px}.detail-two-col{grid-template-columns:1fr 420px;gap:24px}.detail-grid,.form-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.import-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.ipg-filename{max-width:380px}.ipm-modal{max-width:860px}.ipm-modal--wide{max-width:1280px}.modal-panel{width:min(720px,90vw)}.modal-panel--wide{width:min(1200px,95vw)}.dashboard-tables{gap:32px}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media(min-width:2200px){body{font-size:15px}.main{padding:36px 64px}.ipm-modal--wide{max-width:1520px}.detail-two-col{grid-template-columns:1fr 480px}}.creator .adv-toggle{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:6px 0;background:none;border:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--primary)}.creator .adv-toggle:hover{color:var(--primary-hover)}.creator .adv-toggle:focus-visible{outline:2px solid var(--primary-mid);outline-offset:3px}.creator .adv-caret{display:inline-block;width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:6px solid currentColor;transition:transform .12s ease}.creator .adv-caret.is-open{transform:rotate(90deg)}.creator .adv-body{margin-top:10px;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.creator .adv-hint{font-size:12px;color:var(--text-muted);margin-top:8px}.creator .choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-top:4px}.creator .choice-card{text-align:left;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer;transition:border-color .12s ease,background .12s ease}.creator .choice-card:hover{border-color:var(--border-strong)}.creator .choice-card:focus-visible{outline:2px solid var(--primary-mid);outline-offset:2px}.creator .choice-card.is-active{border-color:var(--primary);background:var(--primary-light)}.creator .choice-card-title{font-weight:600;color:var(--text)}.creator .choice-card-desc{font-size:12px;color:var(--text-muted);margin-top:3px;line-height:1.35}@media(prefers-reduced-motion:reduce){.creator .choice-card,.creator .adv-caret{transition:none}}
