*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0A0E1A;--surface: #111827;--surface-high: #1A2235;--border: #1E2D45;--accent: #0EA5E9;--accent-dim: #0EA5E912;--accent-glow: #0EA5E930;--text: #E2E8F0;--text-muted: #64748B;--text-dim: #94A3B8;--gold: #F59E0B;--success: #10B981;--danger: #EF4444;--warning: #F59E0B}html,body,#root{height:100%;background:var(--bg);color:var(--text);font-family:DM Sans,sans-serif;font-size:14px;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}h1,h2,h3{font-family:Syne,sans-serif}input,select,textarea{background:var(--bg);border:1px solid var(--border);border-radius:7px;padding:8px 12px;color:var(--text);font-size:13px;font-family:DM Sans,sans-serif;outline:none;transition:border-color .2s;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input::placeholder{color:var(--text-muted)}select{cursor:pointer}textarea{resize:vertical;min-height:72px}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:7px;padding:9px 20px;font-size:13px;font-weight:600;font-family:DM Sans,sans-serif;cursor:pointer;transition:opacity .2s;white-space:nowrap}.btn-primary:hover:not(:disabled){opacity:.85}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{background:none;color:var(--text-dim);border:1px solid var(--border);border-radius:7px;padding:8px 16px;font-size:13px;font-family:DM Sans,sans-serif;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.btn-danger{background:none;color:var(--danger);border:1px solid transparent;border-radius:7px;padding:6px 12px;font-size:12px;font-family:DM Sans,sans-serif;cursor:pointer;transition:all .2s}.btn-danger:hover{border-color:var(--danger);background:#ef444415}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px 24px}.form-group{display:flex;flex-direction:column;gap:5px}.form-label{font-size:11px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-family:DM Mono,monospace}.toggle-group{display:flex;gap:8px}.toggle-btn{flex:1;padding:9px 12px;border:1px solid var(--border);border-radius:7px;background:var(--bg);color:var(--text-muted);font-size:12px;font-weight:500;font-family:DM Sans,sans-serif;cursor:pointer;text-align:center;transition:all .18s;line-height:1.4}.toggle-btn:hover{border-color:var(--accent);color:var(--text-dim)}.toggle-btn.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.toggle-btn.gold{border-color:var(--gold);background:#f59e0b12;color:var(--gold)}.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:4px;font-size:10px;font-family:DM Mono,monospace;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.badge-draft{background:#64748b20;color:var(--text-muted)}.badge-sent{background:#0ea5e915;color:var(--accent)}.badge-negotiation{background:#f59e0b15;color:var(--gold)}.badge-won{background:#10b98115;color:var(--success)}.badge-lost{background:#ef444415;color:var(--danger)}.badge-final{background:#10b98120;color:var(--success);border:1px solid var(--success)}.mono{font-family:DM Mono,monospace}.flex{display:flex}.flex-1{flex:1}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.span-2{grid-column:span 2}.divider{height:1px;background:var(--border);margin:16px 0}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg);cursor:pointer;transition:all .18s;font-size:13px;color:var(--text-dim);-webkit-user-select:none;user-select:none}.chip:hover{border-color:var(--accent)}.chip.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.table-wrapper{overflow-x:auto;border-radius:10px;border:1px solid var(--border)}table{width:100%;border-collapse:collapse}thead tr{border-bottom:1px solid var(--border)}thead th{padding:11px 14px;text-align:left;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.1em;color:var(--text-muted);font-weight:500;text-transform:uppercase;background:var(--surface);white-space:nowrap}tbody tr{border-bottom:1px solid var(--border)30;transition:background .1s}tbody tr:hover{background:var(--surface-high)}tbody tr:last-child{border-bottom:none}tbody td{padding:11px 14px;font-size:13px;color:var(--text)}.page{display:flex;flex-direction:column;gap:20px;padding:28px 36px;flex:1;overflow-y:auto}.page-header{display:flex;align-items:center;justify-content:space-between}.page-title{font-family:Syne,sans-serif;font-size:22px;font-weight:700}.page-sub{font-size:13px;color:var(--text-muted);margin-top:2px}@media (max-width: 768px){.page{padding:16px;gap:14px}.mobile-nav-hidden{display:none!important}.grid-2,.grid-3{grid-template-columns:1fr}.span-2{grid-column:span 1}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.page-header .btn-primary{width:100%;text-align:center}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}table{min-width:600px}.card{padding:14px 16px}.page-title{font-size:18px}.modal-overlay>div,[style*="width: 480px"],[style*="width: 520px"],[style*="width: 440px"]{width:95vw!important;max-width:95vw!important}}@media (max-width: 480px){html,body,#root{font-size:13px}.page{padding:12px;gap:12px}.page-title{font-size:16px}.btn-primary,.btn-ghost{padding:10px 14px;font-size:13px}input,select,textarea{padding:10px 12px;font-size:14px}.card{padding:12px 14px}.badge{font-size:9px;padding:2px 6px}.col-hide-mobile{display:none}.form-row-mobile{flex-direction:column!important;gap:10px!important}}.hamburger-btn{display:none;background:none;border:1px solid var(--border);border-radius:7px;color:var(--text-dim);padding:6px 10px;cursor:pointer;font-size:18px;line-height:1}@media (max-width: 768px){.hamburger-btn{display:flex;align-items:center;justify-content:center}}@media (max-width: 768px){.nav-drawer{position:fixed!important;top:0;left:-100%;bottom:0;width:240px!important;z-index:500;transition:left .25s ease;box-shadow:4px 0 24px #0006}.nav-drawer.open{left:0}.nav-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:499}.nav-overlay.open{display:block}.main-content-mobile{margin-left:0!important}}@media (max-width: 768px){.metrics-grid-mobile{grid-template-columns:1fr!important;gap:10px!important}.projects-table .col-empresa,.projects-table .col-versiones{display:none}.projects-table input[type=range]{width:50px}}@media (max-width: 768px){.crm-metrics{grid-template-columns:1fr 1fr!important;gap:8px!important}.kanban-board{display:flex!important;overflow-x:auto!important;gap:10px!important;padding-bottom:16px!important;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}.kanban-column{min-width:240px!important;width:240px!important;flex-shrink:0!important;scroll-snap-align:start}.month-selector-mobile{flex-wrap:wrap!important;gap:6px!important}}@media (max-width: 480px){.crm-metrics{grid-template-columns:1fr!important}.revops-table .col-bucket{display:none}}@media (max-width: 768px){.bom-item-stats{flex-wrap:wrap!important;gap:6px!important}.bom-actions{flex-direction:column!important;gap:6px!important}.bom-actions button{width:100%!important;text-align:center!important}}@media (max-width: 768px){.header-user-name{display:none}.header-lang-btn{padding:4px 8px!important;font-size:11px!important}}@media (max-width: 768px){button,a,input[type=checkbox],input[type=radio]{min-height:36px}input[type=text],input[type=email],input[type=number],input[type=date],select{font-size:16px!important}.overflow-scroll-mobile{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}}
