:root{--bg:#f6f5f3;--paper:#fff;--ink:#25252c;--muted:#777780;--line:#e9e7e4;--red:#752d31;--red-dark:#592025;--rose:#f5e8e7;--green:#316b50;--sans:system-ui,-apple-system,'Segoe UI',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:14px/1.55 var(--sans);color:var(--ink)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:var(--red)}.sidebar{position:fixed;inset:0 auto 0 0;width:228px;background:#fff;border-right:1px solid var(--line);padding:24px 18px;display:flex;flex-direction:column}.brand{color:var(--ink);text-decoration:none;padding:2px 16px 26px;display:flex;flex-direction:column;gap:2px}.brand img{width:160px;height:76px;object-fit:contain}.brand>span{font-size:10px;letter-spacing:4px;color:var(--muted);padding-left:5px}.nav-label{font-size:10px;font-weight:650;letter-spacing:1.6px;color:#98969b;padding:17px 15px 13px}nav{display:grid;gap:6px}nav button{border:0;background:transparent;text-align:left;padding:12px 15px;border-radius:8px;color:#63616a;font-weight:550;display:flex;gap:13px;align-items:center}nav button>span{font-size:19px;line-height:1;width:21px}nav button:hover{background:var(--bg)}nav button.active{background:var(--rose);color:var(--red)}.sidebar-foot{margin-top:auto;display:flex;align-items:center;gap:10px;padding:16px 12px 0;border-top:1px solid var(--line);font-size:11px}.sidebar-foot small{display:block;color:var(--muted);font-size:10px}.dot{width:7px;height:7px;border-radius:50%;background:#55a774;flex-shrink:0}.workspace{margin-left:228px}.topbar{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid var(--line);background:#ffffffa8;font-size:12px}.muted{color:var(--muted)}.topbar .muted{padding-left:12px}#main{padding:32px 36px 55px;max-width:1530px;margin:auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px}h1{font-size:27px;line-height:1.25;letter-spacing:-.6px;margin:0 0 6px;font-weight:650}h2{font-size:16px;margin:0 0 18px;font-weight:650}h3{font-size:13px;margin:0 0 12px}p{margin:0 0 14px}.subtitle{color:var(--muted);font-size:13px}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.btn{border:1px solid #dedbd7;background:#fff;color:var(--ink);border-radius:7px;padding:9px 14px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:600;white-space:nowrap;min-height:38px}.btn:hover{background:#f7f6f4;border-color:#cbc5bf}.btn.primary{background:var(--red);color:#fff;border-color:var(--red)}.btn.primary:hover{background:var(--red-dark)}.btn.small{padding:5px 10px;min-height:30px;font-size:11px}.btn.ghost{background:none;border-color:transparent;color:var(--muted)}.btn.danger{color:#a23237}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px}.stat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 21px}.stat span{color:var(--muted);font-size:11px}.stat strong{display:block;margin-top:8px;font-size:25px;line-height:1.25;font-weight:600;font-variant-numeric:tabular-nums}.stat strong small{font-size:12px;color:var(--muted);font-weight:400}.card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:18px}.card.pad{padding:23px}.card-title{padding:19px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.card-title h2{margin:0}.filterbar{display:flex;gap:12px;padding:17px 21px;align-items:center;border-bottom:1px solid var(--line)}.filterbar input{flex:1;max-width:360px}.filterbar select{width:auto;min-width:125px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left}th{font-size:10px;color:var(--muted);font-weight:650;background:#faf9f7;letter-spacing:.3px;padding:13px 20px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:17px 20px;border-bottom:1px solid #f0eeeb;font-size:12px}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfbfa}.right{text-align:right}.num{font-variant-numeric:tabular-nums}.invoice-link{border:0;background:none;padding:0;color:var(--red);font:inherit;font-weight:650;cursor:pointer;text-align:left}.badge{display:inline-block;border-radius:5px;background:#edf5ef;color:var(--green);padding:3px 8px;font-size:10px;font-weight:600}.badge.draft{background:#f2efea;color:#8e7550}.hint{font-size:11px;color:var(--muted)}.banner{padding:13px 16px;border:1px solid #e5d7be;background:#fcf8f0;border-radius:8px;font-size:12px;margin-bottom:20px;color:#7b633d}.banner strong{font-weight:650}.empty{text-align:center;padding:52px 20px;color:var(--muted)}.count-label{padding:12px 21px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}input,select,textarea{border:1px solid #dedbd7;background:#fff;border-radius:6px;padding:9px 11px;color:var(--ink);width:100%;min-height:39px}input:focus,select:focus,textarea:focus{border-color:var(--red);outline:2px solid #752d3112}input:disabled,select:disabled,textarea:disabled{background:#f9f8f6;opacity:1;color:#4c4b51}label{display:block;font-size:11px;font-weight:550;color:#67656e;margin-bottom:6px}textarea{resize:vertical;min-height:90px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field.full{grid-column:1/-1}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:22px;align-items:start}.summary{position:sticky;top:22px}.summary-row{display:flex;justify-content:space-between;gap:12px;font-size:12px;padding:8px 0}.summary-total{padding:16px 0 0;margin-top:10px;border-top:1px solid var(--line)}.summary-total strong{font-size:26px;color:var(--red);display:block;margin-top:6px;font-variant-numeric:tabular-nums;letter-spacing:-.8px}.summary .btn{width:100%;margin-top:10px}.client-card{background:#faf9f7;border:1px solid var(--line);padding:14px 16px;border-radius:7px;margin-top:14px;font-size:12px;min-height:85px}.client-card strong{display:block;margin-bottom:3px}.client-card .hint{margin-top:3px}.section-sep{height:1px;background:var(--line);margin:22px 0}.item-table{min-width:690px}.item-table th,.item-table td{padding:10px 6px}.item-table th:first-child,.item-table td:first-child{padding-left:15px}.item-table th:last-child,.item-table td:last-child{padding-right:13px}.item-table input,.item-table select{padding:7px;min-height:34px;font-size:12px}.item-table .name{min-width:135px}.item-table .name textarea{font-size:12px;min-height:34px;height:35px;line-height:19px;padding:6px 8px}.item-table .quantity{width:76px}.item-table .price{width:85px}.item-table .unit{width:55px}.item-table .discount{width:58px}.item-table .remove{border:0;background:none;color:#b3a5a5;font-size:20px;padding:0 8px}.item-table .item-net{min-width:66px;font-size:12px;font-weight:600}.item-table .catalog{font-size:10px;padding:0 3px;border:0;background:none;min-height:23px;color:var(--red);margin-top:3px;width:100%}.items-foot{padding:13px 18px;display:flex;gap:12px;align-items:center;border-top:1px solid var(--line)}.back{border:0;background:none;color:var(--muted);font:inherit;font-size:12px;padding:0;margin-bottom:10px}.form-end{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.settings-layout{max-width:860px}.settings-layout .card{padding:25px}.settings-note{margin-top:12px;font-size:12px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:12px;padding:27px;max-width:570px;width:calc(100vw - 40px);box-shadow:0 25px 90px #25252c30}dialog::backdrop{background:#21212855}dialog h2{font-size:20px}#toast{position:fixed;bottom:25px;left:calc(50% + 100px);transform:translateX(-50%);background:#273b31;color:#fff;border-radius:8px;box-shadow:0 6px 30px #0002;padding:12px 20px;font-size:13px;z-index:20;display:none;max-width:600px}#toast.error{background:#852e34}.linkbutton{border:0;background:none;padding:0;color:var(--red);font:inherit;cursor:pointer}.mono{font-family:ui-monospace,monospace}.stack{display:grid;gap:10px}.mobile-only{display:none}@media(min-width:1500px){.editor-layout{grid-template-columns:minmax(0,1fr) 300px}}@media(max-width:1150px){.sidebar{width:190px;padding-inline:12px}.workspace{margin-left:190px}.brand{padding-left:7px}.topbar{padding:0 24px}#main{padding:26px 24px}.editor-layout{grid-template-columns:minmax(0,1fr)}.summary{position:static}.summary .card{display:block}.stats{gap:10px}.stat{padding:15px}.stat strong{font-size:21px}}@media(max-width:760px){.sidebar{position:static;width:100%;padding:8px 14px;border-right:0;border-bottom:1px solid var(--line)}.brand{display:none}.nav-label,.sidebar-foot{display:none}nav{display:flex;justify-content:space-between;gap:2px}nav button{padding:9px 8px;font-size:11px;gap:5px}nav button>span{font-size:15px;width:17px}.workspace{margin:0}.topbar{height:45px;padding:0 16px;font-size:10px}.topbar .muted{padding-left:6px}#main{padding:21px 14px}.page-head{align-items:flex-start;flex-wrap:wrap;margin-bottom:19px}h1{font-size:24px}.stats{grid-template-columns:1fr 1fr}.stat{padding:14px 16px}.stat strong{font-size:23px}.filterbar{padding:13px;flex-wrap:wrap;gap:8px}.filterbar input{flex-basis:100%;max-width:100%}.filterbar select{flex:1;min-width:0}.card.pad,.settings-layout .card{padding:18px}.fields{gap:13px}.field.full-mobile{grid-column:1/-1}td,th{padding:13px}.card-title{padding:17px}.btn{padding:9px 11px}.actions{gap:6px}#toast{left:50%;width:calc(100vw - 28px);bottom:14px}.editor-layout{gap:0}.subtitle{font-size:12px}}
:root .grow{flex:1}.summary-note{margin:16px 0 0}.summary .currency{font-size:14px;font-weight:500}

.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:25px;background:#f5f3f1}.login-card{width:100%;max-width:430px;padding:40px;background:#fff;border:1px solid #e9e2df;border-radius:18px;box-shadow:0 18px 65px #51242a0c}.login-card img{display:block;width:210px;max-width:100%;margin:0 auto 28px}.login-card h1{font-size:28px;margin:7px 0 12px}.login-card .field{margin:18px 0}.login-card .btn{width:100%;margin:7px 0 22px}.eyebrow{font-size:10px;letter-spacing:2px;color:#77343b}.login-error{padding:12px;background:#fbe9e9;color:#7c2020;border-radius:6px}.setup{max-width:650px;margin:60px auto;padding:30px}.security-card{max-width:850px}@media(max-width:500px){.login-card{padding:25px}}
@media(max-width:760px){nav{overflow-x:auto;justify-content:flex-start;padding-bottom:3px}nav button{flex-shrink:0;white-space:nowrap}.brand>span{letter-spacing:1px}}
