*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-stack, system-ui, sans-serif);font-size:15px;line-height:1.55;color:var(--text, #16181d);background:var(--surface-alt, #f6f7f9)}h1,h2,h3{line-height:1.25;margin:0}img{max-width:100%;height:auto}a{color:var(--brand-primary, #2f6fed);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--text-muted, #646b78)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.65rem 1.1rem;border:1px solid transparent;border-radius:var(--radius, 6px);font:inherit;font-weight:600;cursor:pointer;background:none;color:inherit}.btn:focus-visible{outline:2px solid var(--brand-primary, #2f6fed);outline-offset:2px}.btn--primary{background:var(--brand-primary, #2f6fed);color:var(--brand-on-primary, #fff)}.btn--primary:hover{background:var(--brand-primary-hover, #2559c4);text-decoration:none}.btn--ghost{border-color:var(--border, #e2e5ea);color:var(--text-muted, #646b78)}.btn--ghost:hover{color:var(--text, #16181d)}.btn--block{width:100%}.btn__ms-logo{flex:none}.auth{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:1.5rem;background-color:var(--surface-alt, #f6f7f9);background-image:var(--login-bg, none);background-size:cover;background-position:center}.auth__card{width:100%;max-width:25rem;padding:2.5rem 2rem;background:var(--surface, #fff);border:1px solid var(--border, #e2e5ea);border-radius:calc(var(--radius, 6px) * 2);text-align:center;box-shadow:0 1px 3px #0000000f,0 8px 24px #0000000d}.auth__logo{max-height:3rem;margin-bottom:1.75rem}.auth__wordmark{font-size:1.4rem;margin-bottom:1.75rem;color:var(--brand-primary, #2f6fed)}.auth__heading{font-size:1.2rem;margin-bottom:.4rem}.auth__subheading{color:var(--text-muted, #646b78);margin:0 0 1.75rem}.auth__error{margin:0 0 1.25rem;padding:.7rem .9rem;border-radius:var(--radius, 6px);background:color-mix(in srgb,var(--brand-danger, #c4372b) 10%,transparent);color:var(--brand-danger, #c4372b);text-align:left;font-size:.92rem}.auth__note{margin:1.25rem 0 0;font-size:.85rem;color:var(--text-muted, #646b78)}.auth__footer{display:flex;justify-content:center;gap:1rem;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--border, #e2e5ea);font-size:.85rem}.auth__footer a{color:var(--text-muted, #646b78)}.auth__company{margin:.75rem 0 0;font-size:.8rem;color:var(--text-muted, #646b78)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.25rem;background:var(--surface, #fff);border-bottom:1px solid var(--border, #e2e5ea)}.topbar__logo{max-height:2rem}.topbar__wordmark{font-weight:700;color:var(--brand-primary, #2f6fed)}.topbar__user{display:flex;align-items:center;gap:.75rem;min-width:0}.topbar__name{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{flex:none;display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--brand-primary, #2f6fed);color:var(--brand-on-primary, #fff);font-size:.75rem;font-weight:700}.shell{max-width:60rem;margin:0 auto;padding:1.5rem 1.25rem 4rem}.notice{padding:.8rem 1rem;border-radius:var(--radius, 6px);margin-bottom:1.5rem;font-size:.92rem}.notice--ok{background:color-mix(in srgb,var(--brand-accent, #0f9d6e) 12%,transparent);color:var(--brand-accent, #0f9d6e)}.notice--error{background:color-mix(in srgb,var(--brand-danger, #c4372b) 12%,transparent);color:var(--brand-danger, #c4372b)}.panel{background:var(--surface, #fff);border:1px solid var(--border, #e2e5ea);border-radius:var(--radius, 6px);padding:1.25rem;margin-bottom:1.25rem}.panel__title{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted, #646b78);margin-bottom:.9rem}.kv{display:grid;grid-template-columns:minmax(6rem,auto) 1fr;gap:.4rem 1rem;margin:0}.kv dt{color:var(--text-muted, #646b78);font-size:.9rem}.kv dd{margin:0}.folders{list-style:none;margin:0;padding:0}.folders__item{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--border, #e2e5ea)}.folders__item:last-child{border-bottom:0}.folders__meta{font-size:.85rem;color:var(--text-muted, #646b78)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
