[hidden] { display: none !important; }
.auth-page { min-height:100vh; background:#f5f4f8; color:#262433; font:16px/1.5 system-ui,sans-serif; margin:0; padding:2rem; box-sizing:border-box; }
.auth-card { background:white; border:1px solid #e7e3f0; border-radius:1rem; padding:2rem; max-width:480px; margin:5vh auto; box-shadow:0 10px 40px #2624330a; }
.auth-page h1 { font-size:2rem; line-height:1.2; }
.auth-page form { display:grid; gap:.7rem; }
.auth-page input { width:100%; box-sizing:border-box; font:inherit; padding:.7rem; border:1px solid #ccc5dc; border-radius:.5rem; }
.auth-page input[type=checkbox] { width:auto; }
.auth-page button,.auth-link { background:#7257db; color:white; border:0; padding:.75rem 1rem; border-radius:.5rem; font:inherit; cursor:pointer; text-decoration:none; display:inline-block; }
.auth-page button:disabled { opacity:.5; cursor:wait; }
.auth-page a { color:#5b43b0; }
.auth-status { white-space:pre-wrap; overflow-wrap:anywhere; }
.admin-layout { max-width:1100px; margin:auto; }
.admin-layout header { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:space-between; }
.admin-layout .auth-card { max-width:none; margin:1rem 0; }
.company-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:1rem; }
.auth-page details { border-top:1px solid #eee; margin-top:1rem; padding-top:1rem; }
.auth-toolbar { display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; }
.auth-toolbar a,.auth-toolbar button { font:inherit; font-size:.85rem; padding:.35rem .6rem; }
@media(max-width:600px) { .auth-page { padding:1rem; } .auth-card { padding:1.25rem; } }
