:root{font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#112d28;background:#f5f3ed}*{box-sizing:border-box}body{margin:0}.top{height:112px;background:white;border-bottom:1px solid #dedfd8;padding:24px max(24px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.top img{width:250px;max-width:55vw;height:auto}.local{font-size:12px;color:#63716a;border:1px solid #d8ddd6;border-radius:5px;padding:7px 11px;white-space:nowrap}main{max-width:1120px;margin:32px auto 60px;padding:0 24px}.hero{background:#112d28;border-top:4px solid #eb6424;border-radius:8px;padding:30px 36px;color:white}.hero h1{font-size:36px;line-height:1.18;margin:12px 0}.hero p{max-width:620px;margin:12px 0;color:#d3dfd7}.hero .eyebrow{color:#ff9d62;font-size:11px;font-weight:700;letter-spacing:1.5px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0}.metrics div{padding:18px 22px;background:white;border:1px solid #dedfd8;border-radius:7px}.metrics strong{display:block;font-size:32px;line-height:1.2}.metrics span{font-size:13px;color:#6a756e}.card{padding:26px;background:white;border:1px solid #dedfd8;border-radius:8px;margin:20px 0}h2{font-size:23px;line-height:1.3;margin:0 0 12px}h3{font-size:18px;margin:0 0 12px}.muted{color:#68756d;font-size:14px}.small{font-size:12px}.form-row{display:flex;gap:12px;align-items:stretch}input,select,textarea{font:inherit;color:inherit;background:#f8f7f2;border:1px solid #cfd7ce;border-radius:5px;padding:11px 13px;min-width:0;width:100%}input:focus,textarea:focus,select:focus{outline:2px solid #b7d3bd;outline-offset:1px}label{display:block;font-size:13px;font-weight:600;margin:10px 0 6px}button{background:#c94b0b;color:white;border:0;border-radius:5px;padding:12px 18px;min-height:44px;cursor:pointer;white-space:nowrap}button:hover{background:#a83e08}button.secondary{background:#eaf0e9;color:#214b3b}button.secondary:hover{background:#dbe7d9}button:disabled{opacity:.5;cursor:default}.result{background:#edf3eb;border-left:3px solid #244f3d;margin-top:20px;padding:20px;border-radius:4px}#issued-code{font-family:ui-monospace,monospace;letter-spacing:1px;background:white}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.filters{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin:10px 0 20px}.grant{padding:20px 0;border-top:1px solid #e1e5dd;display:flex;justify-content:space-between;align-items:center;gap:18px}.grant:first-child{border-top:0}.grant h3{margin:0 0 5px;overflow-wrap:anywhere}.grant p{margin:5px 0}.badge{display:inline-block;font-size:12px;line-height:1.6;border-radius:4px;padding:3px 8px;background:#edf3eb;color:#27543f}.badge.revoked{background:#fff0e6;color:#9b3d10}.badge.unused{background:#f3f1df;color:#756421}.badge.cancelled{background:#eee;color:#666}.actions{display:flex;flex-wrap:wrap;gap:8px}.grant .actions{justify-content:flex-end}#notice:not(:empty){padding:15px 20px;background:#e6efe4;border-radius:6px;margin:18px 0}#notice.error{background:#fff0e6;color:#933a10}textarea{min-height:125px;resize:vertical;margin-bottom:12px}.policy{font-size:13px;color:#56685e;max-width:900px}summary{font-size:17px;font-weight:700;cursor:pointer}dialog{width:min(480px,calc(100% - 32px));border:1px solid #d8dfd4;border-radius:9px;padding:26px;color:#112d28}dialog::backdrop{background:#112d2877}dialog .actions{justify-content:flex-end;margin-top:24px}[hidden]{display:none!important}@media(max-width:640px){.top{height:88px;padding:18px}.local{font-size:10px;padding:5px}.top img{width:205px}main{padding:0 16px;margin-top:20px}.hero{padding:24px}.hero h1{font-size:29px}.metrics{gap:8px}.metrics div{padding:13px 10px}.metrics strong{font-size:26px}.metrics span{font-size:11px}.card{padding:20px}.form-row,.section-heading,.grant{flex-direction:column;align-items:stretch}.filters{grid-template-columns:1fr;gap:4px}.grant .actions{justify-content:flex-start}.actions button{flex:1}}
button { font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.3; }
.login{max-width:660px;margin-top:48px}.login .hero{padding:28px 32px}.login .hero h1{font-size:32px}.login .card{padding:30px 32px}.login input{margin:4px 0 12px}.login button{width:100%}#login-notice{color:#933a10;font-size:14px}#login-notice:empty{display:none}
