/* Cityvel v2: account pages and navigation. Business screens retain their tested styles. */
[hidden]{display:none!important}html{scroll-padding-top:24px}body{overflow-wrap:break-word}.icon{flex-shrink:0}
.cityvel-app .sidebar{background:#17372c}.cityvel-app .brand{font-size:1.45rem;padding:0 7px;gap:10px}.cityvel-app .brand small{font-size:.48rem;letter-spacing:.8px}.cityvel-app .brand>span:last-child{min-width:0;overflow-wrap:anywhere}.cityvel-app .brand-mark{background:#c9ed91;width:40px;height:40px;flex:0 0 40px;color:#18392c}
.cityvel-app .sidebar-bottom{padding-top:12px}.sidebar-profile{display:flex;gap:10px;align-items:center;margin:15px 8px 0;padding-top:18px;border-top:1px solid #ffffff24;min-width:0}.profile-avatar{display:grid;place-items:center;background:#ffffff15;width:34px;height:34px;border-radius:50%;font-size:.7rem;flex-shrink:0}.sidebar-profile>span:last-child{min-width:0}.sidebar-profile strong{display:block;font-size:.8rem;color:#f1f7f1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile small{font-size:.68rem;color:#b8cbbf}
.account-link{display:flex;align-items:center;gap:7px;font-size:.8rem;white-space:nowrap}.account-link .icon{width:18px;height:18px}.logout-form{margin:0}.mobile-brand,.mobile-nav{display:none}.topbar-right{gap:18px}.notice,.readonly-banner{padding:16px 20px;background:#edf5ed;border:1px solid #d9e7d6;border-radius:12px;line-height:1.6;font-size:.9rem;margin:0 0 22px}.notice.warning{background:#fff7e7;border-color:#ead7ac}.notice a{text-decoration:underline}.readonly-banner{padding:10px 16px;color:#54646e;font-size:.8rem;background:#edf1f4;border-color:#dde4e9}.read-only [data-action]{display:none!important}
.settings-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 25px}.settings-nav a{padding:11px 16px;border:1px solid #dce4df;border-radius:10px;font-size:.875rem;background:#fff}.settings-nav a.active{background:#17372c;border-color:#17372c;color:#fff}.settings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.settings-panel{padding:26px;margin-bottom:24px;min-width:0}.settings-panel>h2{margin:0 0 14px;font-size:1.12rem}.settings-panel>p{line-height:1.65;margin:0 0 20px}.muted{color:var(--muted);font-size:.85rem;line-height:1.6}.stack-form{display:grid;gap:18px}.stack-form>h2{font-size:1.1rem;margin:12px 0 0}.stack-form label{display:grid;gap:8px;font-size:.875rem;font-weight:500;min-width:0}.stack-form input,.stack-form select,.stack-form textarea{font:inherit;font-weight:400;width:100%;min-height:46px;background:#fff;border:1px solid #cdd9d1;border-radius:9px;padding:11px 12px;min-width:0;color:#20332a}.stack-form input:focus,.stack-form select:focus{outline:3px solid #c9ed9180;border-color:#577e46}.stack-form label small{font-size:.75rem;color:var(--muted);font-weight:400}.stack-form .button{justify-self:start}.stack-form .full{justify-self:stretch}.stack-form .form-grid{margin:0}.stack-form .checkbox-line{display:flex;align-items:center;gap:10px}.stack-form .checkbox-line input{width:20px;min-height:20px;height:20px;accent-color:#245b3d}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title h2,.section-title h3{margin:0;font-size:1.1rem}.section-title p{margin:6px 0 0}
.session-list,.staff-list{display:grid;gap:16px}.session-card,.staff-card{border:1px solid #e0e8e2;padding:20px;border-radius:13px;min-width:0}.device-name{font-size:.78rem;line-height:1.6;color:var(--muted);overflow-wrap:anywhere;margin:10px 0}.session-card dl{font-size:.8rem;margin:14px 0}.session-card dl>div{display:flex;justify-content:space-between;gap:15px;padding:5px 0}.session-card dt{color:var(--muted)}.session-card dd{margin:0;text-align:right}.settings-panel>.button.full{margin-top:18px}.staff-card details{margin:14px 0}.staff-card summary{cursor:pointer;font-weight:500;font-size:.85rem;padding:10px 0}.staff-card details[open] summary{margin-bottom:12px}.role-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.role-summary>div{background:#edf3ef;border:1px solid #dce8df;border-radius:12px;padding:18px}.role-summary strong{font-size:.875rem}.role-summary p{font-size:.8rem;color:#587061;line-height:1.65;margin:8px 0 0}
.backup-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-top:1px solid var(--line)}.backup-row>div{min-width:0}.backup-row strong,.backup-row small,.backup-name{display:block}.backup-row strong{font-size:.9rem}.backup-row small{color:var(--muted);font-size:.8rem;margin-top:4px}.backup-name{font-size:.7rem;color:var(--muted);overflow-wrap:anywhere;margin-top:7px}.backup-row .button{flex-shrink:0}.event-list article{padding:15px 0;border-top:1px solid var(--line)}.event-list strong{font-size:.875rem}.event-list p{margin:6px 0;font-size:.8rem;overflow-wrap:anywhere}.event-list small{color:var(--muted);font-size:.7rem}.empty-message{padding:24px;color:var(--muted)}
.navigation-dialog{max-width:500px;padding:0}.more-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:18px}.more-links a{display:flex;align-items:center;gap:10px;min-height:55px;padding:13px;background:#f0f5f1;border-radius:10px;font-size:.85rem}.more-links .icon{width:19px;height:19px;color:#316348}
.login-page{min-height:100svh;background:#edf2eb;background-image:radial-gradient(ellipse at 90% 10%,#d4eac180,transparent 65%)}.login-shell{max-width:480px;margin:0 auto;padding:50px 20px 30px;min-height:100svh;display:flex;flex-direction:column;justify-content:center}.login-brand{display:flex;align-items:center;gap:12px;font-size:1.5rem;font-weight:650;color:#17372c;margin:0 0 28px 4px}.login-brand .brand-mark{width:42px;height:42px;background:#c4e795;color:#17372c}.login-card{background:#fff;border:1px solid #dfe7dc;border-radius:20px;padding:36px;box-shadow:0 20px 70px #283a2410}.login-card h1{font-size:2rem;margin:12px 0 10px;letter-spacing:-1px}.login-card .eyebrow{font-size:.64rem;color:#628055;letter-spacing:1.2px}.login-description{font-size:.95rem;color:#6c7c70;line-height:1.7;margin:0 0 25px}.login-card .button.primary{background:#17372c;color:#fff;min-height:49px;margin-top:6px;justify-content:space-between}.login-help{color:#7c897f;font-size:.75rem;margin:23px 0 0}.login-footnote{text-align:center;color:#7b8d7d;font-size:.7rem;margin-top:24px}.login-card>.button{margin:20px 6px 0 0}
@media(max-width:1100px){.settings-grid{gap:18px}.settings-panel{padding:22px}.role-summary{gap:10px}.role-summary>div{padding:14px}.cityvel-app .workspace-title{font-size:.75rem}}
@media(min-width:681px) and (max-width:900px){.cityvel-app .brand>span:last-child,.sidebar-profile>span:last-child{display:none}.sidebar-profile{margin:12px 0 0;justify-content:center}.cityvel-app .brand{padding:0}.settings-grid{grid-template-columns:1fr}.topbar-right{gap:14px}}
@media(max-width:680px){
 .cityvel-app .sidebar{display:none}.cityvel-app .workspace{margin-left:0;min-width:0}.cityvel-app .workspace-title{display:none}.cityvel-app .topbar{padding:12px 16px;gap:10px;height:auto;min-height:67px;align-items:center}.cityvel-app .topbar-right{gap:12px}.cityvel-app .date-chip{display:none}.mobile-brand{display:flex;flex-direction:column;font-size:1.25rem;font-weight:650;line-height:1.1;color:#17372c}.mobile-brand>span{font-size:.6rem;font-weight:400;letter-spacing:2px;margin-top:4px}.account-link{font-size:.75rem;gap:5px}.account-link .icon{width:17px;height:17px}.logout-form .button{font-size:.75rem;min-height:40px;padding:8px 11px}
 .cityvel-app main{padding:24px 16px 18px;min-width:0}.cityvel-app footer{margin:0 16px 0;padding-bottom:calc(96px + env(safe-area-inset-bottom));font-size:.65rem;flex-wrap:wrap}.cityvel-app .page-heading h1{font-size:1.65rem;overflow-wrap:anywhere}.cityvel-app .page-heading{gap:15px}.cityvel-app .heading-actions{width:100%;flex-direction:row;flex-wrap:wrap}.cityvel-app .heading-actions .button{min-width:0;flex:1 1 140px;white-space:normal;text-align:center}.cityvel-app .button{min-height:44px}.cityvel-app .metrics{gap:10px}.cityvel-app .rental-row,.cityvel-app .payment-row{min-width:0}.cityvel-app .person{min-width:0}.cityvel-app .person strong{overflow-wrap:anywhere;white-space:normal}.cityvel-app .form-grid{grid-template-columns:minmax(0,1fr);gap:16px}.cityvel-app input,.cityvel-app select,.cityvel-app textarea{font-size:16px}.cityvel-app .toast{left:16px;right:16px;bottom:calc(89px + env(safe-area-inset-bottom));transform:none;max-width:none;width:auto}
 .mobile-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;padding:7px 7px calc(7px + env(safe-area-inset-bottom));background:#fffffff5;backdrop-filter:blur(15px);border-top:1px solid #dbe5dc;box-shadow:0 -4px 25px #17372c08;z-index:30;gap:4px}.mobile-nav>a,.mobile-nav>button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;min-height:53px;padding:5px 2px;border:0;border-radius:10px;background:none;color:#687b6e;font-family:inherit;font-size:.63rem;line-height:1.1;cursor:pointer}.mobile-nav .icon{width:20px;height:20px}.mobile-nav .active{background:#eaf3df;color:#285534;font-weight:650}.mobile-nav>button:hover,.mobile-nav>a:hover{background:#eff5ec}.settings-grid,.role-summary{grid-template-columns:minmax(0,1fr)}.role-summary{gap:10px}.role-summary>div{padding:15px}.settings-panel{padding:20px;margin-bottom:18px}.settings-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px}.settings-nav a{text-align:center;padding:12px 8px;font-size:.8rem}.stack-form .button{width:100%;justify-content:center}.session-card,.staff-card{padding:16px}.section-title{align-items:flex-start}.session-card dl>div{flex-wrap:wrap;gap:4px}.notice{padding:15px;font-size:.83rem}.backup-row{padding:17px 16px;gap:10px}.backup-row .button{padding:9px 12px;font-size:.8rem}.backup-name{font-size:.65rem}.more-links{padding:14px;gap:7px}.more-links a{padding:12px 9px;font-size:.78rem}.navigation-dialog{max-height:calc(90svh - env(safe-area-inset-bottom));width:calc(100% - 24px);margin:auto;top:0;bottom:0;border-radius:18px}.cityvel-app dialog:not(.navigation-dialog){max-height:92svh}.cityvel-app .dialog-footer{padding-bottom:calc(18px + env(safe-area-inset-bottom))}
 .login-shell{padding:26px 18px;justify-content:center}.login-card{padding:28px 23px;border-radius:16px}.login-card h1{font-size:1.85rem}.login-brand{margin-bottom:24px}.login-card input{font-size:16px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Cityvel 2.1: text bike names must fit narrow cards. */
.bike-number { overflow-wrap: anywhere; font-size: clamp(24px, 4vw, 40px); }

/* static/cityvel.css — financial period controls */
.accounting-period {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 18px;padding:16px;border:1px solid var(--line,#dce3ea);border-radius:14px;background:var(--surface,#fff)}
.accounting-period p {margin:6px 0 0;color:var(--muted,#526173);font-size:13px;line-height:1.5;max-width:660px}
.accounting-period .period-switch {flex-wrap:wrap;white-space:normal}
@media(max-width:600px){.accounting-period{padding:12px;gap:12px}.accounting-period .period-switch{width:100%}.accounting-period .period-switch a{flex:1;text-align:center}}
