:root{--ink:#171916;--muted:#72776f;--paper:#f4f3ee;--white:#fff;--line:#dedfd8;--lime:#dce776;--lime2:#edf2b7;--orange:#ed743f;--blue:#7aa7d9;--red:#d9695f;--shadow:0 18px 55px rgba(24,28,20,.16)}*{box-sizing:border-box}body{margin:0;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.brand{display:flex;align-items:center;font-size:20px;font-weight:800;letter-spacing:-1px}.brand-mark{display:inline-grid;place-items:center;background:var(--lime);color:var(--ink);height:34px;min-width:42px;padding:0 6px;margin-right:2px;transform:skew(-8deg);border-radius:5px}.login-screen{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;background:#151814}.login-art{position:relative;overflow:hidden;padding:48px;color:#f4f3ee;background:radial-gradient(circle at 25% 25%,#3b4430 0,transparent 33%),#151814}.brand-light{color:white}.garage-copy{position:relative;z-index:2;margin:15vh 0 0 6vw}.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:800;color:var(--lime)}.eyebrow.dark{color:#757c55}.garage-copy h1{font-size:clamp(48px,5vw,82px);line-height:.98;letter-spacing:-.055em;margin:18px 0 24px}.garage-copy p{font-size:17px;line-height:1.6;color:#b5b9b1;max-width:480px}.hero-bike{position:absolute;color:#5e6955;width:60%;right:-3%;bottom:4%}.login-panel{display:grid;place-items:center;background:#f8f8f4;padding:32px;border-radius:28px 0 0 28px}.login-box{width:min(390px,100%)}.login-box h2{font-size:34px;letter-spacing:-.04em;margin:12px 0 8px}.muted{color:var(--muted);line-height:1.55}.login-box label,.modal label{display:grid;gap:8px;font-weight:700;margin:24px 0 0}.login-box input,.modal input,.modal select,.modal textarea{width:100%;border:1px solid #d6d8d0;border-radius:11px;background:white;padding:13px 14px;outline:none;transition:.2s}.login-box input:focus,.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:#959d55;box-shadow:0 0 0 3px #e9edc5}.password-wrap{position:relative}.password-wrap button{position:absolute;right:10px;top:8px;border:0;background:transparent;color:#6d7552;font-size:12px;font-weight:700}.primary{border:0;background:var(--ink);color:white;border-radius:10px;padding:13px 17px;font-weight:800}.primary:hover{background:#343a2f}.primary.full{width:100%;display:flex;justify-content:space-between;margin-top:26px}.demo-users{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.demo-users span{width:100%;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700}.demo-users button,.ghost,.today-btn{border:1px solid var(--line);background:white;border-radius:9px;padding:9px 12px;font-weight:700}.mobile-brand{display:none;margin-bottom:36px}.app{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:#191c18;color:white;padding:26px 18px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:220px;z-index:10}.sidebar nav{margin-top:52px;display:grid;gap:7px}.nav-item{border:0;border-radius:9px;padding:12px;text-align:left;background:transparent;color:#aeb4aa;font-weight:700}.nav-item span{display:inline-grid;width:25px}.nav-item.active{background:#30352d;color:white}.side-bottom{margin-top:auto;display:grid;gap:12px}.shift-card{border:1px solid #383d35;padding:12px;border-radius:10px;display:flex;gap:10px;align-items:center}.shift-card small,.profile small{display:block;color:#92998e;font-size:10px}.shift-card b{display:block;font-size:12px;margin-top:2px}.live-dot{width:8px;height:8px;background:var(--lime);border-radius:50%;box-shadow:0 0 0 5px rgba(220,231,118,.1)}.profile{position:relative;border:0;background:transparent;color:white;display:flex;align-items:center;text-align:left;gap:9px;padding:8px}.profile i{margin-left:auto;color:#8b9186}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#586050;font-size:10px;font-weight:800}.logout{border:1px solid #41463d;background:#252923;color:#ddd;border-radius:8px;padding:8px}.app main{grid-column:2;min-width:0}.topbar{height:90px;padding:0 32px;border-bottom:1px solid var(--line);background:#fafaf7;display:flex;align-items:center;justify-content:space-between}.topbar h1{margin:4px 0 0;font-size:22px;letter-spacing:-.03em}.top-actions{display:flex;gap:10px}.ghost span{background:#eef0e8;border-radius:9px;padding:2px 7px;margin-left:6px}.menu-btn{display:none}.calendar-view{padding:22px 30px 40px}.calendar-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:18px}.week-nav{display:flex;gap:7px}.icon-btn{width:38px;height:38px;border-radius:9px;border:1px solid var(--line);background:white;font-size:18px}.week-title{text-align:center}.week-title h2{font-size:21px;margin:0;letter-spacing:-.03em}.week-title span{font-size:11px;color:var(--muted)}.legend{justify-self:end;display:flex;gap:15px;color:var(--muted);font-size:11px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.dot.work{background:#97a33f}.dot.dayoff{background:#bbbdb6}.calendar-shell{overflow-x:auto;border-radius:14px;border:1px solid var(--line);background:white}.calendar-grid{display:grid;grid-template-columns:160px repeat(7,minmax(115px,1fr));min-width:980px}.cal-head{padding:14px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#f7f7f3;min-height:66px}.cal-head .dow{font-size:10px;font-weight:800;color:var(--muted);letter-spacing:.1em}.cal-head b{display:block;font-size:15px;margin-top:5px}.cal-head.today{background:#f2f4d9}.cal-head.today b:after{content:'СЕГОДНЯ';font-size:8px;color:#6d742a;margin-left:5px;vertical-align:2px}.mechanic-cell{min-height:140px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 13px;background:#fbfbf8}.mechanic-cell .avatar{color:#fff;margin-bottom:10px}.mechanic-cell h3{margin:0 0 3px;font-size:14px}.mechanic-cell p{margin:0;color:var(--muted);font-size:10px}.day-cell{position:relative;min-height:140px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px;background:white;transition:.18s;text-align:left;overflow:hidden}.day-cell:hover{background:#fafbf0;box-shadow:inset 0 0 0 2px #d6df78;z-index:1}.day-cell.off{background:#f5f5f1}.cell-top{display:flex;justify-content:space-between;align-items:center}.status-label{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#778037}.off .status-label{color:#999d96}.count{font-size:10px;color:var(--muted)}.slots{margin-top:10px;display:grid;gap:5px}.slot{border-left:3px solid #9ba84c;padding:4px 6px;border-radius:3px;background:#f2f4df;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slot b{font-size:10px;margin-right:4px}.free{font-size:9px;color:#8b9088;margin-top:8px}.status-illo{height:72px;display:grid;place-items:center;font-size:32px;filter:grayscale(.15);opacity:.83}.status-illo small{font-size:9px;display:block;color:#8c9089;margin-top:3px}.capacity{height:3px;background:#eceee5;border-radius:4px;position:absolute;left:10px;right:10px;bottom:9px}.capacity span{display:block;height:100%;background:#9aa64e;border-radius:4px}.mobile-days,.mobile-mechanic{display:none}.backdrop{position:fixed;inset:0;background:rgba(14,16,13,.36);opacity:0;pointer-events:none;transition:.25s;z-index:20}.backdrop.open{opacity:1;pointer-events:auto}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(455px,100%);background:#fafaf7;z-index:21;box-shadow:var(--shadow);transform:translateX(105%);transition:.28s ease;padding:26px;overflow-y:auto}.drawer.open{transform:none}.drawer-head,.modal-head{display:flex;justify-content:space-between;align-items:flex-start}.drawer-head h2,.modal-head h2{font-size:28px;margin:8px 0 0;letter-spacing:-.04em}.shift-summary{margin:22px 0 28px;border-radius:12px;background:#252923;color:white;padding:18px;display:flex;justify-content:space-between;align-items:center}.shift-summary b{display:block;font-size:16px}.shift-summary span{color:#b6bdb1;font-size:11px}.shift-summary .shift-status{background:var(--lime);color:#303526;padding:7px 9px;border-radius:7px;font-weight:800}.drawer-section-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px}.drawer-section-head h3{margin:0}.drawer-section-head span{font-size:10px;color:var(--muted)}.small-add{border:0;background:transparent;color:#68702b;font-weight:800}.appointment-list{display:grid}.appointment{display:grid;grid-template-columns:72px 1fr;gap:12px;padding:18px 0;border-bottom:1px solid var(--line);cursor:pointer}.appointment:hover h4{color:#788129}.appointment .time b{font-size:14px}.appointment .time span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.appointment h4{margin:0 0 5px;font-size:15px}.appointment p{margin:2px 0;color:var(--muted);font-size:11px}.client-line{display:flex;gap:7px;align-items:center}.client-dot{width:20px;height:20px;border-radius:50%;background:#e1e3db;display:inline-grid;place-items:center;font-size:8px;font-weight:800}.empty-state{text-align:center;padding:55px 10px;color:var(--muted)}.empty-state b{display:block;color:var(--ink);font-size:17px;margin:10px}.modal-wrap{position:fixed;inset:0;z-index:30;background:rgba(14,16,13,.55);display:grid;place-items:center;padding:18px;opacity:0;pointer-events:none;transition:.2s}.modal-wrap.open{opacity:1;pointer-events:auto}.modal{background:#fafaf7;border-radius:16px;padding:25px;width:min(600px,100%);box-shadow:var(--shadow);max-height:95vh;overflow:auto}.modal label{margin-top:17px;font-size:12px}.form-row{display:grid;grid-template-columns:1fr 1.2fr .8fr;gap:12px;align-items:end}.form-row.two{grid-template-columns:1fr 1fr}.end-time{border-radius:10px;background:#eeefe8;padding:10px 13px;height:45px}.end-time span{display:block;font-size:8px;color:var(--muted);text-transform:uppercase}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.form-error{display:none;color:#a43e34;background:#f9e8e5;border-radius:8px;padding:10px;margin-top:14px;font-size:11px}.form-error.show{display:block}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,80px);background:#1b1e19;color:white;border-radius:9px;padding:12px 17px;z-index:50;opacity:0;transition:.25s}.toast.show{transform:translate(-50%,0);opacity:1}
@media(max-width:850px){.login-screen{grid-template-columns:1fr}.login-art{display:none}.login-panel{border-radius:0;min-height:100vh}.mobile-brand{display:flex}.app{display:block;padding-bottom:74px}.sidebar{display:none}.app main{display:block}.topbar{height:72px;padding:0 16px}.topbar .eyebrow,.top-actions .ghost{display:none}.topbar h1{font-size:18px}.menu-btn{display:block;border:0;background:transparent}.top-actions .primary{font-size:0;width:40px;height:40px;padding:0}.top-actions .primary::after{content:'＋';font-size:20px}.calendar-view{padding:15px 14px}.calendar-toolbar{grid-template-columns:auto 1fr auto}.week-title h2{font-size:16px}.week-title span,.legend,.today-btn{display:none}.calendar-shell{display:none}.mobile-days{display:flex;gap:7px;overflow:auto;padding-bottom:12px;scrollbar-width:none}.mobile-day{flex:0 0 54px;height:66px;border:1px solid var(--line);background:white;border-radius:10px;display:grid;place-items:center;padding:8px;color:var(--muted)}.mobile-day b{font-size:17px;color:var(--ink)}.mobile-day span{font-size:9px;font-weight:800}.mobile-day.active{background:var(--ink);color:#d8dbd2;border-color:var(--ink)}.mobile-day.active b{color:white}.mobile-mechanic{display:block}.mobile-status{background:#2a2e27;color:white;border-radius:15px;padding:18px;margin:8px 0 16px;display:flex;justify-content:space-between;align-items:center}.mobile-status h2{margin:0 0 5px;font-size:22px}.mobile-status p{margin:0;color:#bbc0b7;font-size:11px}.mobile-status strong{font-size:32px}.next-card{background:var(--lime2);border-radius:15px;padding:18px;margin-bottom:16px}.next-card .tag{font-size:9px;font-weight:800;color:#707934;letter-spacing:.1em}.next-card h3{font-size:22px;margin:10px 0 4px}.next-card p{margin:3px 0;color:#62675d}.mobile-list-title{display:flex;justify-content:space-between;align-items:center;margin:22px 2px 8px}.mobile-list-title h3{margin:0}.mobile-appointment{display:grid;grid-template-columns:54px 1fr auto;align-items:center;border-bottom:1px solid var(--line);padding:15px 2px}.mobile-appointment b{font-size:15px}.mobile-appointment h4{margin:0 0 3px;font-size:13px}.mobile-appointment p{margin:0;color:var(--muted);font-size:10px}.mobile-appointment span{color:#8a9250}.drawer{padding:20px}.modal{padding:20px}.form-row{grid-template-columns:1fr 1fr}.end-time{grid-column:1/-1}.form-row.two{grid-template-columns:1fr}.sidebar.mobile-open{display:flex;width:270px}.drawer-head h2,.modal-head h2{font-size:24px}}
@media(max-width:420px){.week-nav .icon-btn{width:34px}.calendar-toolbar{gap:5px}.login-panel{padding:24px}.login-box h2{font-size:29px}.top-actions .primary{display:block}.form-actions{display:grid;grid-template-columns:1fr 1fr}.demo-users button{flex:1}.drawer{width:100%}}

/* Admin team management and workshop status art */
.work-illo{width:38px;height:30px;color:#69742c;flex:none}.work-illo .spark{stroke:#e36f35}.mechanics-view{padding:30px}.section-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:25px}.section-intro h2{font-size:34px;letter-spacing:-.045em;margin:8px 0}.section-intro p{color:var(--muted);margin:0;max-width:570px}.mechanic-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.mechanic-stats div{background:#222620;color:white;padding:18px;border-radius:12px}.mechanic-stats b{font-size:22px;display:block}.mechanic-stats span{font-size:10px;color:#abb0a7}.mechanics-list{border:1px solid var(--line);border-radius:14px;background:white;overflow:hidden}.mechanic-row{display:grid;grid-template-columns:220px 1fr 130px 90px;gap:18px;align-items:center;padding:18px;border-bottom:1px solid var(--line)}.mechanic-row:last-child{border:0}.mechanic-person{display:flex;align-items:center;gap:11px}.mechanic-person .avatar{color:white}.mechanic-person h3{font-size:14px;margin:0 0 3px}.mechanic-person p{font-size:10px;color:var(--muted);margin:0}.schedule-pills{display:flex;gap:5px}.day-pill{display:grid;place-items:center;width:35px;height:38px;border-radius:8px;background:#f0f1eb;color:#a0a49b;font-size:8px;font-weight:800}.day-pill.workday{background:#eff2ce;color:#657027}.mechanic-state{font-size:10px;font-weight:800}.mechanic-state.active{color:#71802c}.mechanic-state.inactive{color:#9b9e98}.edit-mechanic{border:1px solid var(--line);background:white;border-radius:8px;padding:8px;font-size:11px;font-weight:800}.schedule-title{display:flex;justify-content:space-between;align-items:end;margin-top:24px}.schedule-title h3{margin:0}.schedule-title span{font-size:10px;color:var(--muted)}.schedule-editor{border:1px solid var(--line);border-radius:11px;overflow:hidden;margin-top:10px}.schedule-day{display:grid;grid-template-columns:60px 105px 1fr 1fr;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line)}.schedule-day:last-child{border:0}.schedule-day label{display:flex;align-items:center;gap:6px;margin:0;font-size:10px}.schedule-day input[type=time]{padding:8px}.schedule-day.off input[type=time]{opacity:.35;pointer-events:none}.toggle-row{display:flex!important;justify-content:space-between;align-items:center;padding:14px;background:#eef0e8;border-radius:10px}.toggle-row span small{display:block;color:var(--muted);font-weight:400;margin-top:2px}.toggle-row input{display:none}.toggle-row i{width:42px;height:24px;background:#bfc2ba;border-radius:20px;position:relative}.toggle-row i:after{content:'';width:18px;height:18px;background:white;border-radius:50%;position:absolute;left:3px;top:3px;transition:.2s}.toggle-row input:checked+i{background:#89943e}.toggle-row input:checked+i:after{left:21px}.mechanic-modal{width:min(680px,100%)}
@media(max-width:850px){.mechanics-view{padding:20px 14px}.section-intro{display:grid;align-items:start}.section-intro h2{font-size:28px}.section-intro .primary{width:max-content;font-size:13px!important;height:auto!important;padding:12px 15px!important}.mechanic-stats{grid-template-columns:1fr 1fr}.mechanic-stats div:last-child{display:none}.mechanics-list{border:0;background:transparent;display:grid;gap:10px}.mechanic-row{grid-template-columns:1fr auto;padding:15px;border:1px solid var(--line);border-radius:12px;background:white}.schedule-pills{grid-column:1/-1;order:3}.mechanic-state{grid-column:1}.edit-mechanic{grid-column:2;grid-row:1}.schedule-day{grid-template-columns:48px 90px 1fr 1fr;padding:8px}.schedule-title{align-items:start}.schedule-title span{max-width:160px;text-align:right}}
.mechanic-row{cursor:pointer;transition:.16s}.mechanic-row:hover{background:#fafbf3}.day-pill{border:0;cursor:pointer;transition:.15s}.day-pill:hover{transform:translateY(-2px);box-shadow:0 4px 10px rgba(48,55,35,.12)}.day-pill:focus-visible{outline:2px solid #7e8a35;outline-offset:2px}.day-pill small{display:block;font-size:7px;margin-top:2px}.avatar-editor{display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:center;margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:11px;background:#fff}.avatar-preview{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#69755b;color:#fff;font-size:20px;font-weight:800}.avatar-editor b{font-size:12px}.avatar-editor p{font-size:10px;color:var(--muted);margin:2px 0 9px}.avatar-options,.color-options{display:flex;gap:6px}.avatar-options button{width:36px;height:32px;border:1px solid var(--line);border-radius:8px;background:#f7f7f3;font-size:13px}.avatar-options button.selected{border-color:#778238;background:#eff2ce}.color-options{margin-top:7px}.color-options button{width:19px;height:19px;border:2px solid white;border-radius:50%;box-shadow:0 0 0 1px #d8dad2}.color-options button.selected{box-shadow:0 0 0 2px #222620}.color-options button:nth-child(1){background:#69755b}.color-options button:nth-child(2){background:#8b6858}.color-options button:nth-child(3){background:#556f78}.color-options button:nth-child(4){background:#766879}.color-options button:nth-child(5){background:#a1653f}.inline-hint{font-size:9px;color:#8a905b;margin-top:5px}
.auth-note{display:grid;gap:3px;margin-top:18px;padding:12px;border-radius:10px;background:#eef0e8;color:#59604f;font-size:10px}.auth-note b{color:#252923}.danger,.danger-outline{border-radius:9px;padding:10px 13px;font-weight:800}.danger{border:0;background:#b4473e;color:white}.danger-outline{border:1px solid #dda9a4;background:#fff;color:#a54037}.action-spacer{flex:1}.delete-confirm{display:flex;align-items:center;gap:8px;background:#f8e8e5;padding:10px;border-radius:9px;margin-top:14px}.delete-confirm span{font-weight:800;margin-right:auto}.admin-block{margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:11px;background:#f7f7f3}.admin-block .schedule-title{margin-top:0}.block-note{font-size:9px;color:var(--muted);margin:9px 0 0}.password-generate{position:relative}.password-generate input{padding-right:112px}.password-generate button{position:absolute;right:6px;top:6px;border:0;border-radius:7px;background:#eef0e8;padding:7px;font-size:9px;font-weight:800}.exception-form{display:grid;grid-template-columns:1.3fr 1.2fr .8fr .8fr auto;gap:8px;align-items:end;margin-top:10px}.exception-form label{margin:0;font-size:9px}.exception-form input,.exception-form select{padding:9px}.exceptions-list{display:grid;gap:6px;margin-top:10px}.exception-item{display:grid;grid-template-columns:100px 1fr auto;gap:10px;align-items:center;background:white;border:1px solid var(--line);border-radius:8px;padding:9px}.exception-item b{font-size:10px}.exception-item span{font-size:10px;color:var(--muted)}.remove-exception{border:0;background:transparent;color:#a54037;font-size:10px;font-weight:800}.empty-exceptions{font-size:10px;color:var(--muted);padding:10px;text-align:center}.exception-badge{display:inline-flex;align-items:center;gap:4px;margin-top:5px;padding:3px 6px;border-radius:6px;background:#fff0dd;color:#9b6127;font-size:8px;font-weight:800}
@media(max-width:850px){.exception-form{grid-template-columns:1fr 1fr}.exception-form .ghost{grid-column:1/-1}.exception-item{grid-template-columns:85px 1fr auto}.delete-confirm{flex-wrap:wrap}.action-spacer{display:none}}
.shift-card{width:100%;color:white;text-align:left;cursor:pointer}.shift-card i{margin-left:auto;color:#9ca393}.service-hours-card{border:0;background:#222620;color:white;padding:18px;border-radius:12px;text-align:left;cursor:pointer;transition:.16s}.service-hours-card:hover{background:#343a31;transform:translateY(-1px)}.service-hours-card b{font-size:22px;display:block}.service-hours-card span{font-size:10px;color:#abb0a7}.compact-modal{width:min(460px,100%)}
@media(max-width:850px){.mechanic-stats>:last-child{display:none}}
.brand-logo{display:block;width:112px;height:70px;object-fit:contain;object-position:left center;border-radius:10px}.login-art .brand-logo{width:150px;height:96px}.login-logo{width:126px;height:82px}.status-illo{height:86px;display:grid;grid-template-rows:64px auto;gap:2px;place-items:center;filter:none;opacity:1}.status-illo img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 4px 12px rgba(26,29,23,.13)}.status-illo small{margin:0}.work-illo{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid #eef1ce;box-shadow:0 2px 7px rgba(35,39,31,.14)}.mobile-status-image{width:76px;height:76px;border-radius:50%;object-fit:cover;border:3px solid #dce776;box-shadow:0 8px 22px rgba(0,0,0,.25);flex:none}.mobile-status>div{min-width:0}.mobile-status p{white-space:nowrap}.day-cell.off{padding-bottom:7px}
.work-illo{width:64px;height:64px;border:2px solid #fff;box-shadow:0 4px 12px rgba(26,29,23,.13)}
.day-cell,.mechanic-cell{min-height:190px}
.mechanic-cell.is-own{background:#f3f5dc;box-shadow:inset 4px 0 #9aa64e}.mechanic-cell h3 small{display:inline-block;margin-left:5px;padding:2px 5px;border-radius:5px;background:#dce776;color:#3e4426;font-size:7px;vertical-align:2px}.day-cell.readonly{cursor:pointer}.day-cell.readonly:hover{box-shadow:inset 0 0 0 1px #dfe1d9;background:#fafaf7}.appointment.readonly{cursor:default}.appointment.readonly:hover h4{color:inherit}
.day-cell .cell-top{min-height:68px;align-items:flex-start;padding-right:70px}
.day-cell .work-illo,.day-cell .status-illo img{position:absolute;top:8px;right:8px;width:64px;height:64px;margin:0}
.day-cell .status-illo{height:auto;display:block;text-align:center;filter:none;opacity:1}
.day-cell .status-illo small{display:block;margin:0;color:#8c9089}
.day-cell.off .count{display:none}
.field-hint{font-size:10px;font-weight:500;color:var(--muted);margin-top:-2px}
.day-cell .cell-top{min-height:78px;justify-content:center;padding-right:0}
.day-cell .status-label{display:none}
.day-cell .work-illo,.day-cell .status-illo img{top:10px;right:auto;left:50%;transform:translateX(-50%)}
.day-cell .slots{margin-top:0}
.avatar img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}
.avatar-editor{display:grid;grid-template-columns:76px 1fr;gap:16px;align-items:center;margin-top:18px;padding:15px;border:1px solid var(--line);border-radius:12px;background:#f3f4ee}
.avatar-editor .avatar-preview{width:76px;height:76px;background:#596151;color:white;font-size:12px;overflow:hidden}
.avatar-editor label{margin:0}
.avatar-editor small{color:var(--muted);font-weight:500;line-height:1.4}
@media(max-width:520px){.avatar-editor{grid-template-columns:58px 1fr}.avatar-editor .avatar-preview{width:58px;height:58px}}
.access-email-field{grid-column:1/-1}
.block-note{padding:10px 12px;border-radius:9px;background:#eef0e8;font-size:10px;line-height:1.45}
.block-note b{display:block;color:var(--ink);margin-bottom:3px}
.exception-form{grid-template-columns:1fr 1fr 1.1fr .75fr .75fr auto}
@media(max-width:850px){.exception-form{grid-template-columns:1fr 1fr}.exception-form .ghost{grid-column:1/-1}}
@media(max-width:850px){.mobile-brand{margin-bottom:18px}.mobile-brand .brand-logo{width:136px;height:88px}.sidebar .brand-logo{width:120px;height:76px}.mobile-status{gap:16px}.mobile-status-image{width:70px;height:70px}}
html,body{touch-action:manipulation;overscroll-behavior-x:none;-webkit-text-size-adjust:100%}
.credential-hint{display:block;color:#737a66;font-size:9px;line-height:1.4;margin-top:7px;font-weight:600}
@media(max-width:850px){.mobile-days{display:none}.sidebar{display:flex;width:min(82vw,300px);transform:translateX(-105%);transition:transform .24s ease,visibility .24s;visibility:hidden}.sidebar.mobile-open{display:flex;width:min(82vw,300px);transform:translateX(0);visibility:visible}.nav-backdrop{position:fixed;inset:0;background:rgba(14,16,13,.45);opacity:0;pointer-events:none;transition:opacity .2s;z-index:9}.nav-backdrop.open{opacity:1;pointer-events:auto}.mobile-week-caption{display:flex;align-items:end;justify-content:space-between;margin:10px 2px 12px}.mobile-week-caption h3{font-size:18px;margin:4px 0 0}.mobile-week-caption>span{font-size:9px;color:var(--muted)}.mobile-week-grid{display:grid;grid-template-columns:minmax(68px,1.65fr) repeat(7,minmax(32px,1fr));border:1px solid var(--line);border-radius:13px;overflow:hidden;background:white;box-shadow:0 6px 20px rgba(31,35,29,.06)}.mobile-week-corner,.mobile-week-head{min-height:48px;background:#f3f4ee;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;place-items:center}.mobile-week-corner{padding:6px;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.mobile-week-head span{font-size:7px;font-weight:900;color:var(--muted)}.mobile-week-head b{font-size:13px}.mobile-week-head.today{background:#eef2c9}.mobile-week-person{min-height:58px;display:flex;align-items:center;gap:5px;padding:5px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.mobile-week-person.is-own{background:#f3f5dc;box-shadow:inset 3px 0 #9aa64e}.mobile-week-person .avatar{width:24px;height:24px;flex:none;color:#fff;font-size:7px}.mobile-week-person>span:last-child{min-width:0;display:grid}.mobile-week-person b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-week-person small{font-size:7px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-week-cell{min-width:0;min-height:58px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;display:grid;place-items:center;align-content:center;gap:2px;padding:2px}.mobile-week-cell span{font-size:14px;font-weight:900;color:#7b852f}.mobile-week-cell small{font-size:6px;color:#858a82}.mobile-week-cell.today{box-shadow:inset 0 3px #b8c44e}.mobile-week-cell:not(.work){background:#f4f4f1}.mobile-week-cell:not(.work) span{color:#b1b4ae}.mobile-week-cell.vacation{background:#f6f0df}.mobile-week-cell.absent{background:#f8e9e5}.mobile-week-cell.readonly:active{background:#eff0eb}.mobile-week-hint{display:flex;gap:10px;flex-wrap:wrap;margin:10px 2px 0;color:var(--muted);font-size:8px}.mobile-week-hint .hint-work{color:#727c2f}.mobile-mechanic{overflow:hidden}}
@media(max-width:850px){.mobile-team-head{display:flex;justify-content:space-between;align-items:end;margin:10px 2px 12px}.mobile-team-head h3{margin:4px 0 0;font-size:18px}.mobile-team-head>span{font-size:10px;font-weight:800;color:var(--muted);background:#eef0e8;border-radius:20px;padding:6px 9px}.mobile-team-list{display:grid;gap:12px}.mobile-mechanic-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:white;box-shadow:0 5px 18px rgba(31,35,29,.05)}.mobile-mechanic-card.is-own{border-color:#aeb957;box-shadow:0 0 0 2px #edf1c9}.mobile-mechanic-card.is-readonly{background:#fbfbf8}.mobile-mechanic-summary{width:100%;display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;border:0;background:transparent;padding:14px;text-align:left}.mobile-mechanic-summary .avatar{width:42px;height:42px;color:white}.mobile-mechanic-info{display:grid;gap:2px;min-width:0}.mobile-name-line{display:flex;align-items:center;gap:7px}.mobile-name-line>b{font-size:15px}.mobile-name-line em{font-style:normal;font-size:7px;letter-spacing:.08em;background:#dce776;color:#3f4527;border-radius:5px;padding:3px 5px}.mobile-name-line .readonly-badge{background:#eceee7;color:#7e837a}.mobile-mechanic-info>small{font-size:9px;color:var(--muted)}.mobile-shift{font-size:10px;font-weight:800;color:#8b9088;margin-top:3px}.mobile-shift.work{color:#71802c}.mobile-count{text-align:right;display:grid;gap:1px}.mobile-count>b{font-size:18px}.mobile-count>small{font-size:8px;color:var(--muted)}.mobile-card-appointments{border-top:1px solid var(--line);padding:0 14px}.mobile-card-appointments>button{width:100%;display:grid;grid-template-columns:48px 1fr auto;gap:8px;align-items:center;border:0;border-bottom:1px solid var(--line);background:transparent;padding:11px 0;text-align:left}.mobile-card-appointments>button:last-child{border-bottom:0}.mobile-card-appointments>button>b{font-size:13px}.mobile-card-appointments>button>span{display:grid;min-width:0}.mobile-card-appointments strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-card-appointments small{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-card-appointments i{font-style:normal;color:#879044}.mobile-card-appointments .mobile-more{display:block;color:#68702b;font-size:10px;font-weight:800;text-align:center}.mobile-free{width:100%;border:0;border-top:1px solid var(--line);background:#fafbf1;color:#747c36;padding:12px 14px;text-align:left;font-size:10px;font-weight:800}.mobile-mechanic-card.is-readonly .mobile-free{background:#f7f7f4;color:#8c9188}}
@media(max-width:850px){.mobile-week-number{display:block;margin-top:3px;color:var(--muted);font-size:9px;font-weight:700}.mobile-week-cell{cursor:pointer;touch-action:manipulation}.mobile-week-cell:active{background:#edf1cf;transform:scale(.96)}.mobile-status-mark{position:relative;display:grid;place-items:center}.mobile-status-mark img{display:block;width:28px;height:28px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 7px rgba(26,29,23,.2)}.mobile-week-cell:not(.work) .mobile-status-mark img{filter:none;opacity:1}.mobile-appointment-count{position:absolute;right:-5px;top:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:10px;background:#222620;color:#fff;font-size:9px;line-height:16px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.28)}.mobile-week-cell small{font-size:7px;font-weight:700}.modal-wrap{padding:8px;align-items:start;overflow-y:auto}.modal{width:100%;max-height:none;margin:8px 0;padding:18px}.modal form,.form-row,.form-row>*,.schedule-day>*,.exception-form>*{min-width:0}.modal input,.modal select,.modal textarea{min-width:0;max-width:100%}.booking-context,.form-row,.form-row.two{grid-template-columns:1fr}.end-time{grid-column:auto;height:auto;min-height:45px}.schedule-title{display:grid;grid-template-columns:1fr;gap:4px}.schedule-title span{max-width:none;text-align:left}.schedule-day{grid-template-columns:42px minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;gap:8px;padding:11px 10px}.schedule-day>b{grid-column:1;grid-row:1;align-self:center}.schedule-day>label{grid-column:2/4;grid-row:1}.schedule-day .schedule-start{grid-column:2;grid-row:2}.schedule-day .schedule-end{grid-column:3;grid-row:2}.schedule-day input[type=time]{width:100%;padding:10px 6px;text-align:center}.exception-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.exception-form label:nth-child(1),.exception-form label:nth-child(2),.exception-form button{grid-column:1/-1}.exception-form input,.exception-form select{width:100%;min-width:0}.exception-form button{width:100%;padding:12px}.admin-block{padding:12px}.form-actions{grid-template-columns:1fr!important}.form-actions .action-spacer{display:none}.form-actions button{width:100%}.password-generate input{padding-right:105px}}
@media(max-width:850px){.form-actions{display:grid}}
@media(max-width:850px){.mobile-week-cell{position:relative;display:block;min-height:62px;padding:0;overflow:hidden;background:#151814;border-right:2px solid #f8f8f4;border-bottom:2px solid #f8f8f4;box-shadow:inset 0 0 0 1px rgba(14,16,13,.58);isolation:isolate}.mobile-week-cell:not(.work),.mobile-week-cell.vacation,.mobile-week-cell.absent{background:#151814}.mobile-week-cell:active{transform:scale(.96);filter:brightness(.86)}.mobile-week-cell.today{box-shadow:inset 0 0 0 3px #dce776;z-index:1}.mobile-cell-image{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center;border:0;z-index:-1}.mobile-task-stripes{position:absolute;left:0;right:0;bottom:0;height:26%;display:flex;align-items:stretch;justify-content:center;gap:2px;padding:0 3px;background:rgba(20,24,17,.28);border-top:1px solid rgba(255,255,255,.72);overflow:hidden;z-index:2}.mobile-task-stripes i{display:block;flex:1;min-width:0;background:#b9cb4f;border-left:1px solid rgba(255,255,255,.8);border-right:1px solid rgba(28,32,20,.35);box-shadow:0 0 5px rgba(207,225,91,.65);transform:skewX(-15deg)}.mobile-task-stripes em{position:absolute;right:1px;top:1px;width:11px;height:11px;border-radius:50%;background:#171916;color:#fff;font-size:8px;font-style:normal;font-weight:900;line-height:11px;text-align:center}.mobile-week-cell>.mobile-status-mark,.mobile-week-cell>small{display:none}}
@media(max-width:850px){.mobile-task-stripes{display:none}.mobile-task-count{position:absolute;right:3px;bottom:3px;z-index:3;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:rgba(20,23,18,.86);border:1px solid rgba(255,255,255,.92);color:#fff;font-size:10px;font-weight:900;line-height:1;box-shadow:0 2px 7px rgba(0,0,0,.32)}.mobile-task-count.has-tasks{background:#c8dc55;color:#1d2118;border-color:#f4ffaf}.mobile-week-grid.mechanic-focus .mobile-week-person:not(.is-own){opacity:.48;filter:grayscale(.3) brightness(1.3)}.mobile-week-grid.mechanic-focus .mobile-week-cell:not(.is-own){background:#eef0eb}.mobile-week-grid.mechanic-focus .mobile-week-cell:not(.is-own) .mobile-cell-image{opacity:.3;filter:grayscale(.48) brightness(1.5)}.mobile-week-grid.mechanic-focus .mobile-week-cell:not(.is-own) .mobile-task-count{opacity:.42}.mobile-week-grid.mechanic-focus .mobile-week-cell.is-own{border-bottom-color:#c7d75f}.mobile-week-grid.mechanic-focus .mobile-week-person.is-own{box-shadow:inset 4px 0 #9fac43}}
@media(max-width:850px){.mobile-week-cell{display:grid;place-items:center;min-height:62px;padding:5px;background:#fbfcf8;border-right:1px solid #dde0d7;border-bottom:1px solid #dde0d7;box-shadow:none;overflow:hidden}.mobile-week-cell.work{background:#fbfcf8}.mobile-week-cell.off{background:#eff0ed}.mobile-week-cell.vacation{background:#f5f0e3}.mobile-week-cell.absent{background:#f5e9e7}.mobile-week-cell.slacking{background:#eeecef}.mobile-cell-image{display:none}.mobile-task-count{position:relative;right:auto;bottom:auto;width:22px;height:22px;background:transparent;border:1.5px solid #829044;color:#74803d;font-size:10px;box-shadow:none}.mobile-task-count.has-tasks{background:#78863b;border-color:#78863b;color:#fff;box-shadow:0 2px 5px rgba(73,84,35,.18)}.mobile-load{position:absolute;left:4px;right:4px;bottom:4px;height:2px;border-radius:2px;background:#dfe2d9;overflow:hidden}.mobile-load i{display:block;height:100%;border-radius:inherit;background:#899747}.mobile-status-symbol{display:grid;place-items:center;width:24px;height:24px;color:#8b8f88;font:700 18px/1 Arial,sans-serif}.mobile-week-cell.vacation .mobile-status-symbol{color:#9b8352;font-size:17px}.mobile-week-cell.absent .mobile-status-symbol{color:#a26d68;font-size:19px}.mobile-week-cell.slacking .mobile-status-symbol{color:#807784}.mobile-week-cell.today{box-shadow:inset 0 3px #a9b653}.mobile-week-cell:active{transform:scale(.96);filter:brightness(.94)}.mobile-week-grid.mechanic-focus .mobile-week-person:not(.is-own){opacity:.5;filter:grayscale(.35) brightness(1.15)}.mobile-week-grid.mechanic-focus .mobile-week-cell:not(.is-own){opacity:.52;filter:saturate(.55)}.mobile-week-grid.mechanic-focus .mobile-week-cell:not(.is-own) .mobile-task-count{opacity:1}.mobile-week-grid.mechanic-focus .mobile-week-cell.is-own{opacity:1;border-bottom-color:#c9d197}.mobile-week-grid.mechanic-focus .mobile-week-person.is-own{box-shadow:inset 4px 0 #8f9c49}.mobile-week-hint{gap:8px 12px}.mobile-week-hint span{position:relative;padding-left:9px}.mobile-week-hint span:before{content:'·';position:absolute;left:1px;font-weight:900;color:#7c8840}}
@media(max-width:850px){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.topbar{height:calc(72px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 16px 0}.sidebar{padding:calc(20px + env(safe-area-inset-top)) calc(18px + env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) calc(18px + env(safe-area-inset-left))}.drawer{padding:calc(20px + env(safe-area-inset-top)) calc(20px + env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) calc(20px + env(safe-area-inset-left))}.modal-wrap{padding:calc(8px + env(safe-area-inset-top)) calc(8px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left))}.login-panel{padding:calc(24px + env(safe-area-inset-top)) calc(24px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(24px + env(safe-area-inset-left))}.toast{bottom:calc(18px + env(safe-area-inset-bottom))}.topbar .menu-btn,.topbar .primary,.drawer-head .icon-btn,.modal-head .icon-btn{min-width:44px;min-height:44px;touch-action:manipulation}}
