:root{--brand: #d6452b;--brand-dark: #b0371f;--brand-tint: #fbeae5;--gold: #d9cba8;--gold-tint: #f4eedf;--cream: #f6f2e8;--ink: #1f1b16;--sidebar: #26211c;--sidebar-2: #332c25;--card: #ffffff;--line: #e3dcce;--muted: #595959;--green: #0e7a54;--green-bg: #e7f3ec;--amber: #9a6316;--amber-bg: #f8efdc;--red: #b02a1a;--red-bg: #f9e8e4;--radius: 10px;font-size:15px}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--cream);color:var(--ink)}#root{display:flex;min-height:100vh}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:1.45rem;margin:0}h2{font-size:1.05rem;margin:0 0 10px}h3{font-size:.95rem;margin:0 0 8px}.sidebar{width:215px;flex-shrink:0;background:var(--sidebar);color:#d9d0c2;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar .logo{padding:16px 18px 12px;color:#fff;font-weight:700;font-size:1.1rem;display:flex;align-items:center;gap:10px}.sidebar .logo img{width:44px;height:44px;border-radius:8px;display:block}.sidebar .logo span{color:var(--gold);font-weight:400}.sidebar .org-select{margin:0 12px 14px}.sidebar .org-select select{width:100%;background:var(--sidebar-2);color:#fff;border:1px solid #4a4238;border-radius:6px;padding:7px 8px;font-size:.85rem}.sidebar nav{flex:1;overflow-y:auto}.sidebar nav a{display:block;padding:9px 18px;color:#d9d0c2;font-size:.92rem;text-decoration:none;border-left:3px solid transparent}.sidebar nav a:hover{background:var(--sidebar-2);text-decoration:none}.sidebar nav a.active{background:var(--sidebar-2);color:#fff;border-left-color:var(--brand)}.sidebar nav .nav-section{padding:14px 18px 4px;font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:#96897a}.sidebar .foot{padding:12px 18px;font-size:.72rem;color:#96897a;border-top:1px solid #3a332b}.sidebar .user-block{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #3a332b}.sidebar .user-block-name{color:#e9e2d6;font-weight:700;font-size:.82rem;display:flex;align-items:center;gap:6px}.sidebar .user-block-name .badge{font-size:.62rem;padding:1px 7px}.sidebar .user-block-links{display:flex;gap:8px;align-items:center;margin-top:6px}.sidebar .user-block-links span{color:#5c5346}button.link{background:none;border:none;padding:0;color:#b7ab98;font-size:.72rem;text-decoration:underline;cursor:pointer}button.link:hover{color:#fff;background:none}.main{flex:1;padding:24px 30px 60px;max-width:1200px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;flex-wrap:wrap}.page-head .actions{display:flex;gap:8px;flex-wrap:wrap}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:18px}.card.tight{padding:0;overflow:hidden}.grid{display:grid;gap:14px}.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 1000px){.grid.cols-3,.grid.cols-4{grid-template-columns:1fr 1fr}}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line);background:#faf7f0}td{padding:9px 12px;border-bottom:1px solid #f0ebe0;vertical-align:middle}tr:last-child td{border-bottom:none}tr.clickable{cursor:pointer}tr.clickable:hover{background:var(--brand-tint)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}tr.total td{font-weight:700;border-top:2px solid var(--ink);background:#faf7f0}tr.subtotal td{font-weight:600;border-top:1px solid var(--line)}tr.section-head td{font-weight:700;color:var(--ink);background:var(--gold-tint);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}button,.btn{font:inherit;font-size:.88rem;padding:8px 14px;border-radius:7px;cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--ink)}button:hover,.btn:hover{background:var(--gold-tint);text-decoration:none}button.primary,.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}button.primary:hover,.btn.primary:hover{background:var(--brand-dark)}button.danger{color:var(--red);border-color:#edc4bc}button.danger:hover{background:var(--red-bg)}button.small,.btn.small{padding:4px 10px;font-size:.8rem}button:disabled{opacity:.5;cursor:default}label.field{display:block;margin-bottom:12px;font-size:.82rem;color:var(--muted)}label.field>span{display:block;margin-bottom:4px;font-weight:700}input,select,textarea{font:inherit;font-size:.9rem;padding:8px 10px;border:1px solid #cfc6b4;border-radius:7px;width:100%;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #f0c4b8;border-color:var(--brand)}input.num{text-align:right;font-variant-numeric:tabular-nums}.inline-fields{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.inline-fields label.field{margin-bottom:0}.field-block{margin-bottom:12px}.field-block>.field-label{display:block;margin-bottom:4px;font-weight:700;font-size:.82rem;color:var(--muted)}.org-check-list{max-height:180px;overflow-y:auto;border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:#fdfcf9}.org-check-item{display:flex;gap:6px;align-items:center;padding:3px 0}.org-check-item input{width:auto}.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:.72rem;font-weight:700;letter-spacing:.3px}.badge.green{background:var(--green-bg);color:var(--green)}.badge.amber{background:var(--amber-bg);color:var(--amber)}.badge.red{background:var(--red-bg);color:var(--red)}.badge.blue{background:var(--brand-tint);color:var(--brand-dark)}.badge.grey{background:#efeadf;color:var(--muted)}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.stat .label{font-size:.75rem;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:6px}.stat .value{font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums}.stat .sub{font-size:.78rem;color:var(--muted);margin-top:4px}.stat-link{display:block;color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s}.stat-link:hover{text-decoration:none;border-color:var(--brand);box-shadow:0 2px 8px #d6452b1f}.pos{color:var(--green)}.neg{color:var(--red)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1f1b1680;display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;z-index:50;overflow-y:auto}.modal{background:#fff;border-radius:12px;padding:22px;width:100%;max-width:560px;box-shadow:0 20px 60px #0000004d;border-top:4px solid var(--brand)}.modal.wide{max-width:900px}.modal h2{margin-bottom:16px}.modal .modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.login-wrap{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;background:var(--cream);padding:20px}.login-card{background:#fff;border-radius:12px;padding:32px 30px;width:100%;max-width:380px;box-shadow:0 20px 60px #0000001f;border-top:4px solid var(--brand);text-align:center}.login-card .login-logo{width:56px;height:56px;border-radius:12px;display:block;margin:0 auto 14px}.login-card h1{font-size:1.3rem;margin-bottom:4px}.login-card .login-subtitle{margin-bottom:20px}.login-card .field,.login-card .error-banner{text-align:left}.error-banner{background:var(--red-bg);color:var(--red);border:1px solid #edc4bc;padding:10px 14px;border-radius:8px;margin-bottom:14px;font-size:.88rem}.info-banner{background:var(--gold-tint);color:var(--ink);border:1px solid var(--gold);padding:10px 14px;border-radius:8px;margin-bottom:14px;font-size:.88rem}.muted{color:var(--muted)}.small-text{font-size:.8rem}.mb0{margin-bottom:0}.rec-row{display:grid;grid-template-columns:1fr 24px 1fr;gap:0;align-items:stretch;margin-bottom:14px}.rec-left,.rec-right{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.rec-mid{display:flex;align-items:center;justify-content:center;color:var(--muted)}.rec-tabs{display:flex;gap:6px;margin-bottom:10px}.rec-tabs button{padding:4px 10px;font-size:.78rem;border-radius:20px}.rec-tabs button.on{background:var(--brand);color:#fff;border-color:var(--brand)}.suggestion{border:1px solid var(--gold);background:var(--gold-tint);border-radius:8px;padding:8px 10px;margin-bottom:8px;font-size:.85rem;display:flex;justify-content:space-between;align-items:center;gap:8px}.fav-star{border:none;background:none;padding:0 4px;font-size:1rem;color:var(--gold);cursor:pointer;vertical-align:middle}.fav-star:hover{background:none;color:var(--brand)}.fav-star.on{color:var(--brand)}.sidebar nav a.fav-link{padding:6px 18px 6px 24px;font-size:.85rem}a.drill{color:inherit;text-decoration:none;border-bottom:1px dashed var(--muted)}a.drill:hover{color:var(--brand);border-bottom-color:var(--brand);text-decoration:none}.inv-logo{max-height:64px;max-width:140px;border-radius:6px}.dropzone{border:2px dashed var(--line);border-radius:8px;padding:14px;margin-top:10px;text-align:center;font-size:.82rem;color:var(--muted);cursor:pointer;background:#fdfcf9;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.over{border-color:var(--brand);background:var(--brand-tint)}.attach-btn.has-files{border-color:var(--gold);background:var(--gold-tint)}.attachments table td{border-bottom:1px solid #f0ebe0}.acct-select{position:relative}.acct-menu,.search-menu{position:absolute;z-index:40;top:100%;left:0;min-width:100%;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 30px #00000029;margin-top:4px;max-height:260px;overflow-y:auto}.acct-item{padding:7px 10px;font-size:.85rem;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acct-item:hover{background:var(--brand-tint)}.acct-item strong{color:var(--muted);font-weight:600;margin-right:4px}.search-box{position:relative;width:300px}.search-menu{width:420px;max-width:80vw;right:0;left:auto;max-height:380px}.search-item{display:flex;align-items:center;gap:8px}.search-item .search-title{flex:1;overflow:hidden;text-overflow:ellipsis}.search-item .search-amount{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.8rem}.layout-group{border:1px solid var(--line);border-radius:8px;padding:10px;margin:10px 0;background:#fdfcf9}.layout-group-head{display:flex;gap:6px;align-items:center;margin-bottom:8px}.layout-group-head input{flex:1;font-weight:600}.layout-acct{display:flex;gap:6px;align-items:center;margin:4px 0 4px 18px}.layout-acct-name{flex:0 0 auto;min-width:180px;font-size:.87rem}.layout-acct input{flex:1;font-size:.82rem;padding:5px 8px}.layout-acct select{max-width:280px;font-size:.82rem;padding:5px 8px}.layout-formula{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-left:18px}.layout-formula-card{background:var(--gold-tint);border-color:var(--gold)}.layout-formula select{width:auto;min-width:90px;font-size:.82rem;padding:5px 8px}.layout-formula .layout-op{min-width:54px;font-weight:700}.invoice-doc{padding:34px 38px;border-top:5px solid var(--brand)}.inv-header{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.inv-org-name{font-size:1.5rem;font-weight:700;color:var(--brand);letter-spacing:.2px}.inv-org-details{font-size:.8rem;color:var(--muted);margin-top:6px;line-height:1.5}.inv-meta{text-align:right}.inv-doc-type{font-size:1.15rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--ink);margin-bottom:8px}.inv-meta-table{width:auto;margin-left:auto;font-size:.84rem}.inv-meta-table td{padding:2px 0 2px 18px;border:none}.inv-meta-table td:first-child{color:var(--muted)}.inv-meta-table td:last-child{font-weight:700;text-align:right}.inv-billto{margin:26px 0 22px}.inv-label{font-size:.7rem;text-transform:uppercase;letter-spacing:1.2px;color:var(--brand);font-weight:700;margin-bottom:4px}.inv-billto-name{font-weight:700;font-size:1.02rem}.inv-lines th{background:var(--gold);color:var(--ink);border-bottom:1px solid #bfb28d;font-size:.72rem}.inv-lines td{border-bottom:1px solid #e8e2d3}.inv-account-hint{font-size:.76rem;color:var(--muted)}.inv-totals{display:flex;justify-content:flex-end;margin-top:14px}.inv-totals table{width:320px;font-size:.92rem}.inv-totals td{padding:6px 0;border:none}.inv-totals td.num{font-variant-numeric:tabular-nums}.inv-totals tr.inv-grand td{font-weight:700;font-size:1.02rem;border-top:2px solid var(--brand)}.inv-footer{margin-top:26px;padding-top:12px;border-top:1px solid var(--gold);font-size:.8rem;color:var(--muted);white-space:pre-line}.inv-footer p{margin:0 0 8px}.inv-statutory{margin-top:22px;padding-top:10px;border-top:1px solid var(--line);font-size:.72rem;color:var(--muted);text-align:center}@media print{@page{size:A4;margin:0}.sidebar,.page-head .actions,.no-print,.error-banner,.info-banner{display:none!important}.main{padding:14mm 14mm 16mm;max-width:none}body,.main{background:#fff}.card{border:none;border-radius:0;box-shadow:none;margin:0}.card.tight,.stat{page-break-inside:avoid}.invoice-doc{padding:18px 0 0;border-top:5px solid var(--brand)}.inv-lines th{background:var(--gold)!important}tr.clickable:hover{background:transparent}a{color:inherit}.page-head{display:block;border-top:5px solid var(--brand);border-bottom:1px solid var(--gold);padding:14px 0 10px;margin-bottom:16px}.page-head h1{font-size:1.3rem}th,tr.section-head td,tr.total td,tr.subtotal td{-webkit-print-color-adjust:exact;print-color-adjust:exact}th{background:#faf7f0!important}tr.section-head td{background:var(--gold-tint)!important}tr.total td{background:#faf7f0!important}table{font-size:.84rem}.grid.cols-3,.grid.cols-4{grid-template-columns:repeat(3,1fr)}}
