:root{--ink: #101828;--muted: #667085;--subtle: #f7f9fc;--line: #e7ecf2;--blue: #2374ed;--blue-pale: #eef5ff;--green: #11a85a;--red: #df4b50;--amber: #ea8a1f;--gray: #98a2b3;--card: #fff}*{-webkit-tap-highlight-color:transparent}.app-shell{width:min(100%,440px);min-height:100dvh;margin:0 auto;padding:calc(18px + env(safe-area-inset-top)) 16px calc(96px + env(safe-area-inset-bottom));background:#fafbfd;color:var(--ink)}.app-header{display:flex;align-items:center;justify-content:space-between;margin:4px 2px 19px}.brand{display:block;color:var(--blue);font-size:14px;font-weight:800}.app-header h1{margin:5px 0 0;font-size:27px;letter-spacing:-.045em;line-height:1.1}.online-badge,.live-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;font-size:12px;font-weight:700}.online-badge{padding:8px 11px;border:1px solid #cdeedb;background:#ebfaef;color:#109653}.online-badge i,.live-badge i{width:7px;height:7px;border-radius:50%;background:currentColor}.online-badge.offline{border-color:#e4e8ee;background:#f2f4f7;color:var(--muted)}.online-badge.problem{border-color:#f8dcb0;background:#fff2df;color:#a25e0c}.development-badge{display:inline-block;margin-top:5px;color:var(--muted);font-size:10px;font-weight:650}.telegram-auth-error{margin:-7px 2px 13px;border:1px solid #f2c7ca;border-radius:10px;padding:9px 10px;background:#fff5f5;color:#b13c42;font-size:12px;line-height:1.35}.screen-content{display:grid;gap:15px}.card{overflow:hidden;border:1px solid var(--line);border-radius:19px;background:var(--card);box-shadow:0 6px 16px #142d4b0b}.weight-card{padding:20px}.card-kicker span,.camera-header strong{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:750;letter-spacing:.035em;text-transform:uppercase}.card-kicker svg{width:17px;color:var(--blue)}.weight-value{display:block;margin:11px 0 13px;font-size:clamp(45px,13vw,59px);font-variant-numeric:tabular-nums;letter-spacing:-.07em;line-height:.94;white-space:nowrap}.live-weight-status{display:block;margin:-6px 0 13px;color:var(--muted);font-size:13px}.vehicle-ident{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:14px}.vehicle-ident span{color:var(--ink);font-weight:800}.vehicle-ident i{width:4px;height:4px;border-radius:50%;background:#b3becb}.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.status-tile{display:flex;align-items:center;gap:9px;min-width:0;padding:10px;border-radius:13px;background:var(--subtle)}.status-icon{display:grid;flex:0 0 auto;width:30px;height:30px;place-items:center;border-radius:9px;color:#607087;background:#eef2f7}.status-icon.active{color:var(--green);background:#e8f8ee}.status-icon svg{width:18px}.status-tile small,.metric small{display:block;color:var(--muted);font-size:11px;line-height:1.2}.status-tile strong{display:block;margin-top:3px;font-size:15px}.positive{color:var(--green)}.engine-state{display:flex;align-items:center;gap:6px;margin-top:13px;border-radius:10px;padding:8px 10px;background:var(--blue-pale);color:var(--muted);font-size:12px}.engine-state svg{width:16px;color:var(--blue)}.engine-state strong{color:var(--ink)}.camera-card{padding:15px}.camera-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.camera-header strong{color:var(--ink);letter-spacing:0;text-transform:none}.camera-header strong svg{width:19px;color:var(--blue)}.live-badge{padding:6px 9px;border:1px solid #e4e9ef;color:var(--ink)}.live-badge i{background:#ff4550}.camera-frame{position:relative;overflow:hidden;aspect-ratio:1.49;border-radius:13px;background:#dde4eb}.camera-frame img{width:100%;height:100%;object-fit:cover}.camera-frame .icon-button{position:absolute;right:10px;bottom:10px;background:#121e2ab8;color:#fff}.camera-placeholder{display:grid;place-items:center;width:100%;height:100%;color:var(--muted);font-size:13px;text-align:center}.camera-modal .camera-placeholder{color:#fff}.action-stack{display:grid;gap:9px;margin-top:13px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:47px;border:1px solid transparent;border-radius:12px;padding:11px 15px;font:inherit;font-size:15px;font-weight:750;cursor:pointer}.button svg{width:19px}.button.primary{background:var(--blue);color:#fff;box-shadow:0 5px 12px #2374ed33}.button.secondary{border-color:#bbd5fa;background:#fff;color:var(--blue)}.button.danger-button{background:var(--red);color:#fff}.button:disabled{opacity:.45;cursor:default}.button.full{width:100%}.statistics-card{padding:16px}.statistics-card h2,.entity-section h2,.section-title{margin:0 0 12px 2px;font-size:16px;letter-spacing:-.02em}.period-row,.history-filter{display:flex;align-items:center;gap:10px;width:100%;border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff;color:var(--ink);text-align:left;font:inherit;cursor:pointer}.period-row>span:nth-child(2){display:grid;gap:3px;flex:1}.period-row small{color:var(--muted);font-size:11px}.period-row strong{font-size:13px}.period-row>svg:last-child{width:17px;color:var(--muted)}.icon-chip{display:grid;flex:0 0 auto;width:31px;height:31px;place-items:center;border-radius:9px;background:var(--blue-pale);color:var(--blue)}.icon-chip svg{width:17px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.metric{display:flex;align-items:center;gap:8px;padding:10px;border-radius:12px;background:var(--subtle)}.metric>span{color:#677892}.metric svg{width:19px}.metric strong{display:block;margin-top:4px;font-size:17px;letter-spacing:-.03em}.demo-summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;border:0;padding:14px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.demo-summary strong,.demo-summary small{display:block}.demo-summary strong{font-size:14px}.demo-summary small{margin-top:3px;color:var(--muted);font-size:12px}.demo-summary>svg{width:18px;color:var(--muted);transition:transform .2s}.demo-card.open .demo-summary>svg{transform:rotate(90deg)}.demo-body{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid var(--line);padding:14px}.demo-body .toggle-row{grid-column:span 2}.demo-body label:not(.toggle-row),.field{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.demo-body input,.field input,.field select{box-sizing:border-box;width:100%;min-height:39px;border:1px solid #dfe6ee;border-radius:9px;padding:7px 9px;background:#fff;color:var(--ink);font:inherit;outline-color:var(--blue)}.history-content{gap:12px}.history-filter{gap:9px;padding:11px;font-size:13px;font-weight:700}.history-filter>svg{width:19px;color:var(--blue)}.history-filter>svg:nth-last-child(2){margin-left:auto;color:var(--muted)}.history-filter>svg:last-child{width:16px;color:var(--muted)}.history-card{padding:0 14px}.history-row{display:grid;grid-template-columns:67px minmax(0,1fr) auto 15px;align-items:center;gap:8px;width:100%;border:0;border-bottom:1px solid var(--line);padding:14px 0;background:transparent;color:var(--ink);text-align:left;font:inherit;cursor:pointer}.history-row:last-of-type{border-bottom:0}.history-row .time{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:12px}.time svg{width:16px}.history-row .plate{display:grid;gap:3px}.history-row .plate strong{font-size:13px}.history-row small{color:var(--muted);font-size:11px}.history-row>strong{font-size:13px;white-space:nowrap}.history-row>svg{width:15px;color:var(--muted)}.empty{margin:0;padding:23px 4px;color:var(--muted);font-size:13px;text-align:center}.settings-content{gap:20px}.settings-card{padding:0 14px}.setting-row{display:flex;align-items:center;gap:10px;min-height:55px;border-bottom:1px solid var(--line)}.setting-row:last-child{border-bottom:0}.setting-icon{display:grid;width:25px;color:var(--blue)}.setting-icon svg{width:18px}.setting-label{flex:1;font-size:13px;font-weight:650}.setting-control{margin-left:auto}.segmented{display:inline-flex;padding:2px;border:1px solid #dfe6ee;border-radius:8px}.segmented button{min-width:35px;border:0;border-radius:6px;padding:6px;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:750;cursor:pointer}.segmented .active{background:var(--blue);color:#fff}.setting-slider{display:grid;gap:8px;border-bottom:1px solid var(--line);padding:13px 0}.setting-slider>div{display:flex;align-items:center;justify-content:space-between}.setting-slider span{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:650}.setting-slider span svg{width:18px;color:var(--blue)}.setting-slider strong{font-size:13px}.setting-slider input{width:100%;accent-color:var(--blue)}.setting-slider small{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.toggle-row{position:relative;cursor:pointer}.toggle-row input{position:absolute;opacity:0}.toggle{position:relative;width:42px;height:24px;border-radius:99px;background:#d7e0eb;transition:.2s}.toggle:after{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000026;content:"";transition:.2s}.toggle-row input:checked+.toggle{background:var(--blue)}.toggle-row input:checked+.toggle:after{transform:translate(18px)}.counter{display:inline-flex;align-items:center;gap:8px}.counter strong{min-width:64px;text-align:center;font-size:13px}.icon-button{display:grid;width:31px;height:31px;place-items:center;border:0;border-radius:9px;background:#f2f5f8;color:#526277;cursor:pointer}.icon-button svg{width:16px}.icon-button.danger{color:var(--red);background:#fff4f4}.entity-section h2{margin-bottom:10px}.entity-card{padding:0 14px}.entity-row{display:grid;grid-template-columns:30px minmax(0,1fr) 31px 31px;align-items:center;gap:8px;min-height:58px;border-bottom:1px solid var(--line)}.entity-icon{display:grid;width:27px;height:27px;place-items:center;border-radius:8px;background:#f0f5fb;color:#526277}.entity-icon.user{border-radius:50%;background:#eaf3ff;color:var(--blue)}.entity-icon svg{width:16px}.entity-row>div{display:grid;gap:3px}.entity-row strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.entity-row small{color:var(--muted);font-size:11px}.add-row{display:inline-flex;align-items:center;gap:7px;border:0;padding:13px 0;background:transparent;color:var(--blue);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.add-row svg{width:17px}.integration-card{display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:10px;padding:13px}.integration-icon{display:grid;width:32px;height:32px;place-items:center;border-radius:8px;background:#e4f8ed;color:#17a35a}.integration-icon svg{width:19px}.integration-card div{display:grid;gap:3px}.integration-card strong{font-size:13px}.integration-card small{color:var(--red);font-size:11px}.small-button{border:1px solid #bcd6fa;border-radius:8px;padding:7px 10px;background:#fff;color:var(--blue);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.bottom-nav{position:fixed;z-index:3;right:max(10px,env(safe-area-inset-right));bottom:max(9px,env(safe-area-inset-bottom));left:max(10px,env(safe-area-inset-left));display:grid;grid-template-columns:repeat(3,1fr);width:min(calc(100% - 20px),420px);margin:auto;padding:5px;border:1px solid #e5eaf0;border-radius:17px;background:#fffffff5;box-shadow:0 10px 24px #1c304624;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bottom-nav button{display:grid;justify-items:center;gap:4px;border:0;border-radius:12px;padding:8px 3px;background:transparent;color:#7b8999;font:inherit;font-size:11px;cursor:pointer}.bottom-nav button svg{width:21px}.bottom-nav button.active{background:var(--blue-pale);color:var(--blue);font-weight:750}.sheet-backdrop{position:fixed;z-index:5;inset:0;display:flex;align-items:end;justify-content:center;padding:12px;background:#10182861}.sheet{width:min(100%,416px);border-radius:21px;padding:8px 16px 16px;background:#fff;box-shadow:0 -8px 28px #10182829}.sheet-handle{display:block;width:35px;height:4px;margin:2px auto 16px;border-radius:99px;background:#dce3ea}.sheet h2{margin:0 0 16px;font-size:20px;letter-spacing:-.03em}.field{margin-bottom:12px}.field input,.field select{min-height:45px}.sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.validation-error{margin:-2px 0 8px;color:var(--red);font-size:12px}.detail{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:12px 0}.detail span{color:var(--muted);font-size:13px}.detail strong{font-size:13px;text-align:right}.future-copy{margin:13px 0;border-radius:10px;padding:10px;background:var(--subtle);color:var(--muted);font-size:12px;line-height:1.4}.record-photo{display:block;width:100%;margin:4px 0 6px;border-radius:13px;object-fit:cover;max-height:220px}.camera-modal{position:fixed;z-index:7;inset:0;display:grid;place-items:center;padding:16px;background:#101828}.camera-modal img{max-width:100%;max-height:85dvh;border-radius:12px;object-fit:contain}.camera-modal .icon-button{position:absolute;top:18px;right:18px;background:#fff;color:var(--ink)}.notice{position:fixed;z-index:8;right:16px;bottom:88px;left:16px;width:min(calc(100% - 32px),408px);margin:auto;border:0;border-radius:12px;padding:12px;background:#17283a;color:#fff;font:inherit;font-size:13px;text-align:left;box-shadow:0 8px 20px #10182833}.device-card{display:grid;grid-template-columns:35px 1fr;align-items:center;gap:10px;padding:13px}.device-card div{display:grid;gap:3px}.device-card strong{font-size:13px}.device-card small{color:var(--muted);font-size:11px}.equipment-panel{display:flex;align-items:center;gap:6px;width:100%;border:1px solid var(--line);border-radius:17px;padding:12px 10px;background:#fff;box-shadow:0 4px 12px #142d4b0a;font:inherit;text-align:left;cursor:pointer;transition:opacity .2s}.equipment-panel.all-ok{opacity:.62}.equipment-panel.has-fault{border-color:#f8dcb0}.equipment-icons{display:flex;flex:1;justify-content:space-between;gap:2px;min-width:0}.equipment-icon-item{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}.equipment-icon-item small{max-width:46px;overflow:hidden;color:var(--muted);font-size:9px;font-weight:700;line-height:1.15;text-align:center;text-overflow:ellipsis;white-space:nowrap}.equipment-panel-chevron{flex:0 0 auto;width:18px;margin-left:2px;color:var(--muted)}.equipment-icon-badge{position:relative;display:grid;flex:0 0 auto;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--subtle);color:#5b6b80}.equipment-icon-badge svg{width:17px}.equipment-status-glyph{position:absolute;right:-3px;bottom:-3px;display:grid;width:13px;height:13px;border:2px solid #fff;border-radius:50%;background:var(--red);place-items:center;color:#fff;font-size:8px;font-weight:800;line-height:1}.equipment-status-glyph.ok{background:var(--green)}.equipment-status-glyph.ok:after{content:"✓"}.equipment-status-glyph.error:after{content:"!"}.equipment-status-glyph.warn{background:var(--amber)}.equipment-status-glyph.unknown{background:var(--gray)}.equipment-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}.equipment-sheet-header h2{margin:0}.equipment-sheet-header small{display:block;margin-top:3px;color:var(--muted);font-size:12px}.equipment-detail-row{display:flex;align-items:center;gap:11px;min-height:60px;border-bottom:1px solid var(--line)}.equipment-detail-row:last-of-type{border-bottom:0}.equipment-detail-row>div{flex:1;min-width:0;display:grid;gap:2px}.equipment-detail-row strong{font-size:13px}.equipment-detail-row small{color:var(--muted);font-size:11px}.equipment-status-word{flex:0 0 auto;color:var(--gray);font-size:12px;font-weight:750}.equipment-status-word.ok{color:var(--green)}.equipment-status-word.error{color:var(--red)}.equipment-status-word.warn{color:var(--amber)}.equipment-warning{display:flex;align-items:flex-start;gap:9px;margin:4px 0 16px;border:1px solid #f8dcb0;border-radius:12px;padding:11px;background:#fff8ec;color:#8a5a10;font-size:12px;line-height:1.4}.equipment-warning svg{flex:0 0 auto;width:17px}button:disabled,input:disabled{opacity:.5;cursor:default}@media(min-width:600px){body{background:#e9eef4}.app-shell{box-shadow:0 0 34px #142d4b14}.sheet-backdrop{align-items:center}}:root{font-family:Avenir Next,Helvetica Neue,sans-serif;color:#1d2b2b;background:#f4f0e8;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button{font:inherit}
