@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1220;--bg-soft:#0f172ab8;--surface:#111827d1;--surface-strong:#1e293be6;--text:#ecf0ff;--muted:#a4b0d0;--accent:#7dd3fc;--accent-strong:#38bdf8;--border:#94a3b833;--shadow:0 24px 70px #02061773}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--text);background:radial-gradient(circle at 0 0,#38bdf838,#0000 30%),radial-gradient(circle at 100%,#0ea5e924,#0000 26%),linear-gradient(160deg,#09111f 0%,#0d1526 45%,#111827 100%);margin:0;font-family:Space Grotesk,Trebuchet MS,sans-serif}button,input,textarea,select{font:inherit}.shell{place-items:center;min-height:100vh;padding:32px;display:grid;position:relative;overflow:hidden}.portal-shell{z-index:1;gap:22px;width:min(1360px,100%);display:grid;position:relative}.portal-header{border:1px solid var(--border);box-shadow:var(--shadow);background:linear-gradient(#0f172ae0,#0f172aad);border-radius:28px;justify-content:space-between;align-items:flex-start;gap:16px;padding:26px 28px;display:flex}.portal-title{margin:14px 0 8px;font-size:clamp(2.2rem,5vw,3.8rem);line-height:1}.portal-subtitle{color:var(--muted);margin:0}.portal-auth-wrap{gap:8px;min-width:320px;display:grid}.portal-auth{background:#0f172a9e;border:1px solid #94a3b829;border-radius:18px;gap:4px;padding:14px 16px;display:grid}.portal-auth small{color:var(--muted)}.portal-auth__form{gap:8px;margin-top:4px;display:grid}.portal-auth__form label{margin-bottom:0;font-size:.92rem}.portal-auth__actions{flex-wrap:wrap;gap:8px;display:flex}.portal-auth__error{margin:0}.user-access-card__form{margin-top:12px}.user-access-card__form .data-card__actions{align-items:center}.main-nav{background:#0f172a6b;border:1px solid #94a3b829;border-radius:22px;flex-wrap:wrap;gap:10px;padding:8px;display:flex}.main-nav__item{color:var(--text);background:0 0;border:1px solid #0000}.main-nav__item--active{color:var(--accent);background:#7dd3fc1f;border-color:#7dd3fc47}.portal-grid{grid-template-columns:1.35fr .95fr;align-items:start;gap:28px;display:grid}.portal-side{gap:22px;display:grid}.news-panel{border:1px solid var(--border);box-shadow:var(--shadow);background:linear-gradient(#0f172acc,#0f172a9e);border-radius:24px;padding:24px}.news-panel h2{margin:0 0 10px}.news-panel__chips{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.news-panel__note{background:#0f172a8a;border:1px solid #94a3b829;border-radius:18px;margin-top:18px;padding:16px}.news-panel__note p{margin-bottom:0}.shell:before,.shell:after{content:"";filter:blur(24px);pointer-events:none;border-radius:999px;position:absolute}.shell:before{background:#22d3ee1f;width:320px;height:320px;top:-90px;right:12%}.shell:after{background:#0ea5e91f;width:260px;height:260px;bottom:-80px;left:8%}.hero{z-index:1;grid-template-columns:1.35fr .95fr;gap:28px;width:min(1120px,100%);display:grid;position:relative}.hero__copy,.panel{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);box-shadow:var(--shadow);background:linear-gradient(#0f172ad9,#0f172a9e)}.hero__copy{border-radius:28px;padding:42px}.panel{border-radius:24px;padding:32px}.panel--placeholder{min-height:340px}.panel--admin{gap:18px;display:grid}.admin-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-summary__card{background:#0f172a94;border:1px solid #94a3b829;border-radius:18px;gap:4px;padding:16px;display:grid}.admin-summary__card strong{font-size:1.4rem}.request-form{gap:12px;display:grid}.request-form__two-cols{grid-template-columns:1fr 1fr;gap:12px;display:grid}.request-form__two-cols label{margin-top:0}.badge{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;background:#7dd3fc1a;border:1px solid #7dd3fc47;border-radius:999px;padding:8px 14px;font-size:.82rem;display:inline-flex}h1{letter-spacing:-.05em;margin:18px 0 12px;font-size:clamp(3rem,7vw,5.4rem);line-height:.94}.lead{max-width:62ch;color:var(--muted);margin:0;font-size:1.08rem;line-height:1.7}.stack{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.chip{color:#dbeafe;background:#1e293bd1;border:1px solid #94a3b82e;border-radius:999px;padding:10px 14px}.status{background:#0f172a8c;border:1px solid #94a3b82e;border-radius:20px;align-items:flex-start;gap:14px;margin-top:30px;padding:18px 20px;display:flex}.status strong,.panel h2,.list__item strong{color:#f8fbff}.status p,.panel p,.tiny,.list__item span,.error{color:var(--muted)}.status__dot{border-radius:999px;flex:none;width:14px;height:14px;margin-top:4px}.status__dot--ok{background:#22c55e;box-shadow:0 0 0 6px #22c55e1f}.status__dot--off{background:#f97316;box-shadow:0 0 0 6px #f973161f}.panel h2{margin:0 0 10px;font-size:1.55rem}.form{margin-top:18px}.form label{color:#dbeafe;margin-bottom:10px;display:block}.form__row{gap:12px;display:flex}input{width:100%;min-width:0;color:var(--text);background:#0f172ac7;border:1px solid #94a3b83d;border-radius:16px;outline:none;padding:14px 16px}input::placeholder{color:#7481a8}input:focus{border-color:#7dd3fcb3;box-shadow:0 0 0 4px #38bdf824}textarea,select{width:100%;min-width:0;color:var(--text);background:#0f172ac7;border:1px solid #94a3b83d;border-radius:16px;outline:none;padding:14px 16px}textarea:focus,select:focus{border-color:#7dd3fcb3;box-shadow:0 0 0 4px #38bdf824}button{cursor:pointer;background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#08111f;border:0;border-radius:16px;padding:14px 18px;font-weight:700;transition:transform .15s,opacity .15s}button:hover{transform:translateY(-1px)}button:disabled{cursor:wait;opacity:.72}.secondary-button{color:var(--text);background:0 0;border:1px solid #94a3b83d}.danger{color:#fca5a5}.tiny{justify-content:space-between;align-items:center;gap:16px;margin-top:18px;font-size:.92rem;display:flex}.link-button{color:var(--accent);background:0 0;padding:0}.checkbox-line{color:#dbeafe;align-items:center;gap:10px;display:flex}.checkbox-line input{width:auto;box-shadow:none;padding:0}.split-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.subpanel{background:#0f172a6b;border:1px solid #94a3b829;border-radius:22px;padding:20px}.subpanel h3{margin-top:0}.data-stack{gap:12px;margin-top:16px;display:grid}.data-card{background:#0f172a94;border:1px solid #94a3b829;border-radius:18px;padding:16px}.data-card--accent{background:#7f1d1d3d;border-color:#f8717166}.data-card__head,.data-card__meta,.data-card__actions,.day-card__head,.schedule-entry__meta,.schedule-entry__head{justify-content:space-between;align-items:center;gap:10px;display:flex}.data-card__meta,.schedule-entry__meta{color:var(--muted);flex-wrap:wrap;font-size:.92rem}.data-card__actions{margin-top:12px}.report-toolbar,.week-toolbar{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;display:grid}.report-toolbar__buttons{justify-content:flex-end;gap:10px;display:flex}.table-wrap{border:1px solid #94a3b829;border-radius:18px;overflow:auto}.report-table{border-collapse:collapse;background:#0f172a6b;width:100%;min-width:760px}.report-table th,.report-table td{text-align:left;border-bottom:1px solid #94a3b81f;padding:12px 14px}.report-table th{color:#f8fbff;background:#0f172ab8}.table-empty{text-align:center;color:var(--muted)}.search-sections{gap:14px;display:grid}.week-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.day-card{background:#0f172a85;border:1px solid #94a3b829;border-radius:20px;padding:16px}.day-card__body{gap:10px;margin-top:12px;display:grid}.schedule-entry{background:#0f172aa3;border:1px solid #94a3b829;border-radius:16px;padding:14px}.schedule-entry p{margin-bottom:0}.request-form textarea,.request-form select{min-height:48px}.request-form textarea{resize:vertical}.portal-grid .subpanel .form{margin-top:0}.error{margin:14px 0 0}.list{gap:12px;margin:18px 0 0;padding:0;list-style:none;display:grid}.list__item,.list__empty{background:#0f172a8f;border:1px solid #94a3b829;border-radius:16px;padding:14px 16px}.list__item{flex-direction:column;gap:4px;display:flex}@media (width<=900px){.portal-grid,.hero{grid-template-columns:1fr}.portal-header{flex-direction:column}.hero__copy,.panel{padding:24px}.split-grid,.week-grid,.report-toolbar,.week-toolbar{grid-template-columns:1fr}.report-toolbar__buttons{justify-content:flex-start}}@media (width<=620px){.shell{padding:16px}.form__row{flex-direction:column}.request-form__two-cols{grid-template-columns:1fr}.tiny{flex-direction:column;align-items:flex-start}}
