:root{--bg:#0f1420;--panel:#161c2c;--panel-2:#1d2536;--border:#2a3346;--text:#e6eaf2;--muted:#8b97ad;--accent:#3b82f6;--green:#16a34a;--red:#dc2626;--amber:#d97706}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.wrap{max-width:520px;margin:0 auto;min-height:100vh;flex-direction:column}.bar,.wrap{display:flex}.bar{align-items:center;gap:10px;padding:14px 16px;background:var(--panel);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0}.bar .brand{font-weight:700}.spacer{flex:1 1}.content{padding:16px;flex:1 1}.statusrow{display:flex;gap:8px;margin-bottom:16px}.btn{padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-weight:600;font-size:15px;cursor:pointer}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.green{background:var(--green);border-color:var(--green);color:#fff}.btn.red{background:var(--red);border-color:var(--red);color:#fff}.btn.amber{background:var(--amber);border-color:var(--amber);color:#fff}.btn.block{width:100%}.btn.big{padding:16px;font-size:16px}.btn:disabled{opacity:.5}.toggle{display:flex;border:1px solid var(--border);border-radius:12px;overflow:hidden}.toggle button{flex:1 1;padding:14px;background:var(--panel-2);color:var(--muted);border:none;font-weight:700;font-size:15px}.toggle button.on{background:var(--green);color:#fff}.toggle button.off{background:var(--red);color:#fff}.gps{font-size:13px;color:var(--muted);margin:10px 0;display:flex;align-items:center;gap:8px}.dot{width:9px;height:9px;border-radius:50%;background:var(--muted)}.dot.live{background:var(--green)}.job{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:12px}.job h3{margin:0 0 6px;font-size:15px}.job .meta{color:var(--muted);font-size:13px;margin-bottom:4px}.job .pill{display:inline-block;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:700;color:#111}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:24px;margin:40px 16px}.card h1{margin:0 0 16px}.field{margin-bottom:12px}.field label{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}input{width:100%;padding:13px;border-radius:10px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-size:16px}.error{color:var(--red);margin-top:10px}.muted{color:var(--muted)}.iconbtn{background:none;border:none;color:var(--text);padding:4px;margin:-4px 2px -4px -2px;cursor:pointer;display:flex;align-items:center}.iconbtn:active{opacity:.6}.drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:40}.drawer{position:fixed;top:0;left:0;bottom:0;width:284px;max-width:84vw;background:var(--panel);border-right:1px solid var(--border);transform:translateX(-100%);transition:transform .22s ease;z-index:41;display:flex;flex-direction:column}.drawer.open{transform:translateX(0);box-shadow:0 0 40px rgba(0,0,0,.5)}.drawer-head{padding:26px 18px 18px;background:var(--panel-2);border-bottom:1px solid var(--border)}.drawer-head .avatar{position:relative;width:56px;height:56px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:12px}.drawer-head .avatar .avatar-dot{position:absolute;right:2px;bottom:2px;width:13px;height:13px;border-radius:50%;background:var(--green);border:2px solid var(--panel-2)}.drawer-name{font-weight:700;font-size:16px}.drawer-callsign{color:var(--muted);font-size:12px;margin-top:5px;display:flex;align-items:center;gap:6px}.drawer-nav{padding:12px;overflow-y:auto;flex:1 1}.drawer-group{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;margin-bottom:12px;overflow:hidden}.drawer-item{width:100%;display:flex;align-items:center;gap:12px;padding:14px;background:none;border:none;border-bottom:1px solid var(--border);color:var(--text);font-size:15px;cursor:pointer;text-align:left}.drawer-group .drawer-item:last-child{border-bottom:none}.drawer-item:hover{background:rgba(255,255,255,.04)}.drawer-item.active{background:rgba(59,130,246,.14)}.drawer-item .drawer-ico{color:var(--muted);display:flex}.drawer-item.active .drawer-ico{color:var(--accent)}.drawer-item .drawer-label{flex:1 1}.drawer-item.logout,.drawer-item.logout .drawer-ico{color:var(--red)}.page-empty{text-align:center;padding:56px 16px}.page-empty .pe-ico{width:64px;height:64px;border-radius:50%;background:var(--panel-2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--muted)}.page-title{font-size:18px;font-weight:700;margin:0 0 8px}.cj-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:12px}.cj-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:10px}.cj-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cj-ref{background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:3px 8px;font-size:13px;font-weight:700}.cj-price{font-size:15px;font-weight:700}.cj-date{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;margin-bottom:10px}.cj-route{background:var(--panel-2);border-radius:8px;padding:10px;margin-bottom:10px}.cj-row{display:flex;align-items:flex-start;gap:8px}.cj-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex:none}.cj-dot.from{background:var(--accent)}.cj-dot.to{background:var(--green)}.cj-line{width:1px;height:10px;background:var(--border);margin:2px 0 2px 3.5px}.cj-from,.cj-to{font-size:12px;font-weight:600;line-height:16px}.cj-foot,.cj-to{color:var(--muted)}.cj-foot{display:flex;align-items:center;gap:6px;font-size:12px}.cj-cust{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cj-pax{background:var(--panel-2);border:1px solid var(--border);padding:1px 6px}.cj-pax,.cj-sheet{border-radius:4px;font-size:11px}.cj-sheet{font-weight:600;padding:1px 7px}.cj-sheet.on{background:rgba(59,130,246,.16);color:#6ea8ff}.cj-sheet.off{background:var(--panel-2);border:1px solid var(--border);color:var(--muted)}.cj-filter{display:flex;align-items:center;gap:8px;margin-bottom:12px}.cj-date{width:auto!important;flex:0 1 auto;padding:9px 12px}.cj-pager{justify-content:center;gap:14px;margin-top:16px}.cj-pager,.cj-pager .btn{display:flex;align-items:center}.cj-pager .btn{padding:8px 12px}.cj-pager .btn:disabled{opacity:.4}.pf-hero{text-align:center;padding:8px 0 18px}.pf-avatar{width:64px;height:64px;margin:0 auto 10px}.pf-name{font-size:18px;font-weight:700}.pf-sub{color:var(--muted);font-size:13px;margin-top:4px;display:flex;align-items:center;justify-content:center;gap:8px}.pf-status{font-size:11px;font-weight:700;padding:1px 8px;border-radius:6px;background:var(--panel-2);border:1px solid var(--border);color:var(--muted)}.pf-status.live{background:rgba(22,163,74,.16);border-color:transparent;color:#5BDA50}.pf-section{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:4px 14px;margin-bottom:12px}.pf-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:12px 0 8px}.pf-row,.pf-title{border-bottom:1px solid var(--border)}.pf-row{display:flex;gap:12px;padding:11px 0}.pf-section .pf-row:last-child{border-bottom:none}.pf-label{color:var(--muted);font-size:13px;width:120px;flex:none}.pf-value{font-size:14px;flex:1 1;word-break:break-word}.vh-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.vh-item:last-of-type{border-bottom:none}.vh-ico{width:38px;height:38px;border-radius:8px;background:var(--panel-2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted);flex:none}.vh-main{flex:1 1;min-width:0}.vh-reg{font-weight:700;font-size:14px}.vh-mk{color:var(--muted);font-size:12px}.vh-select{width:100%;padding:12px;border-radius:10px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-size:15px}.vh-form .field{margin-bottom:10px}.vh-seats{display:flex;gap:16px;flex-wrap:wrap;padding:4px 0}.vh-seats label{display:flex;align-items:center;gap:6px;font-size:14px}.tm-bar input,.vh-isofix input,.vh-seats input,.vh-switch input{width:auto}.vh-subhead{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:14px 0 8px}.vh-seatrow{justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}.vh-seatrow,.vh-switch{display:flex;align-items:center}.vh-switch{gap:8px;font-size:14px}.vh-isofix{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.vh-isofix.off{opacity:.4}.hol-row{gap:12px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:8px}.hol-ico,.hol-row{display:flex;align-items:center}.hol-ico{width:38px;height:38px;border-radius:8px;background:var(--panel-2);border:1px solid var(--border);justify-content:center;color:var(--muted);flex:none}.hol-main{flex:1 1;min-width:0}.hol-range{font-weight:600;font-size:14px}.hol-note{color:var(--muted);font-size:12px;margin-top:2px}.bk-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.bk-row:last-of-type{border-bottom:none}.bk-main{flex:1 1;min-width:0}.bk-bank{font-weight:600;font-size:14px}.bk-meta{color:var(--muted);font-size:12px;margin-top:2px}.bk-actions{display:flex;gap:6px;flex:none}.bk-actions .btn{padding:7px 10px;font-size:13px}.pf-link{width:100%;display:flex;align-items:center;gap:12px;padding:14px;background:none;border:none;color:var(--text);font-size:15px;cursor:pointer;text-align:left;border-radius:12px}.pf-link:hover{background:rgba(255,255,255,.04)}.pf-link span{flex:1 1}.pf-link>svg:first-child{color:var(--muted)}.tm-bar{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:10px;margin-bottom:14px;font-size:14px;cursor:pointer}.tm-bar,.tm-result{background:var(--panel-2);padding:10px 12px}.tm-result{margin-top:10px;border-radius:8px;font-size:13px;border:1px solid var(--border)}.tm-result.test{border-color:var(--amber);color:#f0b75e}.photo-change{display:flex;flex-direction:column;align-items:center}.photo-av{position:relative;padding:0;border:none;cursor:pointer;overflow:hidden}.photo-av img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.photo-av:disabled{opacity:.6;cursor:default}.photo-cap{font-size:11px;margin-top:6px}.doc-tabs{display:flex;border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:14px}.doc-tabs button{flex:1 1;padding:11px;background:var(--panel-2);color:var(--muted);border:none;font-weight:700;font-size:14px;cursor:pointer}.doc-tabs button.active{background:var(--accent);color:#fff}.doc-row{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:8px}.doc-main{flex:1 1;min-width:0}.doc-type{font-weight:600;font-size:14px}.doc-meta{color:var(--muted);font-size:12px;margin-top:2px}.doc-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;flex:none}.doc-badge.ok{background:rgba(22,163,74,.16);color:#5BDA50}.doc-badge.exp{background:rgba(220,38,38,.16);color:#ff6b6b}.doc-row a.iconbtn{color:var(--accent)}.tx-balance{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:22px;text-align:center;margin-bottom:14px}.tx-balance-label{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.05em}.tx-balance-amt{font-size:32px;font-weight:800;margin-top:6px}.tx-balance-amt.pos{color:#5BDA50}.tx-balance-amt.neg{color:#ff6b6b}.tx-row{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:8px}.tx-main{flex:1 1;min-width:0}.tx-type{font-weight:600;font-size:14px}.tx-meta{color:var(--muted);font-size:12px;margin-top:2px}.tx-amt{font-weight:700;font-size:15px;flex:none}.tx-amt.pos{color:#5BDA50}.tx-amt.neg{color:#ff6b6b}