:root{--page: #f4f5f7;--card: #ffffff;--sunken: #eef0f3;--edge: #dfe3e8;--edge-strong: #9aa3ad;--text-1: #1b2128;--text-2: #3f4852;--text-3: #5d6772;--main: #dd8c08;--main-hover: #e8960f;--main-pressed: #c27a06;--main-text: #1a1a1a;--main-soft: #fdf1dc;--danger: #b3261e;--danger-soft: #fde8e6;--ok: #2e7d32;--focus: #0b62d6;--radius: 10px;--shadow: 0 1px 2px rgba(20, 30, 40, .06), 0 2px 8px rgba(20, 30, 40, .05);--font: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--page);color:var(--text-1);font-family:var(--font);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:inherit}h1,h2,h3{margin:0;line-height:1.2}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:8px;font:inherit;font-weight:600;text-decoration:none;cursor:pointer;border:1px solid transparent;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.55}.btn--main{background:var(--main);color:var(--main-text)}.btn--main:hover:not(:disabled){background:var(--main-hover)}.btn--main:active:not(:disabled){background:var(--main-pressed)}.btn--line{background:var(--card);color:var(--text-1);border-color:var(--edge-strong)}.btn--line:hover:not(:disabled){background:var(--sunken)}.btn--quiet{background:transparent;color:var(--text-2);min-height:40px;padding:0 12px}.btn--quiet:hover:not(:disabled){background:var(--sunken)}.btn--danger{background:transparent;color:var(--danger);border-color:transparent}.btn--danger:hover:not(:disabled){background:var(--danger-soft)}.btn--block{width:100%}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-weight:600;font-size:14px}.field__hint{font-size:13px;color:var(--text-3)}.field__error{font-size:13px;color:var(--danger)}.input{min-height:44px;padding:0 12px;border:1px solid var(--edge-strong);border-radius:8px;background:var(--card);color:var(--text-1);font:inherit;width:100%}.input[aria-invalid=true]{border-color:var(--danger)}.check{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.check input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--main)}.alert{padding:12px 14px;border-radius:8px;font-size:14px}.alert--error{background:var(--danger-soft);color:var(--danger)}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{background:var(--card);border-bottom:1px solid var(--edge);display:flex;align-items:center;gap:16px;padding:0 24px;min-height:64px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;text-decoration:none}.brand__org{font-weight:400;color:var(--text-3);font-size:15px;padding-left:10px;border-left:1px solid var(--edge)}.topbar__spacer{flex:1}.topbar__user{display:flex;flex-direction:column;align-items:flex-end;font-size:14px}.topbar__role{font-size:12px;color:var(--text-3)}.content{width:100%;max-width:1120px;margin:0 auto;padding:32px 24px 48px;flex:1}.footer{text-align:center;font-size:12px;color:var(--text-3);padding:16px}.page-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-head__text{flex:1 1 320px;display:flex;flex-direction:column;gap:6px}.page-head h1{font-size:28px}.page-head p{margin:0;color:var(--text-2)}.crumb{font-size:14px;color:var(--text-3);text-decoration:none}.crumb:hover{text-decoration:underline}.event-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.event-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--edge)}.event-card:hover{border-color:var(--edge-strong)}.cover{height:140px;background:linear-gradient(160deg,#3a4047,#23282d);color:#c4cad1;display:flex;align-items:center;justify-content:center;font-size:13px;gap:8px}.event-card__body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}.event-card__name{font-weight:700;font-size:16px}.meta{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-2)}.meta svg{flex-shrink:0}.event-card__foot{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px;font-size:13px;color:var(--text-3)}.tag{font-size:12px;padding:2px 8px;border-radius:99px;background:var(--sunken);color:var(--text-2)}.empty{background:var(--card);border:1px dashed var(--edge-strong);border-radius:var(--radius);padding:48px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.empty h2{font-size:20px}.empty p{margin:0;color:var(--text-2)}.panel{background:var(--card);border:1px solid var(--edge);border-radius:var(--radius);padding:24px}.form{display:flex;flex-direction:column;gap:20px;max-width:640px}.form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form__actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.form__actions .spacer{flex:1}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:28px}.stat{background:var(--card);border:1px solid var(--edge);border-radius:var(--radius);padding:16px}.stat__label{font-size:13px;color:var(--text-3)}.stat__value{font-size:26px;font-weight:700}.section-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.section-head h2{font-size:20px;flex:1}.signin{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.signin__card{width:100%;max-width:400px;background:var(--card);border-radius:14px;box-shadow:var(--shadow);padding:32px;display:flex;flex-direction:column;gap:20px;border:1px solid var(--edge)}.signin__brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px}.signin__card h1{font-size:24px}.signin__card p{margin:0;color:var(--text-2)}.password{position:relative}.password .input{padding-right:90px}.password .btn--quiet{position:absolute;right:2px;top:2px}.choice{display:flex;flex-direction:column;gap:10px}.choice .btn{justify-content:flex-start}@media(max-width:640px){.topbar{padding:8px 16px}.brand__org{display:none}.content{padding:20px 16px 40px}.page-head h1{font-size:24px}.form__row{grid-template-columns:1fr}.signin__card{padding:24px}}
