:root{--navy:#082d4e;--teal:#078987;--bg:#f2f6f7;--line:#dbe5e8;--muted:#6f8090}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#19354c;font-family:Arial,sans-serif}.shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}aside{background:linear-gradient(#072d4e,#0b3d5d);color:#fff;padding:24px 18px;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;border-bottom:1px solid #ffffff22;padding-bottom:22px}.brand img{width:46px;height:46px;object-fit:contain;background:#fff;border-radius:10px}.brand b{display:flex;flex-direction:column}.brand small{color:#60cfcb;text-transform:uppercase;letter-spacing:.2em;margin-top:4px}nav{display:flex;flex-direction:column;margin-top:24px}nav a,.logout{color:#c2d0d9;text-decoration:none;padding:12px;border-radius:9px}nav a:hover{background:#ffffff12;color:#fff}.rule{margin-top:auto;border:1px solid #ffffff22;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:7px}.rule b{color:#65d2ce}.rule small{line-height:1.5}.logout{margin-top:12px}.work{padding:30px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}header small{color:var(--teal);font-weight:bold;letter-spacing:.15em}h1{margin:4px 0;color:var(--navy)}h2{color:var(--navy);margin-top:0}.button,button,.receipt-row a,.no-print a{border:0;background:var(--teal);color:#fff;text-decoration:none;border-radius:9px;padding:11px 15px;font-weight:bold;cursor:pointer}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.cards article,.panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;margin-bottom:18px}.cards article{border-top:4px solid var(--teal);display:flex;flex-direction:column;gap:10px}.cards span{color:var(--muted)}.cards b{font-size:25px;color:var(--navy)}.notice{background:#e1f5f2;color:#076c68;padding:12px 15px;border-radius:9px;margin-bottom:18px}.error{background:#fee9e7;color:#a12c25}.grid{display:grid!important;grid-template-columns:1fr 1fr}.wide{grid-column:1/-1}form{display:flex;flex-direction:column;gap:14px}label{display:flex;flex-direction:column;gap:6px;color:#566c7c;font-size:12px;font-weight:bold}input,select,textarea{border:1px solid var(--line);border-radius:8px;padding:11px;font:inherit}textarea{min-height:70px}.grid button{width:max-content}.columns{display:grid;grid-template-columns:minmax(300px,.65fr) minmax(0,1.35fr);gap:18px}.hint{background:#edf7f6;padding:12px;border-radius:9px;font-size:13px}.table{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:13px}td small{display:block;color:var(--muted)}.client-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.client-grid article{border:1px solid var(--line);border-radius:10px;padding:13px;display:flex;flex-direction:column;gap:5px}.client-grid span,.client-grid small{color:var(--muted);font-size:12px}.receipt-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}.receipt-row span{display:flex;flex-direction:column;gap:5px}.receipt-row small{color:var(--muted)}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#082d4e,#087c7a)}.login-card{width:min(420px,92vw);background:#fff;padding:30px;border-radius:18px;box-shadow:0 20px 60px #001a2e55}.login-card img{width:130px;height:90px;object-fit:contain;margin:auto}.login-card h1{text-align:center}.login-card p{text-align:center;color:var(--muted)}.login-card a{text-align:center;color:var(--teal)}.receipt-page{background:#eaf0f2;padding:30px}.receipt-page article{max-width:720px;margin:auto;background:#fff;padding:42px;border-radius:14px}.receipt-page img{width:180px}.receipt-page table{margin:25px 0}.no-print{display:flex;gap:10px}@media(max-width:850px){.shell{display:block}aside{padding:13px}.rule{display:none}nav{flex-direction:row;overflow:auto;margin-top:10px}.logout{position:absolute;right:10px;top:10px}.work{padding:18px}.cards,.client-grid,.grid,.columns{grid-template-columns:1fr}.wide{grid-column:auto}}@media print{.no-print{display:none}.receipt-page{padding:0;background:#fff}.receipt-page article{box-shadow:none}}
