:root {
  --bg:#eef2f5; --panel:#fff; --line:#d7dee4; --line-strong:#bdc8d1; --text:#25313a; --muted:#6d7a84;
  --blue:#2f6287; --blue-dark:#244d6a; --blue-soft:#e8f0f5; --green:#3b7d59; --red:#a33f3f; --amber:#a06b14;
  --shadow:0 2px 10px rgba(28,44,58,.08); --radius:6px;
}
*{box-sizing:border-box} html,body{margin:0;padding:0} body{font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);font-size:13px}
a{color:var(--blue);text-decoration:none} a:hover{text-decoration:none;color:var(--blue-dark)}
button,input,select,textarea{font:inherit} input,select,textarea{border:1px solid #bcc7cf;border-radius:3px;background:#fff;padding:7px 8px;color:var(--text)} input:focus,select:focus,textarea:focus{outline:2px solid rgba(47,98,135,.16);border-color:var(--blue)} textarea{resize:vertical}
.topbar{height:54px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:stretch;gap:18px;padding:0 22px;position:sticky;top:0;z-index:40;box-shadow:0 1px 5px rgba(0,0,0,.04)}
.brand{display:flex;align-items:center;font-size:18px;font-weight:700;color:var(--blue-dark);min-width:125px}.brand span{font-size:9px;margin-left:6px;padding:2px 4px;border-radius:3px;background:var(--blue-soft);color:var(--blue)}
.main-nav{display:flex;align-items:stretch;gap:0;flex:1}.main-nav a{display:flex;align-items:center;padding:0 14px;border-bottom:3px solid transparent;color:#45535e;font-weight:600}.main-nav a:hover,.main-nav a.active{background:#f5f8fa;border-bottom-color:var(--blue);color:var(--blue-dark)}
.top-actions{display:flex;align-items:center;gap:10px}.user-name{font-size:12px;color:var(--muted)}.icon-link,.icon-button{border:0;background:transparent;font-size:19px;padding:6px;cursor:pointer;color:#56646e}.inline-form{display:inline-flex;margin:0}
.app-shell{width:calc(100% - 36px);max-width:1720px;min-width:1180px;margin:18px auto 50px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin:0 0 14px}.page-head h1{margin:0 0 3px;font-size:22px;font-weight:600;color:#2a3d4a}.subtle{font-size:12px;color:var(--muted);line-height:1.4}.strong{font-weight:700}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;margin-bottom:16px}.panel h2{font-size:16px;margin:0 0 13px;color:#344b5a}.section-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #b8c3cb;background:#fff;color:#334650;border-radius:4px;padding:7px 11px;cursor:pointer;min-height:32px}.btn:hover{background:#f2f6f8}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue-dark)}.btn.small{padding:4px 8px;min-height:26px;font-size:12px}.btn.large{padding:10px 18px;font-size:14px}.btn.disabled{pointer-events:none;opacity:.45}
.tabs{display:flex;gap:3px;border-bottom:1px solid var(--line-strong);margin-bottom:10px}.tabs a{padding:9px 14px;background:#e5eaee;border:1px solid #cfd7dd;border-bottom:0;border-radius:4px 4px 0 0;color:#51616d}.tabs a.active{background:#fff;color:var(--blue-dark);font-weight:700;position:relative;top:1px}.tabs span{display:inline-block;margin-left:4px;background:#d7e0e6;border-radius:10px;padding:1px 6px;font-size:11px}
.toolbar{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-bottom:0;padding:9px 10px}.toolbar.compact{border:0;padding:0 0 14px}.toolbar input{min-width:330px}
.table-scroll{overflow-x:auto;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.crm-table{border-collapse:collapse;width:100%;min-width:1180px}.crm-table.fixed-layout{table-layout:fixed}.crm-table thead th{background:#dbe2e7;color:#344752;border-bottom:1px solid #b8c3cb;padding:7px 7px;text-align:left;font-size:12px;font-weight:700}.crm-table tbody td{padding:7px 7px;border-bottom:1px solid #e4e9ed;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crm-table tbody tr:not(.detail-row):hover{background:#f6f9fb}.crm-table .main-cell strong{display:block;overflow:hidden;text-overflow:ellipsis}.crm-table .main-cell span{display:block;font-size:11px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis}.right{text-align:right!important}.muted{color:var(--muted)}
.w-expand{width:28px}.w-line{width:38px}.w-number{width:155px}.w-date{width:100px}.w-postal{width:78px}.w-city{width:145px}.w-user{width:90px}.w-amount{width:135px}.w-status{width:92px}.w-actions{width:205px}.w-actions-small{width:90px}.w-unit{width:90px}.w-vat{width:75px}
.actions{white-space:nowrap!important}.action{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:25px;padding:0 5px;margin-left:3px;border:1px solid #cbd4da;border-radius:3px;background:#fff;color:#3f5869;cursor:pointer;font-size:11px}.action:hover{background:#eaf1f5}.actions button.action{font-family:inherit}
.expand-button{width:20px;height:20px;border:0;background:transparent;padding:0;color:#526675;cursor:pointer;transition:transform .12s;font-size:16px}.expand-button.open{transform:rotate(90deg)}.detail-row td{padding:0!important;border-bottom:0!important;height:0}.detail-row>td>div:not(:empty){border-bottom:1px solid var(--line-strong);background:#f4f7f9;padding:12px 28px}.inline-details{display:flex;gap:34px;line-height:1.5}.inline-details .grow{flex:1}.load-more td{text-align:center;color:var(--muted);padding:12px!important;background:#f7f9fa}
.status{display:inline-block;padding:3px 7px;border-radius:10px;font-size:11px;background:#e6ebef;color:#52616d}.status.open{background:#fff3d8;color:#7d5a12}.status.paid{background:#e1f2e8;color:#2f6d4b}.status.draft{background:#e6edf5;color:#3c5f7a}.status.cancelled{background:#f4e3e3;color:#8b3e3e}
.invoice-details-block{padding:4px 0}.detail-table{width:100%;border-collapse:collapse}.detail-table th,.detail-table td{padding:6px 8px;border-bottom:1px solid #dce3e8;text-align:left;white-space:normal}.detail-table th{font-size:11px;color:#5d6c77}.detail-meta{display:grid;grid-template-columns:1fr 1.2fr auto;gap:24px;padding-top:10px;font-size:11px;color:#5e6c76}.detail-meta strong{color:#344752}.totals-mini{display:flex;flex-direction:column;gap:3px;align-items:flex-end}.detail-version-action{margin-top:8px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;max-width:980px}.form-grid label,.form-stack label{display:flex;flex-direction:column;gap:5px;color:#52616d;font-size:12px}.form-grid .span-2{grid-column:span 2}.form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.form-stack{display:flex;flex-direction:column;gap:12px}.check{flex-direction:row!important;align-items:center!important}.check input{width:auto}.compact-grid{margin-top:14px}.simple-table{border-collapse:collapse;width:100%;margin-top:12px}.simple-table th,.simple-table td{padding:7px;border-bottom:1px solid var(--line);text-align:left}
.wizard-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:15px}.wizard-step{height:38px;display:flex;align-items:center;justify-content:center;gap:8px;background:#dce3e8;color:#66747e;font-weight:600;border-radius:3px}.wizard-step span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#bcc7cf;color:#fff}.wizard-step.active{background:var(--blue);color:#fff}.wizard-step.active span{background:#fff;color:var(--blue)}.wizard-step.done{background:#dbeadf;color:#3d6c4f}.wizard-step.done span{background:#59906e}
.customer-picker{border:1px solid var(--line);border-radius:4px;overflow:hidden}.picker-row{display:grid;grid-template-columns:32px 1fr 100px;align-items:center;padding:9px 10px;border-bottom:1px solid var(--line);cursor:pointer}.picker-row:hover{background:#f5f8fa}.picker-row:last-child{border-bottom:0}.picker-main strong{display:block}.picker-main small{display:block;color:var(--muted);margin-top:2px}.picker-currency{text-align:right}.picker-currency select{width:84px}.wizard-actions{display:flex;justify-content:space-between;margin:14px 0}
.product-picker-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.product-card{display:grid;grid-template-columns:1fr 110px 95px;align-items:center;gap:10px;border:1px solid var(--line);border-radius:4px;padding:9px}.product-card:hover{background:#f7f9fa}.product-card strong,.product-card small{display:block}.product-card small{color:var(--muted);margin-top:2px}.product-price{text-align:right;font-weight:700}.manual-position{margin-top:15px;border-top:1px solid var(--line);padding-top:12px}.manual-position summary{cursor:pointer;font-weight:700;color:var(--blue)}
.draft-item{display:grid;grid-template-columns:28px minmax(270px,1fr) 85px 90px 110px 75px 80px 150px;gap:7px;align-items:start;padding:9px 0;border-bottom:1px solid var(--line)}.draft-item label{font-size:10px;color:var(--muted);display:flex;flex-direction:column;gap:3px}.draft-item input,.draft-item textarea{width:100%;padding:5px 6px}.item-pos{padding-top:20px;color:var(--muted)}.item-title{font-weight:700;margin-bottom:4px}.item-total{text-align:right;padding-top:18px;display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.item-total strong{width:100%;font-size:13px}.link-danger{border:0;background:transparent;color:var(--red);font-size:10px;cursor:pointer}.draft-totals{display:flex;justify-content:flex-end;gap:28px;padding:12px 0 2px}.empty-inline{padding:18px;text-align:center;color:var(--muted);background:#f7f9fa}
.document-editor{max-width:1120px;margin:0 auto}.doc-paper{background:#fff;border:1px solid #ccd5dc;box-shadow:0 3px 16px rgba(0,0,0,.08);padding:45px 55px;min-height:850px}.doc-topline{display:flex;justify-content:space-between;line-height:1.45}.doc-meta{display:grid;grid-template-columns:160px 160px;gap:8px 12px;align-items:end}.doc-meta label{font-size:10px;color:var(--muted);display:flex;flex-direction:column;gap:3px}.doc-meta>div{grid-column:span 2;text-align:right}.doc-paper h2{margin:38px 0 14px;color:#2c5877}.doc-paper h2 .muted{font-size:11px;font-weight:400}.doc-text{width:100%;border-color:#e0e5e8;background:#fbfcfd}.doc-items{width:100%;border-collapse:collapse;margin:18px 0}.doc-items th{background:#edf2f5;padding:7px;text-align:left;border-bottom:1px solid #bcc7cf}.doc-items td{padding:9px 7px;border-bottom:1px solid #e0e6ea;vertical-align:top}.doc-items td div{white-space:pre-wrap;font-size:11px;margin-top:4px;color:#555}.doc-items small{font-size:10px;color:#777}.doc-sums{margin-left:auto;width:330px;display:grid;grid-template-columns:1fr 150px;gap:5px;padding:10px 0 18px}.doc-sums strong{text-align:right}.doc-sums .grand{border-top:1px solid #667;padding-top:7px;margin-top:3px;font-size:14px}
.completion-panel{text-align:center;padding:45px 20px}.completion-icon{margin:0 auto 12px;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e2f1e8;color:var(--green);font-size:26px}.completion-panel h2{font-size:20px}.completion-actions{display:flex;justify-content:center;gap:9px;align-items:center;margin:20px 0}.completion-secondary{display:flex;justify-content:center;gap:25px;margin-top:18px}
.modal-backdrop{position:fixed;inset:0;background:rgba(22,34,43,.48);z-index:100}.modal-card{position:fixed;z-index:101;left:50%;top:8vh;transform:translateX(-50%);width:min(620px,calc(100vw - 40px));max-height:84vh;overflow:auto;background:#fff;border-radius:7px;box-shadow:0 18px 50px rgba(0,0,0,.28);padding:18px}.modal-card.wide{width:min(850px,calc(100vw - 50px))}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:14px}.modal-head h2{margin:0 0 3px;font-size:17px}.modal-close{border:0;background:transparent;font-size:25px;color:#65737d;cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.attachment-row{display:flex;align-items:center;gap:10px;background:#f3f6f8;border:1px solid var(--line);padding:9px;border-radius:4px;margin-top:12px}.attachment-row small{display:block;color:var(--muted)}.attachment-icon{font-size:10px;font-weight:700;background:#c64b4b;color:#fff;border-radius:3px;padding:6px 4px}
.alert{padding:10px 12px;border-radius:4px;margin-bottom:12px}.alert.error{background:#f9e5e5;color:#8f3838;border:1px solid #eabcbc}.alert.success{background:#e3f1e8;color:#2f704d;border:1px solid #b9dac6}
.sequence-list{display:flex;flex-direction:column;gap:8px}.sequence-row{display:grid;grid-template-columns:190px 70px repeat(4,75px) 88px 120px 82px;gap:6px;align-items:center;border-bottom:1px solid var(--line);padding:7px 0}.sequence-label strong,.sequence-label small{display:block}.sequence-label small{color:var(--muted);margin-top:2px}.prefix-input{width:70px}.counter-label{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--muted)}.counter-label input{width:70px}
.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e9eef2,#dbe4ea)}.login-card{width:360px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 35px rgba(0,0,0,.13);border-radius:8px;padding:28px}.login-brand{text-align:center;font-size:27px;font-weight:700;color:var(--blue-dark)}.login-subtitle{text-align:center;color:var(--muted);margin:4px 0 22px}.empty-state{text-align:center;padding:60px 20px}
@media(max-width:1200px){.app-shell{margin-left:18px;margin-right:18px}.main-nav a{padding:0 9px}.user-name{display:none}}

.currency-choice{display:flex;align-items:center;gap:14px;justify-content:flex-end;margin-top:12px;color:var(--muted)}.currency-choice label{display:flex;align-items:center;gap:7px;color:var(--text);font-weight:700}
.bank-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}.bank-card{border:1px solid var(--line);border-radius:4px;padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.bank-card h3{grid-column:span 2;margin:0 0 2px}.bank-card label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted)}.bank-card button{justify-self:end;grid-column:span 2}
