:root{--text-strong:#14202b;--text-muted:#5f6f7f;--border:#14202b1f;--accent:#d97706;--accent-strong:#9a4d00;--badge-bg:#d9770624;--radius-sm:3px;--radius-md:6px;--radius-lg:10px;--radius-xl:12px;color:#21303f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,#ffd6998c,#0000 30%),linear-gradient(#fffdf8 0%,#eef4fb 100%);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body{min-width:320px;margin:0}a{color:inherit}#root{min-height:100vh}h1,h2,p,ol,ul{margin-top:0}.auth-layout{min-height:100vh}.auth-layout__content{place-items:center;min-height:100vh;display:grid}@media (width<=700px){.auth-layout__content{display:block}}.auth-provider{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-provider__status{text-align:center;justify-items:center;gap:16px;display:grid}.auth-provider__spinner{border:2px solid #0000;border-color:#14202b2e #0000 #0000 #14202b2e;border-radius:999px;width:24px;height:24px;animation:.8s linear infinite auth-provider-spinner-rotate}.auth-provider__message{color:var(--text-muted);margin:0;font-size:.95rem}@keyframes auth-provider-spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.select{border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%) calc(100% - 16px) calc(50% - 2px) / 6px 6px no-repeat, linear-gradient(135deg, var(--text-muted) 50%, transparent 50%) calc(100% - 12px) calc(50% - 2px) / 6px 6px no-repeat, #ffffffe0;width:100%;min-height:36px;color:var(--text-strong);font:inherit;appearance:none;padding:0 34px 0 12px;font-size:.7rem;font-weight:500}.select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sidebar{border-right:1px solid var(--border);background:#ffffffad;grid-template-rows:auto auto 1fr;gap:20px;width:260px;min-height:100vh;padding:16px;display:grid}.sidebar__brand{align-items:center;gap:10px;display:flex}.sidebar__brand-copy{flex:auto;align-items:center;display:flex}.sidebar__logo{border-radius:var(--radius-lg);background:var(--accent);color:#fffdf8;place-items:center;width:40px;height:40px;font-weight:700;display:grid}.sidebar__nav{gap:4px;display:grid}.sidebar__settings{border-top:1px solid var(--border);align-self:end;gap:4px;padding-top:10px;display:grid}.sidebar__link{border-radius:var(--radius-md);width:100%;color:var(--text-strong);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:10px 12px;font-size:.8rem;line-height:1;text-decoration:none;display:block}.sidebar__link--with-icon{align-items:center;gap:10px;display:flex}.sidebar__icon{flex:none}.sidebar__link:hover{background:#14202b0d}.sidebar__link--active{color:var(--accent-strong);background:#d977061f;font-weight:600}@media (width<=900px){.sidebar{border-right:0;border-bottom:1px solid var(--border);grid-template-rows:auto auto auto;width:100%;min-height:auto;padding:14px}.sidebar__settings{align-self:start}}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffbd;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:16px;display:flex}.topbar__eyebrow{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 4px;font-size:.78rem;font-weight:600}.topbar__title{margin:0;font-size:1.35rem;line-height:1.15}.topbar__meta{color:var(--text-muted);font-size:.9rem}.topbar__logout{color:var(--accent-strong);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-weight:500;line-height:1;display:inline-flex}.topbar__logout:hover{text-underline-offset:3px;text-decoration:underline}.topbar__logout:focus-visible{text-underline-offset:3px;outline:none;text-decoration:underline}@media (width<=800px){.topbar{flex-direction:column;align-items:start;padding:16px}}.portal-layout{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.portal-layout__main{grid-template-rows:auto 1fr;min-width:0;display:grid}.portal-layout__content{padding:16px}@media (width<=900px){.portal-layout{grid-template-columns:1fr}}.simple-layout{min-height:100vh}.simple-layout__content{width:min(960px,100%);margin:0 auto;padding:32px 20px 48px}@media (width<=700px){.simple-layout__content{padding:20px 16px 32px}}.card{border:1px solid var(--border);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffd1;box-shadow:0 20px 45px #1a1f2c14}.card__header{justify-content:space-between;align-items:center;gap:16px;padding:28px 28px 0;display:flex}.card__title{margin:0;font-size:1.4rem}.card__body{padding:28px}@media (width<=700px){.card{border-radius:var(--radius-lg)}.card__header,.card__body{padding:24px}.card__header{padding-bottom:0}}.dashboard-page{gap:24px;display:grid}.dashboard-page__intro{gap:8px;display:grid}.dashboard-page__eyebrow{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:600}.dashboard-page__heading{margin:0;font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.1}.dashboard-page__text,.dashboard-page__card-text{color:var(--text-muted);margin-bottom:0}.dashboard-page__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}@media (width<=1100px){.dashboard-page__grid{grid-template-columns:1fr 1fr}}@media (width<=700px){.dashboard-page__grid{grid-template-columns:1fr}}.button{border-radius:var(--radius-md);min-height:40px;font:inherit;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:.9rem;font-weight:600;transition:border-color .12s,background-color .12s;display:inline-flex}.button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.button:disabled{opacity:.6;cursor:not-allowed}.button--primary{background:var(--accent);color:#fffdf8}.button--primary:hover{background:var(--accent-strong)}.button--secondary{color:var(--text-strong);border-color:var(--border);background:#ffffffe0}.button--secondary:hover{background:#fffffff5;border-color:#14202b2e}.demo-page{justify-content:center;align-items:center;min-height:calc(100vh - 80px);display:flex}.hero{text-align:center;justify-items:center;gap:24px;display:grid}.hero__actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.hero__title{color:var(--text-strong);margin:0;font-size:clamp(1.7rem,3vw,2.1rem);font-weight:600;line-height:1.1}@media (width<=700px){.demo-page{min-height:calc(100vh - 52px)}}.input{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;min-height:40px;color:var(--text-strong);font:inherit;background:#ffffffe0;padding:0 12px;font-size:.9rem}.input::placeholder{color:var(--text-muted)}.input:disabled{color:var(--text-muted);cursor:not-allowed;background:#f5f7faeb}.input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.input--invalid{border-color:#a63b1f}@keyframes auth-spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=767px){:is(.login-page,.forgot-password-page,.reset-password-page){display:block}:is(.login-page,.forgot-password-page,.reset-password-page) .card{width:100%;min-height:100vh;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;border-radius:0}:is(.login-page,.forgot-password-page,.reset-password-page) .card__body{place-items:center;min-height:100vh;padding:24px;display:grid}:is(.login-card,.forgot-password-card,.reset-password-card){width:100%}}.forgot-password-card__description{color:var(--text-muted);margin:0;font-size:.95rem}@media (width<=767px){:is(.login-page,.forgot-password-page,.reset-password-page){display:block}:is(.login-page,.forgot-password-page,.reset-password-page) .card{width:100%;min-height:100vh;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;border-radius:0}:is(.login-page,.forgot-password-page,.reset-password-page) .card__body{place-items:center;min-height:100vh;padding:24px;display:grid}:is(.login-card,.forgot-password-card,.reset-password-card){width:100%}}.login-form__field-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.login-form__forgot-password{color:var(--accent-strong);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-size:.84rem;font-weight:400;line-height:1;display:inline-flex}.login-card__separator{position:relative}.login-card__separator-text{color:var(--text-muted);background:#ffffffd1;padding:0 10px;font-size:.85rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}:is(.login-page,.forgot-password-page,.reset-password-page){justify-content:center;align-items:center;width:100%;display:flex}:is(.login-page,.forgot-password-page,.reset-password-page) .card{width:min(100%,400px)}:is(.login-card,.forgot-password-card,.reset-password-card){gap:24px;display:grid}:is(.login-card__heading,.forgot-password-card__heading,.reset-password-card__heading){gap:12px;display:grid}:is(.login-card__title,.forgot-password-card__title,.reset-password-card__title){margin:0;font-size:clamp(1.6rem,3.2vw,1.95rem);font-weight:600;line-height:1.15}:is(.login-form,.forgot-password-form,.reset-password-form){gap:5px;display:grid}:is(.login-form__field,.forgot-password-form__field,.reset-password-form__field){gap:4px;display:grid}:is(.login-form__label,.forgot-password-form__label,.reset-password-form__label){color:var(--text-strong);font-size:.84rem;font-weight:500}:is(.login-form__message,.forgot-password-form__message,.reset-password-form__message){color:#a63b1f;margin:0;font-size:.84rem;font-weight:450}:is(.forgot-password-form__message--success,.reset-password-form__message--success){color:#1f6a42}:is(.login-form__message--placeholder,.forgot-password-form__message--placeholder,.reset-password-form__message--placeholder){visibility:hidden}:is(.login-form__submit,.forgot-password-form__submit,.reset-password-form__submit){width:100%;margin-top:20px}:is(.login-form__spinner,.forgot-password-form__spinner,.reset-password-form__spinner){border:2px solid #0000;border-color:#fffdf859 #0000 #0000 #fffdf859;border-radius:999px;width:16px;height:16px;animation:.8s linear infinite auth-spinner-rotate}:is(.login-card__separator,.forgot-password-card__separator,.reset-password-card__separator){background:var(--border);width:100%;height:1px}:is(.login-card__footer,.forgot-password-card__footer,.reset-password-card__footer){color:var(--text-muted);text-align:center;margin:0;font-size:.84rem}:is(.login-card__footer button,.forgot-password-card__footer button,.reset-password-card__footer button){color:var(--accent-strong);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-size:.84rem;font-weight:400;line-height:1;display:inline-flex}:is(.login-card__footer button,.forgot-password-card__footer button,.reset-password-card__footer button,.login-form__forgot-password):hover{text-underline-offset:3px;text-decoration:underline}:is(.login-card__footer button,.forgot-password-card__footer button,.reset-password-card__footer button,.login-form__forgot-password):focus-visible{text-underline-offset:3px;outline:none;text-decoration:underline}@media (width<=767px){:is(.login-page,.forgot-password-page,.reset-password-page){display:block}:is(.login-page,.forgot-password-page,.reset-password-page) .card{width:100%;min-height:100vh;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;border-radius:0}:is(.login-page,.forgot-password-page,.reset-password-page) .card__body{place-items:center;min-height:100vh;padding:24px;display:grid}:is(.login-card,.forgot-password-card,.reset-password-card){width:100%}}.reset-password-card__description{color:var(--text-muted);margin:0;font-size:.95rem}
