@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--bg: #f4f7ff;--surface: #ffffff;--surface-soft: #f8fbff;--text: #0b1b33;--muted: #6b7a90;--border: #dbe5f3;--brand: #1d4ed8;--brand-strong: #1e40af;--ok: #0f766e;--danger: #b91c1c;--shadow: 0 12px 30px rgba(11, 27, 51, .08)}*{box-sizing:border-box}body{margin:0;font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,-apple-system,sans-serif;background:radial-gradient(circle at 10% 20%,#dbeafe 0%,transparent 35%),radial-gradient(circle at 90% 0%,#d1fae5 0%,transparent 28%),var(--bg);color:var(--text)}h2,h3,h4,p{margin:0}.app-shell{display:grid;grid-template-columns:260px 1fr;height:100vh;overflow:hidden}.main-panel{display:flex;flex-direction:column;min-width:0;height:100vh;overflow:hidden}.sidebar{padding:28px 20px;background:linear-gradient(170deg,#0b1324,#182b4f 55%,#1d4ed8);color:#fff;display:flex;flex-direction:column;gap:10px;border-right:1px solid rgba(255,255,255,.08);height:100vh;overflow:hidden}.sidebar h2{font-size:1.25rem;letter-spacing:.3px}.sidebar-logo{max-height:56px;max-width:170px;width:auto;object-fit:contain;margin-bottom:6px}.sidebar-subtitle{color:#c9d7ef;font-size:.85rem;margin-bottom:16px}.sidebar a{color:#b4c6e7;text-decoration:none;padding:10px 12px;border-radius:10px;font-weight:600;transition:all .2s ease}.sidebar a:hover,.sidebar a.active{color:#fff;background:#ffffff24}.content{padding:24px;display:grid;gap:14px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.footer{padding:10px 24px 14px;color:var(--muted);font-size:.8rem;border-top:1px solid var(--border);background:#ffffffb3}.sidebar-nav{display:grid;gap:12px;overflow-y:auto;overflow-x:hidden;padding-right:4px}.menu-group{display:grid;gap:6px}.menu-group-toggle{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:0 8px}.menu-group-title{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#a7bbde}.menu-sub{display:none;gap:4px}.menu-sub.open{display:grid}.menu-sub a{margin-left:8px;font-size:.8rem;font-weight:600;padding:7px 9px;border-radius:8px}.menu-link{display:inline-flex;align-items:center;gap:8px;letter-spacing:.01em}.menu-link-icon{width:18px;height:18px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;background:#ffffff14;color:#cfe0ff}.menu-sub a.active .menu-link-icon,.menu-sub a:hover .menu-link-icon{background:#ffffff38;color:#fff}.sidebar-user{margin-top:auto;position:sticky;bottom:0;background:#0b1324bf;border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:10px 12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:space-between;gap:10px}.sidebar-user-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,.24)}.sidebar-user-avatar-fallback{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#ffffff24;color:#fff;font-weight:700;border:1px solid rgba(255,255,255,.24)}.sidebar-user-meta{min-width:0}.sidebar-user-name{color:#fff;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{color:#c9d7ef;font-size:.82rem;margin-top:2px;margin-bottom:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-logout-icon{border:1px solid rgba(255,255,255,.26);background:#ffffff1a;color:#fff;width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem}.sidebar-logout-icon:hover{background:#fff3}.cards{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:14px}.cards article{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);padding:16px;border-radius:14px}.cards h4{font-size:.85rem;color:var(--muted);text-transform:capitalize;margin-bottom:6px}.cards strong{font-size:1.5rem}.chart,.table-wrap,.inline-form,.login form{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px}.chart{padding:16px}.chart h4{margin-bottom:8px}.inline-form{padding:14px;display:flex;gap:10px;flex-wrap:wrap}input,select{border:1px solid var(--border);border-radius:10px;padding:10px 12px;font:inherit;background:var(--surface-soft);min-width:170px}textarea{border:1px solid var(--border);border-radius:10px;padding:10px 12px;font:inherit;background:var(--surface-soft);min-width:170px;resize:vertical}input:focus,select:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px #dbeafe}.btn{border:none;border-radius:10px;padding:10px 14px;font:inherit;font-weight:700;background:linear-gradient(180deg,var(--brand),var(--brand-strong));color:#fff;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-sm{padding:6px 9px;font-size:.78rem;border-radius:8px}.icon-btn{min-width:34px;text-align:center;padding:7px 8px;font-size:.95rem;line-height:1}.btn-outline{border:1px solid var(--border);border-radius:10px;padding:9px 13px;background:#fff;cursor:pointer;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.section-head-tight{margin-bottom:8px}.invoice-editor-page .section-head.section-head-tight{margin-bottom:0;min-height:40px}.invoice-editor-page .section-head h3{line-height:1.2}.table-actions{display:flex;gap:8px;align-items:center}.action-icon{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:.92rem}.action-icon:hover{background:#edf4ff}.action-icon.danger{color:var(--danger);border-color:#fecaca;background:#fff5f5}.action-icon.danger:hover{background:#ffe4e6}.btn-inline-icon{display:inline-flex;align-items:center;gap:6px}.invoice-form{display:grid;gap:12px}.invoice-editor-page{display:grid;gap:12px;align-content:start;align-self:start}.invoice-editor-form{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:14px;align-content:start;align-self:start}.invoice-editor-form .invoice-meta{align-items:end}.invoice-editor-form .invoice-actions{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:12px;margin-top:8px}.invoice-editor-form .totals-box{justify-self:end;margin-left:0}.invoice-editor-form .invoice-actions .table-actions:last-child{justify-self:end}.invoice-editor-form .invoice-actions .btn,.invoice-editor-form .invoice-actions .btn-outline{min-height:36px;padding:8px 12px;border-radius:10px;font-weight:700}.invoice-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.invoice-customer-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.field-stack{display:grid;gap:6px;font-size:.82rem;font-weight:700;color:#395172}.field-stack input,.field-stack select{width:100%}.line-item-autocomplete{position:relative;width:100%;min-width:320px}.line-item-autocomplete input{width:100%;min-width:0}.line-item-autocomplete .dropdown-list{width:100%}.invoice-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:12px;align-items:start}.detail-main{display:grid;gap:12px;min-width:0}.detail-drawer{display:grid;gap:10px;position:sticky;top:6px;align-self:start}.detail-drawer .table-wrap{margin-top:0!important}.totals-box{margin-left:auto;background:#f8fbff;border:1px solid var(--border);border-radius:10px;padding:10px 12px;min-width:220px}.totals-box .total-line{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.88rem;margin-bottom:6px}.totals-box .total-line:last-child{margin-bottom:0}.totals-box .total-line.total-strong{font-weight:700}.table-wrap{overflow:auto}.invoice-list-wrap{padding:10px 12px}.invoice-list-head{display:flex;justify-content:space-between;align-items:baseline;padding:6px 4px 12px}.invoice-filter-row{align-items:center}.invoice-filter-right{margin-left:auto}table{width:100%;border-collapse:collapse}table.content-fit-table td,table.content-fit-table th{white-space:normal;vertical-align:middle}thead{background:#f1f6ff}td,th{padding:12px;border-bottom:1px solid #e6edf8;text-align:left;white-space:nowrap}th{color:#395172;font-size:.85rem}.badge{background:#dbeafe;color:#1e3a8a;border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:700}a{color:var(--brand);font-weight:600}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.login-card-wrap{width:min(980px,96vw);display:grid;gap:10px}.login>form{width:min(420px,94vw);padding:24px;display:grid;gap:12px}.login-redesign{background:radial-gradient(circle at 15% 15%,#dbeafe 0%,transparent 35%),radial-gradient(circle at 85% 0%,#c7f9e5 0%,transparent 32%),#f1f5ff}.login-card{width:100%;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;display:grid;grid-template-columns:1.05fr 1fr}.login-brand{padding:34px 30px;background:linear-gradient(160deg,#0f1d3b,#1d4ed8);color:#fff;display:grid;gap:10px;align-content:center}.login-brand .muted{color:#dbe8ff}.login-kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:#bfdbfe}.login-form-panel{width:100%;padding:30px;display:grid;gap:12px;align-content:center;min-height:100%}.login-form-panel label{display:grid;gap:6px;font-size:.85rem;color:#395172;font-weight:600}.login-version{margin-top:8px;color:#dbe8ff;font-size:.8rem;font-weight:600}.login-footer{text-align:center;font-size:.78rem;color:#5d6c84}.muted{color:var(--muted);font-size:.9rem}.error-text{color:var(--danger);font-weight:600}.success-text{color:var(--ok);font-weight:700;margin-top:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b1b3380;display:grid;place-items:center;z-index:1000;padding:14px}.modal{width:min(760px,96vw);max-height:92vh;overflow:auto;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:14px}.modal:has(.invoice-preview-wrap){width:min(980px,98vw)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.modal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.modal-form label{display:grid;gap:6px;font-size:.85rem;color:#395172;font-weight:600}.modal-form input,.modal-form select{min-width:0}.modal-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:10px;margin-top:8px;position:sticky;bottom:0;z-index:4;background:#fff;padding-top:10px;border-top:1px solid var(--border)}.modal-head .btn,.modal-head .btn-outline,.modal-actions .btn,.modal-actions .btn-outline{min-height:40px;padding:8px 14px;border-radius:11px;font-weight:700}.table-footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding:0 4px}.table-footer-left{display:inline-flex;align-items:center;gap:8px}.page-size-select{min-width:104px;padding:5px 8px;font-size:.76rem;border-radius:8px}.btn-outline.active-tab{border-color:#93c5fd;background:#eaf2ff;color:#1e3a8a}.check-row{grid-column:1 / -1;display:inline-flex;align-items:center;gap:8px;color:var(--text);font-weight:600;line-height:1.1}.check-row input{min-width:auto;margin:0}.check-row-inline{grid-column:1 / -1;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.check-row-compact{grid-column:auto;margin:0;white-space:nowrap}.contact-type-block{grid-column:1 / -1;display:grid;gap:8px}.contact-type-block p{margin:0;font-size:.85rem;color:#395172;font-weight:700}.contact-type-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.check-pill{border:1px solid #cfd8ea;background:#f8faff;border-radius:16px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.9rem;font-weight:700;color:#334e6f;cursor:pointer;box-shadow:0 2px 10px #1e40af0f;white-space:nowrap}.modal-form label.check-pill{display:flex;align-items:center;justify-content:space-between;gap:12px}.check-pill>span{flex:1 1 auto;min-width:0}.check-pill input{margin:0;min-width:auto;width:18px;height:18px;display:block;flex:0 0 auto;accent-color:#16a34a;vertical-align:middle}.check-pill.active{border-color:#9ab4ef;background:#eef4ff;color:#1e3a8a}.taxes-table-wrap th,.taxes-table-wrap td{white-space:nowrap}.tax-modal-form{grid-template-columns:repeat(3,minmax(0,1fr))}.tax-toggle-row{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:2px 9px;font-size:.74rem;font-weight:700;border:1px solid transparent}.status-pill.ok{color:#166534;background:#dcfce7;border-color:#86efac}.status-pill.off{color:#475569;background:#f1f5f9;border-color:#cbd5e1}.category-table-wrap th,.category-table-wrap td{white-space:nowrap}.category-modal-form{grid-template-columns:repeat(2,minmax(0,1fr))}.category-toggle-row{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.product-status-block{grid-column:1 / -1}.product-status-row{display:grid;grid-template-columns:1fr;gap:10px}.product-status-inline{grid-column:auto;display:grid;gap:8px}.product-status-inline p{margin:0;font-size:.85rem;color:#395172;font-weight:700}.product-inline-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media (max-width: 760px){.product-inline-toggles{grid-template-columns:1fr}}.payment-terms-table-wrap th,.payment-terms-table-wrap td{white-space:nowrap}.payment-term-modal-form,.user-modal-form{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-page{display:grid;gap:12px}.profile-layout{display:grid;grid-template-columns:1fr;gap:12px;align-items:start}.profile-avatar-card{max-width:420px;width:100%;padding:18px;border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;background:var(--surface);display:grid;gap:10px;justify-items:center;margin:0 auto}.profile-avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;border:1px solid #dbe5f3}.profile-avatar-fallback{background:#eef4ff;display:grid;place-items:center;font-weight:700;color:#1e3a8a}.profile-file-input{width:100%;display:grid;gap:8px;justify-items:center}.profile-file-actions{margin-top:4px}.profile-upload-btn{min-width:150px}.profile-file-hidden{display:none}.profile-file-name{margin:0;font-size:.78rem;text-align:center}.profile-form{padding:18px;border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;background:var(--surface)}.same-billing-row{grid-column:1 / -1;white-space:nowrap}.dropdown-list{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;max-height:220px;overflow:auto;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow)}.dropdown-item{width:100%;text-align:left;border:none;background:#fff;padding:10px 12px;cursor:pointer;font:inherit}.dropdown-item:hover{background:#f1f6ff}.invoice-preview-wrap{padding:18px;font-size:.92rem;width:min(210mm,100%);min-height:297mm;margin:0 auto;background:#fff}.invoice-preview-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:flex-start;gap:16px;margin-bottom:12px}.invoice-company-col{display:grid;gap:8px}.invoice-party-block{display:grid;gap:4px}.invoice-customer-col{text-align:left;padding-top:65px;display:grid;gap:4px;align-self:start}.invoice-company-col.right{justify-self:end;justify-items:end;text-align:right;align-self:start}.invoice-title-center{text-align:center;padding-top:0;align-self:start}.invoice-title-center h2{font-size:1.65rem;letter-spacing:.08em}.invoice-company-logo{max-height:62px;max-width:200px;object-fit:contain;justify-self:end}.invoice-desc-title{font-weight:700}.invoice-desc-text{margin-top:2px;color:var(--muted);white-space:normal}.invoice-totals-wrap{display:flex;justify-content:flex-end}.invoice-totals{margin-top:12px}.invoice-total-row{display:grid;grid-template-columns:1fr auto;gap:16px}.invoice-total-row.total{font-weight:700}.invoice-payment-info{margin-top:14px}.invoice-preview-wrap h4{font-size:1rem}.invoice-preview-wrap p,.invoice-preview-wrap td,.invoice-preview-wrap th{font-size:.85rem}@media print{@page{size:A4;margin:12mm}.sidebar,.footer,.section-head,.section-head .btn,.section-head .btn-outline{display:none!important}.content{padding:0!important}body.print-invoice-only .app-shell,body.print-invoice-only .main-panel,body.print-invoice-only .content,body.print-invoice-only .content *{visibility:hidden!important}body.print-invoice-only .modal-backdrop,body.print-invoice-only .modal-backdrop *{visibility:visible!important}.invoice-preview-wrap{box-shadow:none!important;border:none!important;width:186mm!important;min-height:auto!important;margin:0 auto!important;padding:0!important;font-size:11px!important}.modal-head,.modal-actions,.modal .table-actions{display:none!important}.modal-backdrop{position:fixed!important;width:100%!important;height:auto!important;display:block!important;inset:auto!important;background:#fff!important;padding:0!important;margin:0!important}.modal{width:100%!important;max-height:none!important;overflow:visible!important;border:none!important;box-shadow:none!important;padding:0!important;margin:0!important}.invoice-preview-head{grid-template-columns:1fr 1fr 1fr!important;align-items:start!important;gap:12px!important}.invoice-customer-col{padding-top:65px!important;margin-top:0!important}.invoice-title-center{padding-top:0!important;align-self:start!important}.invoice-title-center h2{margin:0!important;font-size:20px!important}.invoice-company-col.right{justify-items:end!important;text-align:right!important}.invoice-company-logo{max-height:65px!important}.invoice-preview-wrap h4{font-size:13px!important}.invoice-preview-wrap p,.invoice-preview-wrap td,.invoice-preview-wrap th{font-size:11px!important}body{background:#fff!important}}@media (max-width: 920px){.login-card{grid-template-columns:1fr}.login-brand{padding:24px}}@media (max-width: 1000px){.cards{grid-template-columns:repeat(2,minmax(140px,1fr))}.detail-layout{grid-template-columns:1fr}.detail-drawer{position:static}}@media (max-width: 860px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.content{padding:14px}.topbar{padding:0 14px}.section-head{align-items:flex-start;flex-direction:column}.modal-form,.tax-modal-form,.tax-toggle-row,.category-modal-form,.category-toggle-row,.payment-term-modal-form,.user-modal-form,.profile-layout,.invoice-meta,.invoice-customer-picker{grid-template-columns:1fr}.invoice-editor-form .invoice-actions{grid-template-columns:1fr;align-items:stretch}.invoice-editor-form .totals-box,.invoice-editor-form .invoice-actions .table-actions:last-child{justify-self:stretch}.invoice-preview-head{grid-template-columns:1fr}.invoice-company-col.right{justify-items:start;text-align:left}}
