:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#12213b;background:#f2f6fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{border:0;border-radius:9px;background:#ed5b0c;color:#fff;font-weight:700;padding:11px 16px;cursor:pointer}nav{height:68px;background:#fff;border-bottom:1px solid #dbe4f0;display:flex;align-items:center;padding:0 max(24px,calc((100% - 1240px)/2));gap:8px;position:sticky;top:0;z-index:2}.brand{display:flex;align-items:center;gap:10px;margin-right:25px;font-size:18px}.brand span,.logo{display:grid;place-items:center;background:#fff0e8;border-radius:11px;width:42px;height:42px}.brand+button,nav button{background:transparent;color:#52627b}.brand+button.active,nav button.active{background:#e9f4ff;color:#075a99}.logout{margin-left:auto}.page{max-width:1240px;margin:32px auto;padding:0 20px}.page h1{margin-bottom:4px}.page>p{color:#667793}.device{background:#fff;border:1px solid #d9e4ef;border-radius:13px;margin:14px 0;overflow:hidden;box-shadow:0 5px 18px #25496e0b}.device>header{display:grid;grid-template-columns:18px 1.4fr 1fr 100px 100px 20px;gap:12px;align-items:center;padding:17px 20px;cursor:pointer}.device code{color:#52627b}.dot{width:10px;height:10px;border-radius:50%;background:#a9b4c4}.dot.online{background:#17a653;box-shadow:0 0 0 4px #dff5e8}.details{padding:0 20px 20px;border-top:1px solid #e5ebf2}.settings{display:flex;align-items:end;gap:12px;padding:18px 0}.settings label{flex:1}.settings input,label input{display:block;width:100%;margin-top:6px}input,select{border:1px solid #ccd8e6;border-radius:9px;background:#fff;padding:10px 12px;min-width:0}.cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cards article{background:#eef7ff;border:1px solid #b9d9f4;border-radius:13px;padding:18px}.cards h3{color:#075a99;margin:0}.cards p{color:#657895}.grid4{display:grid;grid-template-columns:1fr 110px 1fr 110px;gap:8px;margin-bottom:10px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.rule{background:#e8f8ed;border:1px solid #9ed8ae;border-radius:10px;padding:12px;margin-top:12px;display:flex;align-items:center;gap:10px}.rule span{display:flex;flex-direction:column}.rule small{color:#577064}.rule .danger{margin-left:auto;background:transparent;color:#c92132;padding:5px}.table{background:#fff;border:1px solid #dbe4ef;border-radius:12px;overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:12px;border-bottom:1px solid #e6edf4;font-size:14px}th{background:#eaf4fd;text-transform:capitalize}.empty{padding:30px;text-align:center;color:#718097}.login{min-height:100vh;display:grid;place-items:center}.login form{width:min(430px,calc(100% - 32px));background:#fff;border:1px solid #dbe4ef;border-radius:18px;padding:38px;box-shadow:0 18px 50px #19345018}.login .logo{font-size:24px}.login h1{margin-bottom:5px}.login p{color:#667793}.login label{display:block;font-weight:700;margin:24px 0 12px}.login button{width:100%}.error{background:#feecef;color:#bd2031;padding:10px;border-radius:8px;margin-bottom:10px}.loading{padding:50px;text-align:center}@media(max-width:850px){.cards{grid-template-columns:1fr}.device>header{grid-template-columns:18px 1fr 20px}.device>header code,.device>header span:not(.dot){display:none}.settings{align-items:stretch;flex-direction:column}.settings label,.settings button{width:100%}.grid4{grid-template-columns:1fr 100px}.brand b{display:none}nav{padding:0 10px}.page{margin-top:20px}}.cards.three{grid-template-columns:repeat(3,1fr)}.holiday-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;background:#eaf4fd;border:1px solid #b9d9f4;padding:18px;border-radius:12px}.holiday{display:flex;align-items:center;background:#fff;border:1px solid #dbe4ef;border-radius:11px;padding:15px;margin-top:10px}.holiday span{display:flex;flex-direction:column}.holiday small{color:#667793}.holiday button{margin-left:auto;background:transparent;color:#c92132}@media(max-width:1100px){.cards.three{grid-template-columns:1fr}.holiday-form{grid-template-columns:1fr 1fr}}@media(max-width:650px){.holiday-form{grid-template-columns:1fr}}.page-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.page-title h1,.page-title p{margin:0}.page-title p{color:#667793;margin-top:5px}.notice{background:#e8f8ed;border:1px solid #9ed8ae;color:#176c35;border-radius:9px;padding:11px 14px;margin-bottom:12px}.vehicle-row{display:grid;grid-template-columns:14px 42px minmax(220px,1fr) minmax(150px,.65fr) 90px 90px;align-items:center;gap:10px;background:#fff;border:1px solid #dbe4ef;border-radius:11px;padding:12px 16px;margin-bottom:9px}.vehicle-row code{color:#52627b}.vehicle-row .status{color:#718097}.vehicle-row .online-text{color:#178145}.calendar-button{width:38px;height:38px;padding:8px;background:#fff4ec;color:#ed5b0c;border:1px solid #ffd1b6}.calendar-button svg,.rule-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.modal-backdrop{position:fixed;inset:0;background:#10203999;z-index:10;display:grid;place-items:center;padding:22px}.calendar-modal{background:#fff;width:min(1080px,100%);max-height:94vh;border-radius:16px;box-shadow:0 24px 80px #0b1d3a55;overflow:hidden}.calendar-modal>header{display:flex;justify-content:space-between;align-items:start;padding:22px 26px;border-bottom:1px solid #dce6ef}.calendar-modal h2{margin:0}.calendar-modal header p{margin:5px 0 0;color:#667793}.modal-close{font-size:28px;line-height:1;background:transparent;color:#53627a;padding:2px 8px}.modal-scroll{max-height:calc(94vh - 90px);overflow:auto;padding:22px}.device-settings{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;background:#f6f8fb;border:1px solid #dce4ee;padding:15px;border-radius:12px;margin-bottom:20px}.device-settings label{font-weight:700}.schedule-panel{border:1px solid #abd3f4;background:#eef7ff;border-radius:13px;padding:18px;margin-bottom:18px}.schedule-panel h3{color:#075a99;margin:0}.schedule-panel>p{color:#667793;margin:7px 0 14px}.weekly-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;background:#f7f9fc;border:1px solid #d7e0eb;border-radius:11px;padding:14px}.weekly-form label{display:grid;grid-template-columns:32px 1fr;gap:8px;align-items:center}.weekly-form label>.time-fields{grid-column:2}.time-fields{display:flex;align-items:center;gap:5px}.time-fields select{min-width:75px}.holiday-picker{display:grid;grid-template-columns:1fr auto;gap:10px}.specific-panel .period-name{width:100%;margin-bottom:10px}.specific-form{display:grid;grid-template-columns:1fr 28px 1fr auto;gap:10px;align-items:end}.date-time-field{display:grid;grid-template-columns:1fr auto;gap:8px}.date-time-field>b{grid-column:1/-1;color:#c64508;text-transform:uppercase;font-size:12px}.date-time-field>input{min-width:170px}.arrow{align-self:center;color:#ed5b0c;font-size:20px}.active-rule{display:flex;align-items:center;gap:12px;background:#e8f8ed;border:1px solid #9ed8ae;border-radius:10px;padding:12px;margin-top:12px}.active-rule .rule-icon{display:grid;place-items:center;width:32px;height:32px;padding:6px;border:1px solid #83ca99;border-radius:8px;color:#159447;background:#fff}.active-rule>span:nth-child(2){display:flex;flex-direction:column}.active-rule small{font-size:14px}.active-rule button{margin-left:auto;background:transparent;color:#c92132}.holiday-panel{background:#edf7ff}.specific-panel{background:#eff7ff}@media(max-width:800px){.vehicle-row{grid-template-columns:14px 42px 1fr 70px}.vehicle-row code,.vehicle-row>span:last-child{display:none}.device-settings,.weekly-form,.specific-form{grid-template-columns:1fr}.specific-form .arrow{display:none}.holiday-picker{grid-template-columns:1fr}.modal-backdrop{padding:5px}.calendar-modal{max-height:98vh}.modal-scroll{max-height:calc(98vh - 90px)}}.device-settings{display:none}.audit-filters{display:grid;grid-template-columns:1fr 180px auto auto auto;gap:10px;align-items:end;background:#fff;border:1px solid #dbe4ef;border-radius:12px;padding:15px;margin:14px 0}.audit-filters>label{font-size:13px;color:#53627a}.audit-filters>label input{display:block}.event-filter{grid-column:1/-1;display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding-top:10px;border-top:1px solid #e5ebf2}.event-filter>button{background:#edf3f8;color:#31506f;padding:6px 10px}.event-filter label{display:flex;align-items:center;gap:5px;background:#f6f8fb;border:1px solid #dce5ee;border-radius:7px;padding:6px 9px;font-size:12px}.event-filter input{margin:0}@media(max-width:850px){.audit-filters{grid-template-columns:1fr 1fr}.event-filter{grid-column:1/-1}}.audit-filter-panel{background:#fff;border:1px solid #dbe4ef;border-radius:12px;margin:14px 0;overflow:hidden}.audit-filter-panel summary{display:flex;align-items:center;gap:10px;padding:14px 17px;cursor:pointer;font-weight:750;color:#254766;list-style:none}.audit-filter-panel summary::-webkit-details-marker{display:none}.audit-filter-panel summary:before{content:"›";font-size:24px;line-height:1;transition:transform .15s}.audit-filter-panel[open] summary:before{transform:rotate(90deg)}.audit-filter-panel summary small{margin-left:auto;color:#6b7d92;font-weight:500}.audit-filter-panel .audit-filters{border:0;border-top:1px solid #e5ebf2;border-radius:0;margin:0}.vehicle-row{grid-template-columns:14px 42px 120px minmax(180px,1fr) 115px 78px 130px minmax(290px,1.3fr);min-width:0}.vehicle-header{display:grid;grid-template-columns:14px 42px 120px minmax(180px,1fr) 115px 78px 130px minmax(290px,1.3fr);align-items:end;gap:10px;padding:0 16px 7px;color:#667793;font-size:10px;font-weight:800;letter-spacing:.025em;text-transform:uppercase}.privacy-switch{width:43px;height:25px;padding:3px;border-radius:15px;background:#bac6d5;transition:.15s}.privacy-switch span{display:block;width:19px;height:19px;border-radius:50%;background:#fff;transition:.15s}.privacy-switch.on{background:#ed5b0c}.privacy-switch.on span{transform:translate(18px)}.vehicle-field{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.vehicle-field>small{max-width:100%;font-size:9px;font-weight:750;line-height:1.08;text-transform:uppercase;letter-spacing:.02em;color:#75869b}.scheduled-field{align-items:center}.scheduled-field>small{white-space:normal;text-align:center}.privacy-mode{font-size:13px;line-height:1.15}.vehicle-row .online-text{color:#079447;font-weight:800}.manual-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;min-width:0}.manual-actions button{width:100%;min-width:0;white-space:normal;line-height:1.15;font-size:11px;padding:9px 7px}.manual-actions button:first-child{background:#ed5b0c}.manual-actions button:last-child{background:#17223b}.manual-actions button:disabled{opacity:.42;cursor:not-allowed}@media(min-width:1201px){.vehicle-row .vehicle-field>small{display:none}}@media(max-width:1200px){.vehicle-header{display:none}.vehicle-row{grid-template-columns:14px 42px 120px minmax(160px,1fr) 140px minmax(290px,1.3fr)}.imei-field,.connection-field{display:none}}@media(max-width:700px){html,body,#root{max-width:100%;overflow-x:hidden}body{font-size:15px}nav{height:auto;min-height:60px;padding:8px 10px;gap:5px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}nav::-webkit-scrollbar{display:none}nav .brand{flex:0 0 auto;margin-right:4px}nav .brand span{width:38px;height:38px}nav>button{flex:0 0 auto;padding:9px 10px;white-space:nowrap;font-size:13px}nav .logout{margin-left:0}.page{width:100%;margin:18px auto;padding:0 12px}.page h1{font-size:25px}.page-title{align-items:flex-start;gap:12px}.page-title>div{min-width:0}.page-title p{font-size:13px;line-height:1.35}.page-title>button{flex:0 0 auto;padding:10px 12px}.vehicle-row{grid-template-columns:12px 40px minmax(0,1fr);gap:9px 10px;padding:13px;margin-bottom:12px;align-items:center}.vehicle-row>.dot{grid-column:1;grid-row:1}.vehicle-row>.calendar-button{grid-column:2;grid-row:1}.vehicle-row>strong{grid-column:3;grid-row:1;font-size:15px;line-height:1.25;overflow-wrap:anywhere}.vehicle-row .imei-field{display:flex;grid-column:2/-1;grid-row:2}.vehicle-row .imei-field code{display:block;font-size:13px;overflow-wrap:anywhere}.vehicle-row .scheduled-field{grid-column:2/-1;grid-row:3;align-items:flex-start}.vehicle-row .connection-field{display:flex;grid-column:2/-1;grid-row:4;align-self:start}.vehicle-row .mode-field{display:flex;grid-column:2/-1;grid-row:5}.vehicle-field{width:100%;gap:5px;padding-top:2px}.vehicle-field>small{font-size:10px;line-height:1.2;text-align:left;white-space:normal}.vehicle-row .status,.vehicle-row .privacy-mode{font-size:15px;line-height:1.3}.manual-actions{grid-column:1/-1;grid-row:6;grid-template-columns:1fr;margin-top:3px}.manual-actions button{min-height:44px;font-size:12px;padding:10px}.modal-backdrop{padding:0;place-items:stretch}.calendar-modal{width:100%;height:100dvh;max-height:none;border-radius:0}.calendar-modal>header{position:sticky;top:0;z-index:2;padding:15px 14px;background:#fff;gap:10px}.calendar-modal h2{font-size:20px;overflow-wrap:anywhere}.calendar-modal header p{font-size:12px;line-height:1.35}.modal-close{flex:0 0 auto;min-width:42px;min-height:42px}.modal-scroll{height:calc(100dvh - 82px);max-height:none;padding:12px}.device-settings,.weekly-form,.specific-form,.holiday-picker{grid-template-columns:minmax(0,1fr)}.device-settings,.schedule-panel,.weekly-form{padding:13px}.device-settings button,.weekly-form>button,.holiday-picker button,.specific-form>button{width:100%;min-height:44px}.weekly-form label{grid-template-columns:1fr}.weekly-form label>b,.weekly-form label>.time-fields{grid-column:1}.weekly-form label>b{margin-top:5px}.time-fields{width:100%}.time-fields select{flex:1;min-width:0}.specific-form .arrow{display:none}.date-time-field{grid-template-columns:minmax(0,1fr)}.date-time-field>b,.date-time-field>input{grid-column:1;min-width:0;width:100%}.active-rule{align-items:flex-start;gap:9px;padding:11px}.active-rule>span:nth-child(2){min-width:0;flex:1}.active-rule small{font-size:12px;line-height:1.4;overflow-wrap:anywhere}.active-rule button{align-self:center;padding:8px;margin-left:0}.holiday-form{grid-template-columns:minmax(0,1fr);padding:13px}.holiday-form button{width:100%;min-height:44px}.holiday{align-items:flex-start;gap:8px;padding:13px}.holiday span{min-width:0;flex:1}.holiday small{line-height:1.4;overflow-wrap:anywhere}.holiday button{padding:8px;margin-left:0}.audit-filters{grid-template-columns:minmax(0,1fr);padding:12px}.audit-filters>select,.audit-filters>label,.audit-filters>button{width:100%}.event-filter{grid-column:1;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:8px}.event-filter>span{grid-column:1/-1;width:100%;font-weight:700}.event-filter>button{width:100%;min-height:42px}.event-filter label{grid-column:1/-1;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;max-width:100%;min-height:44px;padding:10px 12px;font-size:12px;line-height:1.3}.event-filter label input{width:18px;height:18px}.event-filter label span{min-width:0;overflow-wrap:normal;word-break:normal}.table{max-width:100%;-webkit-overflow-scrolling:touch}.table table{min-width:720px}th,td{padding:10px;font-size:12px}.login{padding:16px}.login form{width:100%;padding:25px 20px}.login h1{font-size:25px}}@media(max-width:420px){.page-title{flex-direction:column}.page-title>button{width:100%}.active-rule{display:grid;grid-template-columns:32px minmax(0,1fr)}.active-rule button{grid-column:1/-1;width:100%;border:1px solid #f0c4ca}}
