:root{--orange:#f58220;--orange-dark:#d8670d;--charcoal:#50565a;--charcoal-dark:#303538;--ink:#202529;--muted:#6f777d;--line:#e1e5e8;--bg:#f4f6f7;--white:#fff;--green:#198754;--red:#c0392b;--blue:#0d6efd;--shadow:0 8px 30px rgba(29,35,39,.08)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg)}a{color:inherit;text-decoration:none}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:linear-gradient(180deg,var(--charcoal-dark),#40474b);color:#fff;display:flex;flex-direction:column;z-index:30;box-shadow:8px 0 25px rgba(0,0,0,.12);transition:.25s}.brand{display:flex;align-items:center;gap:12px;padding:18px;border-bottom:1px solid rgba(255,255,255,.1)}.brand img{width:54px;height:54px;border-radius:50%;background:#fff}.brand strong{font-size:23px;letter-spacing:-1px}.brand strong span{color:var(--orange)}.brand small{display:block;color:#c9d0d4;margin-top:2px;letter-spacing:.8px}.sidebar nav{padding:12px 10px;overflow:auto;flex:1}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;margin:2px 0;border-radius:8px;color:#e9edef;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:var(--orange);color:#fff}.sidebar nav i{width:22px;text-align:center;font-style:normal;font-size:17px}.nav-label{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:#9fa9ae;padding:16px 12px 5px}.sidebar-footer{padding:15px 18px;border-top:1px solid rgba(255,255,255,.1);display:grid;gap:3px}.sidebar-footer small{color:#adb6ba}.sidebar-footer strong{font-size:13px}.sidebar-footer a{color:#ffb26e;font-size:13px;margin-top:6px}.main{margin-left:260px;width:calc(100% - 260px)}.topbar{min-height:96px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:18px 28px;gap:18px;position:sticky;top:0;z-index:20}.topbar h1{font-size:23px;margin:0;color:var(--charcoal-dark)}.topbar p{margin:5px 0 0;color:var(--muted);font-size:13px}.top-actions{margin-left:auto;display:flex;gap:9px;align-items:center}.menu-btn{display:none;background:none;border:0;font-size:24px}.content{padding:24px 28px 50px}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.card-header{padding:15px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.card-header h2,.card-header h3{margin:0;font-size:16px}.card-body{padding:18px}.metric{padding:18px;border-left:4px solid var(--orange);position:relative}.metric .label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.8px}.metric .value{font-weight:800;font-size:23px;margin-top:8px}.metric .hint{font-size:12px;color:var(--muted);margin-top:6px}.metric.green{border-left-color:var(--green)}.metric.red{border-left-color:var(--red)}.metric.blue{border-left-color:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:8px;padding:10px 14px;font-weight:700;font-size:13px;cursor:pointer;background:#e9ecef;color:var(--ink)}.btn:hover{filter:brightness(.96)}.btn-primary{background:var(--orange);color:#fff}.btn-dark{background:var(--charcoal);color:#fff}.btn-success{background:var(--green);color:#fff}.btn-danger{background:var(--red);color:#fff}.btn-outline{background:#fff;border:1px solid var(--line)}.btn-sm{padding:7px 10px;font-size:12px}.actions{display:flex;gap:8px;flex-wrap:wrap}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{background:#f0f2f3;color:#525a5f;text-align:left;padding:11px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.table td{padding:11px 12px;border-top:1px solid var(--line);vertical-align:top}.table tr:hover td{background:#fffaf6}.num{text-align:right;white-space:nowrap}.badge{display:inline-block;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.4px;background:#e9ecef}.badge-paid,.badge-completed,.badge-confirmed,.badge-arrived{background:#d9f2e4;color:#11683b}.badge-partial,.badge-ordered,.badge-ongoing,.badge-planned{background:#fff0d9;color:#945006}.badge-unpaid,.badge-cancelled,.badge-overdue{background:#fbe0dd;color:#9e2f25}.badge-no-quote,.badge-draft{background:#e7e9ea;color:#555}.form-card{max-width:1100px}.form-section{padding:18px;border-bottom:1px solid var(--line)}.form-section:last-child{border-bottom:0}.form-section h3{margin:0 0 15px;font-size:15px;color:var(--charcoal)}.form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.field{grid-column:span 4}.field.half{grid-column:span 6}.field.full{grid-column:1/-1}.field.quarter{grid-column:span 3}.field label{display:block;font-size:12px;font-weight:700;margin-bottom:6px;color:#50575b}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd5d8;border-radius:7px;background:#fff;padding:10px 11px;font:inherit;font-size:13px;color:var(--ink)}.field textarea{min-height:88px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid rgba(245,130,32,.18);border-color:var(--orange)}.help{font-size:11px;color:var(--muted);margin-top:5px}.form-actions{display:flex;gap:10px;padding:18px}.alert{padding:12px 15px;border-radius:8px;margin-bottom:15px;font-size:13px}.alert-success{background:#ddf3e6;color:#14643c}.alert-danger{background:#fbe3e1;color:#912e26}.alert-warning{background:#fff2da;color:#7d5007}.alert-info{background:#e1efff;color:#245f9f}.search{display:flex;gap:8px}.search input{min-width:260px;border:1px solid var(--line);border-radius:8px;padding:10px}.progress{height:8px;background:#e7eaec;border-radius:10px;overflow:hidden}.progress span{display:block;height:100%;background:var(--orange)}.detail-list{display:grid;grid-template-columns:190px 1fr;gap:0}.detail-list dt,.detail-list dd{margin:0;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}.detail-list dt{font-weight:700;color:var(--muted)}.stat-strip{display:flex;gap:20px;flex-wrap:wrap}.stat-strip div{min-width:140px}.stat-strip small{display:block;color:var(--muted)}.stat-strip strong{font-size:18px}.image-thumb{width:72px;height:58px;object-fit:cover;border-radius:7px;border:1px solid var(--line)}.image-large{max-width:300px;max-height:220px;border-radius:10px;border:1px solid var(--line)}.empty{padding:35px;text-align:center;color:var(--muted)}.callout{padding:15px;border-radius:9px;background:#fff7f0;border:1px solid #ffd7b5}.callout strong{color:var(--orange-dark)}.cost-box{background:var(--charcoal-dark);color:#fff;padding:18px;border-radius:10px}.cost-box .row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.12)}.cost-box .row:last-child{font-size:18px;font-weight:800;border:0;color:#ffb26e}.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:#fff}.login-visual{background:linear-gradient(145deg,var(--charcoal-dark),#596166);color:#fff;padding:70px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-visual:after{content:"";position:absolute;width:380px;height:380px;border:70px solid rgba(245,130,32,.14);border-radius:50%;right:-140px;bottom:-140px}.login-visual img{width:180px;height:auto;background:#fff;border-radius:16px;padding:12px;margin-bottom:25px}.login-visual h1{font-size:42px;margin:0}.login-visual h1 span{color:var(--orange)}.login-visual p{max-width:520px;color:#d9dfe2;line-height:1.7}.login-panel{display:flex;align-items:center;justify-content:center;padding:35px}.login-box{width:min(420px,100%)}.login-box h2{font-size:28px;margin-bottom:8px}.login-box>p{color:var(--muted);margin-bottom:28px}.login-box .field{margin-bottom:15px}.login-box button{width:100%;margin-top:5px}.login-forgot{text-align:right;margin:-9px 0 16px}.login-forgot a{font-size:12px;color:var(--muted);font-weight:600}.login-forgot a:hover{color:var(--orange)}.login-divider{display:flex;align-items:center;gap:10px;margin:26px 0 14px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:700}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--line)}.account-type-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.account-type-btn{display:block;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;transition:.15s}.account-type-btn:hover{border-color:var(--orange);background:#fff7f0}.account-type-btn .title{display:block;font-weight:800;font-size:13px;color:var(--ink)}.account-type-btn .sub{display:block;font-size:11px;color:var(--muted);margin-top:2px}.invoice-paper{background:#fff;max-width:900px;margin:auto;box-shadow:var(--shadow)}.invoice-head{display:grid;grid-template-columns:160px 1fr;background:var(--charcoal);color:#fff}.invoice-head .label{background:var(--orange);display:flex;align-items:center;justify-content:center;font-size:25px;font-weight:900;letter-spacing:2px}.invoice-head .company{padding:22px;text-align:right}.invoice-title{text-align:center;padding:18px;font-weight:900}.invoice-meta{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px}.invoice-total{margin-left:auto;width:360px;padding:20px}.invoice-total div{display:flex;justify-content:space-between;padding:8px;border-bottom:1px solid var(--line)}.invoice-total div:last-child{background:var(--orange);color:#fff;font-weight:900}.stamp{width:150px}.assistant-chat{height:420px;overflow:auto;padding:16px;background:#f7f8f9;border:1px solid var(--line);border-radius:9px}.message{max-width:82%;padding:11px 13px;border-radius:11px;margin-bottom:10px;white-space:pre-wrap;font-size:13px;line-height:1.5}.message.user{margin-left:auto;background:var(--orange);color:#fff}.message.assistant{background:#fff;border:1px solid var(--line)}.assistant-input{display:flex;gap:8px;margin-top:10px}.assistant-input textarea{flex:1;min-height:54px;border:1px solid var(--line);border-radius:8px;padding:10px}.print-only{display:none}.product-header{display:flex;gap:20px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:18px;align-items:flex-start}.product-header-photo{width:110px;height:110px;object-fit:cover;border-radius:10px;border:1px solid var(--line);flex-shrink:0}.product-header-photo-empty{display:flex;align-items:center;justify-content:center;background:#f4f5f6;color:var(--muted);font-size:11px;text-align:center}.product-header-info{flex:1;display:flex;flex-direction:column;gap:6px}.product-header-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:3px 0;border-bottom:1px solid #f0f1f2}.product-header-row:last-of-type{border-bottom:0}.product-header-row span{color:var(--muted)}.section-divider{display:flex;align-items:center;gap:10px;margin:28px 0 12px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:700}.section-divider:before,.section-divider:after{content:"";flex:1;height:1px;background:var(--line)}.old-debts-card{background:#fffaf5;border-color:#ffd7b5}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}.shop-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);transition:.15s;display:flex;flex-direction:column}.shop-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.1)}.shop-card-photo{width:100%;aspect-ratio:1/1;object-fit:cover;background:#f4f5f6}.shop-card-photo-empty{width:100%;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#f4f5f6,#e9ecef);color:var(--muted);font-size:12px}.shop-card-body{padding:14px;display:flex;flex-direction:column;gap:8px;flex:1}.shop-card-name{font-weight:800;font-size:14px;color:var(--ink)}.shop-card-price{font-size:17px;font-weight:900;color:var(--orange-dark)}.shop-card-form{display:flex;gap:6px;margin-top:auto}.shop-card-form input[type=number]{width:56px;border:1px solid var(--line);border-radius:7px;padding:8px 6px;text-align:center;font:inherit}.shop-card-form button{flex:1}.cart-item{display:flex;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.cart-item:last-child{border-bottom:0}.cart-item-photo{width:64px;height:64px;object-fit:cover;border-radius:9px;border:1px solid var(--line);flex-shrink:0;background:#f4f5f6}.cart-item-info{flex:1;min-width:0}.cart-item-info strong{display:block;font-size:14px}.cart-item-qty{display:flex;align-items:center;gap:6px}.cart-item-qty input{width:52px;border:1px solid var(--line);border-radius:7px;padding:7px 6px;text-align:center;font:inherit}.cart-item-total{font-weight:800;min-width:90px;text-align:right}.cart-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--red);color:#fff;font-size:10px;font-weight:800;margin-left:4px}
@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}.field,.field.quarter{grid-column:span 6}}
@media(max-width:800px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.main{margin:0;width:100%}.menu-btn{display:block}.topbar{padding:14px 16px;flex-wrap:wrap}.content{padding:16px}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.field,.field.half,.field.quarter{grid-column:1/-1}.top-actions{margin-left:0;width:100%;flex-wrap:wrap;padding-top:8px}.login-page{grid-template-columns:1fr}.login-visual{display:none}.invoice-meta{grid-template-columns:1fr}.invoice-head{grid-template-columns:110px 1fr}.detail-list{grid-template-columns:1fr}.detail-list dt{border-bottom:0;padding-bottom:2px}.detail-list dd{padding-top:2px}.search input{min-width:0;width:100%}}
@media print{.sidebar,.topbar,.no-print,.alert{display:none!important}.main{margin:0;width:100%}.content{padding:0}.card,.invoice-paper{box-shadow:none;border:0}.print-only{display:block}body{background:#fff}}
.choice-row{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:14px}.choice-row label{background:#fff7f0;border:1px solid #ffd7b5;padding:10px 13px;border-radius:8px;font-weight:700;font-size:13px}.compact{padding:0 0 12px;border:0}.invoice-entry-table input{width:100%;min-width:90px;border:1px solid var(--line);padding:8px;border-radius:6px}.invoice-entry-table td:nth-child(2) input{min-width:260px}.invoice-reference{font-size:10px;position:relative}.ref-header{display:grid;grid-template-columns:52px 1.25fr .75fr 1fr;background:#575b5e;color:#fff;min-height:145px}.ref-vertical{background:#f58220;writing-mode:vertical-rl;transform:rotate(180deg);display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:900;letter-spacing:4px}.ref-account,.ref-contact{padding:23px 18px;line-height:1.55}.ref-logo{display:flex;align-items:center;justify-content:center;flex-direction:column}.ref-logo strong{font-size:28px;color:#f58220}.ref-logo strong span{color:#fff}.ref-logo small{color:#ddd}.ref-contact hr{border:0;border-top:2px solid #f58220}.ref-title{background:#575b5e;color:#fff;text-align:center;font-weight:900;padding:12px 30px;font-size:15px}.ref-table{width:86%;margin:0 auto;border-collapse:collapse}.ref-table th{background:#f58220;color:#fff;padding:5px}.ref-table td{border-bottom:1px solid #dedede;padding:4px 6px}.ref-table td:not(:first-child),.ref-table th:not(:first-child){text-align:right}.ref-table .cat td{background:#fce0c3;text-align:left!important;font-weight:900;color:#444}.ref-totals{width:48%;margin-left:auto;margin-right:7%;margin-top:8px}.ref-totals div{display:flex;justify-content:space-between;border-bottom:1px solid #bbb;padding:4px 7px}.ref-totals .grand{background:#df5d00;color:#fff;font-size:12px}.ref-footer{display:grid;grid-template-columns:85px 1fr 120px 150px;align-items:end;border-top:1px solid #555;margin-top:8px;min-height:100px}.ref-footer>div{padding:10px}.ref-footer .payment{background:#f2f2f2;height:100%}.ref-footer .payment strong{display:block;color:#f58220;font-size:17px;margin-top:22px}.ref-footer .legal span{color:#f58220}.ref-footer .stamp{width:110px;justify-self:center}.ref-footer .signatures{line-height:2}.invoice-void{position:absolute;z-index:3;left:15%;right:15%;top:40%;transform:rotate(-25deg);font-size:70px;color:rgba(180,0,0,.22);font-weight:900;text-align:center}.btn-warning{background:#e4a11b;color:#fff}
@media(max-width:800px){.ref-header{grid-template-columns:45px 1fr}.ref-logo,.ref-contact{display:none}.ref-table{width:100%}.ref-footer{grid-template-columns:1fr}.ref-totals{width:100%;margin:8px 0}.invoice-entry-table td:nth-child(2) input{min-width:180px}}
@media print{.invoice-reference{width:210mm;min-height:297mm;margin:0}.ref-header{min-height:42mm}.ref-table{font-size:8px}.ref-footer{break-inside:avoid}}

/* Invoice controls: keep edit/delete visible on desktop, tablet and mobile. */
.invoice-items-table th:last-child,
.invoice-items-table td:last-child{min-width:125px}
.invoice-item-actions{display:flex;gap:6px;align-items:center;flex-wrap:nowrap;min-width:145px}
.invoice-item-actions form{margin:0}
.delete-column{background:#fff8f7}
.danger-zone{margin-top:20px;padding:18px;border:1px solid #efb6b1;border-radius:10px;background:#fff7f6}
.danger-zone h3{margin:0 0 8px;color:#9e2f25}
@media(max-width:760px){
  .invoice-items-table{min-width:980px}
  .invoice-items-table .delete-column{position:sticky;right:0;z-index:3;box-shadow:-4px 0 8px rgba(0,0,0,.06)}
  .invoice-items-table th.delete-column{background:#fbe0dd}
  .invoice-items-table td.delete-column{background:#fff8f7}
}
.btn-warning{background:#e8a317;color:#fff}.badge-in-progress,.badge-requested,.badge-in-transit{background:#e1efff;color:#245f9f}.badge-blocked{background:#fbe0dd;color:#9e2f25}.badge-used,.badge-received{background:#d9f2e4;color:#11683b}

/* Reports: ranked category bars (income/expenditure breakdown) */
.cat-bars{display:grid;gap:9px;padding:14px 18px}
.cat-bar-row{display:grid;grid-template-columns:minmax(150px,1fr) 3fr 110px;gap:12px;align-items:center}
.cat-bar-row .cat-label{display:flex;align-items:center;gap:8px;font-size:13px;min-width:0}
.cat-bar-row .cat-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cat-swatch{width:10px;height:10px;border-radius:2px;flex:none}
.cat-bar-track{height:10px;background:#e9edef;border-radius:20px;overflow:hidden}
.cat-bar-fill{height:100%;border-radius:20px}
.cat-amount{text-align:right;font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--ink)}
.cat-amount small{display:block;color:var(--muted);font-weight:400}
.period-nav{display:flex;align-items:center;gap:10px}
.period-nav strong{font-size:15px;min-width:150px;text-align:center}
@media(max-width:800px){.cat-bar-row{grid-template-columns:1fr;gap:4px}.cat-amount{text-align:left}}

/* Travel log gallery */
.travel-media{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.travel-media img{width:100%;height:110px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.travel-media video{width:100%;height:110px;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:#000}

body{font-family:var(--app-font,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)}

.brand img{object-fit:contain;background:#fff;border-radius:10px;padding:3px}
.chart-card{padding:18px}.bar-chart{display:flex;align-items:flex-end;gap:10px;min-height:210px;padding:20px 8px 28px;border-bottom:1px solid #dfe3e5}.bar-group{flex:1;display:flex;justify-content:center;align-items:flex-end;gap:4px;height:170px;position:relative}.bar{width:34%;min-width:10px;border-radius:5px 5px 0 0;position:relative}.bar.income{background:#198754}.bar.expense{background:#dc3545}.bar-label{position:absolute;bottom:-24px;font-size:10px;white-space:nowrap;color:#5d666b}.chart-legend{display:flex;gap:15px;margin-top:12px;font-size:12px}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px}.legend-dot.income{background:#198754}.legend-dot.expense{background:#dc3545}.progress-bars{display:grid;gap:10px;padding:12px 18px 20px}.progress-row{display:grid;grid-template-columns:minmax(140px,1fr) 3fr 48px;gap:10px;align-items:center}.progress-track{height:12px;background:#e9edef;border-radius:20px;overflow:hidden}.progress-fill{height:100%;background:#f58220}.legal-note{border-left:4px solid #f58220;background:#fff6ed;padding:12px;border-radius:8px}.logo-preview{max-width:230px;max-height:110px;object-fit:contain}
.ref-logo img{max-width:150px;max-height:85px;object-fit:contain;background:transparent;border-radius:0;padding:0}

@page{size:A4 portrait;margin:0}
.invoice-reference{width:210mm;min-height:297mm;max-width:210mm;padding:0;overflow:hidden}
.employee-photo{width:150px;height:180px;object-fit:cover;border:1px solid var(--line);border-radius:9px;margin-bottom:14px}.employee-photo-sm{width:42px;height:48px;object-fit:cover;border-radius:6px;border:1px solid var(--line);vertical-align:middle;margin-right:8px}.file-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px}.file-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.file-card img{width:100%;height:170px;object-fit:cover;background:#f3f4f5}.file-icon{height:170px;display:flex;align-items:center;justify-content:center;background:#f2f3f4;color:var(--charcoal);font-size:26px;font-weight:900}.file-info{padding:12px;display:grid;gap:6px}.file-info span,.file-info small{color:var(--muted);font-size:11px}.file-info form{display:inline}
@media(max-width:900px){.file-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.file-grid{grid-template-columns:1fr}}
@media print{html,body{width:210mm;min-height:297mm}.invoice-reference{width:210mm!important;min-height:297mm!important;max-width:210mm!important;margin:0!important;page-break-after:always}}

/* Version 9: creditors, attendance and certificates */
.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.metric-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric.orange{border-left-color:var(--orange)}.compact-form{padding:16px}.field.third{grid-column:span 4}.inline-field{display:flex;align-items:center;gap:10px}.inline-field label{white-space:nowrap;margin:0}.inline-field input{min-width:180px}.checkbox-field{display:flex;align-items:center}.checkbox-field label{display:flex;gap:8px;align-items:center}.checkbox-field input{width:auto}.mini-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mini-metrics div{background:#f7f8f9;border:1px solid var(--line);border-radius:8px;padding:12px}.mini-metrics span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase}.mini-metrics strong{display:block;font-size:16px;margin-top:5px}.attendance-table input[type=checkbox]{width:20px;height:20px;accent-color:var(--orange)}.attendance-table td:last-child input{min-width:220px;width:100%;padding:8px;border:1px solid var(--line);border-radius:6px}.attendance-absent td{background:#fff4f2}.receipt-preview{max-width:820px;margin:auto}.receipt-brand{display:flex;align-items:center;gap:20px;border-bottom:4px solid var(--orange);padding-bottom:15px;margin-bottom:18px}.receipt-brand img{width:100px;height:70px;object-fit:contain}.receipt-brand h2{margin:0}.receipt-brand p{color:var(--muted)}.certificate-preview{max-width:1000px;margin:auto;border:8px solid var(--orange);outline:2px solid var(--charcoal);outline-offset:-15px;text-align:center;padding:30px}.certificate-preview .card-body{padding:50px}.certificate-logo img{width:150px;height:90px;object-fit:contain}.certificate-title{font-size:28px;font-weight:900;color:var(--orange);letter-spacing:1px;margin:18px 0}.certificate-preview h2{font-size:30px;margin:15px 0;color:var(--charcoal)}.certificate-preview h3{font-size:22px;color:var(--orange-dark)}.certificate-photo{width:110px;height:135px;object-fit:cover;border:3px solid var(--orange);border-radius:7px}.certificate-meta{display:flex;justify-content:space-between;gap:12px;margin-top:30px;padding-top:15px;border-top:1px solid var(--line);font-size:12px}.card-header .field{margin-left:auto}.card-header .field input{padding:8px}
@media(max-width:1000px){.metric-grid.four,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.metric-grid.four,.metric-grid,.mini-metrics{grid-template-columns:1fr}.field.third{grid-column:1/-1}.certificate-meta{flex-direction:column}.card-header{align-items:flex-start;flex-direction:column}.inline-field{width:100%}.inline-field input{min-width:0}}

/* Floating AI assistant widget */
.ai-widget-btn{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;background:var(--orange);color:#fff;border:0;box-shadow:0 10px 25px rgba(0,0,0,.28);font-size:25px;cursor:pointer;z-index:80;display:flex;align-items:center;justify-content:center}
.ai-widget-btn:hover{filter:brightness(.95)}
.ai-widget-panel{position:fixed;right:22px;bottom:92px;width:365px;max-width:calc(100vw - 32px);height:485px;max-height:calc(100vh - 140px);background:#fff;border-radius:14px;box-shadow:0 18px 45px rgba(0,0,0,.32);display:none;flex-direction:column;overflow:hidden;z-index:81;border:1px solid var(--line)}
.ai-widget-panel.open{display:flex}
.ai-widget-head{background:var(--charcoal-dark);color:#fff;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0}
.ai-widget-head strong{font-size:14px;display:block}
.ai-widget-head span{font-size:10.5px;color:#c9d0d4;display:block;margin-top:2px}
.ai-widget-head .aw-actions{display:flex;gap:6px}
.ai-widget-head button{background:rgba(255,255,255,.15);color:#fff;border:0;border-radius:6px;width:26px;height:26px;cursor:pointer;font-size:14px;line-height:1;flex-shrink:0}
.ai-widget-head button:hover{background:rgba(255,255,255,.28)}
.ai-widget-body{flex:1;overflow:auto;padding:12px;background:#f7f8f9;display:flex;flex-direction:column;gap:8px}
.ai-widget-body .message{max-width:88%;margin:0}
.ai-widget-confirm{border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px;font-size:12.5px;line-height:1.5;max-width:94%}
.ai-widget-confirm .aw-confirm-actions{display:flex;gap:8px;margin-top:8px}
.ai-widget-confirm .aw-confirm-actions button{flex:1;padding:7px;border-radius:7px;border:0;font-weight:700;font-size:12px;cursor:pointer}
.aw-btn-yes{background:var(--green);color:#fff}
.aw-btn-no{background:#e9ecef;color:var(--ink)}
.ai-widget-result{border:1px solid var(--line);border-radius:10px;background:#eefaf1;padding:10px;font-size:12.5px;line-height:1.5;max-width:94%}
.ai-widget-result a{color:var(--orange-dark);font-weight:700}
.ai-widget-error{border:1px solid #f3c6c0;border-radius:10px;background:#fdecea;color:#8a2e24;padding:10px;font-size:12.5px;max-width:94%}
.ai-widget-foot{border-top:1px solid var(--line);padding:10px;display:flex;gap:8px;flex-shrink:0}
.ai-widget-foot textarea{flex:1;resize:none;min-height:38px;max-height:80px;border:1px solid var(--line);border-radius:8px;padding:8px;font:inherit;font-size:12.5px}
.ai-widget-foot button{background:var(--orange);color:#fff;border:0;border-radius:8px;padding:0 14px;font-weight:700;cursor:pointer}
.ai-widget-hint{font-size:10.5px;color:var(--muted);padding:0 12px 8px;flex-shrink:0}
@media(max-width:480px){.ai-widget-panel{right:12px;bottom:82px;width:calc(100vw - 24px)}.ai-widget-btn{right:14px;bottom:14px}}

/* Dashboard: outstanding-balance line chart */
.line-chart-wrap{padding:16px 8px 8px}
.line-chart{width:100%;height:190px;display:block;overflow:visible}
.chart-grid{stroke:#e7eaec;stroke-width:1}
.chart-baseline{stroke:#dfe3e5;stroke-width:1}
.outstanding-line{fill:none;stroke:var(--orange);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.outstanding-point{fill:var(--orange);stroke:#fff;stroke-width:1.5;transition:r .15s}
.outstanding-point:hover{r:6}
.outstanding-end-label{font-size:11px;font-weight:700;fill:var(--orange-dark)}
.line-chart-labels{display:flex;justify-content:space-between;padding:2px 4px 0;font-size:10px;color:#5d666b}
.notif-bell-wrap{position:relative}.notif-bell-btn{position:relative;background:none;border:0;font-size:20px;cursor:pointer;padding:6px}.notif-badge{position:absolute;top:0;right:0;background:var(--red);color:#fff;border-radius:999px;font-size:10px;font-weight:800;padding:1px 5px;line-height:1.4}.notif-dropdown{position:absolute;right:0;top:calc(100% + 8px);width:320px;max-height:420px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);z-index:40}.notif-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}.notif-dropdown-header .btn-link{background:none;border:0;color:var(--orange-dark);font-size:12px;font-weight:700;cursor:pointer}.notif-item{display:flex;flex-direction:column;gap:2px;padding:11px 14px;border-bottom:1px solid var(--line)}.notif-item:hover{background:#fffaf6}.notif-item.unread{background:#fff7ee}.notif-item.unread .notif-title{font-weight:800}.notif-title{font-size:13px;color:var(--ink)}.notif-body{font-size:12px;color:var(--muted)}.notif-time{font-size:10px;color:#9aa2a6}.notif-empty{padding:24px;text-align:center;color:var(--muted);font-size:13px}.notif-view-all{display:block;text-align:center;padding:10px;font-size:12px;font-weight:700;color:var(--orange-dark)}
