:root{--bg:#050d18;--bg2:#08182c;--panel:#0c1d33;--panel2:#102743;--panel3:#0a1728;--ink:#eef6ff;--muted:#8ea6c2;--line:#244663;--blue:#2f80ed;--blue2:#62b0ff;--danger:#ff6b6b;--success:#48d6a1;--warning:#ffad73;--shadow:0 18px 50px rgba(0,0,0,.30);--radius:18px}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 85% -10%,#174a7f 0,transparent 31%),linear-gradient(180deg,#0b1d35 0,#06111f 440px,#050d18 100%);color:var(--ink);min-height:100vh}a{text-decoration:none;color:inherit}.shell{max-width:1240px;margin:0 auto;padding:26px 18px 54px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:52px;height:52px;border-radius:15px;background:linear-gradient(135deg,#09244a,#2f80ed);display:grid;place-items:center;color:#fff;font-weight:950;box-shadow:0 10px 28px rgba(47,128,237,.32);border:1px solid #397ac1}.brand h1{font-size:22px;margin:0}.brand small{display:block;color:var(--muted);margin-top:2px}.nav{display:flex;gap:10px;flex-wrap:wrap}.nav a,.btn{border:0;border-radius:12px;padding:13px 18px;font-weight:850;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:15px;min-height:48px}.nav a{background:#0f2a4a;border:1px solid #2b5277;color:#eaf4ff;box-shadow:0 7px 18px rgba(0,0,0,.14)}.nav a:hover{background:#173a64;border-color:#4b86bb}
.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;box-shadow:0 9px 24px rgba(47,128,237,.27)}.btn-secondary{background:#17314f;color:#eef6ff;border:1px solid #355877}.btn-danger{background:#3c1e29;color:#ffb1b1;border:1px solid #6e3242}.btn-success{background:#103b39;color:#91efc9;border:1px solid #286c63}.btn:hover{filter:brightness(1.09)}.btn-small{min-height:42px;padding:10px 14px;font-size:13px}
.hero{background:linear-gradient(135deg,#071a35,#0d315c 65%,#175da4);color:#fff;border:1px solid #1f568b;border-radius:24px;padding:30px;box-shadow:var(--shadow);margin-bottom:22px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:280px;height:280px;border:1px solid rgba(85,168,255,.19);border-radius:50%;right:-70px;top:-130px}.hero h2{font-size:31px;margin:3px 0 7px}.hero p{max-width:760px;color:#bad7f5;margin:0}.compact-hero{display:flex;align-items:center;justify-content:space-between;gap:22px}.hero-action{position:relative;z-index:1;white-space:nowrap}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.18em;color:#8fc7ff}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.card{background:linear-gradient(180deg,rgba(16,38,67,.98),rgba(10,25,46,.99));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:21px}.card h3{margin:0 0 15px;font-size:18px}.span-12{grid-column:span 12}.span-8{grid-column:span 8}.span-6{grid-column:span 6}.span-4{grid-column:span 4}.stat{padding:20px}.stat .value{font-size:29px;font-weight:900;margin-top:4px}.stat .label{color:var(--muted);font-size:13px}
.card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.card-heading h3{font-size:20px;margin:0 0 4px}.card-heading p{margin:0;color:var(--muted);font-size:13px}.filter-card{margin-bottom:20px;padding:23px}.invoice-list-card{padding:23px}.invoice-heading{padding-bottom:3px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#071729}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:15px 13px;border-bottom:1px solid #203d5c;text-align:left}.table th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#a9c3df;background:#0f2a49}.table tbody tr:hover{background:#0d223c}.table tr:last-child td{border-bottom:0}.table .num{text-align:right}.actions{display:flex;gap:9px;flex-wrap:wrap}.actions .btn{padding:10px 13px;font-size:13px;min-height:42px}.table-actions{flex-wrap:nowrap}.invoice-actions .btn{padding:15px 22px;font-size:16px;min-height:54px}.empty{padding:35px;text-align:center;color:var(--muted)}
label{display:block;font-weight:800;font-size:13px;margin-bottom:7px;color:#cde0f5}input,select,textarea{width:100%;padding:12px 13px;border-radius:11px;border:1px solid #315475;background:#07172a;color:var(--ink);font:inherit;outline:none;transition:.2s}input::placeholder,textarea::placeholder{color:#6f89a7}input:focus,select:focus,textarea:focus{border-color:#55a8ff;box-shadow:0 0 0 3px rgba(85,168,255,.13)}select option{background:#091a30;color:#eef6ff}textarea{min-height:96px;resize:vertical}
.form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.field-12{grid-column:span 12}.field-8{grid-column:span 8}.field-6{grid-column:span 6}.field-4{grid-column:span 4}.field-3{grid-column:span 3}.invoice-head{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.muted{color:var(--muted)}.item-builder{display:grid;grid-template-columns:1fr 1.4fr auto;gap:10px;align-items:end;margin-bottom:15px}.invoice-items{display:flex;flex-direction:column;gap:10px}.invoice-row{display:grid;grid-template-columns:90px 1fr 140px 140px 42px;gap:10px;align-items:center;padding:12px;border:1px solid #284865;border-radius:14px;background:#07192d}.invoice-row .line-total{font-weight:900;text-align:right;color:#b9dcff}.remove-row{width:40px;height:40px;border:1px solid #683546;border-radius:10px;background:#3a1b27;color:#ff9d9d;font-size:19px;cursor:pointer}.totals{max-width:390px;margin-left:auto;margin-top:18px;background:#081b30;border:1px solid #284865;border-radius:15px;padding:12px 17px}.total-line{display:flex;justify-content:space-between;padding:8px 0}.total-line.grand{border-top:2px solid #7cbcff;margin-top:5px;padding-top:13px;font-size:21px;font-weight:900;color:#dff0ff}.notice{padding:12px 14px;border-radius:12px;margin-bottom:16px}.notice.ok{background:#12372f;color:#91e8c5;border:1px solid #27614f}.notice.err{background:#3a1f29;color:#ffb4b4;border:1px solid #6c3345}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-title h2{margin:0;font-size:23px}.footer-note{text-align:center;color:#7893b0;font-size:12px;margin-top:30px}.subcard{border:1px solid #2c4d6e;border-radius:14px;padding:15px;background:#08192c}.category-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.category-chip{background:#143455;border:1px solid #32608e;border-radius:999px;padding:8px 12px;color:#dceeff;font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:8px}.category-chip button{border:0;background:transparent;color:#ff9eaa;font-weight:900;cursor:pointer;font-size:15px;padding:0}
.invoice-filters.pro-filters{display:grid;grid-template-columns:minmax(280px,1.8fr) minmax(150px,.7fr) minmax(160px,.8fr) minmax(160px,.8fr);gap:16px;align-items:end}.filter-search{min-width:0}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:84px;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:900;letter-spacing:.02em;border:1px solid transparent}.status-pending{background:#5a2d24;color:#ffd7c1;border-color:#a95e45}.status-paid{background:#123c36;color:#9af0cd;border-color:#2c7467}.amount-pending strong{color:#ffad7d;text-shadow:0 0 18px rgba(255,126,82,.16)}
.summary-panel{margin-top:20px;background:linear-gradient(180deg,#08192c,#071525);border:1px solid #284865;border-radius:16px;padding:17px}.summary-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.summary-title span{font-weight:900;font-size:15px}.summary-title small{color:var(--muted)}.filter-totals.three-totals{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:12px}.filter-totals>div{background:#0d2642;border:1px solid #2c5275;border-radius:13px;padding:15px 16px;display:flex;flex-direction:column;gap:5px}.filter-totals span{color:#9bb6d2;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.filter-totals strong{font-size:20px;color:#eaf4ff}.filter-totals .grand-filter-total{background:linear-gradient(135deg,#123b66,#1d5d96);border-color:#4381b8}.filter-totals .grand-filter-total strong{font-size:24px;color:#e4f4ff}
.status-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 21px;transition:.2s}.status-card.is-pending{border-color:#8e503b;background:linear-gradient(135deg,#291c1d,#11243d 58%,#102540)}.status-card.is-paid{border-color:#2d756a;background:linear-gradient(135deg,#102b2a,#10253b 58%,#102540)}.status-card-copy{display:flex;flex-direction:column;gap:2px}.status-kicker{font-size:10px;font-weight:950;letter-spacing:.16em;color:#8ea6c2}.status-card-copy strong{font-size:25px}.status-card.is-pending .status-card-copy strong{color:#ffb181}.status-card.is-paid .status-card-copy strong{color:#8df0c8}.status-card-copy small{color:var(--muted)}.status-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#061526;border:1px solid #284865;border-radius:14px;padding:6px;min-width:270px}.status-option{margin:0;cursor:pointer}.status-option input{position:absolute;opacity:0;pointer-events:none}.status-option span{display:flex;align-items:center;justify-content:center;padding:11px 17px;border-radius:10px;color:#9eb6cf;font-weight:900;border:1px solid transparent}.pending-option input:checked+span{background:#5a2d24;border-color:#a95e45;color:#ffd7c1}.paid-option input:checked+span{background:#123c36;border-color:#2c7467;color:#9af0cd}
@media(max-width:950px){.invoice-filters.pro-filters{grid-template-columns:1fr 1fr}.filter-search{grid-column:span 2}.span-8,.span-6,.span-4{grid-column:span 12}.invoice-head{grid-template-columns:1fr}.item-builder{grid-template-columns:1fr}.invoice-row{grid-template-columns:1fr 1fr;position:relative;padding-right:58px}.invoice-row .desc{grid-column:span 2}.invoice-row .line-total{text-align:left}.remove-row{position:absolute;right:10px;top:10px}.field-8,.field-6,.field-4,.field-3{grid-column:span 12}.topbar{align-items:flex-start;flex-direction:column}.nav{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.nav a{width:100%}.table{min-width:700px}.invoice-actions{width:100%}.invoice-actions .btn{flex:1 1 180px}.status-card{align-items:flex-start;flex-direction:column}.status-switch{width:100%;min-width:0}}
@media(max-width:620px){.shell{padding:15px 11px 38px}.card{padding:15px}.hero{border-radius:18px;padding:21px}.compact-hero{align-items:stretch;flex-direction:column}.hero h2{font-size:26px}.hero-action{width:100%}.brand-mark{width:46px;height:46px}.brand h1{font-size:20px}.nav{grid-template-columns:1fr 1fr;gap:8px}.nav a{font-size:14px;padding:12px 10px;min-height:48px}.invoice-filters.pro-filters{grid-template-columns:1fr}.filter-search{grid-column:span 1}.card-heading{align-items:stretch;flex-direction:column}.card-heading .btn{width:100%}.filter-totals.three-totals{grid-template-columns:1fr}.summary-title{align-items:flex-start;flex-direction:column}.actions .btn{flex:1}.table-actions .btn{flex:0 0 auto}.toolbar{align-items:stretch}.btn{min-height:46px}.invoice-actions{display:grid;grid-template-columns:1fr;gap:10px}.invoice-actions .btn{width:100%;min-height:55px;font-size:16px}.section-title{align-items:flex-start}.totals{max-width:none}.status-switch{grid-template-columns:1fr 1fr}.invoice-row{grid-template-columns:1fr}.invoice-row .desc{grid-column:span 1}}

/* Catalog category filter */
.catalog-card{overflow:hidden}.catalog-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid #203f5c}.catalog-heading h3{margin:0 0 5px}.catalog-heading p{margin:0}.catalog-filter-field{width:min(360px,100%);flex:0 1 360px}.catalog-filter-field select{min-height:48px}.catalog-empty{min-height:118px;border:1px dashed #315779;background:#081a2e;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:22px;color:#bcd0e5}.catalog-empty strong{font-size:16px;color:#eaf4ff}.catalog-empty span{font-size:13px;color:#88a5c2}.catalog-empty.compact{min-height:96px;margin-top:14px}.catalog-card .table-wrap{margin-top:0}
@media(max-width:700px){.catalog-heading{align-items:stretch;flex-direction:column;gap:16px}.catalog-filter-field{width:100%;flex-basis:auto}.catalog-filter-field select{min-height:52px}.catalog-empty{min-height:105px;padding:18px}.catalog-card .table{min-width:640px}}

/* v6 refinements */
input[readonly]{background:#0b213a;color:#b9d8f6;border-color:#2c557a;cursor:default}
.setting-help,.invoice-number-help{margin-top:6px;font-size:12px;line-height:1.4}
.catalog-card #catalog_empty,.catalog-card #catalog_table{margin-top:8px}


/* v7 invoice item ordering */
.invoice-row{grid-template-columns:90px 1fr 140px 140px 196px}
.row-controls{display:grid;grid-template-columns:72px 80px 40px;gap:5px;align-items:center;justify-content:end}
.move-row,.remove-row{height:40px;border-radius:10px;font-size:18px;font-weight:900;cursor:pointer;transition:.18s ease}
.move-row{width:auto;padding:0 10px;border:1px solid #315d86;background:#102c4b;color:#bdddff}
.move-row:hover:not(:disabled){background:#17436f;border-color:#4d8cc4;color:#fff;transform:translateY(-1px)}
.move-row:disabled{opacity:.28;cursor:not-allowed}
.remove-row{width:40px;position:static;border:1px solid #683546;background:#3a1b27;color:#ff9d9d}
.remove-row:hover{background:#512334;border-color:#955067}
@media(max-width:950px){
  .invoice-row{grid-template-columns:1fr 1fr;padding-right:12px}
  .invoice-row .desc{grid-column:span 2}
  .row-controls{grid-column:span 2;justify-content:start;margin-top:2px}
  .remove-row{position:static}
}
@media(max-width:620px){
  .invoice-row{grid-template-columns:1fr}
  .invoice-row .desc,.row-controls{grid-column:span 1}
  .row-controls{width:100%;grid-template-columns:1fr 1fr 1fr;gap:8px}
  .move-row,.remove-row{width:100%;height:44px}
}

.app-version{display:block;margin-top:3px;color:#62b0ff;font-size:11px;font-weight:900;letter-spacing:.05em}.move-row span{font-size:12px;margin-left:3px}.row-controls{min-width:0}

/* v9 Estimate + Invoice */
.document-type-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 21px;transition:.2s}.document-type-card.is-estimate{border-color:#376e9e;background:linear-gradient(135deg,#0c2945,#10253b 58%,#102540)}.document-type-card.is-invoice{border-color:#477db2;background:linear-gradient(135deg,#102b4a,#10253b 58%,#102540)}.document-type-card.is-estimate .status-card-copy strong{color:#80c6ff}.document-type-card.is-invoice .status-card-copy strong{color:#b8ddff}.document-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#061526;border:1px solid #284865;border-radius:14px;padding:6px;min-width:280px}.document-option{margin:0;cursor:pointer}.document-option input{position:absolute;opacity:0;pointer-events:none}.document-option span{display:flex;align-items:center;justify-content:center;padding:11px 17px;border-radius:10px;color:#9eb6cf;font-weight:900;border:1px solid transparent}.estimate-option input:checked+span{background:#123d62;border-color:#347bb3;color:#cceaff}.invoice-option input:checked+span{background:#174a78;border-color:#4b8fc5;color:#e0f2ff}.document-option input:disabled+span{opacity:.45;cursor:not-allowed}.status-estimate{background:#153d61;color:#bfe4ff;border-color:#3477aa}.status-invoice{background:#17395a;color:#c7e5ff;border-color:#376d9c}.convert-search{max-width:620px}.convert-search input{min-height:50px}
@media(max-width:950px){.document-type-card{align-items:flex-start;flex-direction:column}.document-switch{width:100%;min-width:0}}
@media(max-width:620px){.document-switch{grid-template-columns:1fr 1fr}.document-option span{padding:12px 8px}.nav{grid-template-columns:1fr 1fr}}
