:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17231f;background:#f1f5f0}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}[hidden]{display:none!important}.login-screen{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 12%,#dceade,transparent 38%),linear-gradient(140deg,#f7faf5,#e5eee8)}.login-card{width:min(100%,440px);padding:32px;border:1px solid #d8e4d9;border-radius:18px;background:#fff;box-shadow:0 18px 55px #21462a16}.brand,.topbar-brand{font-weight:800;letter-spacing:-.03em;color:#174b2b}.brand{font-size:26px}.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#667f6b;margin-top:22px}.login-card h1{font-size:30px;margin:8px 0 12px;line-height:1.14}.login-card p{color:#526257;line-height:1.5}.login-card form{display:grid;gap:10px;margin-top:24px}.login-card label,.admin-panel label{font-size:13px;font-weight:700}.login-card input,.admin-panel input,.admin-panel select{width:100%;border:1px solid #bfcfc2;border-radius:9px;padding:12px;background:#fff;color:#17231f}.login-card input:focus,.admin-panel input:focus,.admin-panel select:focus{outline:2px solid #2c8051;outline-offset:1px}.login-card form button,.admin-panel form button{border:0;border-radius:9px;padding:12px 16px;background:#185934;color:#fff;font-weight:700;margin-top:8px}.login-card form button:hover,.admin-panel form button:hover{background:#104327}#entry-message,#admin-message{min-height:1.5em;color:#8a341e;font-size:14px}#invite-form{border-top:1px solid #dce7de;padding-top:14px}.topbar{min-height:68px;display:flex;align-items:center;gap:22px;justify-content:space-between;padding:12px 24px;background:#fff;border-bottom:1px solid #d8e4d9}.topbar-brand{font-size:19px;white-space:nowrap}.topbar-brand small{display:block;font-size:11px;font-weight:600;letter-spacing:.02em;color:#587060}.topbar nav,.topbar-account{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.topbar nav button,.topbar-account button,.admin-panel button{border:1px solid #cad9ce;border-radius:8px;background:#f8fbf8;color:#174b2b;padding:8px 12px;font-weight:650}.topbar nav button[aria-current="page"],.topbar-account button[aria-pressed="true"]{background:#185934;color:#fff;border-color:#185934}.topbar-account span{font-size:13px;color:#526257;margin-right:5px}.topbar-account button:last-child{color:#7b3225}#entry-frame{height:calc(100dvh - 68px)}#entry-frame iframe{display:block;width:100%;height:100%;border:0}.admin-panel{max-width:980px;margin:24px auto;padding:24px;background:#fff;border:1px solid #d8e4d9;border-radius:14px}.admin-heading h2{margin:0 0 6px}.admin-heading p{margin:0 0 22px;color:#526257}.admin-panel form{display:grid;grid-template-columns:2fr 1fr auto auto;gap:12px;align-items:end}.admin-panel form label{grid-row:1}.admin-panel form input:not([type=checkbox]),.admin-panel form select{grid-row:2}.admin-panel form .check{grid-row:2;white-space:nowrap;display:flex;align-items:center;gap:7px;font-weight:500}.admin-panel form .check input{width:auto}.admin-panel form button{grid-row:2;margin:0}#admin-invite-result{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:20px;padding:14px;background:#f0f7f1;border-radius:9px}#admin-invite-result label{width:100%}#admin-invite-link{flex:1;min-width:240px}.user-list{margin-top:18px}.user-row{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:12px 4px;border-top:1px solid #e1e9e2}.user-row strong,.user-row small{display:block}.user-row small{color:#607367;margin-top:3px}.user-row button{white-space:nowrap;color:#8a341e}@media(max-width:900px){.topbar{align-items:flex-start;flex-direction:column;gap:10px}.topbar-account{width:100%;justify-content:flex-end}#entry-frame{height:calc(100dvh - 145px)}.admin-panel{margin:12px}.admin-panel form{grid-template-columns:1fr}.admin-panel form label,.admin-panel form input:not([type=checkbox]),.admin-panel form select,.admin-panel form .check,.admin-panel form button{grid-row:auto}}@media(max-width:480px){.login-card{padding:24px}.topbar{padding:12px}.topbar-account{justify-content:flex-start}.topbar-account span{width:100%}#entry-frame{height:calc(100dvh - 175px)}}
.admin-access-note{color:#526257;line-height:1.5;font-size:13px;margin:14px 0 22px}.user-row-actions{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.user-row-actions label{display:grid;gap:5px;min-width:205px}.user-row-actions select{min-height:38px;padding:7px}.user-row-actions button{min-height:38px}.user-row-actions button:last-child{color:#8a341e}@media(max-width:680px){.user-row{align-items:stretch;flex-direction:column}.user-row-actions{align-items:stretch}.user-row-actions label{width:100%}}
#entry-campaign-dialog{width:min(96vw,960px);max-height:92vh;padding:24px;border:1px solid #cad9ce;border-radius:14px;color:#17231f;background:#fff}#entry-campaign-dialog::backdrop{background:#17231f99}#entry-campaign-dialog header,#entry-campaign-dialog footer,.campaign-picker{display:flex;align-items:center;gap:12px;flex-wrap:wrap}#entry-campaign-dialog header{justify-content:space-between}#entry-campaign-dialog h2{margin:0}#entry-campaign-dialog label{display:grid;gap:6px;font-size:14px}#campaign-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;border:0;padding:0;margin:20px 0}#campaign-fields>fieldset,#campaign-fields>label:has(textarea){grid-column:1/-1}#entry-campaign-dialog input:not([type=checkbox]),#entry-campaign-dialog select,#entry-campaign-dialog textarea{width:100%;padding:9px;border:1px solid #bfcfc2;border-radius:7px;font:inherit}#entry-campaign-dialog textarea{font-family:monospace;resize:vertical}#entry-campaign-dialog button{padding:9px 12px;border:1px solid #cad9ce;border-radius:7px;background:#f0f7f1;color:#174b2b;font:inherit}#campaign-status{min-height:1.5em}#campaign-lists{display:flex;gap:14px;flex-wrap:wrap}#campaign-lists label,.campaign-confirm{display:flex!important;align-items:center}#entry-campaign-dialog footer{margin-top:18px}@media(max-width:600px){#campaign-fields{grid-template-columns:1fr}#entry-campaign-dialog{padding:16px}}
