*{box-sizing:border-box}body{margin:0;background:#f5f8fd;color:#17233d;font-family:Arial,Helvetica,sans-serif}.sidebar{position:fixed;left:0;top:0;bottom:0;width:235px;background:#fff;border-right:1px solid #e7edf5;padding:24px 14px;z-index:20}.brand{display:flex;align-items:center;gap:10px;font-size:20px;padding:0 10px 28px}.brand span{color:#1477ff}.mark{width:38px;height:38px;border-radius:11px;background:#1477ff;color:#fff!important;display:grid;place-items:center;font-weight:900}.sidebar nav a,.logout{display:flex;gap:12px;align-items:center;padding:12px 14px;margin:5px 0;border-radius:11px;color:#65748c;text-decoration:none}.sidebar nav a:hover,.sidebar nav a:first-child{background:#edf5ff;color:#1477ff}.logout{position:absolute;left:14px;right:14px;bottom:20px}.main{margin-left:235px;padding:30px;max-width:1500px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:15px}.top h1{margin:0;font-size:30px}.muted{color:#8996a9;margin:5px 0}.btn{border:1px solid #dbe4ef;background:#fff;color:#34445e;padding:11px 16px;border-radius:10px;text-decoration:none;font-weight:700;cursor:pointer}.btn.primary{background:#1477ff;color:#fff;border-color:#1477ff}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat,.panel{background:#fff;border:1px solid #e6edf5;border-radius:17px;box-shadow:0 6px 20px #23476c0a}.stat{padding:20px}.stat .label{color:#7c899c}.stat .value{font-size:26px;font-weight:800;margin:10px 0}.panel{padding:20px;margin-bottom:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.panel-head h2{margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:13px 9px;border-bottom:1px solid #edf1f6}th{font-size:12px;color:#8491a5;text-transform:uppercase}.badge{padding:5px 10px;border-radius:20px;font-size:12px;font-weight:700}.badge.draft{background:#f0f2f5;color:#657286}.badge.sent{background:#eaf3ff;color:#1477ff}.badge.paid{background:#e6f8f0;color:#12915d}.badge.overdue{background:#fff0f0;color:#df4e4e}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form label{font-size:13px;font-weight:700;color:#5f6e84}.form input,.form select,.form textarea,.search input{width:100%;margin-top:7px;padding:12px;border:1px solid #dce5ef;border-radius:10px;font:inherit;background:#fff}.wide{grid-column:1/-1}.item-row{display:grid;grid-template-columns:1.8fr .7fr 1fr 1fr 40px;gap:8px;margin:9px 0}.item-row input{padding:11px;border:1px solid #dce5ef;border-radius:9px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.search{display:flex;gap:10px;margin-bottom:18px}.login-page{min-height:100vh;display:grid;place-items:center;background:#f2f7fd}.login-card{width:min(430px,92%);background:#fff;border-radius:22px;padding:38px;box-shadow:0 25px 70px #1e466e18}.login-card .brand{font-size:26px}.login-card h2{font-size:29px;margin:45px 0 5px}.login-card label{display:block;font-size:13px;font-weight:700;margin-top:17px}.login-card input{width:100%;margin-top:7px;padding:13px;border:1px solid #dce5ef;border-radius:10px}.alert{padding:12px;border-radius:10px;margin:14px 0}.danger{background:#fff0f0;color:#c64040}.mobile-nav{display:none}.quote-paper{background:#fff;max-width:900px;margin:auto;padding:24mm 18mm 20mm;border:1px solid #ddd;color:#111;box-shadow:0 4px 18px #00000012}.quote-head{text-align:center}.quote-head h1{font-size:20px;margin:0;font-weight:800}.quote-head p{margin:3px 0;font-size:11px;font-weight:700}.quote-title{text-align:center;font-size:25px;font-weight:800;text-decoration:underline;margin:10px 0 18px}.quote-info{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;font-size:11px;line-height:1.55;margin-bottom:18px}.subject{font-size:12px;font-weight:800;text-decoration:underline;margin:12px 0}.quote-table{width:100%;border-collapse:collapse;font-size:10.5px}.quote-table th,.quote-table td{border:1px solid #222;padding:7px;vertical-align:top}.quote-table th{text-align:center;color:#111;text-transform:none;font-size:10.5px}.quote-total{text-align:center;font-size:12px;font-weight:800;text-decoration:underline;margin-top:22px}.quote-actions{max-width:900px;margin:15px auto;display:flex;gap:10px;justify-content:flex-end}@media(max-width:850px){.sidebar{width:0;padding:0;overflow:hidden;border:0}.main{margin-left:0;padding:18px 14px 90px}.cards{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.mobile-nav{position:fixed;display:flex;left:10px;right:10px;bottom:10px;height:64px;background:#fff;border:1px solid #e5ebf3;border-radius:18px;z-index:50;justify-content:space-around;align-items:center;box-shadow:0 12px 30px #173b621c}.mobile-nav a{color:#7e8da4;text-decoration:none;text-align:center;font-size:20px}.mobile-nav small{display:block;font-size:10px}.mobile-nav .add{width:48px;height:48px;border-radius:15px;background:#1477ff;color:#fff;display:grid;place-items:center}.quote-paper{padding:10mm 7mm}.quote-info{grid-template-columns:1fr 1fr}.item-row{grid-template-columns:1.6fr .6fr 1fr 1fr 35px}}@media print{body{background:#fff}.sidebar,.mobile-nav,.quote-actions{display:none!important}.main{margin:0;padding:0}.quote-paper{border:0;box-shadow:none;max-width:none;margin:0;padding:12mm 14mm}.quote-table{font-size:10px}}
