:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#14233b;background:#f4f7fc;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:0;border-radius:10px;background:#1165ef;color:white;padding:11px 17px;font-weight:600}button:disabled{opacity:.5;cursor:wait}a{color:#1165ef}h1{font-size:28px;margin:0 0 8px}h2{font-size:21px}p{line-height:1.6}.muted,small{color:#62738a}small{font-size:12px}.layout{display:grid;grid-template-columns:235px 1fr;min-height:100vh}aside{background:#fff;border-right:1px solid #e0e8f2;padding:28px 18px;position:sticky;top:0;height:100vh}aside strong{display:block;padding:0 12px 22px;font-size:21px;color:#0d5941}nav{display:grid;gap:5px}nav button{text-align:left;background:transparent;color:#576880}nav button.active{background:#eaf2ff;color:#1165ef}main{padding:38px;max-width:1450px;width:100%;margin:auto;align-self:start}header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.icon{width:38px;height:38px;padding:8px;display:inline-flex;align-items:center;justify-content:center;background:#eef4ff;color:#1761c1;border-radius:10px;text-decoration:none}.icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.secondary{background:#e9eef6;color:#324966}.danger{background:#fff0f0;color:#c72834}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}.card,.panel{background:white;border:1px solid #e3eaf4;border-radius:16px;padding:22px}.card strong{display:block;font-size:26px;margin-top:10px}.card:nth-child(1){background:#e1f8ec}.card:nth-child(2){background:#e5efff}.card:nth-child(3){background:#fff0de}.card:nth-child(4){background:#efe9ff}.list{display:grid;gap:10px}.row{display:flex;align-items:center;gap:16px;background:#fff;padding:18px;border:1px solid #e3eaf4;border-radius:13px}.row .detail{flex:1;min-width:0}.row strong,.row small{display:block}.quantity{text-align:right;min-width:70px}.quantity strong{font-size:19px}.search{max-width:420px;margin-bottom:20px}.badge{display:inline-block;background:#e6f6ed;color:#187044;padding:3px 9px;border-radius:20px;font-size:12px}.empty{padding:40px;text-align:center;color:#68768d;background:#fff;border-radius:14px}label{display:grid;gap:7px;margin-bottom:16px;font-size:13px;font-weight:600}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #ced9e8;border-radius:8px;background:#fff;color:#14233b}textarea{min-height:85px;resize:vertical}input[type=checkbox]{width:auto}dialog{border:0;border-radius:20px;width:min(740px,94vw);max-height:90vh;padding:28px;box-shadow:0 30px 100px #112b5066}dialog::backdrop{background:#14233b77}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.login{max-width:460px;margin:8vh auto;padding:34px}.login h1{color:#0d5941}.login button[type=submit],.google{width:100%}.password{display:flex;gap:8px}.google{background:white;color:#243a55;border:1px solid #ced9e8;margin-top:14px}.legal{display:flex;gap:18px;justify-content:center;margin-top:24px;font-size:12px}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#14233b;color:#fff;border-radius:12px;padding:14px 22px;max-width:90vw;z-index:10;display:none}.error{color:#ae2435;white-space:pre-wrap}.line{background:#f3f6fb;padding:14px;border-radius:12px;margin-bottom:12px}.line .form-grid{grid-template-columns:2fr 1fr 1fr 1fr}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #e5ebf3}th{color:#5f728a;font-size:12px}.loading{text-align:center;margin:20vh auto}.bar{height:8px;background:#e3edfb;border-radius:6px}.bar-fill{height:8px;background:#1165ef;border-radius:6px}.profile{display:flex;align-items:center;gap:16px}.avatar{border-radius:50%;background:#e5efff;color:#1468eb;font-size:24px;padding:18px}.spaced{margin-top:22px}.invoice-title{text-align:center}.invoice-totals{text-align:right;line-height:1.9}.check{display:flex;align-items:center;gap:10px}@media(max-width:900px){.layout{grid-template-columns:170px 1fr}main{padding:24px}.cards{grid-template-columns:1fr 1fr}.row{gap:10px}}@media(max-width:600px){.layout{display:block}aside{height:auto;position:static;padding:16px}aside strong{padding-bottom:12px}nav{display:flex;overflow:auto}nav button{white-space:nowrap;padding:9px 12px}main{padding:20px 14px}h1{font-size:24px}.card{padding:15px}.card strong{font-size:22px}.row{flex-wrap:wrap}.row .detail{min-width:110px}.form-grid,.line .form-grid{grid-template-columns:1fr 1fr}.login{margin:4vh 12px}.actions{gap:5px}dialog{padding:20px}}
main{margin:0 auto}@media print{body{background:#fff}#app,#notice,#discard{display:none!important}dialog#editor{position:static;display:block!important;max-height:none;width:100%;max-width:none;border:0;box-shadow:none;padding:0;overflow:visible}#editor header button,#print-invoice{display:none}dialog::backdrop{display:none}table{font-size:11px}.invoice-title{break-after:avoid}tr{break-inside:avoid}@page{size:A4;margin:14mm}}
