:root{--ink:#1b2c3b;--muted:#64758a;--blue:#1266ca;--border:#dfe6ee}body{background:#f3f6fa;color:var(--ink);font-family:Segoe UI,Arial,sans-serif;font-size:14px}header{background:#fff;border-bottom:1px solid var(--border);padding:20px 4%;display:flex;align-items:center;justify-content:space-between}header>div{display:flex;align-items:center;gap:12px}.brand{background:var(--blue);color:white;border-radius:10px;font-size:25px;font-weight:800;padding:3px 13px}header strong{letter-spacing:1px}header small{display:block;font-size:12px;font-weight:400;letter-spacing:0;color:var(--muted)}.local{font-size:12px;color:#23795c}main{max-width:1650px;margin:auto;padding:34px 4%}.title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}h1{font-size:30px;font-weight:650;margin:0 0 8px}h2{font-size:19px;margin:0}h3{font-size:17px;margin:24px 0 12px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--blue);margin:0 0 8px}.muted{color:var(--muted);margin:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px}.metrics article{background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px 24px}.metrics span{display:block;color:var(--muted);font-size:13px}.metrics strong{display:block;font-size:33px;margin-top:8px}.workspace{background:white;border:1px solid var(--border);border-radius:12px;overflow:hidden}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px}.toolbar>div{display:flex;gap:8px;flex-wrap:wrap}.integration-hint{margin:0;padding:0 20px 15px;color:var(--muted);font-size:12px}.filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding:20px;background:#f9fbfd;border-top:1px solid var(--border)}label{font-size:12px;font-weight:600;color:var(--muted)}.filters label:first-child{flex:2;min-width:220px}.filters label{flex:1;min-width:125px}input,select,textarea{margin-top:5px}.btn{font-size:12px;white-space:nowrap;padding:9px 13px;border-radius:7px}.btn-primary{background:var(--blue);border-color:var(--blue)}.table-wrap{overflow:auto}.table{font-size:12px;margin-bottom:0}.table th{background:#f9fbfd;color:var(--muted);font-weight:600;white-space:nowrap;padding:14px 12px}.table td{padding:17px 12px;vertical-align:middle;min-width:85px;border-color:#edf1f5}.inc-button{background:none;border:none;color:var(--blue);font-weight:700;padding:0}.status{display:inline-block;padding:5px 8px;border-radius:5px;background:#eaf1fc;color:#27538f;white-space:nowrap}.done{background:#e5f5ed;color:#227451}.waiting{background:#fff3df;color:#886119}.problem{min-width:170px;max-width:250px}.pagination-bar{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;color:var(--muted);border-top:1px solid var(--border)}footer{margin-top:22px;color:var(--muted);font-size:11px}dialog{border:0;border-radius:14px;padding:26px;max-width:1050px;width:92%;max-height:90vh;overflow:auto;color:var(--ink)}dialog::backdrop{background:#15243b88}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.field-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.wide{grid-column:1/-1}.form-actions{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 10px}.inline-form{display:flex;gap:8px;align-items:center;margin:12px 0}#history{padding-left:18px;color:var(--muted)}#history li{margin:8px 0}#form-error{color:#b42336;white-space:pre-wrap}#message{padding:14px 18px;border-radius:8px;background:#e6f0ff;margin-bottom:20px;white-space:pre-wrap}#message.error{background:#ffe9e9;color:#9a2630}pre{white-space:pre-wrap;font-family:inherit;font-size:14px;background:#f5f7fa;padding:18px;border-radius:8px}button:disabled{opacity:.5}#device-history{margin-top:15px}@media(max-width:900px){.metrics{grid-template-columns:repeat(2,1fr)}.toolbar,.title{align-items:flex-start;flex-direction:column}.field-grid{grid-template-columns:repeat(2,1fr)}.local{display:none}}@media(max-width:550px){.field-grid{grid-template-columns:1fr}.metrics{gap:8px}.metrics article{padding:14px}main{padding:20px 3%}}

.attachment-image{display:block;width:200px;height:140px;object-fit:contain;background:#f3f6fa;border:1px solid #dfe6ee;border-radius:8px;margin:8px 0 16px}
.module-tabs{display:flex;gap:10px;align-items:center;margin-bottom:24px}.module-tabs label{margin-left:auto;display:flex;align-items:center;gap:8px}.module-tabs input{max-width:160px;margin:0}.billing-counts{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:0 20px 20px}.billing-count{border:1px solid #dfe6ee;border-radius:9px;background:#f9fbfd;padding:16px;text-align:left;color:#64758a}.billing-count strong{display:block;font-size:28px;color:#1b2c3b;margin-top:8px}.billing-overdue td{background:#fff0e5}#billing-errors{color:#a23b2d;white-space:pre-wrap}#billing-dialog{max-width:1150px}.inline-form{flex-wrap:wrap}@media(max-width:700px){.billing-counts{grid-template-columns:repeat(2,1fr)}.module-tabs{flex-wrap:wrap}.module-tabs label{margin-left:0}}
[hidden]{display:none!important}#billing-panel th:first-child,#billing-panel td:first-child{position:sticky;left:0;min-width:115px;background:#fff;z-index:1}#billing-panel th:first-child{background:#f9fbfd}#billing-panel .billing-overdue td:first-child{background:#fff0e5}
#customer-notes p{white-space:pre-wrap;margin:5px 0 16px}#customer-error{color:#a23b2d;white-space:pre-wrap}#customer-dialog{max-width:1150px}#customer-device-form input{flex:1;min-width:120px}#customer-note-form textarea{flex:1;min-width:200px}
.dialog-heading{position:sticky;top:-26px;background:#fff;z-index:3;padding:12px 0}

.column-sort{border:0;background:transparent;color:inherit;padding:0;text-align:left;font:inherit;cursor:pointer}.column-sort:hover{text-decoration:underline}th[aria-sort="ascending"] .column-sort::after{content:" ↑"}th[aria-sort="descending"] .column-sort::after{content:" ↓"}

[aria-invalid="true"]{border:2px solid #c52c3b;background:#fff5f5}

.module-tabs{flex-wrap:wrap}.commerce-form{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin:16px 0}.commerce-form>label{min-width:180px;flex:1}.commerce-form textarea{min-width:280px}.commerce-form>div,.commerce-form>fieldset{width:100%}.commerce-line{border:1px solid #dfe6ee;border-radius:8px;padding:14px;margin:10px 0;display:flex;flex-wrap:wrap;gap:10px}.commerce-line label{flex:1;min-width:120px}.commerce-checks{max-height:300px;overflow:auto;padding:12px;background:#f5f8fc}.commerce-checks label{display:block;margin:8px 0}.commerce-error{color:#b42336;white-space:pre-wrap}#commerce-panel .table-wrap{max-height:65vh}#commerce-dialog li p{white-space:pre-wrap}#commerce-dialog{max-width:1200px}
.commerce-shortage { color: #c5221f; font-weight: 800; }
.manufacturer-order { padding: 1rem; background: white; color: black; }
.manufacturer-order label { color: #b71919; font-size: .8rem; display: block; }
.manufacturer-order p { margin: .4rem 0; }
.manufacturer-header { display: grid; grid-template-columns: 1fr .8fr 1.7fr; align-items: start; border-bottom: 1px solid black; padding-bottom: 1rem; }
.manufacturer-logo { width: calc(100% - 1rem); height: auto; margin: .5rem; }
.manufacturer-refs { display: grid; gap: .4rem; }
.manufacturer-refs label { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: .4rem; }
.manufacturer-parties { display: grid; grid-template-columns: 1fr 1fr; min-height: 220px; border-bottom: 1px solid black; margin-bottom: 1rem; }
.manufacturer-parties > div { padding: .8rem; }
.manufacturer-parties > div + div { border-left: 1px solid black; }
.manufacturer-parties p:last-child { margin-top: 1rem; }
.manufacturer-items { width: 100%; table-layout: fixed; margin-top: 1rem; }
.manufacturer-items th, .manufacturer-items td { border: 1px solid black; padding: .5rem; vertical-align: top; color: #b71919; }
.manufacturer-items th:first-child { width: 40%; }
.manufacturer-items input, .manufacturer-items select { min-width: 0; width: 100%; }
.manufacturer-items output { display: block; font-weight: bold; margin: .4rem 0; }
.manufacturer-bottom { display: grid; grid-template-columns: 1fr 1fr; margin-top: 1rem; gap: 1rem; }
.manufacturer-bottom label { margin: .35rem 0; }
.manufacturer-total { align-self: end; display: flex; justify-content: space-between; border: 1px solid black; padding: .6rem; color: #b71919; }
.manufacturer-internal { border-top: 1px solid #ddd; margin-top: 1.5rem; padding-top: .6rem; }
@media(max-width:700px) { .manufacturer-header, .manufacturer-bottom { grid-template-columns: 1fr; } .manufacturer-logo { max-width: 160px; } }
.commerce-form > label:has(textarea) { flex-basis: 100%; min-width: 0; }
.commerce-form textarea { width: 100%; min-width: 0; max-width: 100%; }
.commerce-form > label > input, .commerce-form > label > select { min-width: 0; max-width: 100%; }
.auth-locked main, .auth-locked #account-tools { display: none !important; }
.auth-card { max-width: 470px; margin: 50px auto; padding: 30px; background: white; border: 1px solid var(--border); border-radius: 14px; }
.auth-card form, #password-form { display: grid; gap: 15px; }
.auth-card label, #password-form label { display: block; }
#auth-error, #password-error { color: #b42336; white-space: pre-wrap; }
#account-tools { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.permission-matrix input { margin: 0; width: 18px; height: 18px; }
.permission-matrix td:not(:first-child) { text-align: center; }
.crm-body { padding: 0 20px 24px; }
.crm-section { border: 1px solid var(--border); border-radius: 9px; margin: 16px 0; padding: 0 14px 14px; }
.crm-overdue { border-left: 4px solid #b42336; }
.crm-suggestion { margin: 12px 0; padding: 14px; border: 1px solid var(--border); border-radius: 8px; background: #f9fbfd; }
#customer-crm { border-bottom: 2px solid var(--border); padding-bottom: 20px; margin-bottom: 20px; }
#crm-dialog { max-width: 1100px; }
.crm-calendar { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 5px; }
.crm-calendar > strong { text-align: center; padding: 8px; background: #f3f6fa; }
.crm-calendar-day { min-height: 110px; padding: 5px; border: 1px solid var(--border); border-radius: 5px; min-width: 0; }
.crm-calendar-day > button { width: 100%; padding: 6px; white-space: normal; overflow-wrap: anywhere; }
.crm-calendar-today { border: 2px solid var(--blue); }
.crm-calendar-event { background: #eaf1fc; margin-top: 5px; text-align: left; }
.crm-event-overdue { color: #9a2630; background: #ffe9e9; }
.crm-body .table td, #customer-crm .table td { white-space: pre-wrap; }
@media(max-width:650px) { .crm-calendar { gap: 2px; } .crm-calendar-day { padding: 2px; min-height: 90px; } .crm-calendar-day > button { font-size: 10px; padding: 3px; } }
.shipment-exception {display:flex;align-items:center;gap:8px;align-self:end;min-height:38px}
.shipment-exception input[type="checkbox"] {width:18px;height:18px;flex:0 0 auto;margin:0}
