:root{font-family:Segoe UI,Arial,sans-serif;color:#203b37;background:#f4f6f3;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,.import-label{cursor:pointer}button{border:0;border-radius:7px;padding:12px 18px;font-weight:600}button:hover{filter:brightness(.94)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.import-label:focus-within{outline:3px solid #c59845;outline-offset:3px}.shell{display:flex;min-height:100vh}aside{width:220px;background:#143c37;color:#d4e2dd;padding:38px 23px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand{font-size:27px;font-weight:800;color:white;letter-spacing:-1px;text-decoration:none}.brand span{color:#d0af70}.brand small{display:block;font-size:10px;letter-spacing:4px;margin-top:5px;font-weight:500}.nav{margin-top:52px;padding:15px 12px;border-radius:7px;background:#2a514a;font-size:14px;color:white}.aside-bottom{margin-top:auto;font-size:10px;letter-spacing:1px;color:#b4c6bc}.aside-bottom p{letter-spacing:0;font-size:11px;line-height:2;margin:20px 0 0}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#80b297;margin-right:4px}main{margin-left:220px;padding:40px 42px;max-width:1600px;width:calc(100% - 220px)}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:#7e8c7d}h1{font-size:30px;letter-spacing:-1px;margin:9px 0}header p{color:#7c8780;font-size:14px;margin:0}.primary{background:#214e43;color:white}.secondary{background:white;border:1px solid #d5ddd6;color:#284e43}.quiet{background:#f1f5ef;color:#44634f;padding:8px 11px;font-size:12px}.stats{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:18px;margin-bottom:26px}.stats article{background:white;border:1px solid #e1e6df;padding:22px;border-radius:10px}.stats span{font-size:12px;color:#7a897f}.stats strong{display:block;font-size:27px;margin-top:12px;font-weight:600}.stats .local{font-size:17px;margin-top:18px}.workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:24px;align-items:start}.panel{background:white;border:1px solid #e0e6de;border-radius:11px;padding:25px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}h2{font-size:19px;margin:8px 0 0;letter-spacing:-.4px}.drop{border:1px dashed #a8bca6;border-radius:8px;background:#f7f9f4;display:flex;align-items:center;flex-direction:column;gap:8px;padding:20px;cursor:pointer}.drop strong{font-size:14px}.drop span{font-size:11px;color:#83917f}.drop .upload-icon{font-size:28px;color:#68845c}.drop input{font-size:11px;max-width:100%;margin-top:5px}.hint{font-size:11px;line-height:1.7;color:#818c81}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}label{font-size:12px;color:#536a5a;display:block}input,select,textarea{width:100%;background:#fff;border:1px solid #dce3da;border-radius:6px;padding:11px;margin-top:8px;color:#243f33;min-width:0}input::placeholder,textarea::placeholder{color:#a0aaa1}.wide{grid-column:1/-1}.items-title{display:flex;justify-content:space-between;align-items:center;margin:26px 0 14px}h3{font-size:14px}.item{background:#fafbf8;border:1px solid #e2e7dd;padding:15px;border-radius:8px;margin:12px 0}.item-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#839078}.remove{background:none;color:#a45f4f;font-size:12px;padding:5px}.item .fields{margin:6px 0;gap:12px}.item-numbers{display:grid;grid-template-columns:1fr 1.3fr 1.1fr;gap:12px;margin-top:12px}.line-total{text-align:right;font-size:12px;margin-top:15px;color:#71816b}.totals{margin-top:25px;padding:18px 20px;background:#f3f6ef;border-radius:8px}.totals div{display:flex;justify-content:space-between;font-size:13px;margin:9px 0}.totals .grand{border-top:1px solid #d8e1d0;padding-top:16px;margin-top:15px;font-size:16px}.grand strong{font-size:23px}.actions{display:flex;gap:10px;margin-top:24px}.search input{margin:0;font-size:12px;background:#fafbf8}.empty{text-align:center;padding:45px 15px;color:#85937f;font-size:13px;line-height:1.8}.empty b{display:block;font-size:30px;font-weight:400;color:#a0af92;margin-bottom:12px}.saved-card{border-bottom:1px solid #e7ebe2;padding:18px 0}.saved-card h3{margin:0;font-size:14px}.saved-card p{font-size:12px;color:#7d8a77;line-height:1.7;margin:6px 0}.saved-card .card-row{display:flex;justify-content:space-between;gap:8px;align-items:center}.saved-card small{font-size:10px;color:#889481}.saved-card button{margin-top:9px}.backup{display:flex;gap:10px;border-top:1px solid #e6ebe1;margin-top:25px;padding-top:20px}.import-label{border-radius:7px;display:inline-flex;align-items:center;font-weight:600}footer{display:flex;justify-content:space-between;margin-top:30px;font-size:10px;color:#91a08a;letter-spacing:.5px}#message:not(:empty){padding:13px 16px;background:#e7eee0;border-left:3px solid #607e50;margin-bottom:20px;font-size:13px;line-height:1.7}#message.error{background:#fff0e9;border-color:#b46d4e}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#print-area{display:none}@media(min-width:1600px){main{margin-right:auto}}@media(max-width:1150px){aside{width:180px;padding:30px 18px}main{margin-left:180px;width:calc(100% - 180px);padding:28px 24px}.workspace{grid-template-columns:1fr}.stats{gap:10px}.stats article{padding:16px}}@media(max-width:600px){aside{position:static;width:auto;padding:17px 20px}.brand{font-size:22px}.brand small{font-size:8px}.nav,.aside-bottom{display:none}.shell{display:block}main{margin:0;width:100%;padding:24px 15px}header{gap:10px}h1{font-size:25px}header p{font-size:12px}header button{padding:11px;font-size:12px}.stats{grid-template-columns:1fr 1.5fr}.stats article:last-child{display:none}.stats strong{font-size:23px}.stats span{font-size:10px}.panel{padding:18px}.fields{gap:12px}.item-numbers{grid-template-columns:1fr 1fr}.item-numbers label:last-child{grid-column:1/-1}.actions button{flex:1;font-size:13px;padding:12px 8px}.grand strong{font-size:21px}footer{font-size:8px}.section-head .quiet{font-size:10px}.drop strong{font-size:12px}}

.drop:focus-within{outline:3px solid #c59845;outline-offset:3px}.drop .file-choice{color:#36583e;background:#e8eee1;padding:7px 16px;border-radius:5px;font-weight:600}
.sample-warning{padding:14px;margin:18px 0;background:#fff5da;border:1px solid #d0af70;border-radius:6px;color:#74551c;font-size:12px;line-height:1.7}.sample-warning[hidden]{display:none}.archive-number{overflow-wrap:anywhere}.test-tag{color:#8b611d}#quote-number{font-size:11px;background:#f5f7f2}
@media print{
 @page{size:A4 portrait;margin:14mm 12mm 14mm}
 html,body{margin:0;padding:0;width:auto;height:auto;background:white!important}
 *{print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .shell,#message,button,input{display:none!important}
 #print-area{display:block;color:#213d35;font:9pt "Segoe UI",Arial,sans-serif;line-height:1.45}
 .print-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8mm;margin:0 0 7mm;border-bottom:1mm solid #c7a263;padding-bottom:6mm;break-inside:avoid}
 .print-brand{font-size:28pt;letter-spacing:-1pt;color:#143c37;line-height:1.2}.print-brand span{color:#ad843e}.print-tagline{font-size:7pt;letter-spacing:1.5pt;color:#64776a;margin:2mm 0 4mm}.print-company{max-width:108mm;font-size:8pt;font-weight:600;line-height:1.6}
 .print-document{text-align:right;flex:0 0 62mm}.print-document h1{margin:0;color:#143c37;font-size:19pt;letter-spacing:.3pt}.print-document p{font-size:9pt;color:#617368;line-height:1.7}
 .print-info{display:grid;grid-template-columns:1fr 1.15fr;gap:8mm;margin:0 0 8mm;break-inside:avoid}.print-info strong{font-size:12pt;overflow-wrap:anywhere}.print-info p{font-size:8pt;color:#607367;margin-top:3mm}.print-info dl{margin:0;border-left:.5mm solid #c7a263;padding-left:5mm}.print-info dt{font-size:7pt;font-weight:600;color:#6b7b70}.print-info dd{margin:1mm 0 3mm;font-size:9pt;overflow-wrap:anywhere}
 #print-area h2{font-size:7pt;letter-spacing:1pt;color:#617467;margin:0 0 3mm}
 .print-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:8pt;line-height:1.5}.print-table th{background:#143c37;color:white;border-bottom:.6mm solid #c7a263;font-weight:600;padding:3mm 1.5mm}.print-table td{padding:3mm 1.5mm;vertical-align:top;border-bottom:.2mm solid #dfe5dd;overflow-wrap:anywhere}.print-table tbody tr:nth-child(even){background:#f4f6f0}.print-table th.numeric,.print-table td.numeric{text-align:right}.print-table tr{break-inside:avoid}.print-table thead{display:table-header-group}
 .print-closing{display:grid;grid-template-columns:1fr 78mm;gap:8mm;margin:7mm 0;align-items:start}.print-conditions p{margin:0 0 5mm;font-size:9pt;overflow-wrap:anywhere}.print-notes{white-space:pre-wrap}.print-totals{margin:0;width:auto;break-inside:avoid;border:0;background:#f1f4ec;padding:3mm 4mm}.print-totals div{display:flex;justify-content:space-between;gap:4mm;padding:2mm 0;font-size:9pt}.print-totals div:last-child{border-top:.5mm solid #c7a263;margin-top:2mm;padding-top:4mm;font-size:12pt;color:#143c37}
 .print-bank{border:.3mm solid #dce3d6;border-left:1mm solid #c7a263;padding:4mm 5mm;break-inside:avoid;margin-top:6mm}.print-bank p{margin:1.5mm 0;font-size:8pt}.print-bank .iban{font-size:11pt;letter-spacing:.3pt}
 .print-footer{display:block;margin:7mm 0 0;padding:4mm 0 0;border-top:.3mm solid #b7c8ba;font-size:7.5pt;color:#50685a;letter-spacing:0;break-inside:avoid}.print-footer p{margin:1.5mm 0}.print-footer div{color:#91733d;margin-top:3mm}
 .print-sample{padding:3mm;border:.3mm solid #c7a263;background:#fff6df;margin-bottom:6mm;font-weight:bold;text-align:center}
}

[hidden]{display:none!important}.login-panel{max-width:440px;background:white;border:1px solid #dce3da;border-radius:12px;margin:8vh auto;padding:30px}.login-panel .brand{color:#143c37}.login-panel p{font-size:13px;line-height:1.7}.login-panel label{margin-top:15px}.login-panel button{margin-top:20px;width:100%}#login-error{color:#a04030}@media(max-width:600px){.login-panel{margin:25px 15px}header{flex-wrap:wrap}}@media print{#cloud-login{display:none!important}}
