.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-card{width:min(100%,510px);margin:0;background:white;border:1px solid #dce4df;border-radius:18px;padding:36px;box-shadow:0 15px 50px #153f2410}
.login-card h1{font-size:30px;line-height:1.2;margin:10px 0 16px}
.login-card .brand{margin-bottom:34px;font-size:19px}.login-card label{display:flex;flex-direction:column;gap:7px;margin:15px 0}.login-card label input{width:100%;box-sizing:border-box}.login-card .full{margin-top:15px}
.login-card [hidden],.account-bar [hidden],#team-dialog [hidden],#company-dialog [hidden],#identity-empty[hidden]{display:none!important}
.account-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;max-width:1500px;margin:auto;padding:12px 30px;border-bottom:1px solid #dce4df;background:#f1f5ef}
.account-bar .account-name{margin-left:auto}.account-bar select{max-width:340px}.account-role{font-size:12px;color:#587363}
#team-dialog{width:min(850px,95vw)}#team-dialog .team-member{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid #e7ece7}
.team-member .member-info{flex:1;min-width:190px}.team-member select{width:175px}.team-member .small{display:block}
.team-invite{padding:20px 0;border-top:1px solid #dce4df;margin-top:20px}.invite-link{display:flex;gap:8px;align-items:center;margin-top:15px}.invite-link input{min-width:0;flex:1}
.account-empty{padding:55px 30px;text-align:center}.account-empty h2{font-size:28px}.account-empty p{max-width:560px;margin:18px auto}
.empty-account main>:not(.account-empty){display:none!important}
.empty-account #week,.empty-account #export,.empty-account #export-detail{display:none!important}
.read-only [data-cost],.read-only #allocation,.read-only #restore{pointer-events:none;opacity:.7}
.read-only #upload-open,.read-only #add-week-report,.read-only #cost-open,.read-only #extra-open,.read-only [data-remove-extra],.read-only [data-fill-cost],.read-only #report-expected-form{display:none!important}
@media(max-width:650px){.account-bar{padding:12px 18px}.account-bar .account-name{margin-left:0}.login-card{padding:25px}.team-member select{width:145px}}
#company-dialog{width:min(560px,calc(100vw - 36px));box-sizing:border-box}#company-dialog label{display:flex;flex-direction:column;gap:7px;margin:16px 0}#company-dialog input:not([type=checkbox]),#company-dialog select{width:100%;box-sizing:border-box}
#company-dialog label.check,.login-card label.check{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5}#company-dialog .check input,.login-card .check input{width:auto;flex:none;margin-top:4px}
.no-company main>:not(.identity-empty),.no-company header .actions,.no-company #empty-cabinet{display:none!important}
.identity-empty{max-width:780px;margin:35px auto}.company-notice{padding:14px 30px;background:#fff3d8;color:#493918;display:flex;gap:15px;align-items:center;justify-content:center}
.stale-company main button,.stale-company main input,.stale-company main select,.stale-company header button{pointer-events:none;opacity:.6}
#company-context{max-width:400px;overflow-wrap:anywhere}
.company-storage{display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;max-width:1440px;margin:auto;padding:5px 24px 8px;font-size:11px;line-height:1.5;color:var(--muted,#587363)}
.company-storage[hidden]{display:none!important}.company-storage progress{width:90px;height:5px;border:0;border-radius:4px;overflow:hidden;accent-color:var(--green,#368364)}
.company-storage progress::-webkit-progress-bar{background:var(--line,#dce4df)}.company-storage progress::-webkit-progress-value{background:var(--green,#368364)}
.company-storage[data-level=warning],.company-storage[data-level=full]{color:var(--amber,#80651f)}.company-storage[data-level=warning] progress::-webkit-progress-value,.company-storage[data-level=full] progress::-webkit-progress-value{background:var(--amber,#80651f)}
.company-storage #company-storage-note{flex-basis:auto}.company-storage #company-storage-note:empty{display:none}
@media(max-width:700px){.company-storage{padding:5px 16px 8px}.company-storage #company-storage-note{flex-basis:100%}}
@media(max-width:650px){.account-bar select{max-width:min(300px,calc(100vw - 55px))}.company-notice{flex-wrap:wrap}.identity-empty{padding:25px 15px}}
