:root{--blue:#164e63;--green:#0f766e;--pale:#f0fdfa;--ink:#15313a;--line:#d5e5e7}*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,sans-serif;color:var(--ink);background:#f7fafb}header{display:flex;justify-content:space-between;align-items:center;padding:1rem max(1rem,calc((100% - 1100px)/2));background:var(--blue);color:white}.brand{font-weight:800;font-size:1.25rem;color:white;text-decoration:none}.brand span{font-weight:400;color:#99f6e4}nav{display:flex;align-items:center;gap:1rem}nav a,.link{color:white;background:none;border:0;font:inherit;cursor:pointer;text-decoration:none}nav form{margin:0}main{max-width:1100px;margin:2rem auto;padding:0 1rem;min-height:70vh}footer{padding:1.5rem;text-align:center;color:#547078;font-size:.85rem}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:1.25rem;margin:1rem 0;box-shadow:0 3px 14px #164e6310}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.grid .card{display:flex;flex-direction:column}.grid strong{font-size:2rem;color:var(--green)}.heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.button{display:inline-block;background:var(--green);color:white;border:0;border-radius:7px;padding:.7rem 1rem;text-decoration:none;cursor:pointer}label{display:block;font-weight:600;margin:.8rem 0}input,select{display:block;width:100%;margin-top:.3rem;padding:.7rem;border:1px solid #a9c2c6;border-radius:6px;background:white}.login,.form-card{max-width:520px;margin:3rem auto}.table-wrap{overflow:auto;background:white;border-radius:10px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;min-width:650px}th,td{padding:.8rem;text-align:left;border-bottom:1px solid var(--line)}th{background:var(--pale);color:var(--blue)}.alert{padding:.8rem;border-radius:7px}.danger,.error{color:#9f1239}.alert.danger{background:#ffe4e6}.success{background:#d1fae5}.error{display:block}@media(max-width:700px){header{align-items:flex-start;flex-direction:column;gap:.8rem}nav{width:100%;overflow:auto}.grid{grid-template-columns:1fr}.heading{align-items:flex-start;flex-direction:column}main{margin-top:1rem}h1{font-size:1.65rem}}
