:root{--blue:#1260ff;--side:#252d38;--ink:#192334;--muted:#647084;--line:#dce2eb;--bg:#f3f5f9}*{box-sizing:border-box}body{margin:0;font:16px/1.5 'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:8px;padding:10px 16px;background:white;color:var(--ink)}button:hover{background:#edf2ff}button.primary{background:var(--blue);color:white;border-color:var(--blue)}button.danger{color:#ad2639}button:disabled{opacity:.5;cursor:default}a{color:var(--blue)}.sidebar{position:fixed;width:245px;background:var(--side);color:white;inset:0 auto 0 0;padding:30px 20px;display:flex;flex-direction:column}.brand{font-weight:800;font-size:22px;letter-spacing:1px}.brand small{display:block;font-weight:400;font-size:14px;letter-spacing:0;color:#c9d0dc}.sidebar nav{margin-top:38px;display:grid;gap:8px}.sidebar nav button{text-align:left;background:transparent;color:#e7ebf3;border:0;padding:13px 16px}.sidebar nav button.active{background:var(--blue);color:white}.sidefoot{margin-top:auto;font-size:13px;color:#c9d0dc}.main{margin-left:245px;padding:34px 40px;max-width:1600px}header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px}h1{font-size:28px;line-height:1.2;margin:0 0 6px}h2{font-size:20px;margin:0 0 20px}h3{font-size:17px;margin:24px 0 12px}.muted{color:var(--muted);font-size:14px}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:26px;margin-bottom:22px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.full{grid-column:1/-1}label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}input,select,textarea{width:100%;border:1px solid #b9c3d2;border-radius:7px;background:white;padding:10px 12px;color:var(--ink)}input:focus,textarea:focus,select:focus{outline:3px solid #d7e4ff;border-color:var(--blue)}textarea{min-height:90px;resize:vertical}input[type=checkbox]{width:auto;accent-color:var(--blue);margin-right:8px}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.filters>*{flex:1;min-width:150px}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--muted);font-size:13px;font-weight:600}td,th{padding:13px 10px;border-bottom:1px solid var(--line);vertical-align:top}td small{display:block;color:var(--muted)}.tablewrap{overflow:auto}.badge{display:inline-block;border-radius:5px;padding:3px 8px;background:#eaf0ff;color:#1647a4;font-size:12px;font-weight:650}.badge.orange{background:#fff0d9;color:#8b5100}.amount{text-align:right;white-space:nowrap}.totals{margin:22px 0 22px auto;max-width:380px;background:#f3f6ff;padding:20px;border-radius:9px}.totals div{display:flex;justify-content:space-between;margin:8px 0}.totals .balance{font-size:23px;font-weight:750;color:var(--blue);border-top:1px solid #cbd7f4;padding-top:12px}.invoice{padding:16px;border:2px solid var(--blue);border-radius:8px;background:#f4f7ff;margin:20px 0}.invoice label{font-size:17px}.rows input,.rows select{min-width:90px}.rows .desc{min-width:240px}.login{max-width:470px;margin:8vh auto;padding:32px}.login label{margin-top:18px}.login button{margin-top:22px;width:100%}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:22px}.stat{background:white;border:1px solid var(--line);padding:24px;border-radius:12px}.stat b{display:block;font-size:32px;color:var(--blue)}.empty{padding:40px;text-align:center;color:var(--muted)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:90%;background:#192334;color:white;border-radius:8px;padding:14px 22px;display:none;z-index:20}.notice{background:#fff7e8;padding:14px;border-radius:7px;margin-bottom:20px}.disclaimer{font-size:14px;line-height:1.55;border-top:1px solid #b7c5d9;padding-top:16px;margin-top:30px}.signature{display:flex;justify-content:space-between;gap:30px;margin-top:35px}.signature span{width:45%;border-bottom:1px dotted #555;padding-bottom:25px;font-size:13px}.printhead{display:flex;justify-content:space-between;gap:25px;border-bottom:2px solid var(--blue);padding-bottom:20px;margin-bottom:25px}.printhead h1{font-size:25px}.customer{margin-bottom:25px}.printdoc{max-width:1000px;margin:auto;background:white;padding:35px}.printdoc td{white-space:pre-wrap;overflow-wrap:anywhere}.printdoc .notes{white-space:pre-wrap;overflow-wrap:anywhere}.printdoc tfoot td{border:0}.document-footer{break-inside:avoid}.printonly{display:none}@media(max-width:900px){.sidebar{position:static;width:100%;padding:18px}.sidebar nav{display:flex;flex-wrap:wrap;margin-top:16px}.sidefoot{margin-top:16px}.main{margin:0;padding:22px}.grid,.grid.three{grid-template-columns:1fr}.stats{grid-template-columns:1fr}header{align-items:flex-start;flex-direction:column}}@page{size:A4;margin:14mm}@media print{body{background:white;font-size:11pt}.sidebar,.noprint,#toast{display:none!important}.main{margin:0;padding:0;max-width:none}.printdoc{padding:0;margin:0;max-width:none}.printhead{border-color:#555}thead{display:table-header-group}tr{break-inside:avoid}td,th{padding:8px 5px}.totals{background:white}.totals .balance{color:#000}.disclaimer{font-size:10pt;line-height:1.5}.printonly{display:block}.badge{background:white;color:black;border:1px solid #aaa}.document-footer{break-inside:avoid}a{color:black}}
[hidden]{display:none!important}
button.whatsapp{background:#25d366;color:#fff;border-color:#25d366;font-weight:750;box-shadow:0 4px 12px #25d36645}
button.whatsapp:hover{background:#1ebe5d;border-color:#1ebe5d}
button.whatsapp:focus{outline:3px solid #b9f3ce;outline-offset:2px}
button.secondary-wa{background:#159447;border-color:#159447}
.wa-icon{width:23px;height:23px;vertical-align:middle;flex:0 0 auto}
button.whatsapp.compact{padding:7px 10px;font-size:12px}
button.whatsapp.compact .wa-icon{width:18px;height:18px}
.document-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:16px 0;margin-top:24px;z-index:3}
.timeline{border-left:3px solid #c9d8ff;margin:16px 8px;padding-left:20px}.timeline>div{background:#f5f8ff;border-radius:8px;padding:12px 16px;margin:0 0 12px}.timeline small{display:block;color:var(--muted)}
.mini{margin-top:8px}.card>form.grid button{align-self:end}.rows td small{display:block;min-width:150px;color:var(--muted)}
