@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--bg:#070809;--panel:#0d1013;--panel2:#111419;--line:rgba(255,255,255,.085);--line2:rgba(255,255,255,.13);--text:#f4f6f8;--muted:#8e97a2;--soft:#b8c0c8;--red:#ff3a3a;--red2:#d91921;--green:#58e99d;--blue:#71a8ff;--yellow:#f4d37c;--shadow:0 26px 80px rgba(0,0,0,.42);--radius:20px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,sans-serif;background:radial-gradient(circle at 13% 0%,rgba(255,38,38,.085),transparent 28%),radial-gradient(circle at 90% 10%,rgba(255,255,255,.025),transparent 24%),var(--bg);color:var(--text)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 15%,rgba(255,255,255,.014) 50%,transparent 85%)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.glass{background:linear-gradient(145deg,rgba(19,22,26,.92),rgba(9,11,13,.88));border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(22px)}
.reveal{animation:rise .45s ease both}@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes pulse{50%{transform:scale(1.08);opacity:.65}}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden}.login-orb{position:absolute;width:420px;height:420px;border-radius:50%;filter:blur(90px);background:rgba(255,35,35,.12);animation:pulse 6s ease-in-out infinite}.orb-a{left:10%;top:5%}.orb-b{right:5%;bottom:0;animation-delay:1.5s}.login-card{width:min(430px,100%);padding:38px;border-radius:28px;position:relative;z-index:1}.login-logo{width:88px;height:88px;border-radius:24px;object-fit:cover;box-shadow:0 14px 50px rgba(255,28,28,.18);margin-bottom:22px}.eyebrow{font-size:10px;letter-spacing:.19em;color:#a6adb6;font-weight:700}.login-card h1{font-size:34px;line-height:1.02;margin:10px 0 12px;letter-spacing:-.05em}.login-card p{color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 28px}.login-hint{text-align:center;color:#69717b;font-size:11px;margin-top:18px}
label{display:block;color:#aeb6bf;font-size:12px;margin:0 0 14px}input,select,textarea{width:100%;background:#090b0d;border:1px solid var(--line);color:var(--text);border-radius:12px;padding:13px 14px;outline:none;transition:.2s}input:focus,select:focus,textarea:focus{border-color:rgba(255,52,52,.65);box-shadow:0 0 0 4px rgba(255,52,52,.08)}textarea{min-height:90px;resize:vertical}.primary{border:0;border-radius:12px;background:linear-gradient(135deg,#ff4a4a,#d91b22);color:#fff;font-weight:700;padding:13px 18px;box-shadow:0 12px 30px rgba(255,35,35,.18);transition:.2s}.primary:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(255,35,35,.25)}.wide{width:100%}
.app{min-height:100vh}.sidebar{position:fixed;left:18px;top:18px;bottom:18px;width:250px;border-radius:24px;padding:18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:11px;align-items:center;padding:7px 5px 20px;border-bottom:1px solid var(--line)}.brand img{width:40px;height:40px;border-radius:12px}.brand b{font-size:12px;display:block}.brand span{font-size:9px;letter-spacing:.18em;color:#8f98a3}.sidebar-caption{font-size:8px;letter-spacing:.16em;color:#59616b;font-weight:700;padding:18px 7px 8px}#sideNav{display:grid;gap:5px}.nav-btn{display:flex;align-items:center;gap:12px;color:#8e97a2;border:1px solid transparent;background:transparent;padding:12px;border-radius:12px;text-align:left;transition:.2s}.nav-btn:hover{background:rgba(255,255,255,.035);color:#fff}.nav-btn.active{background:linear-gradient(90deg,rgba(255,50,50,.13),rgba(255,255,255,.025));border-color:rgba(255,70,70,.12);color:#fff;box-shadow:inset 2px 0 0 rgba(255,65,65,.7)}.nav-btn svg{width:18px;height:18px}.sidebar-bottom{margin-top:auto;display:grid;gap:4px;padding-top:14px;border-top:1px solid var(--line)}.ghost{border:1px solid transparent;background:transparent;color:#858e99;text-align:left;padding:10px;border-radius:10px;display:flex;gap:10px;align-items:center;font-size:11px}.ghost svg{width:16px;height:16px}.ghost:hover{background:rgba(255,255,255,.04);color:#fff}
.main{margin-left:286px;padding:18px 30px 110px;max-width:1500px}.topbar{height:60px;display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.top-actions{display:flex;align-items:center;gap:9px}.user-badge{font-size:11px;color:#a8b0ba;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}.sync-state{display:flex;align-items:center;gap:6px;color:#79d9a5;font-size:10px;padding:8px 10px;border:1px solid rgba(88,233,157,.12);background:rgba(88,233,157,.035);border-radius:10px}.sync-state svg{width:14px;height:14px}.sync-state.offline{color:#aab1ba}.icon-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:11px;background:#0d0f12;color:#cbd1d7;display:grid;place-items:center}.icon-btn svg{width:17px;height:17px}.mobile-brand,#mobileMenu{display:none}.mobile-brand span{display:block;color:#727b86;font-size:7px;letter-spacing:.16em}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:16px 0 24px}.page-head h1{font-size:40px;letter-spacing:-.05em;margin:5px 0 7px}.page-head p{color:var(--muted);margin:0;font-size:13px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.stat{padding:18px;border-radius:17px;position:relative;overflow:hidden}.stat:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;right:-35px;top:-45px;background:rgba(255,255,255,.025)}.stat-icon{position:absolute;right:14px;top:14px;color:#646d78}.stat-icon svg{width:18px;height:18px}.stat small{color:#8f98a3;font-size:11px}.stat strong{display:block;font-size:27px;margin-top:10px;letter-spacing:-.04em}.stat span{display:block;color:#68717c;font-size:9px;margin-top:7px}.positive{color:var(--green)!important}.negative{color:#ff7a7a!important}
.dashboard-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px}.lower-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;margin-top:14px}.panel{border:1px solid var(--line);background:rgba(15,17,20,.78);border-radius:18px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px;border-bottom:1px solid var(--line)}.panel-head h3{margin:0;font-size:14px}.panel-head span{display:block;font-size:10px;color:var(--muted);margin-top:4px}.visit-list{padding:6px}.visit-card{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:14px;padding:13px 12px;border-radius:12px;transition:.2s;cursor:pointer}.visit-card:hover{background:rgba(255,255,255,.025);transform:translateX(2px)}.visit-time{font-size:17px;font-weight:700}.visit-info{min-width:0}.visit-info b,.visit-info span,.visit-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visit-info b{font-size:12px}.visit-info span{color:#b2bac2;font-size:11px;margin-top:3px}.visit-info small{color:#707985;font-size:10px;margin-top:4px}.visit-right{text-align:right}.visit-right strong{display:block;font-size:11px;margin-top:5px}.compact .visit-card{grid-template-columns:52px 1fr auto}.quick-grid{display:grid;grid-template-columns:1fr 1fr;padding:8px;gap:5px}.quick-grid button{position:relative;text-align:left;background:transparent;color:var(--text);border:1px solid transparent;border-radius:14px;padding:13px;min-height:104px;transition:.2s}.quick-grid button:hover{background:rgba(255,255,255,.025);border-color:var(--line)}.quick-grid b,.quick-grid small{display:block}.quick-grid b{font-size:12px;margin-top:11px}.quick-grid small{font-size:10px;color:#747d88;margin-top:4px}.quick-grid i{position:absolute;right:12px;top:12px;font-style:normal;color:#818a95}.quick-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.035);color:#aeb6bf}.quick-icon svg{width:17px;height:17px}.alert-list{padding:7px}.alert-item{display:flex;gap:11px;padding:12px;border-radius:11px}.alert-dot{width:7px;height:7px;border-radius:50%;background:#777;margin-top:5px;flex:0 0 auto}.alert-dot.info{background:var(--blue)}.alert-dot.warn{background:var(--yellow)}.alert-dot.danger{background:var(--red)}.alert-item b{font-size:11px}.alert-item p{margin:4px 0 0;color:#707985;font-size:10px;line-height:1.45}.large-empty{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.empty-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;border:1px solid var(--line2);color:#8d96a1;margin-bottom:5px}.empty{padding:38px 18px;text-align:center;color:#69727d;font-size:12px}.small-btn{padding:8px 10px;border:1px solid var(--line);background:#0d0f12;color:#b9c0c8;border-radius:9px;font-size:10px;transition:.2s}.small-btn:hover{color:#fff;background:#15181c}.danger-btn{color:#ff8080}.badge{font-size:9px;padding:6px 8px;border-radius:8px;background:rgba(255,255,255,.05);color:#b7bec7;white-space:nowrap}.badge.green{color:#66eaa4;background:rgba(72,226,150,.08)}.badge.red{color:#ff8080;background:rgba(255,70,70,.08)}.badge.yellow{color:#f5d47b;background:rgba(245,212,123,.08)}.badge.blue{color:#7db1ff;background:rgba(113,168,255,.08)}
.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:14px}.toolbar .search{max-width:360px}.toolbar .spacer{flex:1}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th{color:#707985;font-size:9px;text-transform:uppercase;letter-spacing:.08em;text-align:left;padding:12px;border-bottom:1px solid var(--line)}.table td{padding:13px 12px;border-bottom:1px solid rgba(255,255,255,.055);font-size:11px;color:#d8dde2}.table tbody tr{cursor:pointer}.table tbody tr:hover td{background:rgba(255,255,255,.018)}.table tr:last-child td{border-bottom:0}.cell-main{display:flex;align-items:center;gap:10px}.cell-main small{display:block;color:#66707b;font-size:9px;margin-top:3px;max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,#252a31,#121519);border:1px solid var(--line);font-size:11px}.count-pill{font-size:9px;color:#aeb6bf;border:1px solid var(--line);padding:5px 7px;border-radius:8px;background:rgba(255,255,255,.025)}
.car-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.car-card{position:relative;border:1px solid var(--line);background:linear-gradient(145deg,rgba(17,20,24,.92),rgba(9,11,13,.9));border-radius:18px;padding:16px;min-height:200px;overflow:hidden;cursor:pointer;transition:.25s}.car-card:before{content:"";position:absolute;width:130px;height:130px;right:-65px;top:-65px;border-radius:50%;background:rgba(255,45,45,.06)}.car-card:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.14);box-shadow:0 20px 55px rgba(0,0,0,.25)}.car-top{display:flex;justify-content:space-between;align-items:center}.car-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.04);border:1px solid var(--line);font-weight:700}.car-card h3{font-size:17px;margin:22px 0 7px}.plate{display:inline-block;font-size:10px;letter-spacing:.1em;padding:6px 9px;border:1px solid var(--line2);border-radius:7px;color:#d7dce1;background:#0a0c0f}.car-meta{display:flex;justify-content:space-between;gap:10px;margin-top:18px;color:#747d88;font-size:9px}.car-meta span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.car-foot{display:flex;justify-content:space-between;margin-top:18px;padding-top:12px;border-top:1px solid var(--line);color:#929ba5;font-size:9px}.car-foot b{color:#fff}
.calendar-panel{padding-bottom:10px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;border-bottom:1px solid var(--line)}.calendar-toolbar b{display:block;text-transform:capitalize}.calendar-toolbar span{display:block;color:#68717c;font-size:10px;margin-top:4px}.cal-nav{display:flex;gap:6px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:8px}.day-name{text-align:center;color:#6f7781;font-size:9px;padding:6px}.day{min-height:118px;border:1px solid var(--line);background:rgba(14,16,19,.8);border-radius:14px;padding:9px;transition:.2s;cursor:pointer}.day:hover{border-color:rgba(255,255,255,.16);transform:translateY(-1px)}.day.today{box-shadow:inset 0 2px 0 var(--red)}.day-num{font-size:10px;color:#aeb6c0;margin-bottom:7px}.event{font-size:9px;line-height:1.35;padding:6px;border-radius:8px;background:rgba(255,52,52,.1);border-left:2px solid var(--red);margin-bottom:5px;cursor:pointer}.event b,.event span,.event small{display:block}.event b{color:#fff}.event span{color:#a9b1bb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event small{color:#69727d;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.finance-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.month-switch{display:flex;align-items:center;gap:9px}.month-switch b{text-transform:capitalize;font-size:13px;min-width:170px;text-align:center}.history-head{display:flex;gap:9px;align-items:center;padding:9px 0 13px;color:#858e99;font-size:10px}.history-head b{color:#e4e7ea}.history-row{display:grid;grid-template-columns:80px 1fr 1fr auto;gap:8px;align-items:center;border-top:1px solid var(--line);padding:10px 0;font-size:10px;color:#858e99}.history-row b{color:#dfe3e7}.history-row strong{color:#e8ebee}.detail-history{margin-bottom:17px;border:1px solid var(--line);border-radius:13px;padding:8px 12px;background:rgba(255,255,255,.018)}.service-list{display:grid;gap:6px;margin-bottom:14px}.service-item{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.02)}.service-item b,.service-item span{display:block}.service-item b{font-size:11px}.service-item span{font-size:9px;color:#707985;margin-top:3px}.service-item strong{font-size:11px}
.actions{display:flex;gap:7px}.fab{position:fixed;right:28px;bottom:28px;width:56px;height:56px;border-radius:17px;border:1px solid rgba(255,255,255,.15);background:linear-gradient(135deg,#ff4b4b,#cf171e);color:#fff;font-size:28px;box-shadow:0 16px 40px rgba(255,30,30,.25);z-index:25;transition:.2s}.fab:hover{transform:translateY(-3px) scale(1.03)}.bottom-nav{display:none}
.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:18px}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.74);backdrop-filter:blur(8px)}.modal-card{position:relative;width:min(700px,100%);max-height:90vh;overflow:auto;border-radius:22px;padding:24px;transform:translateY(10px);opacity:0}.modal-card.modal-in{animation:modalIn .2s ease forwards}@keyframes modalIn{to{transform:none;opacity:1}}.modal-close{position:absolute;right:14px;top:12px;width:34px;height:34px;border:1px solid var(--line);background:#101215;color:#aeb5bd;border-radius:9px;font-size:22px}.modal-card h2{margin:7px 0 18px;font-size:25px;letter-spacing:-.04em}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.help-grid>div{border:1px solid var(--line);background:rgba(255,255,255,.025);border-radius:13px;padding:13px}.help-grid b{font-size:12px}.help-grid p{color:var(--muted);font-size:11px;line-height:1.5;margin:6px 0 0}
.toast{position:fixed;top:20px;left:50%;transform:translate(-50%,-130%);opacity:0;z-index:100;background:#15181c;border:1px solid var(--line);border-radius:12px;padding:11px 15px;font-size:12px;box-shadow:var(--shadow);transition:.25s}.toast.show{transform:translate(-50%,0);opacity:1}.loading{display:inline-flex;gap:5px;align-items:center;color:#9da6b0;font-size:11px}.loading i{width:5px;height:5px;background:#aab1ba;border-radius:50%;animation:dot 1s infinite}.loading i:nth-child(2){animation-delay:.15s}.loading i:nth-child(3){animation-delay:.3s}@keyframes dot{50%{opacity:.25;transform:translateY(-2px)}}
@media(max-width:1100px){.sidebar{display:none}.main{margin-left:0;padding:14px 16px 92px}.stats{grid-template-columns:1fr 1fr}.dashboard-grid,.lower-grid{grid-template-columns:1fr}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;height:68px;background:rgba(9,10,12,.94);border-top:1px solid var(--line);backdrop-filter:blur(20px);z-index:20}.bottom-nav .nav-btn{display:grid;justify-items:center;align-content:center;gap:4px;padding:7px;border-radius:0;font-size:9px}.bottom-nav .nav-btn svg{width:17px;height:17px}.fab{right:18px;bottom:83px}.mobile-brand{display:flex;align-items:center;gap:8px;font-size:11px}.mobile-brand img{width:31px;height:31px;border-radius:9px}#mobileMenu{display:grid}.topbar{height:48px}.page-head h1{font-size:32px}.car-grid{grid-template-columns:1fr 1fr}.calendar{gap:3px}.day{min-height:94px;padding:6px}.event{font-size:8px;padding:5px}}
@media(max-width:650px){.page-head{align-items:flex-start;flex-direction:column}.page-head .primary{width:100%}.stats{grid-template-columns:1fr 1fr;gap:8px}.stat{padding:14px}.stat strong{font-size:22px}.form-grid,.help-grid{grid-template-columns:1fr}.table{min-width:700px}.car-grid{grid-template-columns:1fr}.login-card{padding:27px}.login-card h1{font-size:29px}.calendar{grid-template-columns:repeat(7,minmax(0,1fr))}.day{min-height:78px}.day-num{font-size:10px}.event span,.event small{display:none}.visit-card{grid-template-columns:48px 1fr auto;gap:8px}.visit-time{font-size:14px}.visit-right strong{font-size:9px}.sync-state span{display:none}.user-badge{display:none}.month-switch b{min-width:120px;font-size:11px}.history-row{grid-template-columns:65px 1fr auto}.history-row span:nth-child(3){display:none}}

.field-block{min-width:0}.field-block>label{margin-bottom:7px}.field-with-action{display:grid;grid-template-columns:1fr 40px;gap:7px}.inline-add{width:40px;height:44px;border-radius:12px;border:1px solid rgba(255,52,52,.28);background:rgba(255,52,52,.07);color:#fff;font-size:20px;line-height:1}.inline-add:hover{background:rgba(255,52,52,.14);border-color:rgba(255,52,52,.55)}.quick-add{margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025)}.quick-add input{padding:10px 11px}.quick-add>.small-btn{margin-top:8px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.service-picker{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:230px;overflow:auto;padding:2px}.service-option{position:relative;display:flex;align-items:center;gap:10px;margin:0;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.018);cursor:pointer;transition:.18s}.service-option:hover{border-color:rgba(255,52,52,.4);background:rgba(255,52,52,.035)}.service-option input{position:absolute;opacity:0;pointer-events:none}.service-option span{display:flex;flex-direction:column;gap:3px;min-width:0}.service-option b{font-size:12px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.service-option small{font-size:10px;color:var(--muted)}.service-option i{margin-left:auto;width:17px;height:17px;border:1px solid #4b525b;border-radius:5px;flex:none}.service-option input:checked~i{background:#ef2e36;border-color:#ef2e36;box-shadow:0 0 0 3px rgba(239,46,54,.1)}.service-option input:checked~i:after{content:'✓';display:block;color:#fff;font-size:12px;line-height:15px;text-align:center}.service-option:has(input:checked){border-color:rgba(255,52,52,.58);background:rgba(255,52,52,.07)}.service-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;min-height:28px}.service-summary>span:first-child{font-size:11px;color:var(--muted)}.service-summary>div{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.service-summary div span{font-size:10px;padding:5px 7px;border-radius:999px;background:rgba(255,255,255,.06);color:#d7dbe0;border:1px solid var(--line)}.muted-chip{font-size:10px;padding:5px 7px;border-radius:999px;background:rgba(255,255,255,.04);color:var(--muted);border:1px solid var(--line)}.field-help{display:block;color:var(--muted);font-size:10px;margin-top:5px}
@media(max-width:650px){.service-picker{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr 1fr}.field-with-action{grid-template-columns:1fr 38px}}
.service-summary{display:block;margin-top:9px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.018)}
.service-summary-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;color:var(--muted);font-size:10px}
.service-summary-top span:first-child{color:#fff;font-weight:600}
.service-summary-top span:last-child{color:#aeb5bd}
#visitServiceSummary{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start}
.service-chip{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:6px 8px;border:1px solid rgba(255,52,52,.28);border-radius:999px;background:rgba(255,52,52,.07);color:#e8ebef;font-size:10px;cursor:pointer}
.service-chip:hover{border-color:rgba(255,52,52,.6);background:rgba(255,52,52,.12)}
.service-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.service-chip b{font-size:14px;line-height:10px;color:#ff6b70}
.text-btn{display:block;border:0;background:transparent;color:#ff6b70;padding:4px 0;font-size:10px;cursor:pointer}
.text-btn:hover{text-decoration:underline}
.hidden{display:none!important}
@media(max-width:650px){.service-summary-top{align-items:flex-start;flex-direction:column;gap:3px}.service-picker{max-height:260px}}

/* V7: iPhone/PWA polish */
html{height:100%;overscroll-behavior:none}body{min-height:100%;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button,a{touch-action:manipulation}.install-hint{position:fixed;left:14px;right:14px;bottom:calc(78px + env(safe-area-inset-bottom));z-index:120;display:flex;align-items:flex-start;gap:12px;padding:14px 15px;border:1px solid rgba(255,65,65,.24);border-radius:16px;background:rgba(15,17,20,.96);box-shadow:0 20px 55px rgba(0,0,0,.5);backdrop-filter:blur(20px);animation:rise .3s ease both}.install-hint>div{min-width:0}.install-hint b{display:block;font-size:12px;margin-bottom:5px}.install-hint span{display:block;color:var(--muted);font-size:10px;line-height:1.45}.install-hint button{flex:0 0 auto;width:30px;height:30px;border:1px solid var(--line);border-radius:9px;background:#111419;color:#aeb6bf;font-size:18px}.install-hint button:hover{color:#fff}.mobile-brand b{font-size:10px}.mobile-brand span{font-size:7px}
@media(max-width:650px){.main{padding-left:13px;padding-right:13px;padding-bottom:calc(84px + env(safe-area-inset-bottom))}.bottom-nav{height:calc(68px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.fab{bottom:calc(83px + env(safe-area-inset-bottom));right:15px}.modal{padding:10px}.modal-card{max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);padding:19px 16px;border-radius:20px}.modal-card h2{font-size:23px}.form-actions{padding-bottom:env(safe-area-inset-bottom)}.install-hint{bottom:calc(78px + env(safe-area-inset-bottom))}}
@media(display-mode:standalone){.install-hint{display:none}.topbar{padding-top:env(safe-area-inset-top)}body{min-height:100dvh}}


/* V9: iPhone native-like horizontal scroll lock */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overscroll-behavior-x: none;
}

body {
  position: relative;
  touch-action: pan-y;
}

.app,
.login-screen,
.main,
.sidebar,
.bottom-nav {
  max-width: 100%;
}

img,
svg,
video,
canvas {
  max-width: 100%;
}

@media (max-width: 650px) {
  html,
  body {
    width: 100vw;
    max-width: 100vw;
    overflow-x: hidden;
  }

  .main {
    width: 100%;
    min-width: 0;
    overflow-x: hidden;
  }

  .page,
  .view,
  .panel,
  .dashboard-grid,
  .lower-grid,
  .stats,
  .toolbar,
  .page-head {
    max-width: 100%;
    min-width: 0;
  }

  .table-wrap {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (display-mode: standalone) {
  html,
  body {
    overscroll-behavior-x: none;
    overflow-x: hidden;
  }
}
