.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0d1b2e,#1e73be);padding:20px}.login-page.loading{background:#f5f5f5}.login-card{background:#fff;padding:48px;border-radius:12px;box-shadow:0 20px 60px #00000026;text-align:center;max-width:420px;width:100%}.login-brand-logo{height:36px;width:auto;display:block;margin:0 auto 8px}.login-app-name{font-size:26px;font-weight:800;color:#1e73be;letter-spacing:-.02em;margin:0 0 6px}.login-header p{font-size:15px;color:#666;margin:0 0 32px}.google-signin-btn{display:inline-flex;align-items:center;gap:12px;padding:12px 28px;background:#fff;border:1px solid #dadce0;border-radius:6px;font-size:15px;font-weight:600;color:#3c4043;cursor:pointer;transition:all .2s;width:100%;justify-content:center}.google-signin-btn:hover{background:#f8f9fa;box-shadow:0 2px 8px #0000001a}.google-signin-btn:active{transform:scale(.98)}.login-note{font-size:12px;color:#999;margin-top:24px}.msd-group{display:flex;flex-direction:column;gap:6px;min-width:160px;position:relative}.msd-label{font-size:11px;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.5px}.msd-trigger{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border:1px solid #ccc;border-radius:4px;background:#fff;font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none;gap:6px;min-height:34px}.msd-trigger:hover{border-color:#1e73be}.msd-trigger--open{border-color:#1e73be;box-shadow:0 0 0 2px #1e73be26}.msd-trigger--active{background:#f0f7ff;border-color:#1e73be}.msd-trigger-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#333}.msd-trigger-icons{display:flex;align-items:center;gap:4px;flex-shrink:0}.msd-clear{font-size:16px;line-height:1;color:#999;cursor:pointer;padding:0 2px}.msd-clear:hover{color:#333}.msd-chevron{font-size:9px;color:#888}.msd-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;max-width:280px;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 4px 12px #0000001f;z-index:200;max-height:260px;overflow-y:auto}.msd-option{display:flex;align-items:center;gap:8px;padding:7px 10px;cursor:pointer;font-size:13px;color:#333}.msd-option:hover{background:#f5f8ff}.msd-option input[type=checkbox]{width:14px;height:14px;flex-shrink:0;cursor:pointer;accent-color:#1e73be}.msd-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msd-empty{padding:10px;color:#999;font-size:13px;text-align:center}.filter-toolbar{background:#fff;border-bottom:1px solid #e0e0e0;padding:16px;margin-bottom:16px}.filter-row{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}.filter-row--dates{margin-top:10px;padding-top:10px;border-top:1px solid #f0f0f0}.date-field-select{padding:7px 10px;border:1px solid #ccc;border-radius:4px;font-size:13px;background:#fff;min-width:180px;cursor:pointer}.date-field-select:focus{outline:none;border-color:#1e73be;box-shadow:0 0 0 2px #1e73be1a}.filter-group{display:flex;flex-direction:column;gap:6px;min-width:180px}.filter-group label{font-size:12px;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.5px}.filter-group input[type=text],.filter-group select{padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px;background:#fff}.filter-group input[type=text]:focus,.filter-group select:focus{outline:none;border-color:#1e73be;box-shadow:0 0 0 2px #1e73be1a}.search-input{min-width:300px}.checkbox-label{display:flex;align-items:center;gap:8px;font-weight:400;font-size:13px;cursor:pointer;padding:8px 0;white-space:nowrap}.checkbox-label input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:#1e73be}.filter-group--clear{justify-content:flex-end}.clear-filters-btn{padding:7px 14px;background:#fff;border:1px solid #ccc;border-radius:4px;font-size:13px;cursor:pointer;color:#555;white-space:nowrap}.clear-filters-btn:hover{background:#fafafa;border-color:#1e73be;color:#1e73be}@media (max-width: 1200px){.search-input{min-width:200px}}@media (max-width: 768px){.filter-row{flex-direction:column;align-items:stretch}.filter-group,.search-input{min-width:100%}}.risk-badge-wrap{position:relative;display:inline-flex}.risk-badge{display:inline-flex;align-items:center;gap:4px;border:none;border-radius:12px;padding:3px 8px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap;transition:filter .15s;line-height:1.4}.risk-badge:hover{filter:brightness(.92)}.risk-badge.risk-compact{padding:3px 5px}.risk-critical{background:#fee2e2;color:#b91c1c}.risk-high{background:#ffedd5;color:#c2410c}.risk-medium{background:#fef9c3;color:#a16207}.risk-low{background:#dcfce7;color:#15803d}.risk-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.risk-critical .risk-dot{background:#ef4444}.risk-high .risk-dot{background:#f97316}.risk-medium .risk-dot{background:#eab308}.risk-low .risk-dot{background:#22c55e}.risk-score{font-size:10px;opacity:.7;margin-left:2px}.risk-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:200;background:#1f2937;border:1px solid #374151;border-radius:8px;padding:10px 12px;min-width:220px;box-shadow:0 8px 24px #0003}.risk-popover-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#9ca3af;margin-bottom:6px}.risk-popover-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.risk-popover-list li{font-size:12px;color:#f3f4f6;padding-left:12px;position:relative;line-height:1.4}.risk-popover-list li:before{content:"·";position:absolute;left:2px;color:#6b7280}.deal-row{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.deal-row:hover{background:#fafafa}.deal-row.stale{background:#fff8e6}.deal-row.stale:hover{background:#fff0cc}.deal-row.saving td{opacity:.8}.deal-row td{padding:12px 16px;vertical-align:middle;font-size:14px}.crm-cell{background:#f8f9fa;color:#495057;font-weight:500;border-right:1px solid #e9ecef}.team-cell{background:#fff}.team-cell.editable:hover{background:#f8f9fa}.team-cell input[type=text],.team-cell input[type=number],.team-cell input[type=date],.team-cell select,.team-cell textarea{width:100%;padding:6px 10px;border:1px solid #ced4da;border-radius:4px;font-size:14px;font-family:inherit;background:#fff;transition:border-color .2s,box-shadow .2s}.team-cell input[type=text]:focus,.team-cell input[type=number]:focus,.team-cell input[type=date]:focus,.team-cell select:focus,.team-cell textarea:focus{outline:none;border-color:#1e73be;box-shadow:0 0 0 2px #1e73be26}.team-cell input[type=number]::-webkit-inner-spin-button{opacity:1}.team-cell input:disabled{background:#f8f9fa;color:#6c757d;cursor:not-allowed}.team-cell textarea{resize:vertical;min-height:44px;max-height:120px}.remarks-cell-inner{display:flex;align-items:flex-start;gap:4px}.remarks-cell-inner textarea{flex:1;min-height:44px;max-height:80px}.remarks-text{flex:1}.remarks-history-btn{flex-shrink:0;background:none;border:none;cursor:pointer;font-size:13px;padding:2px 3px;border-radius:4px;opacity:.45;line-height:1;margin-top:2px;transition:opacity .15s,background .15s}.remarks-history-btn:hover{opacity:1;background:#e8f0fe}.rh-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:200;display:flex;align-items:center;justify-content:center}.rh-modal{background:#fff;border-radius:12px;box-shadow:0 12px 40px #0003;width:520px;max-width:95vw;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.rh-header{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid #f0f0f0}.rh-title{font-size:1rem;font-weight:700;color:#111827}.rh-sub{font-size:.8rem;color:#6b7280;margin-top:2px}.rh-close{background:none;border:none;font-size:1rem;cursor:pointer;color:#6b7280;padding:2px 6px;border-radius:4px}.rh-close:hover{background:#f3f4f6}.rh-loading,.rh-empty{padding:32px 20px;text-align:center;color:#9ca3af;font-size:.875rem}.rh-error{padding:14px 20px;background:#fef2f2;color:#dc2626;font-size:.8rem}.rh-timeline{list-style:none;margin:0;padding:12px 20px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:0}.rh-entry{position:relative;padding:12px 0 12px 22px;border-left:2px solid #e5e7eb}.rh-entry:last-child{border-left-color:transparent}.rh-entry-latest{border-left-color:#2563eb}.rh-dot{position:absolute;left:-5px;top:16px;width:8px;height:8px;border-radius:50%;background:#d1d5db;border:2px solid #fff}.rh-entry-latest .rh-dot{background:#2563eb;width:10px;height:10px;left:-6px}.rh-entry-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:6px}.rh-who{font-size:.82rem;font-weight:700;color:#1d4ed8}.rh-when{font-size:.78rem;color:#6b7280;font-weight:500}.rh-badge-latest{font-size:.65rem;font-weight:700;background:#eff6ff;color:#2563eb;padding:1px 7px;border-radius:10px;text-transform:uppercase;letter-spacing:.04em}.rh-new{font-size:.875rem;color:#111827;white-space:pre-wrap;line-height:1.5}.rh-old{margin-top:5px;font-size:.75rem;color:#9ca3af;white-space:pre-wrap}.rh-old-label{font-weight:600;color:#d1d5db}.rh-cleared{color:#d1d5db;font-style:italic}.rh-edit-section{padding:14px 20px;border-bottom:1px solid #f0f0f0}.rh-textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;font-family:inherit;resize:vertical;outline:none;transition:border-color .15s;line-height:1.5;color:#111827}.rh-textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.rh-textarea[readonly]{background:#f9fafb;color:#6b7280;cursor:default}.rh-edit-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:8px}.rh-saved-msg{font-size:.78rem;color:#16a34a;font-weight:600;margin-right:auto}.rh-save-error{font-size:.78rem;color:#dc2626;margin-right:auto}.rh-btn-primary{padding:6px 18px;background:#2563eb;color:#fff;border:none;border-radius:6px;font-size:.825rem;font-weight:600;cursor:pointer;transition:background .15s}.rh-btn-primary:hover:not(:disabled){background:#1d4ed8}.rh-btn-primary:disabled{opacity:.45;cursor:default}.rh-btn-secondary{padding:6px 14px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:.825rem;font-weight:500;cursor:pointer}.rh-btn-secondary:hover{background:#f9fafb}.rh-history-label{padding:12px 20px 4px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#9ca3af}.remarks-cell textarea{min-height:44px;max-height:80px}.deal-name-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.updated-cell{font-size:12px;color:#6c757d;white-space:nowrap}.updated-by-cell{font-size:12px;color:#495057;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.error-cell{padding:4px 8px}.error-badge{display:inline-block;padding:2px 8px;background:#fee;color:#c00;border-radius:4px;font-size:11px;font-weight:600}select.select{cursor:pointer}select.select:disabled{cursor:not-allowed;opacity:.6}.owner-select-row select,.owner-add-row input{width:100%;padding:5px 7px;border:1px solid #ccc;border-radius:4px;font-size:13px;background:#fff;cursor:pointer}.owner-add-row{display:flex;gap:4px;align-items:center}.owner-add-row input{flex:1;cursor:text}.owner-add-cancel{padding:4px 7px;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer;font-size:15px;line-height:1;color:#888;flex-shrink:0}.owner-add-cancel:hover{color:#333;border-color:#999}.sr-select{position:relative}.sr-trigger{display:flex;align-items:center;justify-content:space-between;padding:5px 8px;border:1px solid #ccc;border-radius:4px;background:#fff;font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:30px;gap:4px}.sr-trigger:hover{border-color:#1e73be}.sr-trigger--open{border-color:#1e73be;box-shadow:0 0 0 2px #1e73be26}.sr-trigger--active{background:#f0f7ff;border-color:#1e73be}.sr-trigger-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#333}.sr-chevron{font-size:8px;color:#888;flex-shrink:0}.sr-dropdown{position:absolute;top:calc(100% + 3px);left:0;min-width:200px;max-width:280px;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 4px 12px #0000001f;z-index:300;max-height:240px;overflow-y:auto}.sr-option{display:flex;align-items:center;gap:7px;padding:6px 10px;cursor:pointer;font-size:12px;color:#333}.sr-option:hover{background:#f5f8ff}.sr-option input[type=checkbox]{width:13px;height:13px;flex-shrink:0;accent-color:#1e73be}.sr-add-row{display:flex;gap:4px;padding:6px 8px;border-top:1px solid #f0f0f0}.sr-add-row input{flex:1;padding:4px 6px;border:1px solid #ccc;border-radius:3px;font-size:12px}.sr-add-cancel{padding:3px 6px;border:1px solid #ccc;border-radius:3px;background:#fff;cursor:pointer;font-size:13px;color:#888}.sr-add-cancel:hover{color:#333}.sr-add-btn{display:block;width:100%;padding:7px 10px;text-align:left;background:none;border:none;border-top:1px solid #f0f0f0;font-size:12px;color:#1e73be;cursor:pointer}.sr-add-btn:hover{background:#f5f8ff}.status-reason-cell{min-width:140px}.sync-status-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000d;margin-bottom:16px;flex-wrap:wrap;gap:12px}.sync-status-left{display:flex;flex-direction:column;gap:8px}.sync-status-info{display:flex;align-items:center;gap:8px}.sync-status-label{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.sync-status-time{font-size:14px;color:#495057;display:flex;align-items:center;gap:6px}.sync-time-relative{font-weight:600;color:#212529}.sync-time-absolute{font-size:12px;color:#6c757d;font-weight:400}.syncing-spinner{width:12px;height:12px;border:2px solid #e0e0e0;border-top-color:#1e73be;border-radius:50%;animation:spin 1s linear infinite}.sync-error-banner{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;font-size:12px;color:#856404}.sync-error-icon{font-size:14px}.sync-last-success{margin-left:auto;color:#666}.sync-now-btn{padding:8px 20px;background:#1e73be;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.sync-now-btn:hover:not(:disabled){background:#1660a8;transform:translateY(-1px);box-shadow:0 2px 8px #1e73be4d}.sync-now-btn:disabled{opacity:.6;cursor:not-allowed}.sync-now-btn.syncing{background:#6c757d}.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;margin-right:6px;vertical-align:middle}.sync-result-toast{position:absolute;top:calc(100% + 8px);right:0;padding:10px 16px;border-radius:6px;font-size:13px;font-weight:500;z-index:100;animation:slideIn .3s ease}.sync-result-toast.success{background:#d4edda;color:#155724}.sync-result-toast.error{background:#f8d7da;color:#721c24}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.sync-status-bar{flex-direction:column;align-items:stretch}.sync-now-btn{width:100%}}.quick-filters{display:flex;align-items:center;gap:12px;padding:10px 0 4px;flex-wrap:wrap}.quick-filters-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.quick-filter-chips{display:flex;gap:6px;flex-wrap:wrap}.quick-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:20px;border:1px solid var(--border);background:#fff;font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap}.quick-chip:hover{border-color:#1e73be;color:#1e73be;background:#1e73be0d}.quick-chip.active{background:#1e73be;border-color:#1e73be;color:#fff;font-weight:600}.quick-chip.empty{opacity:.45;cursor:default}.quick-chip.empty:hover{border-color:var(--border);color:var(--text-secondary);background:#fff}.quick-chip-icon{font-size:13px}.quick-chip-count{font-size:11px;font-weight:700;background:#00000014;border-radius:8px;padding:0 5px;min-width:18px;text-align:center}.quick-chip.active .quick-chip-count{background:#ffffff40}.saved-views{position:relative;display:inline-flex;flex-direction:column;gap:0}.saved-views-row{display:flex;gap:6px;align-items:center}.sv-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;background:#fff;border:1px solid var(--border);border-radius:6px;font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap}.sv-btn:hover{border-color:#1e73be;color:#1e73be}.sv-btn.sv-save{color:#1e73be;border-color:#1e73be4d;background:#1e73be0d}.sv-btn.sv-save:hover{background:#1e73be;color:#fff}.sv-count{font-size:10px;font-weight:700;background:#1e73be;color:#fff;border-radius:8px;padding:0 5px}.sv-caret{font-size:9px;opacity:.6}.sv-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:150;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000001f;min-width:280px;max-width:340px;padding:8px 0}.sv-name-row{display:flex;gap:6px;align-items:center;padding:6px 10px 8px;border-bottom:1px solid var(--border)}.sv-name-input{flex:1;border:1px solid var(--border);border-radius:5px;padding:5px 8px;font-size:12px;outline:none}.sv-name-input:focus{border-color:#1e73be}.sv-confirm{background:#1e73be;color:#fff;border:none;border-radius:5px;padding:5px 10px;font-size:12px;font-weight:600;cursor:pointer}.sv-cancel{background:none;border:none;color:var(--text-muted);font-size:14px;cursor:pointer;padding:2px 4px}.sv-empty{font-size:12px;color:var(--text-muted);padding:12px 14px;margin:0;line-height:1.5}.sv-item{display:flex;align-items:center;gap:0;padding:2px 6px}.sv-load{flex:1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;background:none;border:none;border-radius:5px;cursor:pointer;text-align:left;transition:background .12s}.sv-load:hover{background:var(--bg-tertiary)}.sv-item-name{font-size:13px;font-weight:500;color:var(--text-primary)}.sv-item-date{font-size:10px;color:var(--text-muted);white-space:nowrap}.sv-delete{background:none;border:none;color:var(--text-muted);font-size:12px;padding:4px 6px;cursor:pointer;border-radius:4px;transition:all .12s;flex-shrink:0}.sv-delete:hover{background:#fee2e2;color:#dc2626}.deal-grid-container{padding:24px;min-height:100vh;background:#f5f5f5}.deal-grid-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:16px}.header-right{display:flex;align-items:center;gap:12px;margin-left:auto}.user-info{display:flex;align-items:center;gap:8px}.user-name{font-size:13px;color:var(--text-secondary);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{background:none;border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:12px;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.logout-btn:hover{background:var(--danger);border-color:var(--danger);color:#fff}.deal-grid-header h1{font-size:24px;font-weight:700;color:#1a1a1a;margin:0}.header-left{display:flex;align-items:center;gap:16px}.ck-header-logo{height:28px;width:auto;display:block}.ck-header-appname{font-size:20px;font-weight:900;background:linear-gradient(90deg,#1e73be,#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em;white-space:nowrap;line-height:1}.nav-link-btn{display:inline-flex;align-items:center;gap:5px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:20px;padding:5px 14px;font-size:13px;font-weight:500;color:var(--text-secondary);text-decoration:none;transition:all .15s ease}.nav-link-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.deal-grid-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 16px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000d}.deal-grid-summary span{font-size:14px;color:#666;font-weight:500}.clear-filters{padding:6px 14px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;font-size:13px;color:#495057;cursor:pointer;transition:all .2s}.clear-filters:hover{background:#e9ecef}.deal-grid-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000d;overflow-x:auto}.deal-grid-table{width:100%;border-collapse:collapse;min-width:1600px}.col-crm-id{width:100px;min-width:100px;max-width:100px}.col-apn{width:120px;min-width:120px;max-width:120px}.col-owner{width:150px;min-width:150px;max-width:150px}.col-customer{width:170px;min-width:170px;max-width:170px}.col-deal-name{width:200px;min-width:200px;max-width:200px}.frozen{position:sticky;z-index:2}.frozen-1{left:0}.frozen-2{left:100px}.frozen-3{left:220px}.frozen-4{left:370px}.frozen-5{left:540px}.frozen-last{box-shadow:4px 0 8px -2px #0000001f}.deal-grid-table thead th.frozen{z-index:3}.deal-grid-table thead th{position:sticky;top:0;background:#f8f9fa;padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#495057;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #dee2e6;white-space:nowrap}.deal-grid-table tbody tr td.frozen{background:#fff}.deal-grid-table tbody tr:hover td.frozen{background:#fafafa}.deal-grid-table tbody tr.stale td.frozen{background:#fff8e6}.deal-grid-table tbody tr.stale:hover td.frozen{background:#fff0cc}.deal-grid-table tbody td{padding:0;border-bottom:1px solid #e0e0e0}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;color:#666}.loading-container p{margin-top:16px;font-size:14px}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;text-align:center}.error-container p{color:#dc3545;margin-bottom:16px}.error-container button{padding:10px 24px;background:#dc3545;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .2s}.error-container button:hover{background:#c82333}.saved-views-bar{padding:6px 0 2px}.quick-filters-bar{padding:0 0 4px}.export-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;background:#fff;border:1px solid var(--border);border-radius:6px;font-size:12px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap}.export-btn:hover{background:#1e73be;border-color:#1e73be;color:#fff}.col-risk{width:90px;min-width:90px}.risk-cell{padding:6px 10px!important}.deal-grid-table th.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none}.deal-grid-table th.sortable-th:hover{background:#eff1f3;color:#212529}.deal-grid-table th.sort-active{color:#1e73be}.sort-indicator{margin-left:3px;font-size:10px;opacity:.6}.deal-grid-table th.sort-active .sort-indicator{opacity:1}.deal-grid-table tfoot td{font-weight:700;border-top:2px solid #dee2e6;background:#f8f9fa;padding:10px 16px;white-space:nowrap}.deal-grid-footer-sum{color:#1e73be;font-weight:700;font-variant-numeric:tabular-nums}@media (max-width: 768px){.deal-grid-container{padding:12px}.deal-grid-header{flex-direction:column}.deal-grid-summary{flex-direction:column;align-items:stretch;gap:12px}}.admin-page{min-height:100vh;background:var(--bg-primary)}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:20px 28px 0}.admin-header-left{display:flex;align-items:center;gap:16px}.admin-back{font-size:13px;color:var(--text-muted);text-decoration:none}.admin-back:hover{color:var(--accent)}.admin-header h1{font-size:22px;font-weight:700;color:var(--text-primary);margin:0}.admin-tabs{display:flex;gap:0;padding:16px 28px 0;border-bottom:2px solid var(--border);margin-bottom:0}.admin-tab{background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;padding:8px 20px 10px;font-size:14px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s}.admin-tab:hover{color:var(--text-primary)}.admin-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.admin-content{padding:20px 28px 40px}.tab-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:16px}.toolbar-actions{display:flex;gap:8px}.tab-count{font-size:13px;color:var(--text-muted)}.audit-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sync-stats{display:flex;align-items:center;gap:8px}.admin-btn{padding:7px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .15s ease}.admin-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.admin-btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.admin-btn.secondary{background:var(--bg-secondary);color:var(--text-secondary);border-color:var(--border)}.admin-btn.secondary:hover:not(:disabled){background:var(--bg-tertiary)}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn.danger{background:#dc35451a;color:var(--danger);border-color:#dc35454d}.admin-btn.danger:hover:not(:disabled){background:var(--danger);color:#fff;border-color:var(--danger)}.admin-btn.small{padding:4px 10px;font-size:12px}.admin-input{padding:7px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg-secondary);color:var(--text-primary);min-width:200px;transition:border-color .15s}.admin-input:focus{outline:none;border-color:var(--accent)}.admin-toast{padding:10px 16px;border-radius:6px;font-size:13px;font-weight:500;margin-bottom:14px}.admin-toast.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.admin-toast.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.admin-loading{display:flex;flex-direction:column;align-items:center;padding:60px;color:var(--text-muted);gap:12px;font-size:13px}.admin-table-wrap{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);overflow:auto}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table thead th{background:var(--bg-tertiary);padding:10px 14px;text-align:left;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border);white-space:nowrap}.admin-table tbody td{padding:11px 14px;border-bottom:1px solid var(--border-light);color:var(--text-primary);vertical-align:middle}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover td{background:var(--bg-tertiary)}.admin-table tbody tr.highlight-row td{background:#1e73be0f}.empty-cell{text-align:center;color:var(--text-muted);padding:40px!important}.mono-cell{font-family:SFMono-Regular,monospace;font-size:12px;white-space:nowrap;color:var(--text-secondary)}.num-cell{font-variant-numeric:tabular-nums;text-align:right}.error-cell{color:var(--danger);font-weight:600;text-align:right}.email-cell{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deal-cell{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.old-value{color:var(--danger);max-width:200px;word-break:break-all;font-size:12px}.new-value{color:#10b981;max-width:200px;word-break:break-all;font-size:12px;font-weight:500}.you-badge{display:inline-block;font-size:10px;font-weight:700;background:#1e73be26;color:var(--accent);border-radius:8px;padding:1px 6px;margin-left:6px;vertical-align:middle}.status-badge{display:inline-block;font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;white-space:nowrap}.status-badge.ok{background:#10b9811f;color:#10b981}.status-badge.fail{background:#dc35451f;color:var(--danger)}.status-badge.pending{background:#f59e0b1f;color:#d97706}.stat-pill{display:inline-block;font-size:12px;font-weight:600;padding:3px 10px;border-radius:10px}.stat-pill.success{background:#10b9811f;color:#10b981}.stat-pill.error{background:#dc35451f;color:var(--danger)}.sync-section-header{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:12px 0 6px;border-bottom:2px solid var(--border);margin-bottom:8px}.sync-section-icon{font-size:16px}.field-badge{display:inline-block;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;padding:2px 7px;font-size:11px;white-space:nowrap}.log-errors summary{cursor:pointer;font-size:12px;color:var(--danger);font-weight:500}.log-errors ul{margin:6px 0 0 16px;padding:0;font-size:11px;color:var(--text-secondary);max-width:400px;word-break:break-word}.log-errors li{margin-bottom:2px}.admin-table select{padding:5px 10px;border:1px solid var(--border);border-radius:4px;font-size:13px;background:var(--bg-secondary);cursor:pointer;min-width:110px}.admin-table select:disabled{background:var(--bg-tertiary);cursor:not-allowed;opacity:.6}.updating-spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-left:8px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.not-authorized{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;color:var(--text-muted)}.not-authorized h1{font-size:26px;margin-bottom:10px;color:var(--text-primary)}.user-counts{display:flex;align-items:center;gap:10px}.tab-count.muted{color:#d97706}.text-muted{color:var(--text-muted);font-style:italic;font-size:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}.modal-box{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;box-shadow:0 20px 60px #00000040;width:100%;max-width:480px;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border)}.modal-header h2{font-size:17px;font-weight:700;color:var(--text-primary);margin:0}.modal-close{background:none;border:none;font-size:16px;color:var(--text-muted);cursor:pointer;padding:4px 8px;border-radius:4px;line-height:1}.modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.invite-form{padding:20px 24px 24px;display:flex;flex-direction:column;gap:16px}.form-label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--text-secondary)}.form-label .admin-input,.form-label .admin-select{margin-top:2px;width:100%;box-sizing:border-box}.admin-select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:border-color .15s}.admin-select:focus{outline:none;border-color:var(--accent)}.form-required{color:var(--danger)}.form-hint{font-size:11px;font-weight:400;color:var(--text-muted)}.form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.permissions-info{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:14px 18px;margin-bottom:16px;font-size:13px;color:var(--text-secondary);line-height:1.55}.permissions-table .perm-area-col{width:40%}.permissions-table .perm-role-col{width:20%;text-align:center}.permissions-table thead .viewer-col{color:#6c757d}.permissions-table thead .editor-col{color:#10b981}.permissions-table thead .admin-col{color:#1e73be}.perm-area{font-size:13px;color:var(--text-secondary)}.perm-yes{text-align:center;color:#10b981;font-weight:600;font-size:12px}.perm-no{text-align:center;color:var(--text-muted);font-size:12px}.permissions-table tr.group-start td{border-top:2px solid var(--border)}.permissions-note{margin-top:16px;font-size:12px;color:var(--text-muted);padding:10px 14px;background:var(--bg-tertiary);border-radius:6px;border-left:3px solid var(--accent)}.inputs-tab{display:flex;flex-direction:column;gap:32px}.inputs-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:22px 24px}.inputs-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.inputs-section-title{font-size:15px;font-weight:700;color:var(--text-primary);margin:0 0 5px}.inputs-section-desc{font-size:12px;color:var(--text-muted);margin:0;max-width:560px;line-height:1.55}.inputs-section-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.target-group{margin-bottom:18px}.target-group:last-child{margin-bottom:0}.target-group-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px;padding-left:2px}.target-empty{font-size:12px;color:var(--text-muted);font-style:italic;padding:10px 0}.target-name{font-weight:600;color:var(--text-primary)}.target-quota{font-weight:700;font-variant-numeric:tabular-nums;color:#1e73be}.target-notes{font-size:12px;color:var(--text-muted);max-width:240px}.target-actions{display:flex;gap:6px;white-space:nowrap}.inputs-add-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:18px}.member-groups{display:flex;flex-direction:column;gap:16px}.member-role-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px}.member-role-badge.presales{background:#1e73be1f;color:#1e73be}.member-role-badge.delivery{background:#10b9811f;color:#10b981}.reason-chips{display:flex;flex-wrap:wrap;gap:8px}.reason-chip{display:inline-flex;align-items:center;gap:5px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:14px;padding:4px 10px 4px 12px;font-size:12px;color:var(--text-secondary)}.reason-chip-remove{background:none;border:none;font-size:14px;line-height:1;color:var(--text-muted);cursor:pointer;padding:0 2px;border-radius:50%;transition:color .15s,background .15s}.reason-chip-remove:hover{color:var(--danger);background:#dc35451a}.owner-autocomplete{position:relative}.owner-autocomplete .admin-input{width:100%;box-sizing:border-box}.owner-suggestions{position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;box-shadow:0 6px 20px #0000001f;list-style:none;margin:0;padding:4px 0;z-index:300;max-height:220px;overflow-y:auto}.owner-suggestion-item{padding:8px 14px;font-size:13px;color:var(--text-primary);cursor:pointer;transition:background .1s}.owner-suggestion-item:hover{background:#1e73be14;color:var(--accent)}.owner-suggestions-empty{padding:8px 14px;font-size:12px;color:var(--text-muted);font-style:italic}.releases-tab{padding-bottom:40px}.releases-list{display:flex;flex-direction:column;gap:24px;padding:0 28px}.release-card{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden}.release-card-header{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.release-version-badge{font-size:13px;font-weight:800;font-family:SFMono-Regular,Consolas,monospace;background:#1e73be;color:#fff;padding:4px 12px;border-radius:20px;white-space:nowrap;flex-shrink:0}.release-header-text{display:flex;flex-direction:column;gap:2px}.release-title{font-size:15px;font-weight:700;color:var(--text-primary)}.release-date{font-size:12px;color:var(--text-muted)}.release-changes{list-style:none;margin:0;padding:14px 20px;display:flex;flex-direction:column;gap:10px}.release-change-item{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--text-secondary);line-height:1.55}.rn-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:10px;white-space:nowrap;flex-shrink:0;margin-top:2px}.rn-tag--feat{background:#10b9811f;color:#059669}.rn-tag--fix{background:#ef44441f;color:#dc2626}.rn-tag--ux{background:#8b5cf61f;color:#7c3aed}.rn-tag--infra{background:#3b82f61f;color:#1d4ed8}.release-change-text{flex:1}@media (max-width: 768px){.admin-header,.admin-content{padding-left:16px;padding-right:16px}.admin-tabs{padding-left:16px;overflow-x:auto}.admin-tab{white-space:nowrap}.admin-input{min-width:140px}.permissions-table .perm-area-col{width:50%}.permissions-table .perm-role-col{width:16%}}.dashboard{padding:20px 24px 40px;max-width:1600px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.dash-header{margin-bottom:4px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.dash-header-text{display:flex;flex-direction:column;gap:4px}.dash-title{font-size:22px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.dash-sub{font-size:13px;color:var(--text-muted);margin:0}.kpi-row{display:flex;gap:14px;flex-wrap:wrap}.kpi-card{flex:1;min-width:140px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;display:flex;flex-direction:column;gap:4px;transition:box-shadow .15s ease;position:relative}.kpi-card:hover{box-shadow:0 2px 12px #00000012}.kpi-tooltip-icon{position:absolute;top:8px;right:10px;width:16px;height:16px;border-radius:50%;background:var(--border);color:var(--text-muted);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:default;line-height:1;-webkit-user-select:none;user-select:none}.kpi-tooltip-bubble{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#1e293b;color:#f1f5f9;font-size:12px;line-height:1.5;padding:9px 12px;border-radius:8px;width:220px;box-shadow:0 4px 16px #00000038;z-index:100;pointer-events:none;white-space:normal;text-align:left}.kpi-tooltip-bubble:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1e293b}.kpi-card:hover .kpi-tooltip-bubble{display:block}.kpi-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.kpi-value{font-size:24px;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-sub{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-row{display:flex;gap:16px;flex-wrap:wrap}.chart-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;min-width:0;overflow:hidden;transition:box-shadow .15s ease}.chart-card:hover{box-shadow:0 2px 12px #0000000f}.chart-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chart-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:4px;flex-wrap:wrap}.chart-hint{font-size:11px;color:var(--text-muted);margin:0 0 10px}.dash-table{width:100%;border-collapse:collapse;font-size:13px}.dash-table th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:8px 10px;border-bottom:2px solid var(--border);white-space:nowrap}.dash-table td{padding:9px 10px;border-bottom:1px solid var(--border-light);color:var(--text-primary)}.dash-table tr:last-child td{border-bottom:none}.dash-table tr:hover td{background:var(--bg-tertiary)}.dash-table .top-row td{background:#1e73be0d;font-weight:500}.rank{font-weight:700;color:var(--text-muted)}.won-cell{color:#10b981;font-weight:600}.lost-cell{color:#f43f5e;font-weight:500}.stalled-cell{color:#f59e0b;font-weight:600}.value-cell{font-weight:600;font-variant-numeric:tabular-nums}.customer-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bold-cell{font-weight:600}.age-high{color:#f43f5e;font-weight:600}.age-med{color:#f59e0b;font-weight:500}.country-tag{background:#1e73be1a;border:1px solid rgba(30,115,190,.25);border-radius:4px;padding:2px 7px;font-size:11px;color:#1e73be;white-space:nowrap}.country-tag--missing{background:#f43f5e14;border-color:#f43f5e40;color:#f43f5e}.stage-badge{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;padding:2px 7px;font-size:11px;white-space:nowrap}.table-note{font-size:12px;color:var(--text-muted);text-align:center;margin:8px 0 0}.deal-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:8px}.deal-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;transition:box-shadow .15s ease,transform .1s ease}.deal-card:hover{box-shadow:0 2px 10px #00000014;transform:translateY(-1px)}.risk-card{border-left:3px solid #f43f5e}.deal-card-name{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deal-card-value{font-size:15px;font-weight:700;color:#1e73be}.deal-card-meta{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deal-card-stage{font-size:11px;color:var(--text-secondary)}.deal-card-date{font-size:11px;color:var(--text-muted);margin-top:2px}.age-badge{display:inline-block;font-size:11px;font-weight:600;background:#1e73be1a;color:#1e73be;border-radius:4px;padding:2px 6px;width:fit-content}.age-badge-high{display:inline-block;font-size:11px;font-weight:600;background:#f43f5e1a;color:#f43f5e;border-radius:4px;padding:2px 6px;width:fit-content}.days-left{font-size:11px;font-weight:600;color:#10b981}.days-left.urgent{color:#f43f5e}.deal-list{display:flex;flex-direction:column;gap:8px}.deal-list-item{background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:6px;padding:10px 12px}.deal-list-name{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deal-list-meta{display:flex;justify-content:space-between;align-items:center;margin-top:2px}.deal-list-meta span{font-size:12px;color:var(--text-muted)}.deal-list-value{font-weight:600;color:#1e73be!important}.deal-list-stage{font-size:11px;color:var(--text-secondary);margin-top:2px}.active-filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#1e73be0f;border:1px solid rgba(30,115,190,.2);border-radius:var(--radius);padding:8px 14px}.filter-bar-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.filter-bar-count{font-size:12px;color:var(--text-muted);margin-left:auto}.pie-side-layout{display:flex;align-items:flex-start;gap:16px;padding:4px 0 8px}.pie-side-layout>.recharts-wrapper{flex-shrink:0}.pie-legend{flex:1;display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start;padding-top:8px}.cloud-stats{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.cloud-stat{display:flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:6px;padding:4px 10px;cursor:pointer;transition:background .15s}.cloud-stat:hover,.cloud-stat.selected{background:var(--bg-tertiary)}.cloud-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cloud-name{font-size:12px;font-weight:600}.cloud-count{font-size:11px;color:var(--text-muted)}.filter-badge{display:inline-flex;align-items:center;gap:4px;background:#1e73be1f;color:#1e73be;border:1px solid rgba(30,115,190,.3);border-radius:12px;padding:2px 8px;font-size:11px;font-weight:600}.filter-badge button{background:none;border:none;color:inherit;cursor:pointer;font-size:13px;padding:0;line-height:1}.count-badge{font-size:11px;color:var(--text-muted);font-weight:400;margin-left:auto}.risk-legend{display:flex;gap:6px;align-items:center}.risk-pill{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sortable-th:hover{color:var(--text-primary)}.sort-active{color:#1e73be!important}.sort-indicator{display:inline-block;margin-left:4px;font-size:10px;opacity:.7}.sort-active .sort-indicator{opacity:1}.age-value{display:inline-block;font-size:12px;font-weight:600;border-radius:4px;padding:2px 6px;background:#1e73be1a;color:#1e73be}.age-value.age-danger{background:#f43f5e1f;color:#f43f5e}.age-value.age-warn{background:#f59e0b1f;color:#d97706}.deal-card-id{font-size:11px;font-weight:500;color:var(--text-muted);margin-bottom:2px}.crm-link{color:#1e73be;text-decoration:none;font-size:inherit}.crm-link:hover{text-decoration:underline}.deal-id-text{color:var(--text-muted);font-size:inherit}.dash-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.rsm-btn.rsm-clear{background:#f43f5e14;border-color:#f43f5e4d;color:#f43f5e}.rsm-btn.rsm-clear:hover{background:#f43f5e26;border-color:#f43f5e}.rsm-selector{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0}.rsm-btn{background:var(--bg-secondary);border:1px solid var(--border);border-radius:20px;padding:5px 14px;font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;white-space:nowrap}.rsm-btn:hover{background:var(--bg-tertiary);border-color:#1e73be;color:#1e73be}.rsm-btn.active{background:#1e73be;border-color:#1e73be;color:#fff;font-weight:600}.empty-msg{color:var(--text-muted);font-size:13px;text-align:center;padding:24px 0}.link-btn{background:none;border:none;color:#1e73be;cursor:pointer;font-size:12px;padding:0;text-decoration:underline}.drill-link{background:none;border:none;color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:600;padding:0;text-align:left;text-decoration:none;transition:color .15s}.drill-link:hover{color:#1e73be;text-decoration:underline}.chart-hint-inline{font-size:11px;color:var(--text-muted);font-weight:400}.custom-tooltip{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:10px 14px;font-size:12px;line-height:1.6;max-width:220px;box-shadow:0 4px 12px #0000001a}.custom-tooltip strong{display:block;font-size:13px;margin-bottom:2px}.sortable-table-root{display:flex;flex-direction:column;gap:0}.table-pagination{display:flex;align-items:center;gap:8px;padding:10px 2px 2px;flex-wrap:wrap;border-top:1px solid var(--border-light);margin-top:4px}.pagination-info{font-size:12px;color:var(--text-muted);white-space:nowrap;min-width:140px}.pagination-controls{display:flex;align-items:center;gap:3px;flex:1;justify-content:center;flex-wrap:wrap}.page-btn{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:500;height:30px;min-width:30px;padding:0 6px;transition:background .12s,border-color .12s,color .12s;line-height:1}.page-btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:#1e73be;color:#1e73be}.page-btn:disabled{opacity:.35;cursor:default}.page-btn-active{background:#1e73be!important;border-color:#1e73be!important;color:#fff!important;font-weight:700}.page-ellipsis{font-size:12px;color:var(--text-muted);padding:0 2px;line-height:30px}.pagination-size{display:flex;align-items:center;gap:6px;white-space:nowrap}.page-size-label{font-size:12px;color:var(--text-muted)}.page-size-select{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:12px;height:30px;padding:0 6px;cursor:pointer}.page-size-select:focus{outline:none;border-color:#1e73be}.table-footer-row td{font-weight:700;border-top:2px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary)}.table-footer-cell{padding:9px 10px}.footer-sum{color:#1e73be;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.freshness-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:3px 9px;border-radius:12px;white-space:nowrap}.freshness-ok{background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.3)}.freshness-stale{background:#f59e0b1f;color:#d97706;border:1px solid rgba(245,158,11,.35)}.chart-empty{display:flex;align-items:center;justify-content:center;min-height:120px;color:var(--text-muted);font-size:13px;border:1px dashed var(--border);border-radius:var(--radius);margin:8px 0}.attainment-banner{padding:14px 20px!important}.attainment-header{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap}.attainment-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;flex:1}.attainment-pct{font-size:22px;font-weight:800;line-height:1}.attainment-detail{font-size:12px;color:var(--text-muted)}.attainment-track{height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden;border:1px solid var(--border-light)}.attainment-fill{height:100%;border-radius:4px;transition:width .4s ease}.attainment-cell{display:flex;align-items:center;gap:8px;min-width:100px}.attainment-mini-track{flex:1;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden;border:1px solid var(--border-light)}.attainment-mini-fill{height:100%;border-radius:3px;transition:width .3s ease}.attainment-mini-pct{font-size:11px;font-weight:700;white-space:nowrap}.text-muted-sm{font-size:12px;color:var(--text-muted)}.text-warn{font-size:12px;color:#f59e0b;font-weight:600}@media (max-width: 900px){.chart-row{flex-direction:column}.kpi-row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.dashboard{padding:12px 12px 32px;gap:14px}.kpi-card{min-width:130px}.deal-cards{grid-template-columns:1fr 1fr}.rsm-selector{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:4px}}.kpi-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:200;animation:drawerFadeIn .18s ease}@keyframes drawerFadeIn{0%{opacity:0}to{opacity:1}}.kpi-drawer{position:fixed;top:0;right:0;height:100vh;width:min(900px,92vw);background:var(--bg-primary);border-left:1px solid var(--border);box-shadow:-6px 0 32px #0000002e;z-index:201;display:flex;flex-direction:column;transform:translate(100%);transition:transform .22s cubic-bezier(.4,0,.2,1)}.kpi-drawer--open{transform:translate(0)}.kpi-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border);gap:16px;flex-shrink:0}.kpi-drawer-title{font-size:16px;font-weight:700;color:var(--text-primary);line-height:1.3}.kpi-drawer-subtitle{font-size:12px;color:var(--text-muted);margin-top:4px;line-height:1.4}.kpi-drawer-close{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:14px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .12s,color .12s}.kpi-drawer-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.kpi-drawer-meta{display:flex;align-items:center;gap:14px;padding:10px 24px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--bg-secondary)}.kpi-drawer-count{font-size:12px;font-weight:600;color:var(--text-muted);background:var(--border);padding:2px 8px;border-radius:10px}.kpi-drawer-total{font-size:13px;font-weight:700;color:var(--text-primary)}.kpi-drawer-empty{padding:40px 24px;color:var(--text-muted);font-size:14px;text-align:center}.kpi-drawer-scroll{flex:1;overflow-y:auto;overflow-x:auto;padding:0}.kpi-drawer-table{width:100%;border-collapse:collapse;font-size:12px}.kpi-drawer-table thead tr{background:var(--bg-secondary);position:sticky;top:0;z-index:1}.kpi-drawer-table th{padding:9px 12px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap}.kpi-drawer-table td{padding:9px 12px;border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle;white-space:nowrap}.kpi-drawer-table tbody tr:hover{background:var(--bg-secondary)}.kpi-drawer-table tfoot td{padding:9px 12px;border-top:2px solid var(--border);background:var(--bg-secondary)}.kpi-drawer-customer{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpi-drawer-acv{font-weight:600;color:var(--text-primary)}.kpi-drawer-missing{color:#f43f5e;font-weight:600}.kpi-drawer-footer-label{font-weight:700;color:var(--text-muted);font-size:11px;text-transform:uppercase}.kpi-drawer-footer-sum{font-weight:700;color:var(--text-primary);font-size:13px}.age-badge-low{color:#10b981;font-weight:600}.age-badge-med{color:#f59e0b;font-weight:600}.age-badge-high{color:#f43f5e;font-weight:600}.kpi-card--clickable{cursor:pointer}.kpi-card--clickable:hover{border-color:var(--accent);box-shadow:0 2px 12px #4a90e226}.kpi-drill-icon{position:absolute;bottom:8px;right:10px;font-size:10px;color:var(--text-muted);opacity:.7}.register-search-bar{display:flex;align-items:center;gap:6px;margin-bottom:12px}.register-search-input{flex:1;padding:7px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px;outline:none;transition:border-color .15s}.register-search-input:focus{border-color:var(--accent)}.register-search-input::placeholder{color:var(--text-muted)}.register-search-clear{padding:5px 9px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer;line-height:1}.register-search-clear:hover{background:var(--bg-tertiary);color:var(--text-primary)}.status-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.status-badge--won{background:#d1fae5;color:#065f46}.status-badge--lost{background:#fee2e2;color:#991b1b}.service-lines-tile{min-width:220px;flex:1 1 220px;padding:14px 16px 12px}.service-lines-body{display:flex;flex-direction:column;gap:8px;margin-top:8px}.service-line-row{display:flex;flex-direction:column;gap:2px;border-radius:5px;padding:4px 6px;margin:0 -6px}.service-line-row--clickable{cursor:pointer}.service-line-row--clickable:hover{background:var(--hover-bg, #f3f4f6)}.service-line-header{display:flex;align-items:baseline;gap:6px;font-size:12px}.service-line-label{font-weight:700;font-size:11px;min-width:72px}.service-line-value{font-weight:600;color:var(--text-primary);flex:1;text-align:right;font-size:12px}.service-line-pct{color:var(--text-muted);font-size:11px;min-width:30px;text-align:right}.service-line-count{font-size:10px;font-weight:600;color:#6b7280;background:#e5e7eb;border-radius:9px;padding:0 5px;line-height:16px;margin-left:2px}.service-line-bar-track{height:5px;background:var(--border-light, #e5e7eb);border-radius:3px;overflow:hidden}.service-line-bar-fill{height:100%;border-radius:3px;transition:width .4s ease;min-width:2px}.status-badge--active{background:#dbeafe;color:#1e40af}.conversion-funnel{width:100%}.funnel-header{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.funnel-title{font-size:14px;font-weight:700;color:var(--text-primary)}.funnel-hint{font-size:11px;color:var(--text-muted)}.funnel-bars{display:flex;flex-direction:column;gap:8px}.funnel-row{display:grid;grid-template-columns:140px 1fr 130px 48px;align-items:center;gap:8px;border-radius:6px;padding:4px 6px;margin:0 -6px;transition:background .15s ease,opacity .15s ease}.funnel-row-clickable{cursor:pointer}.funnel-row-clickable:hover{background:#1e73be0f}.funnel-row-selected{background:#1e73be1a;outline:1px solid rgba(30,115,190,.3)}.funnel-row-dimmed{opacity:.4}.funnel-active-filter{margin-bottom:8px}.funnel-filter-badge{display:inline-flex;align-items:center;gap:4px;background:#1e73be1f;color:#1e73be;border:1px solid rgba(30,115,190,.3);border-radius:12px;padding:2px 8px;font-size:11px;font-weight:600}.funnel-filter-clear{background:none;border:none;color:inherit;cursor:pointer;padding:0;font-size:13px;line-height:1;opacity:.7}.funnel-filter-clear:hover{opacity:1}.funnel-label{font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}.funnel-bar-track{position:relative;height:22px;border-radius:4px;overflow:hidden;background:#e5f0fb}.funnel-bar-fill{position:absolute;left:0;top:0;height:100%;border-radius:4px;transition:width .4s ease}.funnel-bar-bg{position:absolute;left:0;top:0;width:100%;height:100%}.funnel-stats{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.funnel-count{font-size:12px;font-weight:700;color:var(--text-primary);line-height:1}.funnel-acv{font-size:10px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.funnel-conversion{font-size:11px;font-weight:700;border-radius:10px;padding:2px 7px;text-align:center;white-space:nowrap}.funnel-conversion.high{background:#dcfce7;color:#15803d}.funnel-conversion.mid{background:#fef9c3;color:#a16207}.funnel-conversion.low{background:#fee2e2;color:#b91c1c}.funnel-conversion.top{background:#e0f2fe;color:#0369a1;font-size:10px}.funnel-legend{display:flex;gap:14px;margin-top:12px;flex-wrap:wrap}.funnel-legend-item{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px}.funnel-legend-item.high{background:#dcfce7;color:#15803d}.funnel-legend-item.mid{background:#fef9c3;color:#a16207}.funnel-legend-item.low{background:#fee2e2;color:#b91c1c}.funnel-empty{font-size:13px;color:var(--text-muted);padding:24px 0;text-align:center}@media (max-width: 700px){.funnel-row{grid-template-columns:80px 1fr 80px 38px}.funnel-label{font-size:10px}}.dashboard-page{display:flex;min-height:100vh;background:var(--bg-primary)}.persona-nav{width:240px;flex-shrink:0;background:var(--bg-secondary);border-right:1px solid var(--border);padding:20px 0;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;overflow-y:auto}.persona-back-link{display:block;font-size:12px;color:var(--text-muted);padding:6px 16px 10px;text-decoration:none;border-bottom:1px solid var(--border);margin-bottom:6px}.persona-back-link:hover{color:var(--accent)}.persona-nav-brand{padding:0 16px 12px;border-bottom:1px solid var(--border);margin-bottom:6px;display:flex;align-items:center;gap:8px}.persona-nav-logo{height:22px;width:auto;display:block}.persona-nav-appname{font-size:18px;font-weight:900;background:linear-gradient(90deg,#1e73be,#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em;line-height:1.1;display:block}.persona-nav-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:0 16px 12px;border-bottom:1px solid var(--border);margin-bottom:6px}.persona-btn{display:flex;align-items:center;gap:10px;padding:10px 16px;background:none;border:none;border-left:3px solid transparent;cursor:pointer;text-align:left;width:100%;transition:background .12s ease,border-color .12s ease;border-radius:0}.persona-btn:hover{background:var(--bg-tertiary)}.persona-btn.active{background:#1e73be14;border-left-color:#1e73be}.persona-icon{font-size:18px;flex-shrink:0}.persona-text{display:flex;flex-direction:column;min-width:0}.persona-name{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap}.persona-btn.active .persona-name{color:#1e73be}.persona-desc{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-main{flex:1;min-width:0;overflow-y:auto}.dash-error{padding:40px;color:var(--danger);font-size:14px}.persona-role-badge{margin-top:auto;padding:14px 16px 8px;border-top:1px solid var(--border)}.persona-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:10px 16px 4px}.filter-section{margin-top:6px;border-top:1px solid var(--border);flex-shrink:0}.filter-section-header{display:flex;align-items:center;gap:6px;width:100%;background:none;border:none;cursor:pointer;padding:10px 16px 6px;text-align:left}.filter-section-header:hover{background:var(--bg-tertiary)}.filter-total-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;background:#1e73be;color:#fff;border-radius:9px;font-size:10px;font-weight:700;padding:0 5px}.filter-chevron{margin-left:auto;font-size:10px;color:var(--text-muted)}.filter-groups{display:flex;flex-direction:column;padding:0 0 6px}.filter-clear-btn{margin:4px 12px 8px;background:#1e73be1a;border:1px solid rgba(30,115,190,.3);color:#1e73be;border-radius:5px;font-size:11px;font-weight:600;padding:5px 10px;cursor:pointer;text-align:center;transition:all .15s}.filter-clear-btn:hover{background:#1e73be;color:#fff}.filter-group{border-bottom:1px solid var(--border-light, rgba(0,0,0,.06))}.filter-group:last-child{border-bottom:none}.filter-group-header{display:flex;align-items:center;gap:6px;width:100%;background:none;border:none;padding:7px 16px;cursor:pointer;text-align:left;transition:background .1s}.filter-group-header:hover{background:var(--bg-tertiary)}.filter-group-label{font-size:11px;font-weight:600;color:var(--text-secondary);flex:1}.filter-active-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;background:#1e73be26;color:#1e73be;border-radius:8px;font-size:10px;font-weight:700;padding:0 4px}.filter-options{padding:2px 0 6px;display:flex;flex-direction:column;gap:1px;max-height:180px;overflow-y:auto}.filter-option{display:flex;align-items:center;gap:8px;padding:4px 16px 4px 24px;cursor:pointer;transition:background .1s}.filter-option:hover{background:var(--bg-tertiary)}.filter-option input[type=checkbox]{width:13px;height:13px;cursor:pointer;accent-color:#1e73be;flex-shrink:0}.filter-option-label{font-size:12px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-active-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 24px;background:#1e73be0f;border-bottom:1px solid rgba(30,115,190,.15);font-size:12px;color:var(--text-secondary);gap:12px}.filter-clear-inline{background:none;border:none;color:#1e73be;font-size:12px;font-weight:600;cursor:pointer;padding:2px 6px;border-radius:4px;transition:background .1s;white-space:nowrap;flex-shrink:0}.filter-clear-inline:hover{background:#1e73be1a}@media (max-width: 768px){.dashboard-page{flex-direction:column}.persona-nav{width:100%;height:auto;position:static;flex-direction:row;overflow-x:auto;padding:8px 8px 0;border-right:none;border-bottom:1px solid var(--border);gap:0;-webkit-overflow-scrolling:touch}.persona-nav-title,.persona-section-label,.filter-section,.persona-back-link,.persona-role-badge{display:none}.persona-btn{flex-direction:column;align-items:center;gap:2px;padding:8px 12px 10px;border-left:none;border-bottom:3px solid transparent;white-space:nowrap;flex-shrink:0}.persona-btn.active{background:transparent;border-left-color:transparent;border-bottom-color:#1e73be}.persona-text{align-items:center}.persona-desc{display:none}.persona-icon{font-size:20px}.persona-name{font-size:11px}.filter-active-bar{padding:8px 16px}}.home-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.home-nav{display:flex;align-items:center;justify-content:space-between;padding:0 28px;height:52px;background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}.home-nav-brand{display:flex;align-items:center}.brand-logo{height:28px;width:auto;display:block}.home-nav-right{display:flex;align-items:center;gap:10px}.home-user-name{font-size:13px;color:var(--text-secondary);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-nav-btn{padding:5px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;border:1px solid transparent}.home-nav-btn.ghost{background:none;border-color:var(--border);color:var(--text-muted)}.home-nav-btn.ghost:hover{background:var(--danger);border-color:var(--danger);color:#fff}.role-chip{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:3px 9px;border-radius:10px}.role-chip.role-admin{background:#1e73be26;color:#1e73be}.role-chip.role-editor{background:#10b98126;color:#10b981}.role-chip.role-viewer{background:#6c757d26;color:#6c757d}.home-hero{background:linear-gradient(135deg,#0d1b2e,#1e73be 55%,#1a5a96);color:#fff;padding:40px 28px 48px;display:flex;align-items:center;justify-content:space-between;gap:32px;overflow:hidden;position:relative}.home-hero-inner{max-width:560px;position:relative;z-index:1}.hero-tagline{font-size:15px;font-style:italic;color:#ffffffbf;margin:-6px 0 12px;font-weight:400}.hero-greeting{font-size:11px;font-weight:600;color:#ffffffa6;margin:0 0 8px;text-transform:uppercase;letter-spacing:.1em}.hero-title{font-size:30px;font-weight:800;line-height:1.15;margin:0 0 12px;letter-spacing:-.02em}.hero-sub{font-size:14px;color:#fffc;line-height:1.6;margin:0 0 24px;max-width:460px}.hero-actions{display:flex;gap:10px;flex-wrap:nowrap;align-items:center}.hero-cta{display:inline-flex;align-items:center;padding:9px 16px;border-radius:7px;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s ease;white-space:nowrap}.hero-cta.primary{background:#fff;color:#0d1b2e;box-shadow:0 4px 14px #00000026}.hero-cta.primary:hover{background:#f0f7ff;transform:translateY(-2px)}.hero-cta.secondary{background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero-cta.secondary:hover{background:#ffffff38;transform:translateY(-2px)}.home-hero-graphic{flex-shrink:0;width:180px;height:110px;position:relative;opacity:.3}.hg-bar{position:absolute;bottom:0;width:24px;border-radius:4px 4px 0 0;background:#ffffffe6;animation:bar-rise 1s ease forwards}.hg-bar-1{left:0;height:50px;animation-delay:.1s}.hg-bar-2{left:34px;height:80px;animation-delay:.2s}.hg-bar-3{left:68px;height:42px;animation-delay:.3s}.hg-bar-4{left:102px;height:95px;animation-delay:.4s}.hg-bar-5{left:136px;height:64px;animation-delay:.5s}.hg-line{position:absolute;bottom:0;left:0;right:0;height:2px;background:#fff6}@keyframes bar-rise{0%{transform:scaleY(0);transform-origin:bottom}to{transform:scaleY(1);transform-origin:bottom}}.home-modules{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:24px 28px;max-width:1300px;margin:0 auto;width:100%;box-sizing:border-box}.module-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:20px 20px 18px;display:flex;flex-direction:column;gap:14px;transition:box-shadow .2s ease,transform .15s ease}.module-card:hover{box-shadow:0 6px 24px #00000012;transform:translateY(-2px)}.tracker-card{border-top:3px solid #1e73be}.dashboard-card{border-top:3px solid #1a5a96}.pipeline-card{border-top:3px solid #111827}.module-card-header{display:flex;align-items:flex-start;gap:12px}.module-icon{font-size:24px;line-height:1;flex-shrink:0}.module-title{font-size:16px;font-weight:700;color:var(--text-primary);margin:0 0 3px}.module-sub{font-size:12px;color:var(--text-muted);margin:0}.feature-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;flex:1}.feature-list li{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--text-secondary);line-height:1.45}.feature-icon{font-size:13px;flex-shrink:0;margin-top:1px}.dashboard-personas{display:flex;flex-direction:column;gap:6px;flex:1}.persona-feature{display:flex;align-items:flex-start;gap:8px;padding:7px 10px;background:var(--bg-tertiary);border-radius:6px;transition:background .15s}.persona-feature:hover{background:#eef4fd}.persona-feature-icon{font-size:14px;flex-shrink:0;margin-top:1px}.persona-feature-title{font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:1px}.persona-feature-desc{font-size:11px;color:var(--text-muted);line-height:1.4}.module-link{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:7px;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s ease;align-self:flex-start;border:1px solid transparent}.module-link.primary{background:#1e73be;color:#fff}.module-link.primary:hover{background:var(--accent-hover);transform:translate(2px)}.module-link.secondary{background:#1a5a96;color:#fff}.module-link.secondary:hover{background:#14487a;transform:translate(2px)}.module-link.pipeline{background:#111827;color:#fff;border-color:#111827}.module-link.pipeline:hover{background:#1f2937;transform:translate(2px)}.module-link.admin{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border)}.module-link.admin:hover{background:var(--text-primary);color:#fff;border-color:var(--text-primary);transform:translate(2px)}.module-link.glossary{background:#f5f3ff;color:#6d28d9;border-color:#c4b5fd}.module-link.glossary:hover{background:#6d28d9;color:#fff;border-color:#6d28d9;transform:translate(2px)}.apn-card{border-top:3px solid #ff9900}.module-link.apn{background:#fff8ee;color:#c45000;border-color:#ffcc80}.module-link.apn:hover{background:#f90;color:#fff;border-color:#f90;transform:translate(2px)}.fund-requests-card{border-top:3px solid #16a34a}.module-link.fund-requests{background:#f0fdf4;color:#15803d;border-color:#86efac}.module-link.fund-requests:hover{background:#16a34a;color:#fff;border-color:#16a34a;transform:translate(2px)}.home-admin-section{padding:0 28px 16px;max-width:1300px;margin:0 auto;width:100%;box-sizing:border-box}.admin-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:14px 20px;transition:box-shadow .2s ease}.admin-card:hover{box-shadow:0 4px 14px #0000000f}.admin-card-body{flex:1;min-width:0}.admin-card-body h3{font-size:14px;font-weight:700;margin:0 0 2px;color:var(--text-primary)}.admin-card-body p{font-size:12px;color:var(--text-muted);margin:0}.home-stats{display:flex;align-items:center;justify-content:center;gap:0;padding:18px 28px;background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-wrap:wrap;margin-top:auto}.stat-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:0 28px}.stat-value{font-size:18px;font-weight:800;color:#1e73be;letter-spacing:-.02em}.stat-label{font-size:11px;color:var(--text-muted);white-space:nowrap}.stat-divider{width:1px;height:30px;background:var(--border)}.home-footer{display:flex;align-items:center;justify-content:center;gap:10px;font-size:11px;color:var(--text-muted);padding:14px 28px}.footer-logo{height:18px;width:auto;opacity:.55}@media (max-width: 1024px){.home-modules{grid-template-columns:repeat(2,1fr)}.pipeline-card{grid-column:1 / -1}.pipeline-card .feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 16px}}@media (max-width: 768px){.home-hero{padding:28px 16px 36px;flex-direction:column}.hero-title{font-size:24px}.home-hero-graphic{display:none}.home-modules{grid-template-columns:1fr;padding:16px;gap:14px}.pipeline-card{grid-column:auto}.pipeline-card .feature-list{display:flex}.home-admin-section{padding:0 16px 14px}.home-stats{gap:0;padding:14px 16px}.stat-item,.home-nav{padding:0 14px}.home-user-name{display:none}}@media (max-width: 480px){.hero-actions{flex-direction:column;flex-wrap:wrap}.hero-cta{justify-content:center}.stat-divider{display:none}.stat-item{padding:6px 10px}.home-stats{justify-content:flex-start}}.pf-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.pf-header{display:flex;align-items:center;justify-content:space-between;padding:0 28px;height:64px;background:#111827;color:#fff;flex-wrap:wrap;gap:12px;position:sticky;top:0;z-index:50}.pf-header-left{display:flex;align-items:center;gap:16px}.pf-header-logo{height:26px;width:auto;display:block;filter:brightness(0) invert(1);opacity:.85}.pf-header-appname{font-size:20px;font-weight:900;color:#fff;letter-spacing:-.02em;white-space:nowrap;line-height:1}.pf-nav-back{color:#9ca3af;text-decoration:none;font-size:13px;font-weight:500;transition:color .15s;white-space:nowrap}.pf-nav-back:hover{color:#fff}.pf-header-title{font-size:18px;font-weight:700;margin:0;color:#fff;letter-spacing:-.02em}.pf-header-sub{font-size:12px;color:#9ca3af;margin:0}.pf-header-right{display:flex;align-items:center;gap:16px}.pf-toggle{display:flex;background:#1f2937;border-radius:8px;padding:3px;gap:2px}.pf-toggle-btn{background:none;border:none;color:#9ca3af;font-size:12px;font-weight:500;padding:5px 14px;border-radius:6px;cursor:pointer;transition:all .15s;white-space:nowrap}.pf-toggle-btn.active{background:#1e73be;color:#fff;font-weight:600}.pf-user{display:flex;align-items:center;gap:10px}.pf-user-name{font-size:13px;color:#d1d5db;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pf-signout{background:none;border:1px solid #374151;border-radius:6px;color:#9ca3af;font-size:12px;padding:4px 10px;cursor:pointer;transition:all .15s}.pf-signout:hover{background:#374151;color:#fff}.pf-legend-strip{display:flex;align-items:center;gap:12px;padding:10px 28px;background:#1f2937;border-bottom:1px solid #374151;flex-wrap:wrap}.pf-legend-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#6b7280;white-space:nowrap}.pf-legend-items{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.pf-legend-item{display:inline-flex;align-items:center;gap:5px;border:1px solid;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.pf-legend-item:hover{filter:brightness(1.1)}.pf-legend-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.pf-legend-clear{background:#f43f5e1a;border:1px solid rgba(244,63,94,.3);border-radius:20px;color:#f43f5e;font-size:12px;font-weight:600;padding:4px 12px;cursor:pointer;transition:all .15s;margin-left:4px}.pf-legend-clear:hover{background:#f43f5e33}.pf-kpi-strip{display:flex;align-items:center;gap:0;padding:14px 28px;background:#fff;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px}.pf-kpi{display:flex;flex-direction:column;align-items:center;gap:2px;padding:0 20px}.pf-kpi-val{font-size:20px;font-weight:700;line-height:1.2;color:var(--text-primary);white-space:nowrap}.pf-kpi-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap}.pf-kpi-div{width:1px;height:32px;background:var(--border);flex-shrink:0}.pf-active-filter-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding-left:8px}.pf-chip{display:inline-flex;align-items:center;gap:4px;background:#1e73be1a;border:1px solid rgba(30,115,190,.3);border-radius:12px;color:#1e73be;font-size:11px;font-weight:600;padding:2px 8px}.pf-chip button{background:none;border:none;color:inherit;cursor:pointer;font-size:13px;padding:0;line-height:1}.pf-body{flex:1;display:flex;flex-direction:column;gap:20px;padding:20px 28px 40px;max-width:1600px;width:100%;margin:0 auto;box-sizing:border-box}.pf-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px}.pf-section-header{margin-bottom:12px}.pf-section-title{font-size:15px;font-weight:700;color:var(--text-primary);margin:0 0 4px;display:flex;align-items:center;gap:8px}.pf-section-hint{font-size:12px;color:var(--text-muted);margin:0}.pf-count-badge{font-size:12px;color:var(--text-muted);font-weight:400;margin-left:4px}.pf-sankey-wrap{width:100%;overflow-x:auto}.pf-chart-row{display:flex;gap:16px;flex-wrap:wrap}.pf-chart-card{flex:1;min-width:280px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;overflow:hidden}.pf-chart-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.pf-chart-hint{font-size:11px;color:var(--text-muted);font-weight:400;margin-left:6px}.pf-table-wrap{width:100%;overflow-x:auto}.pf-customer{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.pf-territory-chip{display:inline-block;font-size:11px;font-weight:600;border:1px solid;border-radius:10px;padding:2px 8px;white-space:nowrap}.pf-loading{display:flex;align-items:center;justify-content:center;padding:80px;font-size:14px;color:var(--text-muted)}.pf-empty{text-align:center;color:var(--text-muted);font-size:13px;padding:24px 0}.pf-footer{padding:16px 28px;font-size:12px;color:var(--text-muted);border-top:1px solid var(--border);text-align:center}@media (max-width: 900px){.pf-chart-row{flex-direction:column}.pf-body{padding:14px 14px 32px}.pf-header{padding:0 14px}.pf-legend-strip{padding:10px 14px}.pf-kpi-strip{padding:12px 14px}}.glossary-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--text-primary)}.glossary-topbar{display:flex;align-items:center;gap:16px;padding:0 24px;height:52px;background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;flex-shrink:0}.glossary-back{color:var(--accent);text-decoration:none;font-size:13px;font-weight:500;white-space:nowrap}.glossary-back:hover{text-decoration:underline}.glossary-topbar-title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:var(--text-primary)}.glossary-topbar-icon{font-size:18px}.glossary-topbar-sub{margin-left:auto;font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px}.glossary-layout{display:flex;flex:1;min-height:0}.glossary-nav{width:210px;flex-shrink:0;border-right:1px solid var(--border);background:var(--bg-secondary);padding:20px 0;position:sticky;top:52px;height:calc(100vh - 52px);overflow-y:auto;display:flex;flex-direction:column}.glossary-nav-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 20px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;text-align:left;transition:background .12s,color .12s;border-left:3px solid transparent}.glossary-nav-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.glossary-nav-btn.active{background:var(--bg-primary);color:var(--accent);border-left-color:var(--accent);font-weight:600}.gnav-icon{font-size:16px;line-height:1}.glossary-nav-divider{margin:16px 20px;border-top:1px solid var(--border)}.glossary-nav-note{padding:0 20px;font-size:11px;color:var(--text-muted);line-height:1.5}.glossary-content{flex:1;padding:32px 40px;overflow-y:auto;max-width:900px}.glossary-section-header{margin-bottom:28px}.glossary-section-header h2{font-size:22px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.glossary-section-desc{font-size:14px;color:var(--text-secondary);line-height:1.6;max-width:720px;margin:0}.glossary-entries{display:flex;flex-direction:column;gap:20px}.glossary-entry{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:18px 22px}.glossary-entry-term{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.glossary-entry-def{font-size:13.5px;color:var(--text-secondary);line-height:1.65}.glossary-entry-source{margin-top:10px;font-size:11.5px;color:var(--text-muted);font-style:italic}.kpi-search-bar{display:flex;align-items:center;gap:8px;margin-bottom:16px}.kpi-search-input{flex:1;padding:9px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px;outline:none}.kpi-search-input:focus{border-color:var(--accent)}.kpi-search-input::placeholder{color:var(--text-muted)}.kpi-search-clear{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer}.kpi-search-clear:hover{background:var(--bg-tertiary);color:var(--text-primary)}.kpi-search-count{font-size:12px;color:var(--text-muted);white-space:nowrap}.kpi-validation-legend{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.kpi-legend-item{padding:4px 10px;border-radius:12px;font-size:11.5px;font-weight:600}.kpi-list{display:flex;flex-direction:column;gap:10px}.kpi-card-gl{border:1px solid var(--border);border-radius:10px;background:var(--bg-secondary);overflow:hidden;transition:border-color .15s}.kpi-card-gl--open{border-color:var(--accent)}.kpi-card-gl-header{width:100%;display:flex;flex-direction:column;gap:6px;padding:16px 20px;border:none;background:transparent;cursor:pointer;text-align:left;position:relative}.kpi-card-gl-header:hover{background:var(--bg-tertiary)}.kpi-card-gl-title-row{display:flex;align-items:center;gap:12px;padding-right:28px}.kpi-card-gl-name{font-size:14px;font-weight:700;color:var(--text-primary)}.kpi-card-gl-status{font-size:11px;font-weight:600;padding:3px 9px;border-radius:10px;white-space:nowrap;flex-shrink:0}.kpi-card-gl-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.kpi-formula-inline{font-size:12px;color:var(--text-muted);font-family:SFMono-Regular,Consolas,monospace}.kpi-dashboard-chips{display:flex;gap:5px;flex-wrap:wrap}.kpi-dash-chip{font-size:10.5px;padding:2px 7px;border-radius:8px;background:var(--bg-tertiary);color:var(--text-secondary);font-weight:500;border:1px solid var(--border)}.kpi-card-gl-chevron{position:absolute;right:18px;top:18px;font-size:14px;color:var(--text-muted)}.kpi-card-gl-body{padding:0 20px 20px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:16px}.kpi-block{display:flex;flex-direction:column;gap:5px;padding-top:4px}.kpi-block-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.kpi-block-text{font-size:13.5px;color:var(--text-secondary);line-height:1.65}.kpi-benchmark{color:#0369a1}.kpi-source{font-style:italic;color:var(--text-muted);font-size:12.5px}.kpi-formula-block{display:block;padding:10px 14px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;font-size:13px;color:var(--accent);font-family:SFMono-Regular,Consolas,monospace;line-height:1.5}.kpi-validation-box{border-radius:8px;border:1px solid;padding:14px 16px;display:flex;flex-direction:column;gap:6px}.kpi-validation-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.kpi-validation-text{font-size:13px;color:var(--text-secondary);line-height:1.6}.kpi-validation-detail{font-size:12px;color:var(--text-muted);font-family:SFMono-Regular,Consolas,monospace;line-height:1.5}@media (max-width: 768px){.glossary-layout{flex-direction:column}.glossary-nav{width:100%;height:auto;position:static;flex-direction:row;overflow-x:auto;padding:8px 0}.glossary-nav-btn{padding:8px 14px;white-space:nowrap}.glossary-nav-divider,.glossary-nav-note{display:none}.glossary-content{padding:20px}.glossary-topbar-sub{display:none}}.apn-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.apn-nav{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:52px;background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;gap:16px}.apn-nav-left{display:flex;align-items:center;gap:12px}.apn-back-link{font-size:13px;color:var(--text-secondary);text-decoration:none;white-space:nowrap}.apn-back-link:hover{color:var(--primary)}.apn-nav-title{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:600;color:var(--text-primary)}.apn-nav-appname{font-size:16px;font-weight:900;background:linear-gradient(90deg,#1e73be,#10b981);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.apn-nav-sep{color:var(--text-secondary);font-weight:300}.apn-nav-right{display:flex;align-items:center;gap:10px}.apn-user-name{font-size:13px;color:var(--text-secondary);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apn-sync-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 24px;background:#f8fafc;border-bottom:1px solid var(--border);font-size:12px;gap:12px;flex-wrap:wrap}.apn-sync-info{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.sync-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sync-dot--ok{background:#10b981}.sync-dot--err{background:#ef4444}.sync-never{color:var(--text-secondary);font-style:italic}.sync-err-count{background:#fee2e2;color:#dc2626;border-radius:4px;padding:1px 6px;font-size:11px}.sync-feedback{color:var(--primary);font-weight:500;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.apn-sync-btn{padding:5px 14px;font-size:12px;font-weight:600;background:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .15s;white-space:nowrap;flex-shrink:0}.apn-sync-btn:hover:not(:disabled){background:var(--primary-dark, #1558a0)}.apn-sync-btn:disabled{opacity:.6;cursor:not-allowed}.apn-sync-btn--loading{opacity:.7}.apn-sync-btn--disabled{opacity:.4;cursor:not-allowed}.apn-sync-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.apn-import-btn{padding:5px 14px;font-size:12px;font-weight:600;background:#f0fdf4;color:#16a34a;border:1px solid #86efac;border-radius:6px;cursor:pointer;transition:background .15s;white-space:nowrap}.apn-import-btn:hover{background:#dcfce7}.apn-modal--import{max-width:560px}.import-instructions{font-size:13px;color:var(--text-secondary);margin-bottom:16px;line-height:1.6}.import-instructions p{margin:0 0 8px}.import-instructions strong{color:var(--text-primary)}.import-col-hint{background:#f8fafc;border:1px solid var(--border);border-radius:6px;padding:10px 14px;margin:10px 0;font-size:12px}.import-col-hint strong{display:block;margin-bottom:6px;color:var(--text-primary);font-size:12px}.import-col-hint ul{margin:0;padding-left:18px}.import-col-hint li{margin-bottom:3px;color:var(--text-secondary)}.import-col-hint code{font-family:SF Mono,monospace;background:#e2e8f0;padding:1px 4px;border-radius:3px;font-size:11px;color:#1e40af}.import-note{font-size:12px;color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:6px 10px;margin-top:8px!important}.import-drop-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px;border:2px dashed var(--border);border-radius:8px;cursor:pointer;font-size:13px;color:var(--text-secondary);transition:border-color .15s,background .15s;margin-bottom:16px;text-align:center}.import-drop-area:hover{border-color:var(--primary);background:#f0f7ff}.import-drop-icon{font-size:24px}.import-drop-hint{font-size:11px;color:#94a3b8}.import-file-chosen{display:flex;align-items:center;gap:8px}.import-file-icon{font-size:20px}.import-file-name{font-weight:600;color:var(--text-primary)}.import-file-size{font-size:12px;color:var(--text-secondary)}.import-result-stats{display:flex;gap:24px;justify-content:center;margin:20px 0}.import-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.import-stat-num{font-size:32px;font-weight:700;color:var(--text-primary);line-height:1}.import-stat--ok .import-stat-num{color:#16a34a}.import-stat--skip .import-stat-num{color:#d97706}.import-stat-label{font-size:12px;color:var(--text-secondary)}.import-errors{font-size:12px;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;padding:10px 14px;margin-bottom:16px;max-height:160px;overflow-y:auto}.import-errors strong{color:#dc2626}.import-errors ul{margin:6px 0 0;padding-left:18px;color:#7f1d1d}.import-errors li{margin-bottom:3px}.apn-filters{display:flex;align-items:center;gap:10px;padding:12px 24px;background:#fff;border-bottom:1px solid var(--border);flex-wrap:wrap}.apn-search{flex:1;min-width:200px;max-width:360px;padding:7px 12px;font-size:13px;border:1px solid var(--border);border-radius:6px;outline:none;background:var(--bg-primary)}.apn-search:focus{border-color:var(--primary)}.apn-select{padding:7px 10px;font-size:13px;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);cursor:pointer;outline:none}.apn-select:focus{border-color:var(--primary)}.apn-multiselect{position:relative}.apn-multiselect-trigger{display:flex;align-items:center;gap:6px;padding:7px 10px;font-size:13px;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);cursor:pointer;white-space:nowrap;outline:none;min-width:120px;transition:border-color .15s}.apn-multiselect-trigger:hover,.apn-multiselect-trigger--active{border-color:var(--primary)}.apn-multiselect-trigger--active{background:#eff6ff;color:#1d4ed8;font-weight:600}.apn-multiselect-label{flex:1;text-align:left}.apn-multiselect-arrow{font-size:10px;color:#9ca3af}.apn-multiselect-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:200px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:200;padding:6px 0;max-height:280px;overflow-y:auto}.apn-multiselect-option{display:flex;align-items:center;gap:8px;padding:7px 14px;font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s}.apn-multiselect-option:hover{background:#f0f9ff}.apn-multiselect-option input[type=checkbox]{width:14px;height:14px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.apn-multiselect-clear{display:block;width:calc(100% - 28px);margin:6px 14px 2px;padding:5px 10px;font-size:12px;color:#dc2626;background:#fef2f2;border:1px solid #fca5a5;border-radius:5px;cursor:pointer;text-align:center}.apn-multiselect-clear:hover{background:#fee2e2}.apn-total{font-size:12px;color:var(--text-secondary);white-space:nowrap}.apn-filter-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.apn-action-btn{padding:6px 12px;font-size:12px;font-weight:600;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background .15s,opacity .15s;border:1px solid}.apn-action-btn--save{background:#f0fdf4;color:#16a34a;border-color:#86efac}.apn-action-btn--save:hover{background:#dcfce7}.apn-action-btn--export{background:#eff6ff;color:#1d4ed8;border-color:#93c5fd}.apn-action-btn--export:hover:not(:disabled){background:#dbeafe}.apn-action-btn--export:disabled{opacity:.45;cursor:not-allowed}.apn-action-btn--cancel{background:#f9fafb;color:#6b7280;border-color:var(--border)}.apn-action-btn--cancel:hover{background:#f3f4f6}.apn-saved-views{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.apn-saved-view-chip{display:flex;align-items:center;background:#fafafa;border:1px solid var(--border);border-radius:20px;overflow:hidden}.apn-saved-view-load{padding:4px 10px;font-size:12px;font-weight:500;color:var(--primary);background:none;border:none;cursor:pointer;white-space:nowrap}.apn-saved-view-load:hover{text-decoration:underline}.apn-saved-view-delete{padding:4px 7px 4px 4px;font-size:13px;color:#9ca3af;background:none;border:none;cursor:pointer;line-height:1}.apn-saved-view-delete:hover{color:#dc2626}.apn-save-view-bar{display:flex;align-items:center;gap:10px;padding:10px 24px;background:#f0fdf4;border-bottom:1px solid #86efac;flex-wrap:wrap}.apn-save-view-label{font-size:13px;color:#15803d;font-weight:500;white-space:nowrap}.apn-save-view-input{padding:6px 12px;font-size:13px;border:1px solid #86efac;border-radius:6px;outline:none;min-width:220px;background:#fff}.apn-save-view-input:focus{border-color:#16a34a}.apn-table-wrap{flex:1;overflow-x:auto;padding:0 24px 32px}.apn-loading,.apn-empty{text-align:center;padding:60px 24px;color:var(--text-secondary);font-size:14px}.apn-error{background:#fee2e2;color:#dc2626;border-radius:6px;padding:10px 16px;margin:16px 0;font-size:13px}.apn-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:12px;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.apn-table thead tr{background:#f1f5f9;border-bottom:2px solid var(--border)}.apn-table th{padding:10px 12px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);white-space:nowrap}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable-th:hover{color:var(--text-primary);background:#f8fafc}.sortable-th.sort-active{color:#2563eb}.sort-icon{font-size:10px;opacity:.5}.sortable-th.sort-active .sort-icon{opacity:1}.apn-table td{padding:9px 12px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.apn-row{cursor:pointer;transition:background .12s}.apn-row:hover{background:#f8fafc}.apn-row--expanded{background:#f0f7ff}.col-expand{width:28px;padding:0 4px 0 12px!important}.col-id{min-width:110px}.col-customer{min-width:140px}.col-industry{min-width:140px;font-size:13px;color:var(--text-secondary)}.col-country{min-width:70px;white-space:nowrap}.col-title{min-width:220px;max-width:300px}.col-stage{min-width:120px;white-space:nowrap}.col-ace{min-width:130px;white-space:nowrap}.col-owner{min-width:140px;white-space:nowrap}.col-close{min-width:100px;white-space:nowrap}.col-acv{min-width:100px;text-align:right;white-space:nowrap}.col-propel{min-width:100px}.expand-arrow{color:var(--text-secondary);font-size:12px;-webkit-user-select:none;user-select:none}.apn-id-chip{font-size:11px;font-family:SF Mono,Fira Mono,monospace;background:#f1f5f9;border-radius:4px;padding:2px 6px;color:var(--text-secondary);white-space:nowrap;text-decoration:none;display:inline-block}a.apn-id-chip:hover{background:#dbeafe;color:#2563eb}.customer-name{font-weight:500;color:var(--text-primary)}.opp-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.stage-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;white-space:nowrap}.stage-badge--early{background:#dbeafe;color:#1d4ed8}.stage-badge--mid{background:#fef9c3;color:#854d0e}.stage-badge--late{background:#d1fae5;color:#065f46}.stage-badge--won{background:#bbf7d0;color:#14532d}.stage-badge--lost{background:#fee2e2;color:#991b1b}.stage-badge--default{background:#f1f5f9;color:#475569}.ace-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;white-space:nowrap}.ace-badge--approved{background:#d1fae5;color:#065f46}.ace-badge--pending{background:#fef9c3;color:#854d0e}.ace-badge--rejected{background:#fee2e2;color:#991b1b}.ace-badge--draft{background:#f1f5f9;color:#475569}.ace-badge--other{background:#e0e7ff;color:#3730a3}.ace-badge--none{background:#f1f5f9;color:#94a3b8;font-style:italic}.propel-link{font-size:11px;font-family:SF Mono,Fira Mono,monospace;color:var(--primary);text-decoration:none;font-weight:500}.propel-link:hover{text-decoration:underline}.propel-unlinked{font-size:11px;color:#94a3b8;font-style:italic}.apn-detail-row td{padding:0!important;background:#f8fafc;border-bottom:2px solid var(--border)!important}.apn-detail{padding:16px 24px}.apn-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.detail-section h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin:0 0 10px}.detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:4px 0;border-bottom:1px solid #f1f5f9;font-size:12px}.detail-row>span:first-child{color:var(--text-secondary);white-space:nowrap;flex-shrink:0;min-width:130px}.detail-row>span:last-child{color:var(--text-primary);font-weight:500;text-align:right;word-break:break-word}.need-tags{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.need-tag{font-size:10px;background:#e0e7ff;color:#3730a3;border-radius:4px;padding:1px 6px;white-space:nowrap}.apn-table tfoot tr{background:#f1f5f9;border-top:2px solid var(--border)}.apn-foot-label{font-size:12px;font-weight:700;color:var(--text-secondary);text-align:right;padding-right:12px!important}.apn-foot-total{font-size:14px;font-weight:700;color:var(--text-primary);text-align:right}.role-chip{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.05em}.role-admin{background:#fef9c3;color:#854d0e}.role-editor{background:#d1fae5;color:#065f46}.role-viewer{background:#f1f5f9;color:#475569}.apn-clear-btn{padding:6px 12px;font-size:12px;font-weight:600;background:#fee2e2;color:#dc2626;border:1px solid #fca5a5;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background .15s}.apn-clear-btn:hover{background:#fecaca}.col-link{width:72px;text-align:center}.link-btn{font-size:11px;font-weight:600;padding:3px 8px;border-radius:5px;border:1px solid;cursor:pointer;white-space:nowrap;transition:background .12s}.link-btn--unlinked{background:#f0f9ff;color:#0369a1;border-color:#bae6fd}.link-btn--unlinked:hover{background:#0369a1;color:#fff}.link-btn--linked{background:#f0fdf4;color:#15803d;border-color:#bbf7d0;font-size:14px;padding:2px 6px}.link-btn--linked:hover{background:#dcfce7}.apn-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1000;display:flex;align-items:center;justify-content:center}.apn-modal{background:#fff;border-radius:10px;width:440px;max-width:95vw;box-shadow:0 20px 60px #0003;overflow:hidden}.apn-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 14px;border-bottom:1px solid var(--border)}.apn-modal-header h3{font-size:15px;font-weight:700;margin:0;color:var(--text-primary)}.apn-modal-close{background:none;border:none;font-size:16px;cursor:pointer;color:var(--text-secondary);padding:2px 6px;border-radius:4px}.apn-modal-close:hover{background:#f1f5f9}.apn-modal-body{padding:18px 20px 20px}.apn-modal-meta{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.apn-modal-title{font-size:13px;color:var(--text-primary);font-weight:500}.apn-modal-hint{font-size:12px;color:var(--text-secondary);margin:0 0 16px;line-height:1.5}.apn-modal-form{display:flex;flex-direction:column;gap:8px}.apn-modal-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.apn-modal-input{padding:9px 12px;font-size:14px;border:1px solid var(--border);border-radius:6px;outline:none;font-family:SF Mono,Fira Mono,monospace}.apn-modal-input:focus{border-color:var(--primary)}.apn-modal-err{font-size:12px;color:#dc2626;background:#fee2e2;border-radius:5px;padding:6px 10px}.apn-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}.apn-modal-btn{padding:8px 16px;font-size:13px;font-weight:600;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:background .15s}.apn-modal-btn:disabled{opacity:.6;cursor:not-allowed}.apn-modal-btn--cancel{background:#f1f5f9;color:var(--text-secondary);border-color:var(--border)}.apn-modal-btn--cancel:hover:not(:disabled){background:#e2e8f0}.apn-modal-btn--save{background:var(--primary);color:#fff}.apn-modal-btn--save:hover:not(:disabled){background:var(--primary-dark, #1558a0)}.apn-modal-btn--save:disabled{background:#93c5fd}.apn-modal-btn--unlink{background:#fee2e2;color:#dc2626;border-color:#fca5a5;margin-right:auto}.apn-modal-btn--unlink:hover:not(:disabled){background:#fecaca}.fr-panel{margin-top:20px;border-top:2px solid #e2e8f0;padding-top:16px}.fr-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.fr-panel-header h4{font-size:13px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;margin:0}.fr-loading,.fr-empty{font-size:13px;color:var(--text-secondary);padding:8px 0}.fr-error{font-size:13px;color:#dc2626;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;padding:6px 12px;margin-bottom:10px}.fr-table{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:8px}.fr-table th{text-align:left;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;padding:5px 10px;border-bottom:1px solid #e2e8f0;white-space:nowrap}.fr-table td{padding:7px 10px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.fr-row:hover td{background:#f8fafc}.fr-ref{font-family:SF Mono,monospace;font-size:11px;color:#475569}.fr-amt{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.fr-notes{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.fr-type-chip{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;white-space:nowrap;background:#e0f2fe;color:#0369a1}.fr-type-map{background:#fef3c7;color:#92400e}.fr-type-mdf{background:#f0fdf4;color:#166534}.fr-type-pocpilot{background:#f5f3ff;color:#6d28d9}.fr-type-other{background:#f1f5f9;color:#475569}.fr-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap}.fr-badge--approved{background:#d1fae5;color:#065f46}.fr-badge--pending{background:#fef9c3;color:#854d0e}.fr-badge--rejected{background:#fee2e2;color:#991b1b}.fr-badge--closed{background:#e2e8f0;color:#475569}.fr-badge--draft{background:#f1f5f9;color:#64748b}.fr-actions{white-space:nowrap;text-align:right}.fr-btn-icon{background:none;border:none;cursor:pointer;padding:3px 6px;font-size:14px;color:#64748b;border-radius:4px;transition:background .1s,color .1s}.fr-btn-icon:hover{background:#e2e8f0;color:var(--text-primary)}.fr-btn-icon--delete:hover{background:#fee2e2;color:#dc2626}.fr-btn{padding:5px 14px;font-size:12px;font-weight:600;border-radius:6px;cursor:pointer;border:1px solid;transition:background .15s}.fr-btn--add{background:#eff6ff;color:#1d4ed8;border-color:#93c5fd}.fr-btn--add:hover{background:#dbeafe}.fr-btn--save{background:var(--primary);color:#fff;border-color:var(--primary)}.fr-btn--save:hover:not(:disabled){opacity:.9}.fr-btn--save:disabled{opacity:.5;cursor:not-allowed}.fr-btn--cancel{background:#f9fafb;color:#6b7280;border-color:var(--border)}.fr-btn--cancel:hover{background:#f3f4f6}.fr-editing-row td{background:#f8fafc}.fr-form{padding:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:8px 0}.fr-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px 16px;margin-bottom:14px}.fr-field{display:flex;flex-direction:column;gap:4px}.fr-field--wide{grid-column:1 / -1}.fr-field label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.fr-field input,.fr-field select,.fr-field textarea{padding:6px 10px;font-size:13px;border:1px solid var(--border);border-radius:6px;background:#fff;outline:none;font-family:inherit}.fr-field input:focus,.fr-field select:focus,.fr-field textarea:focus{border-color:var(--primary)}.fr-field textarea{resize:vertical}.fr-form-actions{display:flex;justify-content:flex-end;gap:8px}.fr-page{max-width:1400px;margin:0 auto;padding:24px 20px 60px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#111827}.fr-page-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}.fr-page-header h1{font-size:1.6rem;font-weight:700;margin:0 0 2px}.fr-page-sub{font-size:.875rem;color:#6b7280;margin:0}.fr-sync-bar{display:flex;align-items:center;gap:12px;font-size:.8rem;color:#6b7280}.fr-sync-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:middle}.fr-sync-dot.ok{background:#16a34a}.fr-sync-dot.err{background:#dc2626}.fr-sync-err-count{color:#dc2626}.fr-sync-btn{padding:5px 12px;background:#2563eb;color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s}.fr-sync-btn:hover:not(:disabled){background:#1d4ed8}.fr-sync-btn:disabled{opacity:.55;cursor:default}.fr-stats-bar{display:flex;align-items:center;gap:0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px 20px;margin-bottom:18px;overflow-x:auto}.fr-stat-item{display:flex;flex-direction:column;align-items:center;padding:4px 20px;border-right:1px solid #f3f4f6;min-width:70px}.fr-stat-item:last-child{border-right:none}.fr-stat-total{min-width:80px}.fr-stat-value{font-size:1.3rem;font-weight:700;line-height:1.2}.fr-stat-label{font-size:.7rem;color:#6b7280;text-align:center;white-space:nowrap;margin-top:2px}.fr-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:16px}.fr-search{padding:7px 12px;border:1px solid #d1d5db;border-radius:7px;font-size:.875rem;min-width:240px;outline:none;transition:border-color .15s}.fr-search:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.fr-multiselect{position:relative}.fr-multiselect-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#fff;border:1px solid #d1d5db;border-radius:7px;font-size:.8rem;cursor:pointer;white-space:nowrap;transition:border-color .15s}.fr-multiselect-btn:hover{border-color:#2563eb}.fr-multiselect-btn.active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;font-weight:600}.fr-caret{font-size:.65rem;opacity:.6}.fr-multiselect-panel{position:absolute;top:calc(100% + 4px);left:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 24px #0000001f;padding:6px 0;min-width:180px;z-index:50}.fr-multiselect-option{display:flex;align-items:center;gap:8px;padding:6px 14px;font-size:.8rem;cursor:pointer;transition:background .1s}.fr-multiselect-option:hover{background:#f3f4f6}.fr-multiselect-option input[type=checkbox]{cursor:pointer}.fr-expiry-toggle{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#374151;cursor:pointer;padding:6px 10px;border:1px solid #d1d5db;border-radius:7px;background:#fff;-webkit-user-select:none;user-select:none}.fr-expiry-toggle:has(input:checked){border-color:#d97706;background:#fffbeb;color:#92400e;font-weight:600}.fr-clear-btn{padding:6px 12px;background:transparent;border:1px solid #f87171;color:#dc2626;border-radius:7px;font-size:.8rem;cursor:pointer;transition:background .15s}.fr-clear-btn:hover{background:#fef2f2}.fr-error-bar{background:#fef2f2;border:1px solid #fca5a5;color:#dc2626;border-radius:8px;padding:10px 14px;font-size:.875rem;margin-bottom:12px}.fr-loading{text-align:center;padding:60px 0;color:#6b7280;font-size:.875rem}.fr-empty-state{text-align:center;padding:60px 0;color:#6b7280}.fr-table-wrap{overflow-x:auto;border-radius:10px;box-shadow:0 1px 4px #0000000f}.fr-table{width:100%;border-collapse:collapse;font-size:.82rem;background:#fff}.fr-table th{background:#f9fafb;padding:9px 12px;text-align:left;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;border-bottom:1px solid #e5e7eb;white-space:nowrap}.fr-table td{padding:9px 12px;border-bottom:1px solid #f3f4f6;vertical-align:middle}.fr-table tbody tr:hover td{background:#f9fafb}.fr-row-expiring td{background:#fffbeb!important}.fr-row-expiring:hover td{background:#fef9c3!important}.fr-table tfoot td{background:#f3f4f6;font-size:.78rem;color:#374151;font-weight:600;padding:8px 12px;border-top:2px solid #e5e7eb}.fr-col-id{min-width:160px}.fr-col-opp{min-width:180px}.fr-col-program,.fr-col-status{width:110px}.fr-col-amount{width:110px;text-align:right}.fr-col-submitted,.fr-col-expiry{width:110px}.fr-col-owner{min-width:130px}.fr-col-priority{width:90px}.fr-col-tags{min-width:120px}.fr-col-actions{width:60px;text-align:right}.fr-foot-amount{text-align:right}.fr-foot-label{text-align:left}.fr-id-text{font-family:SF Mono,Fira Code,monospace;font-size:.75rem;color:#374151}.fr-opp-name{font-weight:500;color:#111827}.fr-opp-id{font-size:.7rem;color:#9ca3af;margin-top:1px}.fr-status-badge{display:inline-block;padding:2px 9px;border-radius:20px;color:#fff;font-size:.72rem;font-weight:600;white-space:nowrap}.fr-program-chip{display:inline-block;padding:2px 8px;border-radius:5px;background:#eff6ff;color:#1d4ed8;font-size:.72rem;font-weight:600;white-space:nowrap}.fr-amount-pill{display:inline-block;background:#f0fdf4;color:#16a34a;padding:2px 8px;border-radius:5px;font-size:.72rem;font-weight:600}.fr-priority-dot{font-weight:600;font-size:.78rem}.fr-tag{display:inline-block;background:#f3f4f6;color:#374151;padding:1px 7px;border-radius:4px;font-size:.68rem;margin-right:3px}.fr-empty{color:#d1d5db}.fr-expiry-soon{color:#d97706;font-weight:600}.fr-expiry-warn{color:#d97706}.fr-edit-btn{padding:4px 10px;background:#2563eb;color:#fff;border:none;border-radius:5px;font-size:.72rem;font-weight:600;cursor:pointer;white-space:nowrap}.fr-edit-btn:hover{background:#1d4ed8}.fr-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:100;display:flex;align-items:flex-start;justify-content:flex-end}.fr-drawer{width:420px;max-width:95vw;height:100vh;overflow-y:auto;background:#fff;box-shadow:-4px 0 24px #00000026;padding:24px;display:flex;flex-direction:column;gap:16px}.fr-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.fr-drawer-id{font-family:SF Mono,monospace;font-size:.78rem;color:#6b7280}.fr-drawer-name{font-size:1rem;font-weight:700;color:#111827;margin-top:2px}.fr-drawer-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:#6b7280;padding:2px 6px;border-radius:4px;flex-shrink:0}.fr-drawer-close:hover{background:#f3f4f6}.fr-drawer-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.fr-drawer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fr-drawer-field{display:flex;flex-direction:column;gap:4px}.fr-drawer-field label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}.fr-drawer-field input,.fr-drawer-field select{padding:7px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:.85rem;outline:none;transition:border-color .15s}.fr-drawer-field input:focus,.fr-drawer-field select:focus{border-color:#2563eb}.fr-notes-field{grid-column:1 / -1}.fr-drawer-field textarea{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:.85rem;resize:vertical;font-family:inherit;outline:none;transition:border-color .15s}.fr-drawer-field textarea:focus{border-color:#2563eb}.fr-drawer-error{background:#fef2f2;border:1px solid #fca5a5;color:#dc2626;border-radius:6px;padding:8px 12px;font-size:.8rem}.fr-drawer-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:auto;padding-top:8px;border-top:1px solid #f3f4f6}.fr-btn-primary{padding:8px 20px;background:#2563eb;color:#fff;border:none;border-radius:7px;font-size:.875rem;font-weight:600;cursor:pointer}.fr-btn-primary:hover:not(:disabled){background:#1d4ed8}.fr-btn-primary:disabled{opacity:.55;cursor:default}.fr-btn-secondary{padding:8px 16px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:7px;font-size:.875rem;font-weight:500;cursor:pointer}.fr-btn-secondary:hover{background:#f9fafb}:root{--bg-primary: #f5f5f5;--bg-secondary: #ffffff;--bg-tertiary: #f8f9fa;--text-primary: #1a1a1a;--text-secondary: #495057;--text-muted: #6c757d;--border: #e0e0e0;--border-light: #dee2e6;--accent: #1e73be;--accent-hover: #1660a8;--danger: #dc3545;--warning: #ffc107;--success: #28a745;--radius: 8px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5;color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button,input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}
