:root{font-family:system-ui,sans-serif;color:#2e2430;background:#f7f4f5}*{box-sizing:border-box}.access-main{max-width:1000px;margin:40px auto;padding:24px}h1,h2{color:#641b35}form,.access-card{background:white;padding:24px;border:1px solid #e7dce0;border-radius:14px;margin:20px 0}label{display:block;margin:14px 0}input:not([type=checkbox]),select{display:block;width:100%;max-width:480px;padding:12px;border:1px solid #bdaeb4;border-radius:6px;font:inherit}button,.access-link{display:inline-block;background:#641b35;color:white;border:0;border-radius:6px;padding:11px 16px;margin:5px;font:inherit;cursor:pointer;text-decoration:none}button:disabled{opacity:.5}input[type=checkbox]{margin-right:8px}#access-message{white-space:pre-line;color:#75162f}nav{display:flex;gap:8px;flex-wrap:wrap}.access-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:12px;border:1px solid #e7dce0;margin-bottom:16px;background:white}.access-bar a{color:#641b35}.access-bar button{padding:6px 12px}.access-help{color:#60525a;line-height:1.6}body[data-role=direction] #invoice-upload,body[data-role=direction] #invoice-detail button,body[data-role=direction] #invoice-detail form button,body[data-role=direction] #expense-list button{display:none}body[data-role=direction] #invoice-detail input,body[data-role=direction] #invoice-detail select{pointer-events:none}fieldset{border:1px solid #ddd;border-radius:8px;margin:14px 0}video{width:100%;max-height:55vh}dialog{max-width:95vw;border:1px solid #ddd;border-radius:12px}

/* Account controls: small status at the top, actions at the foot of the sidebar. */
.account-indicator{position:absolute;top:19px;right:32px;display:inline-flex;align-items:center;gap:8px;font:500 13px Segoe UI,Arial,sans-serif;color:#40343a;text-decoration:none;padding:5px 8px;border-radius:6px;background:transparent;z-index:2}
.account-indicator:hover{background:#eee8eb}.account-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#228b52;box-shadow:0 0 0 2px #e4f2e9}
body:not(.signed-out)>main{padding-top:65px}.sidebar-account{display:flex;flex-direction:column;gap:3px;margin-top:10px;padding-top:9px;border-top:1px solid #eee7ea;align-items:stretch}
.sidebar-account a,.sidebar-account button{font:400 12px Segoe UI,Arial,sans-serif;text-align:left;color:#655660;background:transparent;border:0;border-radius:5px;text-decoration:none;padding:7px 5px;margin:0;box-shadow:none;cursor:pointer}
.sidebar-account a:hover,.sidebar-account button:hover:not(:disabled){color:#641b35;background:#f5eff2;box-shadow:none}.account-brand{color:#641b35;font-weight:650;text-decoration:none;margin-bottom:30px}
aside{overflow-y:auto}.access-main{margin:0 0 0 250px;max-width:1100px;padding:65px 42px 40px}.signed-out .access-main{max-width:640px;margin:45px auto;padding:24px}.signed-out .access-main>h1{font-size:28px}#access-nav .access-link{font-size:13px;padding:9px 14px}#access-nav{margin-top:18px}
@media(max-width:1200px){.access-main{margin-left:220px;padding-left:24px;padding-right:24px}}
@media(max-width:760px){.account-indicator{right:14px;top:12px;font-size:12px}aside{padding-top:45px}.sidebar-account{flex-direction:row;gap:15px}.local{display:block;margin-top:18px}.access-main{margin:0;padding:24px 16px}body:not(.signed-out)>main{padding-top:24px}.signed-out .access-main{margin:45px auto 0;padding:24px 16px}}

.account-person{position:relative;width:15px;height:17px;display:inline-block}.account-person:before{content:'';position:absolute;left:5px;top:0;width:5px;height:5px;border:1px solid currentColor;border-radius:50%}.account-person:after{content:'';position:absolute;left:2px;bottom:0;width:11px;height:7px;border:1px solid currentColor;border-bottom:0;border-radius:7px 7px 0 0}
aside .nav-label{margin-top:32px}.account-brand+.module-nav{font-size:13px;color:#655660;text-decoration:none;padding:10px 4px}
.signed-out #access-content>.access-link{background:transparent;color:#641b35;padding:5px 0;text-decoration:underline;font-size:13px;margin:0}
