.ui-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px}.ui-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);border-radius:12px;padding:10px 14px;background:#fff;color:var(--text);cursor:pointer;font-weight:600}.ui-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.ui-btn--primary{border-color:#111;background:#fff}.ui-btn--ghost{background:transparent}.ui-field{display:flex;flex-direction:column;gap:6px}.ui-field__label{color:var(--muted);font-size:12px;letter-spacing:.02em;text-transform:uppercase}.ui-input{border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:#fff;color:var(--text)}.ui-input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.home-page{min-height:100vh;width:100%;margin:-56px -16px}.home-page,.home-page__buttons{display:flex;align-items:center;justify-content:center}.home-page__buttons{gap:24px}.home-page__btn{width:160px;height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border-radius:16px;font-size:18px;font-weight:600;text-decoration:none;color:#fff;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 2px 8px rgba(0,0,0,.1)}.home-page__icon{width:64px;height:64px}.home-page__btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.home-page__btn:active{transform:translateY(0)}.home-page__btn--user{background:#3b82f6;border:2px solid #2563eb}.home-page__btn--user:hover{background:#2563eb}.home-page__btn--admin{background:#e5e7eb;border:2px solid #d1d5db;color:#374151}.home-page__btn--admin:hover{background:#d1d5db}.login-icon{width:80px;height:80px;padding:20px;border-radius:50%;background:#f9fafb;border:2px solid #e5e7eb}.login-card{width:min(720px,100%);display:flex;flex-direction:column;gap:14px}.login-card .login-icon{margin:0 auto}.login-form{display:flex;flex-direction:column;gap:14px}.login-icon--user{color:#3b82f6;background:#eff6ff;border-color:#bfdbfe}.login-icon--admin{color:#6b7280;background:#f9fafb;border-color:#d1d5db}.login-page--user .ui-card{background:#eff6ff;border-color:#bfdbfe}.login-page--user .ui-input{background:#fff;border-color:#bfdbfe}.login-page--user .ui-input:focus-visible{outline-color:#3b82f6;border-color:#3b82f6}.login-page--user .ui-btn--primary{background:#3b82f6;border-color:#2563eb;color:#fff}.login-page--user .ui-btn--primary:hover{background:#2563eb}.login-page--admin{background:#111827}.login-page{min-height:100vh;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 16px;margin:-56px -16px}.login-page--admin .login-icon{color:#9ca3af}.login-page--admin .login-icon,.login-page--admin .ui-card{background:#1f2937;border-color:#374151}.login-page--admin .ui-field__label{color:#9ca3af}.login-page--admin .ui-input{background:#111827;border-color:#374151;color:#f9fafb}.login-page--admin .ui-input:focus-visible{outline-color:#6b7280;border-color:#6b7280}.login-page--admin .ui-btn--primary{background:#374151;border-color:#4b5563;color:#fff}.login-page--admin .ui-btn--primary:hover{background:#4b5563}.login-page--admin .muted{color:#9ca3af}:root{color-scheme:light;--bg:#fff;--panel:#fff;--panel2:#f5f5f5;--text:#111;--muted:#666;--border:#d0d0d0;--focus:#999;--primary:#111;--font-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji",sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans)}button,input,select,textarea{font-family:inherit;font-size:inherit}a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:rgba(0,0,0,.35);text-decoration-color:rgba(0,0,0,.35)}.container{min-height:100%;padding:56px 16px;display:flex;justify-content:center}@supports selector(body:has(.login-page)){body:has(.login-page) .container{padding:0}body:has(.login-page) .login-page{margin:0}body:has(.home-page) .container{padding:0}body:has(.home-page) .home-page{margin:0}}.stack{width:min(720px,100%);display:flex;flex-direction:column;gap:14px;margin:0 auto}.title{margin:0;letter-spacing:-.02em;font-size:34px}.muted{color:var(--muted)}.mono{font-family:inherit}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.app-shell{--sidebar-width:360px;width:min(1200px,100%);position:relative}.app-shell--user{--panel:#eff6ff;--panel2:#dbeafe;--border:#bfdbfe;--focus:#3b82f6}.app-shell--admin{--panel:#1f2937;--panel2:#111827;--text:#f9fafb;--muted:#9ca3af;--border:#374151;--focus:#6b7280;color:var(--text)}@supports selector(body:has(.app-shell--admin)){body:has(.app-shell--admin){background:#111827;color:#f9fafb}body:has(.app-shell--admin) a{-webkit-text-decoration-color:hsla(0,0%,100%,.35);text-decoration-color:hsla(0,0%,100%,.35)}}.app-shell__main{width:100%;min-width:0;padding-right:0;transition:padding-right .22s cubic-bezier(.2,.9,.2,1)}.app-shell__content{min-width:0}.app-shell--open .app-shell__main{padding-right:calc(var(--sidebar-width) + 16px)}.app-shell__toggle{position:fixed;top:12px;right:12px;z-index:30;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:999px;width:44px;height:44px;background:transparent;color:var(--text);cursor:pointer;display:grid;place-items:center}.app-shell__toggle:hover{background:rgba(0,0,0,.06)}.app-shell--admin .app-shell__toggle:hover{background:hsla(0,0%,100%,.08)}.app-shell__toggle:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app-shell__toggle-icon{width:22px;height:22px;position:relative;display:block}.app-shell__toggle-line{position:absolute;left:2px;right:2px;height:2px;background:currentColor;border-radius:999px;transition:transform .22s cubic-bezier(.2,.9,.2,1),opacity .15s ease}.app-shell__toggle-line--top{top:5px}.app-shell__toggle-line--mid{top:10px;transform-origin:center}.app-shell__toggle-line--bot{top:15px}.app-shell--open .app-shell__toggle-line--top{transform:translateY(5px) rotate(45deg)}.app-shell--open .app-shell__toggle-line--mid{transform:scaleX(0);opacity:0}.app-shell--open .app-shell__toggle-line--bot{transform:translateY(-5px) rotate(-45deg)}.app-shell__sidebar{position:fixed;top:0;right:0;height:100vh;width:min(var(--sidebar-width),100vw);transform:translateX(100%);transition:transform .22s cubic-bezier(.2,.9,.2,1);z-index:25}.app-shell--open .app-shell__sidebar{transform:translateX(0)}.app-shell__backdrop{position:fixed;inset:0;border:none;background:rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .22s ease;z-index:20;cursor:pointer}.app-shell--open .app-shell__backdrop{opacity:1;pointer-events:auto}.sidebar{height:100%;display:flex;flex-direction:column;gap:12px;padding:64px 14px 14px;background:var(--panel);border-left:1px solid var(--border);border-radius:0;overflow:auto}.app-shell--admin .sidebar__link:hover{background:#111827}.app-shell--admin .sidebar-user__menu{background:#1f2937;border-color:#374151}.app-shell--admin .sidebar-user__menuitem{background:transparent;color:#e5e7eb}.app-shell--admin .sidebar-user__menuitem:hover{background:#374151}.app-shell--admin .sidebar-user__button{color:#e5e7eb}.app-shell--admin .sidebar-user__menuicon{color:#cbd5e1}.app-shell--admin .ui-btn{background:#374151;border-color:#4b5563;color:#fff}.app-shell--admin .ui-btn:hover{background:#4b5563}.app-shell--admin .ui-btn--ghost{background:transparent;border-color:#374151;color:#f9fafb}.app-shell--admin .ui-btn--ghost:hover{background:hsla(0,0%,100%,.08)}.app-shell--admin .ui-input{background:#111827;border-color:#374151;color:#f9fafb}.app-shell--user .ui-btn--primary{background:#3b82f6;border-color:#2563eb;color:#fff}.app-shell--user .ui-btn--primary:hover{background:#2563eb}@media (max-width:960px){.app-shell--open .app-shell__main{padding-right:0}}@media (prefers-reduced-motion:reduce){.app-shell__backdrop,.app-shell__main,.app-shell__sidebar,.app-shell__toggle-line{transition:none}}.sidebar__top{display:flex;flex-direction:column;gap:10px}.sidebar__title{font-weight:700;letter-spacing:-.01em}.sidebar__nav{display:flex;flex-direction:column;gap:8px}.sidebar__link{text-decoration:none;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--panel2)}.sidebar__link:hover{background:#fff}.sidebar__bottom{margin-top:auto}.sidebar-user{position:relative}.sidebar-user__button{width:100%;display:grid;grid-template-columns:34px 1fr;align-items:center;grid-gap:10px;gap:10px;padding:10px 12px;border-radius:12px;border:none;background:transparent;cursor:pointer;text-align:left;color:var(--text)}.sidebar-user__button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sidebar-user__avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--border);background:var(--panel2);color:var(--text)}.sidebar-user__avatar svg{width:18px;height:18px}.sidebar-user__meta{min-width:0;display:flex;flex-direction:column;gap:2px}.sidebar-user__identifier{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit}.sidebar-user__menu{position:absolute;left:0;right:0;bottom:100%;padding:8px;border-radius:12px;border:1px solid var(--border);border-bottom:none;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.12)}.sidebar-user--open .sidebar-user__button{position:relative;border-radius:0 0 12px 12px}.sidebar-user--open .sidebar-user__button:before{content:"";position:absolute;left:12px;right:12px;top:0;height:1px;background:rgba(0,0,0,.18)}.app-shell--admin .sidebar-user--open .sidebar-user__button:before{background:hsla(0,0%,100%,.14)}.sidebar-user__menuitem{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:10px;padding:10px 12px;background:transparent;color:var(--text);cursor:pointer;font-weight:400;display:flex;align-items:center;gap:10px;text-align:left}.sidebar-user__menuicon{width:18px;height:18px;display:grid;place-items:center;color:var(--muted);flex:0 0 auto}.sidebar-user__menuicon svg{width:18px;height:18px}.sidebar-user__menuitem:hover{background:var(--panel2)}