:root{--navy:#102a43;--blue:#2563eb;--teal:#0f9d8a;--bg:#f4f7fb;--text:#172033;--line:#e4e9f0}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}aside{position:fixed;inset:0 auto 0 0;width:245px;background:var(--navy);color:white;padding:22px 15px}.brand{display:flex;gap:10px;align-items:center;margin-bottom:28px}.brand b,.logo{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;background:linear-gradient(135deg,var(--blue),var(--teal));font-weight:800}.brand small{display:block;color:#b8c7dc}nav{display:grid;gap:6px}nav a,.logout{padding:12px;border-radius:10px;color:#e6eef8;text-decoration:none}nav a:hover,.logout:hover{background:#1d4165}.logout{position:absolute;bottom:25px;left:15px}main{margin-left:245px}header{height:65px;background:white;border-bottom:1px solid var(--line);padding:0 28px;display:flex;align-items:center;justify-content:space-between;font-weight:700}section{padding:28px;max-width:1400px;margin:auto}h1{margin:0 0 6px;font-size:30px}.muted{color:#687386}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{background:white;border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:18px;box-shadow:0 5px 20px #102a4310}.card strong{display:block;font-size:28px;margin-top:8px}.actions{display:flex;gap:12px;flex-wrap:wrap}.actions a{padding:15px;border:1px solid var(--line);border-radius:12px;color:var(--blue);font-weight:700}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.row{display:flex;gap:10px}input,select{width:100%;padding:11px;border:1px solid #d5dce6;border-radius:10px;background:white}button{border:0;border-radius:10px;padding:11px 16px;background:var(--blue);color:white;font-weight:700;cursor:pointer}label{display:block;margin:12px 0 6px}table{width:100%;border-collapse:collapse;min-width:650px}th,td{text-align:left;padding:11px;border-bottom:1px solid var(--line)}.scroll{overflow:auto}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eaf1ff,#effbf8)}.loginbox{background:white;width:min(420px,92%);padding:34px;border-radius:22px;box-shadow:0 20px 60px #102a4330}.loginbox h1{text-align:center}.loginbox p{text-align:center;color:#687386}.loginbox .logo{margin:auto;color:white}.loginbox button{width:100%;margin-top:15px}.error{background:#fff1f2;color:#b42318;padding:10px;border-radius:9px}.ok{background:#ecfdf5;color:#067647;padding:10px;border-radius:9px}.print{text-align:right;margin-bottom:15px}.print button{margin-left:8px}.invoicehead{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px}.invoicehead p{color:#687386}.cost{display:none}.showcost .cost{display:table-cell}.summary{margin:20px 0 0 auto;max-width:350px;line-height:2;text-align:right}.summary strong{font-size:20px}@media(max-width:850px){aside{display:none}main{margin-left:0}.cards{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr 1fr}}@media(max-width:550px){section{padding:15px}.cards,.grid{grid-template-columns:1fr}.row{flex-direction:column}.invoicehead{flex-direction:column}.print{text-align:left}}@media print{aside,header,.print{display:none}main{margin:0}section{padding:0}.card{box-shadow:none;border:0}.cost{display:none!important}}
