/* Прокат: локальный интерфейс, без внешних шрифтов и сетевых ассетов. */
:root{--bg:#f5f6f8;--surface:#fff;--ink:#202c3c;--muted:#697587;--line:#e6eaf0;--nav:#182733;--accent:#c8efd3;--primary:#236849;--primary-hover:#185638;--green:#e4f3e9;--red:#fae9e7;--danger:#b83e36;--orange:#fff2dc;--blue:#e7effb;--violet:#eeeafa;--radius:16px;--shadow:0 4px 24px #14233305}
*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button, input, select,textarea{border-radius:10px}button{border:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #80bca0;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:2.125rem;font-weight:700;letter-spacing:-1px;line-height:1.2}h2{font-size:1.15rem;letter-spacing:-.3px;font-weight:650}small{font-size:.8125rem}strong{font-weight:600}svg{flex-shrink:0;vertical-align:middle}.icon{display:inline-block}::selection{background:#c8efd3}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:20px;background:#fff;padding:12px;z-index:100}.skip-link:focus{top:12px}
.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:var(--nav);color:#c6d0d8;display:flex;flex-direction:column;padding:36px 16px 20px;z-index:20}.brand{display:flex;align-items:center;gap:12px;color:#fff;padding:0 12px;font-size:1.5rem;font-weight:650;letter-spacing:-.5px}.brand-mark{width:40px;height:44px;display:grid;place-items:center;background:var(--accent);color:var(--nav);border-radius:12px;font-size:1.5rem;box-shadow:3px 3px 0 #ffffff10}.brand small{display:block;font-size:.56rem;letter-spacing:1.45px;color:#93a6b3;margin-top:1px}.nav-caption{font-size:.61rem;letter-spacing:1.4px;color:#92a6b3;margin:48px 14px 14px}.nav-item{display:flex;align-items:center;gap:12px;min-height:49px;padding:12px 14px;border-radius:10px;font-size:.9375rem;font-weight:500;margin-bottom:6px;transition:background .15s,color .15s}.nav-item:hover{background:#ffffff0c;color:#fff}.nav-item.active{background:var(--accent);color:#193e2b;font-weight:650}.nav-item .icon{opacity:.85}.nav-count{margin-left:auto;border-radius:6px;font-size:.75rem;padding:0 7px;background:#ffffff18}.nav-item.active .nav-count{background:#24573818}.sidebar-bottom{margin-top:auto;padding:20px 2px 0}.local-status{display:flex;gap:8px;align-items:center;font-size:.8125rem;padding:0 12px;color:#d5dfe6}.local-status>span{width:6px;height:6px;border-radius:50%;background:#a2d5b0}.sidebar-bottom>p{font-size:.6875rem;color:#91a3b0;padding:4px 12px 24px}.sidebar-bottom .nav-item{font-size:.8125rem}.workspace{margin-left:232px;min-height:100vh}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;background:#ffffffa8;border-bottom:1px solid var(--line);gap:16px}.workspace-title{font-size:.875rem;color:var(--muted)}.topbar-right{display:flex;align-items:center;gap:24px;font-size:.8125rem}.date-chip,.backup-link{display:flex;align-items:center;gap:8px}.date-chip{color:var(--muted)}.date-chip .icon,.backup-link .icon{width:16px;height:16px}.backup-link:hover{color:var(--primary)}main{padding:34px 38px 28px;max-width:1700px;margin:0 auto;outline:none}footer{display:flex;justify-content:space-between;gap:16px;margin:0 38px;padding:18px 0 24px;border-top:1px solid var(--line);font-size:.6875rem;color:#82909e}
.eyebrow{font-size:.65rem;letter-spacing:1.75px;font-weight:650;color:var(--muted);margin-bottom:9px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}.page-heading h1+p{margin-top:9px;color:var(--muted);font-size:.875rem}.heading-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;min-height:44px;font-size:.875rem;font-weight:600;border:1px solid transparent;white-space:nowrap;line-height:1.3;transition:background .15s,box-shadow .15s;flex-shrink:0}.primary{background:var(--primary);color:#fff}.primary:hover{background:var(--primary-hover)}.secondary{background:#fff;border-color:#dce2e8;color:var(--ink)}.secondary:hover{background:#f3f6f5}.soft{background:#eaf3ed;color:var(--primary)}.soft:hover{background:#d7ebde}.destructive{background:var(--danger);color:#fff}.text-danger{background:transparent;color:var(--danger)}.button.small{font-size:.8125rem;padding:9px 12px;min-height:40px}.button.full{width:100%}.button .icon{width:17px;height:17px}.icon-button{width:40px;min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--muted);border-radius:10px}.icon-button:hover{background:#edf1f4;color:var(--ink)}.text-link{display:inline-flex;gap:8px;align-items:center;color:var(--primary);font-size:.8125rem;font-weight:600;white-space:nowrap}.text-link .icon{width:16px}.muted{color:var(--muted)}.success-text{color:#23764e}.danger-text{color:var(--danger)}.blue{background:var(--blue);color:#3f6096}.green,.success{background:var(--green);color:#27724e}.red,.danger{background:var(--red);color:var(--danger)}.violet{background:var(--violet);color:#74639b}.warning{background:var(--orange);color:#89591c}.neutral{background:#eff1f4;color:#687382}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.metric{padding:21px 22px 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column}.metric>span,.metric-top>span:first-child{font-size:.8125rem;color:var(--muted)}.metric-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.metric-icon{width:33px;height:33px;display:grid;place-items:center;border-radius:10px;flex-shrink:0}.metric-icon .icon{width:18px;height:18px}.metric-value{font-size:1.85rem;font-weight:650;line-height:1.3;letter-spacing:-.7px;margin:13px 0 7px;font-variant-numeric:tabular-nums;white-space:nowrap}.metric>small{font-size:.71rem;color:var(--muted)}.metric-denominator{font-size:1.2rem;color:#8b95a3;font-weight:400}.metric.debt{background:#fffaf8;border-color:#f0e2dc}.metric.debt .metric-value{color:var(--danger)}.panel{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:22px;overflow:hidden;min-width:0}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px}.panel-heading p{font-size:.8rem;color:var(--muted);margin-top:5px}.count{display:inline-block;vertical-align:middle;padding:1px 7px;margin-left:5px;border-radius:6px;background:#f0f3f4;color:var(--muted);font-size:.75rem;line-height:1.5;font-weight:500}.notice{display:flex;align-items:center;gap:14px;border:1px solid #eddfc5;border-radius:12px;padding:16px 20px;margin:0 0 24px}.notice>svg{width:21px;height:21px}.notice strong{font-size:.875rem}.notice p{font-size:.8rem;margin-top:2px}.notice .text-link{margin-left:auto;color:inherit}.notice>div{min-width:0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 264px;gap:22px}.dashboard-grid>.panel{align-self:start}.queue-labels{display:grid;grid-template-columns:minmax(160px,1.7fr) .75fr .75fr .9fr 100px;gap:12px;font-size:.68rem;color:var(--muted);background:#f8f9fb;padding:11px 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.rental-row{display:grid;grid-template-columns:minmax(160px,1.7fr) .75fr .75fr .9fr 100px;gap:12px;align-items:center;padding:17px 24px;border-bottom:1px solid #edf0f4;min-height:87px}.rental-row:last-child{border-bottom:0}.rental-row:nth-of-type(even){background:#fcfcfd}.rental-row:hover{background:#f7faf8}.person{display:flex;gap:10px;align-items:center;min-width:0}.person>span:last-child{min-width:0}.person strong{font-size:.8125rem;line-height:1.4;display:block}.person:hover strong{color:var(--primary)}.person small,.rental-row small{display:block;font-size:.6875rem;color:var(--muted);margin-top:4px}.person .mini-warning{display:block;color:#a26b28;font-size:.64rem;margin-top:2px}.avatar{width:36px;height:36px;min-width:36px;border-radius:12px;background:#edf0f2;color:#5e6c7c;display:grid;place-items:center;font-size:.72rem;font-weight:600}.avatar.danger{color:#a9544a;background:#f8eae7}.avatar.success{color:#378059;background:#eaf4ed}.avatar.warning{color:#947043;background:#f9f0e2}.separator{color:#c0c7ce;margin:0 4px}.due-cell>strong,.amount-cell>strong{font-size:.8125rem;font-variant-numeric:tabular-nums}.badge{font-size:.6875rem;line-height:1.25;padding:6px 9px;border-radius:6px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-weight:600}.status-dot{width:5px;height:5px;flex-shrink:0;border-radius:50%;display:inline-block;background:currentColor}.status-dot.success{background:#62a47b}.status-dot.blue{background:#6790c2}.park-summary .panel-heading{padding-bottom:16px}.fleet-meter{display:flex;gap:5px;margin:0 24px 15px}.fleet-meter span{height:7px;flex:1;border-radius:3px}.fleet-meter .success{background:#83c297}.fleet-meter .blue{background:#96b3d6}.fleet-meter .warning{background:#e7b572}.park-list{padding:0 24px}.park-line{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid #edf0f4;font-size:.8rem;gap:8px}.park-line:hover strong{color:var(--primary)}.park-summary>.button{margin:14px 24px 22px;width:calc(100% - 48px)}.payment-row{display:grid;grid-template-columns:60px minmax(150px,1fr) minmax(110px,.65fr) minmax(100px,.5fr) auto;gap:16px;align-items:center;padding:16px 24px;border-top:1px solid #edf0f4;font-size:.8125rem}.payment-row small{display:block;font-size:.7rem;color:var(--muted);margin-top:3px}.payment-who>a{font-weight:600}.payment-money{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.payment-row.voided{opacity:.6}.payment-row.voided .payment-money{text-decoration:line-through}.payment-row:hover{background:#fcfdfc}.alert-list{padding:0 24px 5px}.alert-line{display:flex;gap:14px;align-items:center;border-top:1px solid var(--line);padding:16px 0}.alert-line>svg:first-child{color:#b38444}.alert-line>span{flex:1}.alert-line strong{font-size:.8125rem}.alert-line small{font-size:.75rem;display:block;color:var(--muted);margin-top:4px}.alert-line>svg:last-child{width:17px;color:var(--muted)}.alert-line:hover strong{color:var(--primary)}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.search{display:flex;align-items:center;gap:9px;background:white;border:1px solid #dfe5eb;border-radius:10px;padding:0 14px;min-width:260px;color:var(--muted);max-width:100%}.search input{border:0;background:transparent;outline:none;min-height:44px;padding:9px 0;font-size:.875rem;width:100%;min-width:0;color:var(--ink)}.search:focus-within{outline:2px solid #98c4ac;outline-offset:2px}.search input:focus-visible{outline:none}.search.wide{width:410px}.legend{display:flex;align-items:center;gap:8px;font-size:.8125rem;color:var(--muted)}.legend .status-dot:nth-of-type(2){margin-left:12px}.tabs{display:flex;gap:4px;background:#e9edf1;border-radius:10px;padding:4px;flex-wrap:wrap}.tabs>a{display:inline-flex;gap:8px;align-items:center;padding:8px 13px;font-size:.8125rem;color:var(--muted);border-radius:7px;min-height:36px}.tabs>a.active{background:#fff;color:var(--ink);box-shadow:0 1px 4px #1a283010;font-weight:600}.tabs span{font-size:.68rem;color:var(--muted)}.page-note{font-size:.8125rem;color:var(--muted);max-width:950px;line-height:1.7}.no-results,.empty-state{padding:36px 24px;text-align:center;color:var(--muted);font-size:.875rem}.bike-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:24px}.bike-card{border-radius:var(--radius);background:#fff;border:1px solid var(--line);padding:22px;color:var(--ink);box-shadow:var(--shadow);scroll-margin-top:25px}.bike-card:target{outline:3px solid #a2c6b0;outline-offset:3px}.bike-card.warning{border-color:#ead4b0;background:#fffdfa}.bike-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.bike-number{font-size:2.8rem;font-weight:650;letter-spacing:-1.5px;margin-bottom:22px;line-height:1.15}.bike-card>.eyebrow{font-size:.6rem}.bike-assignment{min-height:72px}.bike-assignment>a{display:flex;gap:10px;align-items:center;margin:0 0 12px}.bike-assignment strong{font-size:.8125rem;line-height:1.3;display:block}.bike-assignment small{font-size:.7rem;color:var(--muted);display:block;margin-top:4px}.small-avatar{width:32px;height:32px;min-width:32px;border-radius:9px}.bike-facts{display:flex;justify-content:space-between;gap:10px;font-size:.8125rem;border-top:1px solid var(--line);padding:16px 0 18px}.bike-facts>span{color:var(--muted)}.bike-empty{color:var(--muted);font-size:.875rem;min-height:116px}.bike-note{display:block;margin-top:12px;color:var(--muted)}.inline-warning{padding:10px 12px;background:#fff2df;color:#95601f;border-radius:8px;font-size:.8125rem;margin-bottom:12px}.subtle-label{font-size:.75rem;color:var(--muted)}.back-link{display:inline-flex;gap:8px;align-items:center;font-size:.8125rem;color:var(--muted);margin-bottom:20px}.back-link .icon{width:16px}.person-title{max-width:710px;font-size:1.85rem}.phone{margin-left:14px;color:var(--muted);font-size:.875rem}.detail-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:22px}.details{margin:0;padding:0 24px 12px}.details>div{display:flex;align-items:baseline;justify-content:space-between;padding:13px 0;border-top:1px solid var(--line);gap:20px;font-size:.875rem}.details dt{color:var(--muted)}.details dd{margin:0;font-weight:600;text-align:right}.detail-note{font-size:.8125rem;color:var(--muted);margin:5px 24px 22px;line-height:1.65}.panel-bottom{padding:6px 24px 24px}.history{border-top:1px solid var(--line);padding:0 24px 18px}.history>p{margin-top:14px;font-size:.8125rem}.history small{display:block;margin-top:3px;color:var(--muted);font-size:.7rem}
.calendar-controls{display:flex;gap:6px}.weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);padding:10px 0;font-size:.65rem;color:var(--muted);background:#f9fafb;text-align:right}.weekdays>span{padding-right:15px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{border-top:1px solid var(--line);border-right:1px solid var(--line);min-height:116px;padding:8px;min-width:0}.calendar-day:nth-child(7n){border-right:0}.calendar-day>time{display:flex;justify-content:flex-end;align-items:center;margin-bottom:6px;font-size:.75rem;height:25px}.calendar-day.outside{background:#fafbfc;color:#b6bfc9}.calendar-day.is-today{background:#f0f7f2}.calendar-day.is-today>time>span{background:var(--primary);color:#fff;border-radius:6px;padding:3px 6px}.calendar-event{display:block;border-left:2px solid #77aa89;background:#eaf4ed;border-radius:5px;padding:6px;margin-top:5px;color:#326447;overflow-wrap:anywhere}.calendar-event strong{font-size:.67rem;display:block}.calendar-event small{font-size:.6rem;display:block;line-height:1.3;margin-top:3px}.calendar-event.past{background:#fbede9;border-color:#d29283;color:#9b5147}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.help-card{padding:28px;margin-bottom:0}.help-card p{font-size:.9375rem;color:var(--muted);margin-top:12px;line-height:1.7}.step-number{display:inline-block;font-size:.75rem;color:var(--primary);background:var(--green);padding:5px 10px;border-radius:7px;margin-bottom:16px}.prose{padding:28px;max-width:1100px}.prose p{font-size:.9375rem;color:var(--muted);line-height:1.75;margin:14px 0}.prose code{background:#f0f2f4;padding:2px 5px;border-radius:4px;font-size:.85em;overflow-wrap:anywhere}
dialog{border:1px solid #e1e7e5;border-radius:20px;padding:0;width:min(590px,calc(100vw - 28px));max-height:calc(100dvh - 36px);background:#fff;color:var(--ink);box-shadow:0 28px 100px #14233340}dialog::backdrop{background:#17273185;backdrop-filter:blur(3px)}dialog>form{display:flex;flex-direction:column;max-height:calc(100dvh - 38px)}.dialog-heading{padding:24px 26px 20px;display:flex;gap:14px;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--line)}.dialog-heading h2{font-size:1.4rem}.dialog-heading .eyebrow{font-size:.6rem;margin-bottom:7px}.dialog-body{padding:24px 26px;overflow-y:auto;overscroll-behavior:contain}.dialog-body>label,.form-grid>label{display:block;font-size:.8125rem;font-weight:600;margin-bottom:17px}.dialog-body label>input,.dialog-body label>select,.dialog-body label>textarea{display:block;width:100%;margin-top:7px;border:1px solid #dbe2e7;padding:11px 12px;color:var(--ink);background:#fff;min-height:44px;font-size:.9375rem;line-height:1.4;font-weight:400}.dialog-body textarea{resize:vertical;min-height:75px}.dialog-body label>input:read-only{background:#f4f6f7;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid>label{min-width:0}.optional{font-size:.7rem;font-weight:400;color:var(--muted);margin-left:4px}.form-context{padding:13px 15px;background:#f3f7f4;border:1px solid #e0eae3;border-radius:10px;margin-bottom:20px;font-size:.8125rem;color:#466753;white-space:pre-line}.form-context:empty{display:none}.form-hint{font-size:.8125rem;color:var(--muted);line-height:1.65}.form-error{font-size:.875rem;line-height:1.55;background:#fbeae6;border:1px solid #f0d4cf;color:#aa3e31;border-radius:9px;padding:12px;margin-top:16px}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;align-items:center;border-top:1px solid var(--line);padding:18px 26px;background:#fcfdfc}.spacer{flex:1}.toast{position:fixed;bottom:28px;left:calc(50% + 100px);transform:translateX(-50%);padding:16px 22px;max-width:min(650px,90vw);border:1px solid #bdd8c8;background:#ecf6ef;color:#245e3c;border-radius:12px;box-shadow:0 8px 40px #1b322b18;font-size:.875rem;z-index:80}.mobile-label{display:none}
@media(min-width:1500px){.rental-row,.queue-labels{grid-template-columns:minmax(210px,1.7fr) .75fr .75fr 1fr 112px}.person strong{font-size:.875rem}.rental-row small{font-size:.75rem}.badge{font-size:.75rem}.dashboard-grid{grid-template-columns:minmax(0,1fr) 285px}}
@media(max-width:1350px){.sidebar{width:208px;padding-left:12px;padding-right:12px}.workspace{margin-left:208px}.topbar{padding:0 26px}main{padding:28px 26px}.dashboard-grid{grid-template-columns:1fr}.park-summary{display:none}.metric{padding:18px}.metric-value{font-size:1.6rem}.heading-actions{max-width:360px}.page-heading h1{font-size:1.9rem}.bike-grid{gap:16px}.bike-card{padding:18px}.bike-number{font-size:2.4rem}.toast{left:calc(50% + 104px)}}
@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-value{font-size:1.9rem}.bike-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rental-row,.queue-labels{grid-template-columns:minmax(160px,1.5fr) .7fr .7fr .9fr 86px;gap:10px;padding-left:18px;padding-right:18px}.rental-row .avatar{display:none}.rental-row>.button{padding:9px 10px}.rental-row>.button .desktop-only{display:none}.panel-heading{padding:20px 18px}.topbar-right{gap:18px}.page-heading{align-items:flex-start}.heading-actions{flex-direction:column;flex-shrink:0}.detail-grid{grid-template-columns:1fr}.calendar-event strong{font-size:.62rem}.calendar-event small{font-size:.56rem}.payment-row{grid-template-columns:44px minmax(140px,1fr) 90px 90px auto;gap:10px;padding:16px 18px}.payment-money{font-size:.75rem}}
@media(max-width:900px){.sidebar{width:76px;padding:26px 10px}.brand{padding:0;justify-content:center}.brand>span:last-child,.nav-caption,.nav-item>span,.sidebar-bottom>p,.local-status{display:none}.sidebar nav{margin-top:36px}.nav-item{justify-content:center;padding:13px 0;min-height:48px}.sidebar-bottom{padding:0}.workspace{margin-left:76px}.topbar{height:64px;padding:0 22px}main{padding:26px 22px}.toast{left:calc(50% + 38px)}.help-grid{gap:16px}.help-card{padding:22px}.metric-value{font-size:1.9rem}}
@media(max-width:680px){html{font-size:16px}.sidebar{inset:auto 0 0;width:auto;height:70px;border-top:1px solid #e1e7e8;padding:0;background:#fff;box-shadow:0 -4px 24px #20332307}.sidebar .brand,.sidebar-bottom{display:none}.sidebar nav{margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:100%;padding:5px 7px 7px}.nav-item{margin:0;padding:7px 2px;gap:3px;flex-direction:column;border-radius:9px;color:#7c8794;font-size:.58rem;min-height:54px}.nav-item.active{background:#e9f3ec;color:#285a3c}.nav-item>.icon{width:20px;height:20px}.nav-item>span:not(.nav-count){display:block;white-space:nowrap}.nav-count{display:none!important}.workspace{margin-left:0;padding-bottom:72px}.topbar{height:59px;padding:0 18px}.workspace-title{font-weight:650;font-size:.8125rem}.topbar-right{gap:16px}.date-chip{font-size:.7rem;gap:5px}.backup-link{width:32px;height:36px;justify-content:center}.backup-link>span{display:none}main{padding:23px 16px}.page-heading{display:block;margin-bottom:22px}.page-heading h1{font-size:1.8rem}.page-heading h1+p{font-size:.8125rem}.heading-actions{max-width:none;flex-direction:row;margin-top:18px;justify-content:flex-start;gap:8px}.page-heading>.button{margin-top:18px}.heading-actions>.button{flex:1;padding:11px 9px;font-size:.78rem}.heading-actions>.button .icon{width:15px}.eyebrow{font-size:.6rem}.metrics{gap:10px;margin-bottom:18px}.metric{padding:15px 14px;border-radius:12px}.metric-top>span:first-child,.metric>span{font-size:.7rem;line-height:1.4}.metric-icon{width:26px;height:26px;border-radius:7px}.metric-icon .icon{width:15px;height:15px}.metric-value{font-size:1.45rem;letter-spacing:-.5px;margin-top:12px}.metric>small{font-size:.625rem;line-height:1.45}.metric-denominator{font-size:1rem}.notice{padding:14px;gap:9px;align-items:flex-start;margin-bottom:18px;flex-wrap:wrap}.notice>svg{width:17px;margin-top:2px}.notice>div{flex:1}.notice .text-link{margin-left:26px}.notice strong{font-size:.8125rem}.notice p{font-size:.75rem}.panel{border-radius:12px;margin-bottom:18px}.panel-heading{padding:18px 16px;align-items:flex-start}.panel-heading h2{font-size:1.03rem}.panel-heading p{font-size:.7rem}.panel-heading .text-link{font-size:.7rem;gap:3px;margin-top:3px}.panel-heading .text-link .icon{width:13px}.queue-labels{display:none}.rental-row{grid-template-columns:1fr auto;gap:14px;padding:17px 16px}.rental-row .person{grid-column:1;grid-row:1}.rental-row .person strong{font-size:.8125rem}.rental-row .person small{font-size:.6875rem}.rental-row .avatar{display:grid;width:32px;height:32px;min-width:32px;border-radius:10px;font-size:.62rem}.rental-row>.due-cell{grid-row:2;grid-column:1}.rental-row>.due-cell small,.rental-row>.amount-cell small{display:none}.rental-row>div:nth-of-type(2){grid-row:1;grid-column:2;text-align:right}.rental-row>.amount-cell{grid-row:2;grid-column:2;text-align:right}.rental-row>.button{grid-row:3;grid-column:1 / -1;min-height:39px;font-size:.8125rem}.rental-row>.button .desktop-only{display:inline}.mobile-label{display:block;font-size:.625rem;color:var(--muted);margin-bottom:2px}.badge{font-size:.62rem;padding:5px 7px;gap:4px}.badge .status-dot{width:4px;height:4px}.rental-row>.due-cell strong,.rental-row>.amount-cell strong{font-size:.875rem}.payment-row{grid-template-columns:38px minmax(100px,1fr) auto;gap:6px 10px;padding:16px;font-size:.75rem}.payment-date{grid-column:1;grid-row:1 / 3}.payment-who{grid-column:2;grid-row:1}.payment-who small{font-size:.6rem}.payment-kind{grid-column:2;grid-row:2;display:flex;gap:6px;align-items:center;font-size:.65rem;color:var(--muted)}.payment-kind small{margin:0;font-size:.6rem}.payment-money{grid-column:3;grid-row:1;font-size:.75rem}.payment-row>.icon-button{grid-column:3;grid-row:2;justify-self:end;width:32px;height:32px;min-width:32px}.payment-row>.icon-button .icon{width:15px}.alert-list{padding:0 16px 4px}.alert-line{gap:10px}.alert-line strong{font-size:.75rem}.alert-line small{font-size:.7rem}.alert-line>svg{width:17px}.toolbar{gap:14px;margin-bottom:16px}.tabs{width:100%;justify-content:space-between;gap:2px}.tabs>a{padding:8px 9px;font-size:.73rem}.search,.search.wide{min-width:0;width:100%}.legend{font-size:.75rem}.bike-grid{grid-template-columns:1fr;gap:16px}.bike-card{padding:22px}.bike-card-top{margin-bottom:20px}.bike-number{font-size:2.8rem}.bike-empty{min-height:65px}.bike-assignment{min-height:55px}.page-note{font-size:.75rem}.subtle-label{display:none}.person-title{font-size:1.5rem!important;line-height:1.35}.details{padding-left:16px;padding-right:16px}.details>div{font-size:.8125rem}.detail-note{margin-left:16px;margin-right:16px;font-size:.75rem}.calendar-controls{gap:2px}.calendar-controls .button{font-size:.65rem;padding:8px}.calendar-controls .icon-button{width:29px;min-width:29px;height:36px}.calendar-panel .panel-heading{align-items:center;gap:8px}.calendar-panel .panel-heading h2{font-size:.9375rem}.weekdays{display:none}.calendar-grid{display:block}.calendar-day{display:none;min-height:0;padding:15px 16px;border-right:0}.calendar-day.has-events:not(.outside),.calendar-day.is-today{display:block}.calendar-day>time{display:block;height:auto;margin:0 0 8px;font-size:.8125rem}.calendar-day>time .desktop-only{display:none}.calendar-day>time .mobile-label{font-size:.8125rem;color:var(--ink)}.calendar-day.is-today>time>span{display:inline-block}.calendar-event{padding:11px 12px;margin-top:8px}.calendar-event strong{font-size:.8125rem}.calendar-event small{font-size:.7rem}.help-grid{grid-template-columns:1fr}.help-card,.prose{padding:22px}.help-card p,.prose p{font-size:.875rem}.dialog-heading{padding:21px 20px 16px}.dialog-heading h2{font-size:1.25rem}.dialog-body{padding:20px}.dialog-footer{padding:16px 20px;gap:8px;flex-wrap:wrap}.dialog-footer .button{font-size:.8125rem;padding:10px 12px}.form-grid{gap:12px}.form-grid>label{font-size:.75rem}.form-grid .optional{display:block;margin-left:0}.toast{left:50%;bottom:85px;width:calc(100% - 32px);font-size:.8125rem;padding:14px 16px}footer{margin:0 16px;padding:15px 0;font-size:.6rem;gap:8px}.desktop-only{display:none}}
@media(max-width:360px){.metrics{grid-template-columns:1fr}.metric-top{justify-content:flex-start;gap:12px}.metric-value{font-size:1.8rem}.metric>small{font-size:.75rem}.metric-top>span:first-child{font-size:.8125rem}.heading-actions{flex-direction:column}.form-grid{grid-template-columns:1fr;gap:0}.topbar-right .date-chip .icon{display:none}.nav-item{font-size:.54rem}.person .avatar{display:none}.rental-row{grid-template-columns:minmax(0,1fr) auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Баланс и договоры: расширение существующей карточки. */
.balance-panel{display:flex;justify-content:space-between;gap:28px;padding:26px 28px;align-items:center;background:linear-gradient(110deg,#fff 60%,#f4f8f5)}.balance-main{min-width:0}.balance-number{display:block;font-size:2.5rem;font-weight:650;letter-spacing:-1px;line-height:1.25;font-variant-numeric:tabular-nums}.balance-main>p:not(.eyebrow){font-size:.9375rem;margin:8px 0;color:var(--muted)}.balance-main>small{display:block;font-size:.75rem;color:var(--muted);max-width:440px}.balance-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:420px}.balance-actions>span{grid-column:1/-1;color:var(--muted);font-size:.75rem;line-height:1.7;text-align:right}.writeoff-button{background:#fff0e9;color:#a75230;border-color:#eedacf}.writeoff-button:hover{background:#fae4d9}.adjustment-row{display:grid;grid-template-columns:90px minmax(160px,1fr) auto 40px;gap:18px;align-items:center;padding:17px 24px;border-top:1px solid var(--line);font-size:.875rem}.adjustment-row small,.document-row small{display:block;color:var(--muted);font-size:.75rem;margin-top:4px;overflow-wrap:anywhere}.adjustment-row.voided{opacity:.6}.adjustment-row.voided>strong{text-decoration:line-through}.document-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 24px;border-top:1px solid var(--line);font-size:.875rem}.document-actions{display:flex;gap:10px;flex-wrap:wrap}.document-note{padding:15px 24px 20px;color:var(--muted);font-size:.75rem;border-top:1px solid var(--line);line-height:1.65}.contract-dialog{width:min(740px,calc(100vw - 28px))}.form-section-title{font-size:1rem;font-weight:650;border-top:1px solid var(--line);padding-top:20px;margin:22px 0 18px}.contract-dialog .form-hint+label{margin-top:14px}.input-with-button{display:flex;gap:10px;margin:7px 0 17px}.input-with-button>input{min-width:0;flex:1;min-height:44px;border:1px solid #dbe2e7;padding:11px 12px;font-size:.9375rem}.input-with-button>.button{flex-shrink:0}
@media(max-width:1100px){.balance-panel{align-items:flex-start}.balance-actions{grid-template-columns:1fr;min-width:190px}.balance-actions>span{grid-column:1;text-align:left}.document-row{align-items:flex-start}.document-actions{justify-content:flex-end}}
@media(max-width:680px){.balance-panel{display:block;padding:22px 18px}.balance-number{font-size:2.1rem}.balance-main>p:not(.eyebrow){font-size:.8125rem}.balance-main>small{font-size:.7rem}.balance-actions{display:flex;flex-wrap:wrap;max-width:none;margin-top:20px}.balance-actions>.button{flex:1;font-size:.75rem;padding:11px 9px}.balance-actions>span{width:100%;font-size:.7rem}.adjustment-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:16px;font-size:.8125rem}.adjustment-row>div:first-child{grid-column:1/-1;display:flex;gap:8px;align-items:center;font-size:.7rem}.adjustment-row>div:first-child small{margin:0}.adjustment-row>div:nth-child(2){grid-column:1;grid-row:2}.adjustment-row>strong{grid-column:2;grid-row:2}.adjustment-row>.icon-button{grid-column:2;grid-row:3;justify-self:end}.adjustment-row small{font-size:.7rem}.document-row{display:block;padding:18px 16px}.document-actions{justify-content:flex-start;margin-top:13px;gap:8px}.document-actions>.button{font-size:.73rem}.document-note{font-size:.7rem;padding:14px 16px}#documents .panel-heading{flex-wrap:wrap}#documents .panel-heading>.button{width:100%;font-size:.8125rem}.contract-dialog{width:calc(100vw - 20px)}.form-section-title{font-size:.9375rem}.input-with-button{gap:8px}}

/* Денежная аналитика: крупные показатели и спокойный журнал расходов. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.finance-controls{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:16px}.period-switch{display:flex;gap:4px;padding:5px;background:#e8edf0;border-radius:12px;flex-wrap:wrap}.period-switch>a{display:flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;border-radius:8px;font-size:.875rem;color:#5c6a7a}.period-switch>a.active{background:white;box-shadow:0 2px 5px #1d2d3910;color:#203d2b;font-weight:650}.bike-picker{display:flex;gap:10px;align-items:center;font-size:.875rem}.bike-picker>select{min-height:44px;min-width:150px;max-width:100%;padding:9px 14px;border:1px solid #d4dde4;background:white;color:var(--ink)}.finance-range{font-size:.875rem;color:var(--muted);margin-bottom:13px}.finance-metrics{margin-bottom:14px}.finance-metrics .metric{min-width:0;padding:22px 20px}.finance-metrics .metric-top>span:first-child{font-size:.875rem;color:#536175}.finance-metrics .metric-value{font-size:clamp(1.35rem,2.1vw,2.25rem);white-space:normal;overflow-wrap:anywhere}.finance-metrics .metric>small{font-size:.8125rem;line-height:1.55}.profit-card.positive{background:#e7f4eb;border-color:#c9e5d3}.profit-card.positive .metric-value{color:#206342}.profit-card.negative{background:#fbe9e6;border-color:#ecc8c0}.profit-card.negative .metric-value{color:#ac392f}.finance-note{font-size:.8125rem;line-height:1.65;color:var(--muted);margin:12px 0 26px;max-width:1060px}.finance-explanation{font-size:.9375rem;color:#485a6a;line-height:1.65;margin:8px 0 24px;max-width:1000px}#finance-result[aria-busy=true]{opacity:.55;transition:opacity .1s}.operations-strip{display:flex;align-items:center;gap:28px;flex-wrap:wrap;border-top:1px solid #dce4e9;border-bottom:1px solid #dce4e9;padding:20px 0;margin:24px 0}.operations-strip>a{display:grid;grid-template-columns:auto auto;column-gap:20px;align-items:baseline}.operations-strip>a>span{font-size:.875rem}.operations-strip>a>strong{font-size:1.25rem;white-space:nowrap}.operations-strip>a>small{grid-column:1/-1;font-size:.8125rem;color:var(--muted);margin-top:4px}.operations-note{margin-left:auto;font-size:.8125rem;color:var(--muted);max-width:200px}.finance-table-wrap{overflow-x:auto}.finance-table{width:100%;border-collapse:collapse;font-size:.875rem;text-align:left;line-height:1.5}.finance-table thead{background:#f1f4f6;color:#627183}.finance-table th,.finance-table td{padding:16px;border-top:1px solid var(--line);vertical-align:middle}.finance-table thead th{font-weight:500;white-space:nowrap;font-size:.875rem}.finance-table tbody tr:nth-child(even){background:#fafbfd}.finance-table tbody tr:hover{background:#f1f7f3}.finance-table td:not(.expense-comment){font-variant-numeric:tabular-nums}.finance-table .text-link{font-size:.875rem}.finance-table .expense-comment{min-width:170px;max-width:340px;overflow-wrap:anywhere}.finance-table small{display:block;color:var(--muted);margin-top:5px;font-size:.8125rem}.finance-table .expense-amount{white-space:nowrap}.expense-table td:nth-child(3){min-width:150px}.expense-table td:first-child{white-space:nowrap}.finance-table tr.voided{color:#84909d}.finance-table tr.voided .expense-amount{text-decoration:line-through}.expense-actions{width:56px}.bike-finance-table td{white-space:nowrap}.bike-finance-table .repair-amount{color:#985b23}.table-footnote{padding:16px 22px;border-top:1px solid var(--line);font-size:.875rem;line-height:1.65;color:var(--muted)}.category-breakdown{padding:0 24px 24px;display:grid;gap:18px}.category-breakdown>div{display:grid;grid-template-columns:1fr auto;gap:8px 20px;font-size:.875rem}.category-track{grid-column:1/-1;height:7px;border-radius:10px;background:#edf1f4;overflow:hidden}.category-track>span{display:block;height:100%;border-radius:10px;background:#7aac91}.bike-finance-link{display:flex;gap:9px;align-items:center;color:var(--primary);font-size:.875rem;font-weight:500;border-top:1px solid var(--line);padding-top:17px;margin-top:18px}.bike-finance-link .icon:last-child{margin-left:auto;width:16px}.dialog-body label.checkbox-line{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px;cursor:pointer}.dialog-body label.checkbox-line>input{display:inline-block;width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:2px 0 0;padding:0;accent-color:var(--primary)}.checkbox-line>span{font-size:.9375rem;font-weight:500}.checkbox-line small{display:block;font-size:.8125rem;color:var(--muted);font-weight:400;margin-top:4px}.sidebar nav{overflow-y:auto;min-height:0}.sidebar .nav-caption{margin-top:32px}
@media(max-width:1100px){.finance-metrics .metric-value{font-size:1.85rem}.finance-controls .text-link{font-size:.875rem}.operations-note{margin-left:0;max-width:none;width:100%}.finance-table th,.finance-table td{padding:14px}}
@media(max-width:680px){.sidebar nav{display:flex;overflow-x:auto;overflow-y:hidden;padding:5px 7px;gap:3px;scrollbar-width:thin}.sidebar nav>.nav-item{flex:0 0 88px;font-size:.75rem;min-height:56px}.sidebar .nav-caption{display:none}.finance-controls{gap:14px}.period-switch{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.period-switch>a{font-size:.875rem;padding:8px;min-height:40px}.bike-picker{width:100%;justify-content:space-between}.bike-picker>select{flex:1;min-width:0}.finance-range{font-size:.8125rem}.finance-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.finance-metrics .metric{padding:17px 13px}.finance-metrics .metric-top{align-items:flex-start}.finance-metrics .metric-top>span:first-child{font-size:.875rem}.finance-metrics .metric-icon{display:none}.finance-metrics .metric-value{font-size:1.5rem;letter-spacing:-.5px}.finance-metrics .metric>small{font-size:.8125rem}.finance-note{font-size:.8125rem}.operations-strip{gap:16px;padding:18px 0;margin:20px 0}.operations-strip>a{width:100%;justify-content:space-between}.operations-strip>a>span{font-size:.875rem}.operations-strip>a>strong{font-size:1.15rem}.operations-note{font-size:.8125rem}.finance-table thead{display:none}.finance-table tbody,.finance-table tr,.finance-table td,.finance-table tbody th{display:block}.finance-table tr{padding:16px;border-top:1px solid var(--line)}.finance-table td,.finance-table tbody th{border:0;padding:5px 0;max-width:none!important;min-width:0!important;white-space:normal!important}.finance-table td[data-label]{display:flex;justify-content:space-between;gap:16px;text-align:right;overflow-wrap:anywhere}.finance-table td[data-label]::before{content:attr(data-label);font-weight:400;color:var(--muted);flex:0 0 100px;text-align:left}.expense-table td.expense-comment{display:block;text-align:left;font-size:.9375rem;padding:10px 0}.expense-table td.expense-comment::before{display:none}.finance-table .expense-actions{width:100%;text-align:right}.bike-finance-table th .text-link{font-size:1rem;padding-bottom:8px}.table-footnote{padding:16px;font-size:.875rem}.category-breakdown{padding:0 16px 20px}.category-breakdown>div{font-size:.875rem}.finance-explanation{font-size:.9375rem}.page-heading .heading-actions{max-width:none;flex-wrap:wrap}.page-heading .heading-actions .button{flex:1 1 42%}.expense-table td.expense-amount strong{white-space:nowrap}#finance-result .panel-heading{flex-wrap:wrap}}
@media(max-width:360px){.finance-metrics{grid-template-columns:1fr}.finance-metrics .metric-value{font-size:1.85rem}}
