:root{--primary:#0b7285;--dark:#063b46;--accent:#20c997;--bg:#f4f8fa;--text:#18343a;--danger:#c92a2a;--warn:#e67700}
*{box-sizing:border-box}body{margin:0;font-family:Tahoma,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:inherit;text-decoration:none}.topbar{background:linear-gradient(135deg,var(--dark),var(--primary));color:#fff;padding:14px max(4vw,20px);display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 3px 15px #0002}
.brand{font-size:22px;font-weight:bold}.logo{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#fff;color:var(--primary);margin-left:8px}.topbar nav{display:flex;gap:17px;flex-wrap:wrap}.topbar nav a:hover{color:#bff9e6}
.container{max-width:1250px;margin:28px auto;padding:0 18px;min-height:76vh}.hero{background:linear-gradient(135deg,#fff,#dff7f1);padding:60px 7%;border-radius:24px;display:grid;grid-template-columns:1.4fr .6fr;align-items:center;box-shadow:0 10px 40px #063b4612}.hero h1{font-size:42px;margin:0 0 12px;color:var(--dark)}.hero p{font-size:18px;line-height:2}.hero-icon{font-size:120px;text-align:center;color:var(--primary)}
.btn{display:inline-block;border:0;border-radius:9px;padding:11px 18px;background:var(--primary);color:#fff;cursor:pointer;font-size:15px}.btn:hover{filter:brightness(.93)}.btn.secondary{background:#65747a}.btn.danger{background:var(--danger)}.btn.warn{background:var(--warn)}.btn.small{padding:7px 10px;font-size:13px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:#fff;padding:22px;border-radius:15px;box-shadow:0 4px 20px #063b4610}.stat b{font-size:28px;color:var(--primary);display:block;margin-top:8px}
h1,h2,h3{color:var(--dark)}form.grid-form{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field.wide{grid-column:1/-1}label{font-weight:bold}input,select,textarea{width:100%;padding:11px;border:1px solid #cbdcdf;border-radius:8px;background:#fff;font:inherit}input:focus,select:focus,textarea:focus{outline:2px solid #20c99755;border-color:var(--accent)}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 3px 16px #0000000b}th,td{padding:12px 10px;border-bottom:1px solid #e8eff1;text-align:right}th{background:#e3f3f5;color:var(--dark)}tr:hover td{background:#fbfefe}.actions{display:flex;gap:6px;flex-wrap:wrap}.alert{padding:13px 16px;border-radius:9px;margin-bottom:15px;background:#dbeafe}.alert.success{background:#d3f9d8;color:#176127}.alert.error{background:#ffe3e3;color:#a51111}.badge{padding:5px 9px;border-radius:20px;background:#e7f5ff;font-size:12px}.badge.paid,.badge.approved{background:#d3f9d8;color:#176127}.badge.unpaid,.badge.H,.badge.L{background:#ffe3e3;color:#b10d0d}.badge.draft{background:#fff3bf;color:#8f5600}
.login{max-width:470px;margin:60px auto}.login .card{padding:32px}.login h1{text-align:center}.login .field{margin-bottom:15px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.summary div{background:#f1f7f8;padding:12px;border-radius:8px}.report{background:#fff;padding:35px;max-width:900px;margin:auto}.report-head{display:flex;justify-content:space-between;border-bottom:3px solid var(--primary);padding-bottom:16px}.report table{box-shadow:none}.flag-H,.flag-L{color:var(--danger);font-weight:bold}.flag-N{color:#2b8a3e}
footer{text-align:center;padding:24px;color:#6b7d81}@media(max-width:850px){.grid,.summary{grid-template-columns:repeat(2,1fr)}form.grid-form{grid-template-columns:1fr}.hero{grid-template-columns:1fr}.hero-icon{display:none}.hero h1{font-size:30px}.topbar{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.grid,.summary{grid-template-columns:1fr}.container{padding:0 10px}.card{padding:15px}.table-wrap{overflow:auto}th,td{white-space:nowrap}}
@media print{.topbar,footer,.no-print,.alert{display:none!important}.container{margin:0;max-width:none;padding:0}.report{padding:10px;box-shadow:none}body{background:#fff}}
@media print{.report.locked{display:none!important}.print-lock{display:block!important;font-size:24px;text-align:center;padding:80px 20px}}
