.access-page { min-height:100vh; min-height:100dvh; display:grid; place-items:center; background:#f1f4f9; padding:32px; }
.access-shell { width:min(980px,100%); min-height:590px; display:grid; grid-template-columns:1fr 1fr; background:#fff; border:1px solid #e3e9f2; border-radius:22px; overflow:hidden; box-shadow:0 20px 70px #203c6510; }
.access-intro { background:#203c65; color:#fff; padding:35px 40px; display:flex; flex-direction:column; justify-content:space-between; gap:40px; }
.access-brand { display:flex; align-items:center; gap:12px; font-size:19px; letter-spacing:-.3px; }
.access-brand img { border:1px solid #ffffff1f; border-radius:11px; }
.access-kicker { font-size:10px!important; letter-spacing:2px; color:#b4c9e9!important; margin-bottom:16px!important; }
.access-intro h1 { margin:0 0 22px; color:#fff; font-size:53px; letter-spacing:-2px; line-height:1.06; }
.access-intro p { color:#c1cfe2; font-size:14px; line-height:1.8; }
.access-intro small { color:#a7bcda; font-size:11px; }
.access-calendar { display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:26px 15px 15px 15px; gap:10px 0; margin-top:32px; padding:16px 0 0; border-top:1px solid #ffffff20; }
.access-calendar span { font-size:10px; color:#b9cce5; }
.access-calendar i { display:block; height:10px; border-radius:3px; background:#a4c1eb; grid-column:1/3; width:82%; }
.access-calendar i:nth-last-child(2) { grid-column:2/4; background:#d8c3ea; width:87%; }
.access-calendar i:last-child { grid-column:1/4; background:#b6dbce; width:52%; }
.access-panel { padding:45px 43px; display:flex; flex-direction:column; justify-content:center; min-width:0; }
.access-panel h2 { font-size:27px; letter-spacing:-.7px; line-height:1.2; margin:0 0 12px; }
.access-panel p { color:#718096; font-size:13px; line-height:1.65; margin:0 0 25px; }
.access-form .field { margin-bottom:17px; }
.access-form .field > span { font-size:12px; }
.access-form input { font-size:14px; }
.access-form .button { width:100%; min-height:41px; margin-top:4px; }
.access-message { font-size:12px; line-height:1.6; margin:12px 0 0; color:#b54554; overflow-wrap:anywhere; }
.access-message:empty { display:none; }
.access-message.success { color:#267655; background:#eef8f2; padding:10px 12px; border-radius:7px; }
.access-link { color:#3e6caa; font-size:12px; padding:0; margin-top:18px; text-align:left; }
.access-link:hover { text-decoration:underline; }
.access-password-toggle { display:flex; align-items:center; gap:7px; font-size:11px; color:#718096; margin:-5px 0 18px; cursor:pointer; }
.access-password-toggle input { width:14px; height:14px; margin:0; }
.access-note { font-size:11px!important; margin-top:20px!important; margin-bottom:0!important; color:#8a97a9!important; }
.account-dialog { width:480px; }
.account-dialog h3 { font-size:15px; margin:22px 0 10px; }
.account-email { color:#526981; font-size:13px; overflow-wrap:anywhere; margin:0 0 6px; }
.account-form .field { margin:11px 0; }
.account-form .button { margin-top:5px; }
.account-note { color:#7a889b; font-size:12px; line-height:1.6; margin:10px 0; }
.account-users { display:flex; flex-direction:column; margin:12px 0; }
.account-user { display:flex; align-items:center; gap:10px; justify-content:space-between; padding:8px 0; border-bottom:1px solid #edf0f5; font-size:12px; }
.account-user > span { min-width:0; overflow-wrap:anywhere; }
.account-user small { display:block; color:#8a97a9; font-size:10px; margin-top:3px; }
.account-user button { flex-shrink:0; font-size:11px; color:#3e6caa; padding:4px; }
.sidebar-footer { display:block; }
.sidebar-status { display:flex; justify-content:space-between; align-items:center; }
.account-bar { display:flex; justify-content:space-between; align-items:center; margin:7px 0 -2px; padding-top:7px; border-top:1px solid #edf0f5; }
.account-bar button { font-size:11px; padding:2px 0; color:#526981; line-height:17px; }
.account-bar #account { max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; }
.account-bar button:hover { color:#264f88; text-decoration:underline; }
#close-app[hidden] { display:none!important; }
#account-accesses { margin-top:22px; border-top:1px solid #e6ecf3; padding-top:17px; }
#account-accesses summary { cursor:pointer; color:#526981; font-size:13px; font-weight:600; }
@media(max-width:680px) { .access-page {padding:16px;} .access-shell {grid-template-columns:1fr;min-height:0;max-width:450px;} .access-intro {padding:22px 26px;gap:0;} .access-intro>div:nth-child(2),.access-intro>small {display:none;} .access-panel {padding:30px 26px;} }
@media print { .account-bar,.account-dialog {display:none!important;} }
