*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;min-height:100%;font-family:Helvetica,Arial,"Nimbus Sans",sans-serif;color:#1b2b38;background:#cfd6dd}
button,input{font:inherit}
button{border:1px solid #9eabb6;border-radius:0;background:#e8edf1;color:#19324a;cursor:pointer}
button:hover{background:#dce6ec}
button:focus-visible,input:focus-visible{outline:3px solid #145c87;outline-offset:1px}
.app{display:grid;grid-template-columns:minmax(0,1fr) 205px;gap:9px;height:100dvh;min-height:650px;padding:10px}
.register{min-width:0;display:flex;flex-direction:column;border:1px solid #8397a7;background:#e7edf2;padding:10px 12px 6px}
.register-heading{display:flex;align-items:baseline;gap:18px;min-height:38px}
.register-heading strong{font-size:28px;color:#176b3c}
.register-heading span{font-size:13px;color:#43586a}
#workspace{display:flex;flex-direction:column;min-height:0;flex:1}
#workspace[hidden],#actions[hidden],#activation[hidden]{display:none}
.summary{display:flex;gap:22px;min-height:195px;border-bottom:2px solid #92a4b3;padding:5px 0 10px}
.customer-fields{display:grid;gap:4px;align-content:start;min-width:340px;flex:1}
.customer-fields>div{display:grid;grid-template-columns:105px minmax(0,1fr);align-items:center;gap:6px}
.customer-fields output,.totals output{display:block;min-height:28px;padding:4px 7px;border:1px solid #b8c6d0;background:#f4f7f9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.totals{display:grid;align-content:start;grid-template-columns:170px minmax(110px,1fr);align-items:center;gap:6px;min-width:305px;font-size:18px;font-weight:700}
.totals output{text-align:right;color:#6f315e}
.account-notice{align-self:flex-start;border:1px solid #b8c6d0;background:#f4f7f9;padding:13px 18px;line-height:1.5}
.sale-type{padding:8px 0;color:#43596b;font-weight:700}
.line-area{flex:1;min-height:0;overflow:auto;border:1px solid #9eb0be;background:#f6f8fa}
table{width:100%;border-collapse:collapse}
th,td{padding:8px;border-right:1px solid #b0bdc7;border-bottom:1px solid #c2cdd5;text-align:left}
th{position:sticky;top:0;background:#e0e8ee;font-size:16px}
td{height:48px}
td:nth-child(1),td:nth-child(4),td:nth-child(6),td:nth-child(7){text-align:right}
.lines-table th:nth-child(1){width:44px}.lines-table th:nth-child(2){width:65px}.lines-table th:nth-child(4){width:80px}.lines-table th:nth-child(5){width:75px}.lines-table th:nth-child(6),.lines-table th:nth-child(7){width:100px}.lines-table th:last-child{width:76px}
.lines-table .product-name{font-size:18px;color:#123e8b}
.lines-table button{padding:4px 7px}
.account-mode .price-cell{display:none}
.register footer{text-align:center;padding-top:6px;font-size:12px;color:#315479}
.actions{display:flex;flex-direction:column;gap:7px}
.actions button{min-height:46px;padding:6px;font-weight:700}
.actions .primary{background:#d8e6ee;border-color:#688da4}
.clock{display:grid;gap:3px}
.clock strong{display:block;text-align:center;padding:5px 3px;border:2px solid #344537;background:#e9e9b8;color:#633e39;font-size:24px;white-space:nowrap}
.vehicle-name{text-align:center;padding:6px;border:1px solid #a1b2bf;background:#e0e6eb}
#sync-button{margin-top:auto}
.activation{max-width:520px;margin:50px auto;padding:20px;border:1px solid #9eabb6;background:#f5f7f9}
.activation h1{margin:0 0 17px;font-size:24px}
.activation form{display:grid;grid-template-columns:1fr auto;gap:7px}
.activation label{grid-column:1/-1}
.activation input{min-width:0;padding:8px;border:1px solid #8b9fae}
.activation button{padding:8px 14px}
.activation p{color:#a02929;min-height:1em}
dialog{width:min(700px,calc(100vw - 30px));max-height:80vh;overflow:auto;border:1px solid #8397a7;border-radius:0;background:#e7edf2;padding:14px}
dialog::backdrop{background:#172b3b80}
dialog header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
dialog h2{margin:0;font-size:20px}
dialog header button{padding:5px 12px}
dialog>input{width:100%;padding:8px;border:1px solid #9eabb6;background:white;margin-bottom:8px}
.choice-list{max-height:48vh;overflow:auto;border:1px solid #adbbc5;background:#f7f9fa}
.choice-list button{display:block;width:100%;padding:10px;text-align:left;border:0;border-bottom:1px solid #bfcbd3;background:transparent}
.choice-list button:hover{background:#dce6ed}
.quantity-label{display:flex;gap:10px;align-items:center;margin-top:10px}
.quantity-label input{width:120px;padding:8px;border:1px solid #9eabb6}
#message{position:fixed;bottom:10px;left:10px;background:#203a4a;color:white;padding:9px 13px;display:none;max-width:600px}
#message.visible{display:block}
#print-sheet{display:none}
@media(max-width:900px){.app{grid-template-columns:minmax(0,1fr) 165px}.summary{gap:8px}.customer-fields{min-width:250px}.totals{min-width:200px;grid-template-columns:1fr}.actions button{font-size:13px}}
@media(max-width:700px){.app{height:auto;min-height:100dvh;display:flex;flex-direction:column}.actions{order:-1;display:grid;grid-template-columns:repeat(3,1fr)}.clock{grid-column:1/3;grid-template-columns:1fr 1fr}.vehicle-name{grid-column:3}.actions button{min-height:40px}.summary{min-height:0;flex-direction:column}.totals{display:flex;min-width:0;justify-content:space-between}.line-area{min-height:280px}.lines-table{min-width:680px}#sync-button{margin-top:0}}
@media print{html,body{background:white!important}.app,dialog,#message{display:none!important}#print-sheet{display:block!important;color:#111;font:12px Helvetica,Arial,sans-serif;margin:0}#print-sheet h1{font-size:16px;margin:0 0 8px}#print-sheet p{margin:3px 0}#print-sheet table{width:100%;margin-top:12px;border-collapse:collapse}#print-sheet th,#print-sheet td{border-bottom:1px solid #777;border-right:0;padding:5px 3px}#print-sheet .print-total{text-align:right;margin-top:9px;font-weight:700;font-size:15px}}
