:root{--p:#0b1f3a;--a:#c89b3c;--bg:#f4f6fb;--t:#1f2937}*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--t)}a{color:inherit}.top{background:#fff;padding:16px 7%;display:flex;justify-content:space-between;box-shadow:0 8px 25px #0001}.top a{margin-left:18px;text-decoration:none;font-weight:700}.hero{padding:80px 7%;background:linear-gradient(120deg,#0b1f3a,#173a67);color:#fff}.hero h1{font-size:44px}.btn{background:var(--a);color:#fff;border:0;border-radius:10px;padding:11px 16px;text-decoration:none;font-weight:700;cursor:pointer}.card{background:#fff;margin:20px;padding:22px;border-radius:16px;box-shadow:0 12px 35px #0001}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}label{display:block;margin:10px 0;font-weight:700}input,select,textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:8px;margin-top:4px}textarea{min-height:85px}.flashwrap{padding:12px}.flash{padding:10px;border-radius:8px;background:#e5e7eb}.success{background:#dcfce7}.danger{background:#fee2e2}table{width:100%;border-collapse:collapse;background:#fff}th,td{border-bottom:1px solid #edf0f5;padding:10px;text-align:left;vertical-align:top}th{background:#f3f4f6}.admin{display:flex}aside{width:260px;min-height:100vh;background:var(--p);color:#fff;position:fixed;padding:18px;overflow:auto}aside a{display:block;text-decoration:none;padding:9px;border-radius:8px;font-weight:700}aside a:hover{background:#ffffff22}.content{margin-left:260px;width:calc(100% - 260px)}.bar{background:#fff;padding:16px 24px;box-shadow:0 8px 25px #0001}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:20px}.stat{background:#fff;padding:18px;border-radius:14px;box-shadow:0 10px 28px #0001}.stat span{color:#6b7280;font-weight:700}.stat b{display:block;font-size:28px;color:var(--p)}.login{max-width:520px;margin:60px auto}.qr{width:90px}.portal{display:flex}.portal aside{position:relative}.portal section{padding:25px;flex:1}@media(max-width:900px){.admin,.portal{display:block}aside{position:relative;width:100%;min-height:auto}.content{margin:0;width:100%}.top{display:block}.top a{display:inline-block;margin:8px 10px 0 0}}
