@font-face{font-family:Be Vietnam Pro;src:url(/assets/BeVietnamPro-Light-CXbO76T7.otf)format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Be Vietnam Pro;src:url(/assets/BeVietnamPro-Regular-B50qXdWS.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Be Vietnam Pro;src:url(/assets/BeVietnamPro-Italic-Dws6X-qM.otf)format("opentype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Be Vietnam Pro;src:url(/assets/BeVietnamPro-Medium-DOWjEii6.otf)format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Be Vietnam Pro;src:url(/assets/BeVietnamPro-SemiBold-BVseJbs7.otf)format("opentype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Be Vietnam Pro;src:url(/assets/BeVietnamPro-ExtraBold-BOpNepP9.otf)format("opentype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Be Vietnam Pro;src:url(/assets/BeVietnamPro-Black-BHmTOBSU.otf)format("opentype");font-weight:900;font-style:normal;font-display:swap}:root{--bg-deep:#0a0a0c;--bg-surface:#111114;--bg-card:#18181c;--bg-elevated:#1f1f24;--bg-hover:#26262c;--border:#2a2a30;--border-subtle:#1e1e24;--text-primary:#e8e6e1;--text-secondary:#8a877f;--text-muted:#5c5a54;--accent:#e8642c;--accent-dim:#c84e1a;--accent-glow:#e8642c1f;--accent-pink:#e8527a;--accent-blue:#4a9ee8;--status-green:#3ecf71;--status-yellow:#e8c84a;--status-red:#e85454;--status-blue:#4a9ee8;--font-body:"Be Vietnam Pro", system-ui, sans-serif;--font-mono:"Be Vietnam Pro", system-ui, sans-serif;--radius:8px;--radius-lg:12px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--bg-deep);height:100%;color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}#root:before{content:"";pointer-events:none;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");position:fixed;inset:0}.app-layout{height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--bg-surface);border-right:1px solid var(--border-subtle);flex-direction:column;width:240px;min-width:240px;padding:0;display:flex;overflow:hidden}.sidebar-brand{border-bottom:1px solid var(--border-subtle);padding:24px 20px 20px}.sidebar-brand h1{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:13px;font-weight:800}.sidebar-brand p{color:var(--text-muted);letter-spacing:.05em;margin-top:4px;font-size:11px}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 8px;display:flex;overflow-y:auto}.sidebar-nav a{border-radius:var(--radius);color:var(--text-secondary);letter-spacing:.01em;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:400;text-decoration:none;transition:all .15s;display:flex}.sidebar-nav a:hover{background:var(--bg-hover);color:var(--text-primary);border-left:2px solid var(--accent);padding-left:10px}.sidebar-nav a.active{background:var(--accent-glow);color:var(--accent);font-weight:500}.sidebar-nav .nav-icon{opacity:.7;flex-shrink:0;width:18px;height:18px}.sidebar-nav a.active .nav-icon{opacity:1}.nav-section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:16px 12px 6px;font-size:10px;font-weight:600}.sidebar-footer{border-top:1px solid var(--border-subtle);color:var(--text-muted);font-size:11px;font-family:var(--font-body);padding:16px 20px}.main-content{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:1;min-height:100vh;padding:32px;overflow-y:auto}.main-content::-webkit-scrollbar{width:6px}.main-content::-webkit-scrollbar-track{background:0 0}.main-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.page-header{margin-bottom:28px}.page-header h2{color:var(--text-primary);letter-spacing:-.01em;font-size:22px;font-weight:600}.page-header p{color:var(--text-secondary);margin-top:4px;font-size:13px}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px;transition:border-color .2s}.card:hover{border-color:var(--border)}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card-header h3{color:var(--text-secondary);letter-spacing:.03em;text-transform:uppercase;font-size:13px;font-weight:500}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:28px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px}.stat-card .stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:11px;font-weight:500}.stat-card .stat-value{font-family:var(--font-mono);color:var(--text-primary);font-size:28px;font-weight:500;line-height:1}.stat-card .stat-sub{color:var(--text-secondary);margin-top:6px;font-size:12px}.data-table{border-collapse:separate;border-spacing:0;width:100%}.data-table thead th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;text-align:left;border-bottom:1px solid var(--border);background:var(--bg-card);padding:10px 14px;font-size:11px;font-weight:500;position:sticky;top:0}.data-table tbody tr{cursor:pointer;transition:background .12s}.data-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);padding:12px 14px;font-size:13px}.data-table .mono{font-family:var(--font-mono);color:var(--accent);font-size:12px}.badge{letter-spacing:.03em;border-radius:100px;align-items:center;padding:3px 10px;font-size:11px;font-weight:500;display:inline-flex}.badge-hot{color:var(--status-red);background:#e854541f}.badge-warm{color:var(--status-yellow);background:#e8c84a1f}.badge-cold,.badge-lead{color:var(--status-blue);background:#4a9ee81f}.badge-proposal_sent{color:var(--status-yellow);background:#e8c84a1f}.badge-proposal_accepted{color:var(--accent);background:#e8642c1f}.badge-deposit_paid{color:var(--status-green);background:#3ecf711f}.badge-in_production{color:var(--status-green);background:#3ecf7126}.badge-post_production{color:var(--accent);background:#e8642c1f}.badge-delivered{color:var(--text-secondary);background:#8a877f1f}.badge-archived{color:var(--text-muted);background:#5c5a541a}.badge-healthy{color:var(--status-green);background:#3ecf711f}.badge-warning{color:var(--status-yellow);background:#e8c84a1f}.badge-down{color:var(--status-red);background:#e854541f}.btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.btn:hover{background:var(--bg-hover);border-color:var(--accent-dim)}.btn-primary{background:var(--accent);color:var(--bg-deep);border-color:var(--accent)}.btn-primary:hover{background:var(--accent-dim);border-color:var(--accent-dim)}.btn-sm{padding:5px 10px;font-size:12px}input,textarea,select{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-body);color:var(--text-primary);outline:none;width:100%;padding:8px 12px;font-size:13px;transition:border-color .15s}input:focus,textarea:focus,select:focus{border-color:var(--accent-dim)}input::placeholder,textarea::placeholder{color:var(--text-muted)}label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:11px;font-weight:500;display:block}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px;display:grid}.form-group{margin-bottom:16px}.login-container{background:var(--bg-deep);justify-content:center;align-items:center;height:100vh;display:flex}.login-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;width:360px;padding:40px}.login-box h1{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;font-size:14px;font-weight:500}.login-box p{color:var(--text-muted);margin-bottom:28px;font-size:12px}.login-box input{text-align:center;margin-bottom:16px}.login-box .btn{justify-content:center;width:100%}.login-error{color:var(--status-red);margin-bottom:12px;font-size:12px}.detail-grid{grid-template-columns:2fr 1fr;gap:20px;display:grid}.detail-meta{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.meta-item .meta-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:2px;font-size:10px;font-weight:500}.meta-item .meta-value{color:var(--text-primary);font-size:13px}.meta-item .meta-value.mono{font-family:var(--font-mono);font-size:12px}.chat-container{flex-direction:column;height:calc(100vh - 100px);display:flex}.chat-messages{flex-direction:column;flex:1;gap:16px;padding:20px 0;display:flex;overflow-y:auto}.chat-msg{border-radius:var(--radius-lg);white-space:pre-wrap;max-width:75%;padding:12px 16px;font-size:13px;line-height:1.6}.chat-msg.user{background:var(--accent);color:var(--bg-deep);border-bottom-right-radius:4px;align-self:flex-end}.chat-msg.assistant{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-primary);border-bottom-left-radius:4px;align-self:flex-start}.chat-input-row{border-top:1px solid var(--border-subtle);gap:8px;padding-top:16px;display:flex}.chat-input-row input{flex:1}.finance-chat-wrapper{flex-direction:column;height:calc(100vh - 220px);min-height:400px;display:flex}.finance-chat-messages{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;flex:1;gap:12px;padding:16px 0;display:flex;overflow-y:auto}.chat-typing:after{content:"...";animation:1.2s steps(4,end) infinite typing}@keyframes typing{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.kanban-board{gap:16px;padding-bottom:16px;display:flex;overflow-x:auto}.kanban-column{flex:1;min-width:280px}.kanban-column-header{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);border-bottom:2px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px 12px;font-size:12px;font-weight:600;display:flex}.kanban-column-header .count{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.kanban-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);cursor:pointer;margin-bottom:8px;padding:14px;transition:all .15s}.kanban-card:hover{border-color:var(--accent-dim);transform:translateY(-1px)}.kanban-card h4{margin-bottom:6px;font-size:13px;font-weight:500}.kanban-card .meta{color:var(--text-secondary);font-size:11px}.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-state h3{color:var(--text-secondary);margin-bottom:8px;font-size:16px;font-weight:500}.empty-state p{font-size:13px}.loading{color:var(--text-muted);justify-content:center;align-items:center;padding:40px;font-size:13px;display:flex}.loading:after{content:"";border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;margin-left:10px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:480px;max-width:90vw;max-height:85vh;padding:28px;overflow-y:auto}.modal h3{margin-bottom:20px;font-size:16px;font-weight:600}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.back-link{color:var(--text-secondary);align-items:center;gap:6px;margin-bottom:16px;font-size:12px;text-decoration:none;transition:color .15s;display:inline-flex}.back-link:hover{color:var(--accent)}.section-tabs{border-bottom:1px solid var(--border-subtle);gap:0;margin-bottom:24px;display:flex}.section-tabs button{color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 18px;font-size:13px;font-weight:500;transition:all .15s}.section-tabs button:hover{color:var(--text-primary)}.section-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.amount{font-family:var(--font-mono);font-size:12px}.amount-positive{color:var(--status-green)}.amount-negative{color:var(--status-red)}.doc-modal-overlay{z-index:200;background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.doc-modal-inner{border-radius:var(--radius-lg);background:#fff;width:90vw;height:90vh;position:relative;overflow:hidden}.doc-modal-close{z-index:210;color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:22px;line-height:1;transition:background .15s;display:flex;position:absolute;top:8px;right:12px}.doc-modal-close:hover{background:#000000d9}.doc-modal-iframe{border:none;width:100%;height:100%}.tools-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.tool-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:18px;transition:border-color .2s}.tool-card:hover{border-color:var(--border)}.tool-card h4{margin-bottom:4px;font-size:14px;font-weight:500}.tool-card .tool-desc{color:var(--text-secondary);margin-bottom:12px;font-size:12px;line-height:1.5}.tool-card .tool-stats{color:var(--text-muted);gap:16px;font-size:11px;display:flex}.tool-card .tool-stats .mono{font-family:var(--font-mono);color:var(--text-secondary)}.badge-queued{color:var(--status-blue);background:#4a9ee81f}.badge-running{color:var(--status-yellow);background:#e8c84a1f}.badge-complete{color:var(--status-green);background:#3ecf711f}.badge-failed{color:var(--status-red);background:#e854541f}.badge-waiting{color:var(--text-secondary);background:#8a877f1f}.badge-in_development{color:var(--status-yellow);background:#e8c84a1f}.badge-active{color:var(--status-green);background:#3ecf711f}.badge-disabled{color:var(--text-muted);background:#5c5a541a}.spinner-inline{border:2px solid var(--border);border-top-color:var(--accent);vertical-align:middle;border-radius:50%;width:14px;height:14px;margin-right:6px;animation:.8s linear infinite spin;display:inline-block}.page-content{max-width:1600px;padding:32px 40px}.main-content{background:var(--bg-deep);flex:1;overflow:auto}.sidebar-nav{flex:1;padding:12px 0;overflow:auto}.sidebar-nav .nav-link{color:var(--text-secondary);border-left:2px solid #0000;align-items:center;gap:10px;padding:12px 20px;font-size:13px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.sidebar-nav .nav-link:hover{background:var(--bg-hover);color:var(--text-primary);border-left-color:var(--accent-dim)}.sidebar-nav .nav-link.active{color:var(--accent);border-left-color:var(--accent);background:#e8642c1a}.nav-icon{flex-shrink:0;width:18px;height:18px}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table thead tr{border-bottom:1px solid var(--border);background:var(--bg-hover)}.data-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:12px;font-size:11px;font-weight:600}.data-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);padding:12px}.data-table tbody tr:hover{background:var(--bg-hover)}.task-card{borderRadius:6px;background:var(--bg-elevated);border:1px solid var(--border);padding:12px;transition:all .2s}.task-card:hover{background:var(--bg-hover);border-color:var(--accent-dim)}@media (width<=768px){.sidebar{display:none}.main-content{padding:16px}.stats-grid{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}.page-content{padding:16px 20px}}.overview-gradient{filter:blur(50px);opacity:.32;background-color:#09090b;background-image:radial-gradient(60% 55% at 20% 25%,#ff57248c,#0000 60%),radial-gradient(55% 50% at 80% 30%,#ffc10573,#0000 60%),radial-gradient(65% 60% at 50% 85%,#e9206373,#0000 62%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:200% 200%;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;animation:22s ease-in-out infinite alternate overviewDrift}@keyframes overviewDrift{0%{background-position:0 0,100% 0,50% 100%}50%{background-position:40% 30%,60% 40%,40% 60%}to{background-position:100% 100%,0 100%,60% 0}}@media (prefers-reduced-motion:reduce){.overview-gradient{animation:none}}
