@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@400;500;600;700&display=swap";:root{--bg-main:#0f172a;--bg-card:#1e293b;--accent-indigo:#6366f1;--accent-emerald:#10b981;--accent-rose:#f43f5e;--accent-amber:#f59e0b;--text-primary:#f8fafc;--text-secondary:#94a3b8;--border-color:#334155;--surface:#1e293bb3;--accent-cyan:#06b6d4;--accent-violet:#a78bfa;--accent-orange:#fb923c;--status-active:var(--accent-emerald);--status-suspended:var(--accent-amber);--status-cancelled:var(--accent-rose);--status-lead:var(--accent-indigo);--status-overdue:var(--accent-orange);--status-paid:var(--accent-emerald);--status-sent:var(--accent-cyan);--status-draft:var(--text-secondary);--status-void:var(--text-secondary);--status-new:var(--accent-indigo);--status-contacted:var(--accent-cyan);--status-quoted:var(--accent-amber);--status-converted:var(--accent-emerald);--status-lost:var(--accent-rose);--sidebar-width:240px;--header-height:60px}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text-primary);background:radial-gradient(circle at 100% 0,#1e1b4b,#0f172a);min-height:100vh;font-family:Inter,sans-serif;overflow-x:hidden}h1,h2,h3,h4,.brand{font-family:Outfit,sans-serif}#root{min-height:100vh;display:flex}.app-shell{width:100%;min-height:100vh;display:flex}.main-content{margin-left:var(--sidebar-width);flex-direction:column;flex:1;min-height:100vh;display:flex}.page-wrapper{flex:1;width:100%;max-width:1400px;padding:2rem}.sidebar{width:var(--sidebar-width);border-right:1px solid var(--border-color);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;background:#0f172af2;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.sidebar-brand{border-bottom:1px solid var(--border-color);align-items:center;gap:.75rem;padding:1.25rem 1.25rem 1rem;display:flex}.sidebar-brand-logo{background:linear-gradient(135deg, var(--accent-indigo), var(--accent-cyan));border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.sidebar-brand-name{background:linear-gradient(to right, var(--accent-indigo), var(--accent-cyan));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1rem;font-weight:700}.sidebar-brand-sub{color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:.65rem}.sidebar-nav{flex:1;padding:1rem .75rem}.sidebar-section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);margin-top:.5rem;padding:.5rem .5rem .25rem;font-size:.65rem;font-weight:600}.nav-item{cursor:pointer;color:var(--text-secondary);text-align:left;background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.625rem;width:100%;margin-bottom:2px;padding:.625rem .75rem;font-size:.875rem;font-weight:500;transition:all .15s;display:flex}.nav-item:hover{color:var(--text-primary);background:#6366f114}.nav-item.active{color:var(--accent-indigo);background:#6366f126}.nav-item.active svg{color:var(--accent-indigo)}.nav-badge{background:var(--accent-rose);color:#fff;text-align:center;border-radius:10px;min-width:18px;margin-left:auto;padding:1px 6px;font-size:.65rem;font-weight:700}.sidebar-footer{border-top:1px solid var(--border-color);color:var(--text-secondary);text-align:center;padding:.75rem;font-size:.75rem}.header{height:var(--header-height);border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;background:#0f172acc;justify-content:space-between;align-items:center;padding:0 2rem;display:flex;position:sticky;top:0}.header-title{font-size:1.1rem;font-weight:600}.header-subtitle{color:var(--text-secondary);font-size:.75rem}.header-right{align-items:center;gap:1rem;display:flex}.header-user{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.mode-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:10px;padding:2px 8px;font-size:.65rem;font-weight:700}.mode-badge.mock{color:var(--accent-amber);background:#f59e0b26}.mode-badge.live{color:var(--accent-emerald);background:#10b98126}.card{background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a}.card-sm{border-radius:.75rem;padding:1rem}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.kpi-tile{background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);cursor:pointer;border-radius:1rem;padding:1.25rem;transition:transform .2s,border-color .2s}.kpi-tile:hover{border-color:var(--accent-indigo);transform:translateY(-3px)}.kpi-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.kpi-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:500}.kpi-icon{opacity:.8}.kpi-value{font-family:Outfit,sans-serif;font-size:2rem;font-weight:700;line-height:1}.kpi-sub{color:var(--text-secondary);margin-top:.25rem;font-size:.7rem}.btn{cursor:pointer;border:none;border-radius:.5rem;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.btn-primary{background:var(--accent-indigo);color:#fff}.btn-primary:hover{background:#4f46e5}.btn-secondary{color:var(--accent-indigo);background:#6366f11a;border:1px solid #6366f14d}.btn-secondary:hover{background:#6366f133}.btn-danger{color:var(--accent-rose);background:#f43f5e1a;border:1px solid #f43f5e4d}.btn-danger:hover{background:#f43f5e33}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{color:var(--text-primary);background:#94a3b81a}.btn-sm{padding:.35rem .75rem;font-size:.8rem}.btn-icon{border-radius:.375rem;padding:.4rem}.badge{text-transform:uppercase;letter-spacing:.04em;border-radius:2rem;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.7rem;font-weight:600;display:inline-flex}.badge-active{color:var(--status-active);background:#10b9811f}.badge-suspended{color:var(--status-suspended);background:#f59e0b1f}.badge-cancelled{color:var(--status-cancelled);background:#f43f5e1f}.badge-lead{color:var(--status-lead);background:#6366f11f}.badge-paid{color:var(--status-paid);background:#10b9811f}.badge-sent{color:var(--status-sent);background:#06b6d41f}.badge-draft{color:var(--status-draft);background:#94a3b81a}.badge-overdue{color:var(--status-overdue);background:#fb923c1f}.badge-void{color:var(--status-void);background:#94a3b81a}.badge-credit{color:var(--accent-violet);background:#a78bfa1f}.badge-new{color:var(--status-new);background:#6366f11f}.badge-contacted{color:var(--status-contacted);background:#06b6d41f}.badge-quoted{color:var(--status-quoted);background:#f59e0b1f}.badge-converted{color:var(--status-converted);background:#10b9811f}.badge-lost{color:var(--status-lost);background:#f43f5e1f}.badge-inbound{color:var(--accent-cyan);background:#06b6d41f}.badge-outbound{color:var(--accent-indigo);background:#6366f11f}.page-header{justify-content:space-between;align-items:flex-end;margin-bottom:1.5rem;display:flex}.page-header-left h2{margin-bottom:.2rem;font-size:1.5rem;font-weight:700}.page-header-left p{color:var(--text-secondary);font-size:.875rem}.table-card{background:var(--surface);border:1px solid var(--border-color);border-radius:1rem;overflow:hidden}.table-toolbar{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.search-input{border:1px solid var(--border-color);color:var(--text-primary);background:#0003;border-radius:.5rem;outline:none;width:220px;padding:.4rem .75rem .4rem 2rem;font-size:.875rem}.search-input:focus{border-color:var(--accent-indigo)}.search-wrap{position:relative}.search-wrap svg{position:absolute;top:50%;left:.5rem;transform:translateY(-50%)}.select-filter{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:#0003;border-radius:.5rem;outline:none;padding:.4rem .75rem;font-size:.875rem}.select-filter:focus{border-color:var(--accent-indigo)}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;background:#0003;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.data-table td{vertical-align:middle;border-bottom:1px solid #33415580;padding:.875rem 1rem;font-size:.875rem}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr{cursor:pointer;transition:background .1s}.data-table tbody tr:hover{background:#6366f10d}.table-empty{text-align:center;color:var(--text-secondary);padding:3rem}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{border:1px solid var(--border-color);background:#1a2540;border-radius:1rem;width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header h3{font-size:1.1rem;font-weight:600}.modal-body{padding:1.5rem}.modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-grid-1{grid-template-columns:1fr}.form-field{flex-direction:column;gap:.375rem;display:flex}.form-field.full{grid-column:1/-1}.form-label{color:var(--text-secondary);font-size:.8rem;font-weight:500}.form-input,.form-select,.form-textarea{border:1px solid var(--border-color);color:var(--text-primary);background:#0003;border-radius:.5rem;outline:none;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-indigo)}.form-textarea{resize:vertical;min-height:80px}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:1rem;font-size:.75rem;font-weight:600}.ai-widget{background:linear-gradient(135deg,#6366f11a,#06b6d40d);border:1px solid #6366f14d;border-radius:1rem;margin-bottom:1.5rem;padding:1.25rem}.ai-widget-header{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.ai-widget-title{font-size:.95rem;font-weight:600}.ai-widget-sub{color:var(--text-secondary);font-size:.75rem}.attention-list{flex-direction:column;gap:.5rem;display:flex}.attention-item{cursor:pointer;background:#00000026;border-radius:.5rem;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.85rem;transition:background .15s;display:flex}.attention-item:hover{background:#0000004d}.attention-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.attention-dot.high{background:var(--accent-rose)}.attention-dot.medium{background:var(--accent-amber)}.attention-dot.low{background:var(--accent-indigo)}.detail-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.detail-field{flex-direction:column;gap:.25rem;display:flex}.detail-field-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.detail-field-value{font-size:.95rem;font-weight:500}.chart-card{background:var(--surface);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem}.chart-title{margin-bottom:1rem;font-size:.875rem;font-weight:600}.dashboard-bottom{grid-template-columns:2fr 1fr;gap:1.5rem;margin-top:1.5rem;display:grid}.pulse{background:var(--accent-emerald);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse-anim;box-shadow:0 0 #10b98199}@keyframes pulse-anim{0%{box-shadow:0 0 #10b98166}70%{box-shadow:0 0 0 8px #10b98100}to{box-shadow:0 0 #10b98100}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#475569}@media (width<=1024px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.dashboard-bottom,.detail-grid{grid-template-columns:1fr}}
