@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";
:root{--bg-deep-black:#09090b;--bg-charcoal:#111113;--bg-surface:#18181b;--brand-primary:#3b82f6;--brand-primary-strong:#2563eb;--brand-primary-soft:#60a5fa;--brand-accent:#f87171;--gradient-brand:linear-gradient(135deg, #2563eb 0%, #ef4444 100%);--text-primary:#f4f4f5;--text-secondary:#a1a1aa;--border-color:#27272a;--success:#4caf50;--warning:#ff9800;--info:#38bdf8;--danger:#ef4444}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-deep-black);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}.layout-container{min-height:100vh;display:flex}.workspace-content{flex:1;min-width:0;margin-left:250px;transition:margin-left .3s}.main-content{min-width:0;padding:28px 32px}.icon-heading,.app-header-title{align-items:center;gap:9px;display:flex}.icon-heading>svg{color:var(--brand-primary);flex-shrink:0}.module-heading{align-items:center;gap:12px;display:flex}.module-heading-icon{background:#3b82f61f;border:1px solid #3b82f633;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.page-header h1 .module-heading-text{color:var(--text-primary)}.sidebar-nav-icon{background:var(--bg-surface);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.sidebar-nav-item.is-active .sidebar-nav-icon{background:#ffffff2e}.sidebar-brand{color:var(--text-primary);align-items:center;gap:10px;min-width:0;text-decoration:none;display:flex}.sidebar-brand img{object-fit:contain;border-radius:10px;flex-shrink:0}.sidebar-brand strong{letter-spacing:-.02em;font-size:.94rem;line-height:1.25;display:block}.sidebar-brand small{letter-spacing:.1em;color:var(--text-secondary);margin-top:5px;font-size:.55rem;display:block}.app-header{z-index:90;border-bottom:1px solid var(--border-color);background:var(--bg-charcoal);grid-template-columns:minmax(0,1fr) minmax(240px,520px) minmax(0,1fr);align-items:center;gap:24px;min-height:100px;padding:22px 32px;display:grid;position:sticky;top:0}.app-header-lead{align-items:center;gap:12px;min-width:0;display:flex}.app-header-page{flex-direction:column;gap:5px;min-width:0;display:flex}.app-menu-button,.sidebar-close{border:1px solid var(--border-color);background:var(--bg-surface);width:40px;height:40px;color:var(--text-primary);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:none}.app-menu-button:hover,.sidebar-close:hover{border-color:var(--brand-primary)}.app-menu-button:focus-visible,.sidebar-close:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.app-sidebar{background:var(--bg-charcoal);border-right:1px solid var(--border-color);z-index:100;flex-direction:column;width:250px;padding:24px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar-collapse{border:1px solid var(--border-color);width:100%;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:12px;margin-bottom:12px;padding:9px 16px;font-size:.8rem;display:flex}.sidebar-collapse:hover{color:var(--text-primary);border-color:var(--brand-primary)}.sidebar-collapse:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.sidebar-backdrop{z-index:110;background:#0000008c;position:fixed;inset:0}.app-header-eyebrow{color:var(--text-secondary);letter-spacing:.14em;font-size:.6rem;font-weight:600}.app-header-title{letter-spacing:-.025em;font-size:1.5rem;font-weight:750}.app-header-subtitle{color:var(--text-secondary);font-size:.82rem}.app-header-title svg{flex-shrink:0}.app-header-actions{justify-content:flex-end;align-items:center;gap:16px;min-width:0;display:flex}.header-global-search{width:100%;min-width:0;position:relative}.global-search-field{border:1px solid var(--border-color);background:var(--bg-surface);width:100%;color:var(--text-secondary);border-radius:10px;align-items:center;gap:10px;padding:10px 13px;display:flex}.global-search-field:focus-within{border-color:var(--brand-primary);box-shadow:0 0 0 3px #3b82f61f}.global-search-field>svg{flex-shrink:0}.global-search-field input{width:100%;min-width:0;color:var(--text-primary);font:inherit;background:0 0;border:0;outline:none;font-size:.82rem}.global-search-field input::placeholder{color:var(--text-secondary)}.search-clear{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;align-items:center;padding:2px;display:flex}.header-dropdown{background:var(--bg-charcoal);border:1px solid var(--border-color);z-index:110;border-radius:12px;position:absolute;top:calc(100% + 10px);overflow:hidden;box-shadow:0 16px 48px #0000004d}.global-search-results{max-height:min(420px,65vh);left:0;right:0;overflow-y:auto}.global-search-result{cursor:pointer;border-bottom:1px solid var(--border-color);align-items:center;gap:10px;padding:12px 14px;display:flex}.global-search-result.selected,.global-search-result:hover{background:#3b82f61a}.global-search-result>svg{color:var(--brand-primary);flex-shrink:0}.global-search-result>span{flex:1;min-width:0}.global-search-result strong{overflow-wrap:anywhere;font-size:.82rem;font-weight:600;display:block}.global-search-result small{color:var(--text-secondary);overflow-wrap:anywhere;margin-top:4px;font-size:.7rem;display:block}.global-search-result em{color:var(--text-secondary);font-size:.62rem;font-style:normal}.header-search-empty{text-align:center;color:var(--text-secondary);padding:22px 16px;font-size:.8rem}.header-notifications,.header-theme-switcher{flex-shrink:0;position:relative}.sidebar-appearance{margin-top:auto;padding-top:24px}.sidebar-appearance .header-bell{width:100%;height:auto;font:inherit;justify-content:flex-start;gap:12px;padding:12px 14px;font-size:.85rem}.sidebar-appearance .appearance-panel{width:auto;inset:auto 0 calc(100% + 8px)}.appearance-panel{width:190px;padding:7px;right:0}.appearance-panel>p{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);padding:7px 10px;font-size:.65rem;font-weight:700}.appearance-panel>button{width:100%;color:var(--text-secondary);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;padding:10px;font-size:.85rem;display:flex}.appearance-panel>button span{flex:1}.appearance-panel>button:hover,.appearance-panel>button:focus-visible{background:var(--bg-surface);color:var(--text-primary)}.appearance-panel>button[aria-pressed=true]{color:var(--brand-primary);background:#3b82f61f}.header-bell{border:1px solid var(--border-color);background:var(--bg-surface);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:flex;position:relative}.header-bell:hover,.header-bell[aria-expanded=true]{border-color:var(--brand-primary);color:var(--brand-primary)}.header-bell:focus-visible,.search-clear:focus-visible,.sidebar-brand:focus-visible{outline:2px solid var(--brand-primary);outline-offset:3px}.notification-unread{background:var(--brand-primary);width:7px;height:7px;box-shadow:0 0 0 2px var(--bg-surface);border-radius:50%;position:absolute;top:7px;right:7px}.notification-panel{width:340px;max-width:calc(100vw - 32px);right:0}.notification-panel-heading{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:10px 14px;font-size:.85rem;display:flex}.notification-entries{max-height:min(340px,60vh);overflow-y:auto}.notification-entry{border-bottom:1px solid var(--border-color);padding:12px 14px}.notification-entry strong{font-size:.8rem}.notification-entry p{color:var(--text-secondary);margin:5px 0;font-size:.75rem}.notification-entry small{color:var(--text-secondary);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:5px;font-size:.65rem;display:flex}.notification-footer{color:var(--text-secondary);border-top:1px solid var(--border-color);padding:10px 14px;font-size:.68rem}.app-header-user{border-left:1px solid var(--border-color);flex:1;align-items:center;gap:11px;min-width:0;padding-left:16px;display:flex}.user-avatar{background:var(--brand-primary-strong);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:.8rem;font-weight:700;display:flex}.user-identity{min-width:0}.user-menu-container{flex:0 auto;width:max-content;min-width:0;max-width:260px;position:relative}.user-menu-trigger{width:100%;color:var(--text-primary);cursor:pointer;font:inherit;text-align:left;background:0 0;border-top:0;border-bottom:0;border-right:0;padding-top:0;padding-bottom:0}.user-menu-trigger:focus-visible{outline:2px solid var(--brand-primary);outline-offset:4px;border-radius:6px}.user-menu-trigger .user-identity{flex:1}.user-account-options{width:240px;max-width:calc(100vw - 32px);padding:7px;right:0}.user-account-options p{color:var(--text-secondary);overflow-wrap:anywhere;border-bottom:1px solid var(--border-color);margin-bottom:5px;padding:9px;font-size:.75rem}.user-account-options button{width:100%;color:var(--danger);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:10px;font-size:.85rem;display:flex}.user-account-options button:hover,.user-account-options button:focus-visible{background:#ef44441a}.user-account-options button:disabled{opacity:.6;cursor:wait}.user-identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600;display:block;overflow:hidden}.user-identity span{text-transform:capitalize;color:var(--text-secondary);align-items:center;gap:5px;margin-top:5px;font-size:.7rem;display:flex}.user-identity .user-no-role{color:var(--warning);text-transform:none}@media (max-width:1200px){.app-header{grid-template-columns:minmax(0,1fr) minmax(200px,380px) minmax(0,1fr);gap:14px;padding:16px 20px}.app-header-actions{gap:10px}.app-header-user{padding-left:10px}}@media (max-width:1100px){.app-header{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"page user""search bell";gap:12px;min-height:0;padding:14px 16px}.app-header-lead{grid-area:page}.app-header-actions{display:contents}.user-menu-container{flex:none;grid-area:user;justify-self:end;width:auto;max-width:240px}.header-global-search{grid-area:search;justify-self:stretch;max-width:none}.header-notifications{grid-area:bell;justify-self:end}}@media (max-width:950px){.main-content{padding:20px 16px}}@media (min-width:901px){.app-sidebar{transition:width .25s}.nav-collapsed .app-sidebar{width:76px;padding:24px 12px;overflow:visible}.nav-collapsed .workspace-content{margin-left:76px}.nav-collapsed .sidebar-label,.nav-collapsed .sidebar-brand span,.nav-collapsed .sidebar-appearance .header-bell>span{display:none}.nav-collapsed .sidebar-brand{justify-content:center}.nav-collapsed .sidebar-nav-item,.nav-collapsed .sidebar-collapse,.nav-collapsed .sidebar-appearance .header-bell{justify-content:center;padding-left:0!important;padding-right:0!important}.nav-collapsed .sidebar-appearance .appearance-panel{width:190px;left:0;right:auto}}@media (max-width:900px){.workspace-content{margin-left:0}.app-menu-button,.sidebar-close{display:inline-flex}.app-sidebar{z-index:120;visibility:hidden;width:min(280px,86vw);transition:transform .25s,visibility 0s linear .25s;transform:translate(-100%)}.app-sidebar.open{visibility:visible;transition:transform .25s,visibility;transform:translate(0);box-shadow:8px 0 32px #00000073}}@media (max-width:900px) and (prefers-reduced-motion:reduce){.app-sidebar,.app-sidebar.open{transition:none}}@media (max-width:520px){.user-identity{display:none}.app-header-user{border-left:0;padding-left:0}}.glass-panel{-webkit-backdrop-filter:blur(12px);background:#1a1a1ab3;border:1px solid #ffffff0f;border-radius:14px;box-shadow:0 8px 32px #0006}.btn-primary{background:linear-gradient(135deg, var(--brand-primary), var(--brand-primary-strong));color:#fff;cursor:pointer;letter-spacing:.3px;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 22px;font-family:inherit;font-size:.875rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary:hover{background:linear-gradient(135deg, var(--brand-primary-soft), var(--brand-primary));transform:translateY(-1px);box-shadow:0 0 16px #3b82f673}.btn-secondary{color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:.8rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-secondary:hover{color:var(--text-primary);background:#ffffff0d;border-color:#555}.btn-danger{color:var(--danger);cursor:pointer;background:0 0;border:1px solid #f443364d;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:.8rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-danger:hover{border-color:var(--danger);background:#f443361f}.btn-icon{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:all .18s;display:inline-flex}.btn-icon:hover{color:var(--text-primary);background:#ffffff14}.btn-icon.red:hover{color:var(--danger);background:#f443361f}.btn-icon.blue:hover{color:var(--info);background:#2196f31f}.btn-icon.green:hover{color:var(--success);background:#4caf501f}.status-select{cursor:pointer;letter-spacing:.4px;text-transform:uppercase;appearance:none;border:none;border-radius:20px;outline:none;padding:3px 10px;font-family:inherit;font-size:.72rem;font-weight:600;transition:box-shadow .2s,transform .15s}.status-select:hover{transform:scale(1.05);box-shadow:0 2px 12px #00000059}.status-select:focus{box-shadow:0 0 0 3px #3b82f640}.status-select option{color:#fff;background:#18181b;font-size:.8rem}.status-select.draft{color:#aaa;background:#a0a0a01f;border:1px solid #a0a0a033}.status-select.sent{color:#64b5f6;background:#2196f326;border:1px solid #2196f34d}.status-select.accepted{color:#81c784;background:#4caf502e;border:1px solid #4caf504d}.status-select.rejected{color:#ef9a9a;background:#f4433626;border:1px solid #f443364d}.status-select.pending{color:#ffcc80;background:#ff980026;border:1px solid #ff98004d}.status-select.paid{color:#81c784;background:#4caf502e;border:1px solid #4caf504d}.status-select.partial{color:#64b5f6;background:#2196f326;border:1px solid #2196f34d}.status-select.overdue{color:#ef9a9a;background:#f4433626;border:1px solid #f443364d}.badge{letter-spacing:.4px;text-transform:uppercase;border-radius:20px;align-items:center;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.badge-active{color:#81c784;background:#4caf502e;border:1px solid #4caf504d}.badge-inactive{color:#888;background:#a0a0a01f;border:1px solid #a0a0a033}.badge-draft{color:#aaa;background:#a0a0a01f;border:1px solid #a0a0a033}.badge-sent{color:#64b5f6;background:#2196f326;border:1px solid #2196f34d}.badge-accepted{color:#81c784;background:#4caf502e;border:1px solid #4caf504d}.badge-rejected{color:#ef9a9a;background:#f4433626;border:1px solid #f443364d}.badge-pending{color:#ffcc80;background:#ff980026;border:1px solid #ff98004d}.badge-paid{color:#81c784;background:#4caf502e;border:1px solid #4caf504d}.badge-partial{color:#64b5f6;background:#2196f326;border:1px solid #2196f34d}.badge-overdue{color:#ef9a9a;background:#f4433626;border:1px solid #f443364d}.badge-cancelled{color:#90a4ae;background:#607d8b26;border:1px solid #607d8b4d}.data-table{border-collapse:collapse;width:100%;min-width:600px;font-size:.875rem}.data-table th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--border-color);white-space:nowrap;padding:12px 16px;font-size:.75rem;font-weight:500}.data-table td{vertical-align:middle;border-bottom:1px solid #ffffff0a;padding:14px 16px}.data-table tbody tr{transition:background .15s}.data-table tbody tr:hover{background:#ffffff08}.data-table tbody tr:last-child td{border-bottom:none}.table-empty{text-align:center;color:var(--text-secondary);padding:50px 16px;font-size:.9rem}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.6px;font-size:.78rem;font-weight:600}.form-input,.form-select,.form-textarea{background:var(--bg-charcoal);border:1px solid var(--border-color);color:var(--text-primary);border-radius:8px;outline:none;width:100%;padding:10px 14px;font-family:inherit;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #3b82f626}.form-select option{background:var(--bg-charcoal)}.form-textarea{resize:vertical;min-height:80px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:24px;animation:.18s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:#18181b;border:1px solid #ffffff14;border-radius:16px;width:100%;max-width:620px;max-height:90vh;animation:.22s cubic-bezier(.34,1.56,.64,1) slideUp;overflow-y:auto;box-shadow:0 24px 80px #000000b3}.modal-content.wide{max-width:780px}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{color:var(--text-primary);font-size:1.1rem;font-weight:700}.modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:4px;font-size:1.3rem;line-height:1;transition:color .18s,background .18s;display:flex}.modal-close:hover{color:#fff;background:#ffffff14}.modal-body{padding:24px}.modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.line-items-header{border-bottom:1px solid var(--border-color);grid-template-columns:1fr 64px 100px 100px 36px;gap:8px;margin-bottom:6px;padding-bottom:6px;display:grid}.line-items-header span{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.6px;font-size:.72rem;font-weight:600}.line-item-row{grid-template-columns:1fr 64px 100px 100px 36px;align-items:center;gap:8px;margin-bottom:8px;display:grid}.line-item-row .form-input{margin:0;padding:8px 10px}.line-item-total{color:var(--text-primary);text-align:right;font-size:.875rem;font-weight:500}.stat-card{background:#18181bb3;border:1px solid #ffffff0f;border-radius:14px;padding:22px 24px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.stat-card:hover{transform:translateY(-2px);box-shadow:0 12px 40px #0006}.stat-card .card-icon{border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:14px;display:flex}.stat-card .card-value{color:var(--text-primary);margin-bottom:6px;font-size:1.75rem;font-weight:800;line-height:1}.stat-card .card-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.6px;font-size:.75rem;font-weight:500}.stat-card:after{content:"";opacity:.07;background:var(--brand-primary);border-radius:50%;width:90px;height:90px;position:absolute;bottom:-20px;right:-20px}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h1{color:var(--text-primary);font-size:1.75rem;font-weight:800}.page-header h1 span{color:var(--brand-primary)}.page-header-sub{color:var(--text-secondary);margin-top:4px;font-size:.82rem}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-deep-black)}::-webkit-scrollbar-thumb{background:var(--bg-surface);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-color)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}[data-theme=light]{--bg-deep-black:#f4f4f5;--bg-charcoal:#fff;--bg-surface:#e8e8ea;--text-primary:#111;--text-secondary:#666;--border-color:#d4d4d8}[data-theme=light] body{background-color:#f4f4f5}[data-theme=light] .glass-panel{background:#ffffffd9;border-color:#00000014;box-shadow:0 4px 20px #00000014}[data-theme=light] .stat-card{background:#ffffffe6;border-color:#00000012}[data-theme=light] .data-table td{border-bottom-color:#0000000d}[data-theme=light] .data-table tbody tr:hover{background:#00000005}[data-theme=light] .form-input,[data-theme=light] .form-select,[data-theme=light] .form-textarea{color:#111;background:#f8f8f8;border-color:#d4d4d8}[data-theme=light] .modal-content{background:#fff}[data-theme=light] .btn-secondary{color:#444;border-color:#ccc}[data-theme=light] .btn-secondary:hover{color:#111;background:#0000000a}[data-theme=light] ::-webkit-scrollbar-track{background:#f4f4f5}[data-theme=light] ::-webkit-scrollbar-thumb{background:#d4d4d8}@media print{.workspace-content{margin-left:0!important}.app-header{display:none!important}.main-content{margin-left:0!important;padding:0!important}aside,.page-header button,.btn-primary,.btn-secondary,.btn-danger,.btn-icon{display:none!important}.glass-panel{box-shadow:none!important;background:#fff!important;border:1px solid #ddd!important}body{color:#000!important;background:#fff!important}}
