:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background:#f8fafc;--color-primary: #3ec7b8;--color-primary-dark: #2da89b;--color-surface: #ffffff;--color-border: #e2e8f0;--color-muted: #64748b;--shadow-card: 0 10px 40px rgba(15, 23, 42, .08)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh}#root{min-height:100vh}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{border-bottom:1px solid var(--color-border);background:var(--color-surface)}.app-header__brand{display:flex;align-items:center;gap:.625rem;max-width:72rem;margin:0 auto;padding:1rem 1.5rem;font-weight:600;font-size:1.05rem}.app-header__icon{width:1.25rem;height:1.25rem;color:var(--color-primary)}.app-main{flex:1;padding:2rem 1.5rem 3rem}.home{max-width:42rem;margin:0 auto}.home__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;padding:2rem;box-shadow:var(--shadow-card)}.home__eyebrow{margin:0 0 .5rem;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary-dark)}.home h1{margin:0 0 .75rem;font-size:2rem;line-height:1.2}.home__lead{margin:0 0 1.5rem;color:var(--color-muted)}.home__meta{display:grid;gap:1rem;margin:0}.home__meta div{padding-top:1rem;border-top:1px solid var(--color-border)}.home__meta dt{margin:0 0 .25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted)}.home__logout{margin-top:1.5rem}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem;background:linear-gradient(180deg,#f6f8f8,#fff 40%)}.login-card{width:100%;max-width:420px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;padding:2rem;box-shadow:var(--shadow-card)}.login-brand{display:flex;gap:.875rem;align-items:center;margin-bottom:1.75rem}.login-brand__icon{width:2rem;height:2rem;color:var(--color-primary);flex-shrink:0}.login-brand h1{margin:0;font-size:1.35rem;font-weight:600;color:#1f2a2e}.login-brand p{margin:.25rem 0 0;font-size:.9rem;color:var(--color-muted)}.login-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.5rem;padding:.25rem;background:#f6f8f8;border-radius:.75rem}.login-tabs__btn{border:none;background:transparent;padding:.625rem .75rem;border-radius:.5rem;font-size:.875rem;font-weight:500;color:var(--color-muted);cursor:pointer}.login-tabs__btn--active{background:#fff;color:#1f2a2e;box-shadow:0 1px 3px #0f172a14}.login-qr{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.login-qr img{border-radius:.5rem;border:1px solid var(--color-border)}.login-qr__placeholder{width:240px;height:240px;display:grid;place-items:center;background:#f6f8f8;border-radius:.5rem;color:var(--color-muted);font-size:.9rem}.login-hint{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.875rem;color:var(--color-muted);line-height:1.45}.login-form{display:flex;flex-direction:column;gap:1rem}.login-form label{display:flex;flex-direction:column;gap:.375rem;font-size:.875rem;font-weight:500;color:#1f2a2e}.login-form input{padding:.75rem .875rem;border:1px solid var(--color-border);border-radius:.625rem;font-size:1rem;font-family:inherit}.login-form input:focus{outline:2px solid rgba(62,199,184,.35);border-color:var(--color-primary)}.login-waiting{text-align:center;padding:1rem 0}.login-waiting h2{margin:1rem 0 .5rem;font-size:1.25rem}.login-waiting p{margin:0 0 1.5rem;color:var(--color-muted);line-height:1.5}.login-waiting__spinner{width:2.5rem;height:2.5rem;margin:0 auto;border:3px solid #e3eaea;border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-otp h2{margin:0 0 .5rem;font-size:1.15rem}.login-otp p{margin:0 0 1rem;font-size:.9rem;color:var(--color-muted)}.login-error{margin:1rem 0 0;padding:.75rem;border-radius:.5rem;background:#fef2f2;color:#b91c1c;font-size:.875rem}.btn{border:none;border-radius:.625rem;padding:.75rem 1rem;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:disabled{opacity:.6;cursor:not-allowed}.btn--ghost{background:transparent;color:var(--color-muted)}.btn--ghost:hover{color:#1f2a2e}
