.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(135deg,#f3f1ed 45%,#e9d9dd)}
.auth-card{background:white;border:1px solid var(--line);border-top:5px solid var(--brand);border-radius:15px;padding:35px;box-shadow:0 20px 70px #2026290d;width:min(100%,460px)}
.auth-card .brand-logo-frame{margin:0 auto 25px}
.auth-card h1{font-size:25px;line-height:1.6}
.auth-card p{color:#81817e;font-size:12px;line-height:1.9}
.auth-card form{display:grid;gap:18px;margin-top:24px}
.auth-card label{display:grid;gap:8px;font-size:12px}
.auth-card input{font:inherit;border:1px solid var(--line);padding:13px;border-radius:7px;background:#fcfbfa;width:100%}
.auth-card .error{margin:0;color:var(--brand)}
.auth-card small{font-size:10px;color:#99978f;display:block;margin-top:23px;line-height:1.8}
body.signed-out>.sidebar,body.signed-out>main{display:none}
body.authenticated>.auth-shell{display:none}
.logout{font:inherit;font-size:10px;background:transparent;border:1px solid #55595a;color:#ddd;border-radius:5px;padding:5px 7px;margin-right:auto}
.demo-strip #last-sync{background:transparent;color:#77746e;font-weight:400}
.demo-strip #refresh-data{margin-right:auto}
.photo-link{display:grid;gap:5px;max-width:145px;font-size:10px;color:var(--brand)}
.photo-link img:not([src]){background:#f3f1ed}
.photo-link span{display:block;font-size:10px}
.month-form .form-grid{padding:0}
.month-form{display:grid;gap:15px}
.form-grid>.month-confirm{display:flex;flex-direction:row;align-items:flex-start;line-height:1.9}
.form-grid>.month-confirm input{width:16px;height:16px;accent-color:var(--brand);margin-top:4px}
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.team-member{padding:23px;display:grid;gap:16px}
.team-member h2{font-size:17px}
.team-member>p{font-size:12px;color:#888;margin:0}
.team-member>label{display:grid;gap:8px;font-size:12px}
.team-member input:not([type=checkbox]),.team-member select{font:inherit;border:1px solid var(--line);padding:10px;border-radius:7px;width:100%;background:#fcfbfa}
.team-member .check-label{display:flex;gap:9px;align-items:center;font-size:12px}
.team-member input[type=checkbox]{accent-color:var(--brand);width:16px;height:16px}
.team-member fieldset{border:1px solid var(--line);padding:14px;display:grid;gap:10px;border-radius:7px}
.team-member legend{font-size:10px;color:#888}
.team-member .error{margin:0}
@media(max-width:760px){.auth-card{padding:25px}.team-grid{grid-template-columns:1fr}.demo-strip{flex-wrap:wrap}}
@media print{.auth-shell,#month-form,#lock-month,.logout{display:none!important}}
