@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/montserrat-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/montserrat-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root,#app.force-light{--navy: #041B3A;--navy-2: #063566;--blue: #0867B5;--blue-light: #0797E5;--cyan: #35C5F4;--blue-050: #EAF7FD;--bg: #F5F9FC;--white: #FFFFFF;--ink: #10243D;--grey: #5B6B7F;--grey-light: #8A9AAC;--line: #DCE7F1;--line-soft: #EAF0F6;--ma-red: #D82427;--ma-green: #069447;--ma-orange: #EF7622;--ok: #13A66A;--plan: #1687D9;--wait: #F2A51A;--danger: #D82427;--muted: #66758A;--info: #35C5F4;--surface-2: #F7FAFC;--track: #EEF2F6;--warn-bg: #FFF6E5;--warn-ink: #7A5600;--warn-line: #F0CF8A;--danger-bg: #FDECEA;--danger-ink: #B3261E;--danger-line: #E6C9C9;--ok-bg: rgba(19, 166, 106, .13);--ok-ink: #0B7A4C;--info-line: #BCD4E2;--chart-axis: #90A4B4;--fam-diving: #0867B5;--fam-jetski: #0A87D6;--fam-banana: #D9660F;--fam-buoy: #6B4BC4;--fam-neutral: #041B3A;--inverse-bg: #041B3A;--inverse-ink: #FFFFFF;--inverse-line: rgba(255, 255, 255, .12);--grad-deep: linear-gradient(125deg, #041B3A 0%, #063566 58%, #0867B5 140%);--grad-action: linear-gradient(135deg, #075D9F 0%, #0C7FC6 100%);--grad-cyan: linear-gradient(135deg, #0797E5 0%, #35C5F4 100%);--radius: 16px;--radius-sm: 10px;--radius-lg: 22px;--shadow-xs: 0 1px 2px rgba(4, 27, 58, .06);--shadow-sm: 0 1px 2px rgba(4, 27, 58, .04), 0 6px 16px -4px rgba(4, 27, 58, .08);--shadow: 0 2px 4px rgba(4, 27, 58, .04), 0 14px 34px -8px rgba(4, 27, 58, .12);--shadow-lg: 0 24px 56px -12px rgba(4, 27, 58, .22);--shadow-pop: 0 3px 6px rgba(4, 27, 58, .06), 0 18px 40px -10px rgba(4, 27, 58, .16);--ease-out: cubic-bezier(.22, .9, .35, 1);--ease-spring: cubic-bezier(.34, 1.35, .45, 1);--ring: 0 0 0 3px rgba(7, 151, 229, .22);--tap: 52px;--w-flow: 720px;--w-wide: 1160px;--pad-x: 18px;--font-title: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans Arabic", "Geeza Pro", sans-serif;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans Arabic,Geeza Pro,sans-serif;color-scheme:light}:root[data-theme=dark]{--navy: #E8F1FA;--navy-2: #C9DCEE;--blue: #3FA9F5;--blue-light: #35C5F4;--cyan: #6FD9FA;--blue-050: #12304F;--bg: #0A1626;--white: #101F33;--ink: #E8F1FA;--grey: #9BB0C6;--grey-light: #6B8199;--line: #23364D;--line-soft: #1A2B3F;--ma-red: #FF6B6E;--ma-green: #35C77E;--ma-orange: #FF9A4D;--ok: #35C77E;--plan: #4FA8E8;--wait: #F5B940;--danger: #FF6B6E;--muted: #8A9AAC;--info: #6FD9FA;--grad-deep: linear-gradient(125deg, #0A1626 0%, #12304F 58%, #10486F 140%);--grad-action: linear-gradient(135deg, #0B5FA6 0%, #1E8FD0 100%);--grad-cyan: linear-gradient(135deg, #0B5FA6 0%, #35C5F4 100%);--surface-2: #16273C;--track: #1E3149;--warn-bg: rgba(245, 185, 64, .14);--warn-ink: #F5C463;--warn-line: rgba(245, 185, 64, .38);--danger-bg: rgba(255, 107, 110, .14);--danger-ink: #FF9A9C;--danger-line: rgba(255, 107, 110, .38);--ok-bg: rgba(53, 199, 126, .15);--ok-ink: #6BDCA4;--info-line: #2A4C6E;--chart-axis: #5A7593;--fam-diving: #5CB3F0;--fam-jetski: #4FC3F7;--fam-banana: #FFA657;--fam-buoy: #B39BF0;--fam-neutral: #C9DCEE;--grey-light: #8CA3BC;--inverse-bg: #1E3350;--inverse-ink: #E8F1FA;--inverse-line: rgba(255, 255, 255, .16);--shadow-xs: none;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow: 0 2px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 18px 48px rgba(0, 0, 0, .55);--ring: 0 0 0 3px rgba(53, 197, 244, .3);color-scheme:dark}h1,h2,h3,.card-title,.kpi-value,.rev-total,.badge-num,.btn,.app-header .title,.analyses-head,.edit-title,.pin-title,.price-sec-title,.donut-num,.stat-mini b,.dash-date,.set-subtabs button,.seg button,.home-sec-label{font-family:var(--font-title)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}html,body{margin:0;padding:0;height:100%}html{scrollbar-gutter:stable}body{background:var(--bg);color:var(--ink);font-size:17px;line-height:1.5;overscroll-behavior:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(1200px 420px at 78% -8%,rgba(53,197,244,.12),transparent 62%),radial-gradient(900px 460px at -12% 6%,rgba(8,103,181,.07),transparent 58%),radial-gradient(1000px 500px at 108% 104%,rgba(6,53,102,.05),transparent 55%);pointer-events:none}:root[data-theme=dark] body:before{background:radial-gradient(1200px 420px at 78% -8%,rgba(53,197,244,.07),transparent 62%),radial-gradient(900px 460px at -12% 6%,rgba(8,103,181,.1),transparent 58%)}::selection{background:#35c5f459}#app{min-height:100%;display:flex;flex-direction:column}.app-header{background:var(--grad-deep);color:var(--inverse-ink);display:flex;align-items:center;gap:12px;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top));position:sticky;top:0;z-index:10;box-shadow:0 2px 18px #041b3a38}.app-header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--cyan) 22%,var(--blue-light) 60%,transparent);opacity:.85}.app-header img{height:40px;width:auto}.app-header img.logo-jet{height:38px;filter:drop-shadow(0 1px 5px rgba(53,197,244,.35))}.app-header .title{font-weight:700;font-size:16px;flex:1;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header .net-dot{width:11px;height:11px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px #ffffff26}.app-header .net-dot.offline{background:var(--wait)}.lang-bar{display:flex;gap:6px}.lang-bar button{min-width:44px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:#ffffff12;color:#fff;font-weight:600;font-size:14px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.lang-bar button.active{background:var(--grad-cyan);border-color:transparent;color:#04223d;font-weight:700;box-shadow:0 2px 10px #0797e573}.screen{flex:1;padding:22px var(--pad-x) 120px;max-width:var(--w-flow);width:100%;margin:0 auto}.screen-wide{max-width:var(--w-wide)}.screen h1{font-size:clamp(25px,2.6vw,30px);color:var(--navy);margin:4px 0 6px;letter-spacing:-.022em;line-height:1.16;text-wrap:balance}.screen .lead{color:var(--grey);margin:0 0 22px;max-width:62ch;text-wrap:pretty}.step-count{color:var(--blue-light);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.field{margin-bottom:16px}.field label{display:block;font-weight:600;color:var(--navy);margin-bottom:7px;font-size:15px}.field .hint{color:var(--grey);font-size:13px;font-weight:400}.field input,.field select{width:100%;height:var(--tap);border:1.5px solid var(--line);border-radius:12px;padding:0 14px;font-size:17px;background:var(--white);color:var(--ink);transition:border-color .15s,box-shadow .15s}.field input::placeholder{color:var(--grey-light)}.field input:focus,.field select:focus{outline:none;border-color:var(--blue-light);box-shadow:var(--ring)}.field.invalid input{border-color:var(--danger)}.field.invalid input:focus{box-shadow:0 0 0 3px #d824272e}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--blue-light);box-shadow:var(--ring)}button:focus-visible,.check:focus-within{outline:2px solid var(--blue-light);outline-offset:2px}.field input[type=date]{-webkit-appearance:none;appearance:none;min-width:0;max-width:100%}.fleet-row-edit{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.fleet-row-edit .fl-color{flex:0 0 auto;width:48px;height:44px;padding:2px;border:1px solid var(--line);border-radius:8px;background:var(--white);cursor:pointer}.fleet-row-edit .fl-name{flex:1 1 auto;min-width:0;height:44px;border:1px solid var(--line);border-radius:8px;padding:0 12px;font-size:15px;background:var(--white)}.fleet-row-edit .fl-model{flex:0 0 auto;height:44px;border:1px solid var(--line);border-radius:8px;padding:0 6px;font-size:14px;background:var(--white)}.fleet-row-edit .fl-role{flex:0 0 auto;height:44px;border:1px solid var(--line);border-radius:8px;padding:0 8px;font-size:14px;background:var(--white)}.fleet-row-edit .fl-del{flex:0 0 auto}.fleet-row-edit .fl-icon{flex:0 0 auto;width:68px;height:40px}.js-visual{position:relative;display:inline-block;width:100%;height:100%}.js-visual .jsv-fallback,.js-visual .jsv-photo{position:absolute;inset:0;width:100%;height:100%}.js-visual .jsv-photo{object-fit:contain;border-radius:6px}svg.js-icon,svg.jsv-fallback{display:block;width:100%;height:100%}svg.js-icon path,svg.jsv-fallback path{fill:currentColor;stroke:#0006;stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round}.js-role-badge{display:inline-block;font-size:11px;font-weight:700;color:var(--grey);background:var(--track);border:1px solid var(--line);border-radius:6px;padding:2px 7px;margin-inline-start:6px;vertical-align:middle}.field .err{color:var(--danger);font-size:13px;margin-top:4px;display:none}.field.invalid .err{display:block}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 440px){.row-2{grid-template-columns:1fr}}.type-act button{min-width:96px}.signer-note{background:var(--blue-050);border:1px solid var(--info-line);border-radius:10px;padding:8px 12px;margin:0 0 14px;font-weight:700;color:var(--navy);font-size:14px}.p-count{color:var(--grey);font-weight:600;font-size:13px}.p-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-bottom:8px;align-items:center}.p-row input{height:46px;border:1.5px solid var(--line);border-radius:10px;padding:0 12px;font-size:15px}.p-row.invalid input{border-color:var(--danger)}.p-del{width:40px;height:40px;border:1.5px solid var(--line);background:var(--white);border-radius:10px;color:var(--danger);font-size:15px;cursor:pointer}.jetski-card{background:var(--blue-050);border:1px solid var(--info-line);border-radius:var(--radius);padding:14px 16px 4px;margin:6px 0 18px}.jetski-card-title{font-weight:700;color:var(--navy);margin-bottom:12px}.seg{display:flex;flex-wrap:wrap;gap:8px}.seg button{flex:1 1 auto;min-width:84px;height:46px;border:1.5px solid var(--line);background:var(--white);border-radius:12px;font-weight:600;font-size:15px;color:var(--navy);cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.seg button.active{background:var(--grad-action);color:#fff;border-color:transparent;box-shadow:inset 0 1px #fff3,0 4px 12px #0867b542}.seg button:active:not(.active){transform:scale(.97)}@media (hover: hover){.seg button:not(.active):hover{border-color:var(--blue-light);color:var(--blue);background:var(--blue-050)}}.field.invalid .seg button{border-color:var(--danger)}.field.combo,.ed-f.combo{position:relative}.combo-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:40;background:var(--white);border:1.5px solid var(--line);border-radius:10px;box-shadow:var(--shadow);max-height:264px;overflow-y:auto;padding:4px;-webkit-overflow-scrolling:touch}.combo-item{display:flex;align-items:center;gap:10px;width:100%;text-align:start;background:transparent;border:none;padding:10px 12px;border-radius:8px;font-size:16px;color:var(--ink);cursor:pointer}.combo-item:hover,.combo-item:active{background:var(--blue-050)}.combo-item .flag{font-size:20px;line-height:1;flex-shrink:0}.minor-note{background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn-ink);border-radius:10px;padding:12px 14px;margin:4px 0 16px;font-size:15px}.camera-wrap{background:#000;border-radius:var(--radius);overflow:hidden;position:relative;aspect-ratio:3/2}.camera-wrap video,.camera-wrap img{width:100%;height:100%;object-fit:cover;display:block}.camera-frame{position:absolute;inset:8%;border:2px dashed rgba(255,255,255,.7);border-radius:10px;pointer-events:none}.camera-wrap:has(.wr-guide) .camera-frame,.camera-wrap:has(.mrz-card) .camera-frame{display:none}.mrz-card{position:absolute;inset:5% 3.5%;border:2.5px dashed rgba(255,255,255,.92);border-radius:12px;pointer-events:none}.wr-guide{position:absolute;inset:6%;width:88%;height:82%;margin:auto;pointer-events:none}.wr-guide path{fill:#ffffff0d;stroke:#fff;stroke-width:2.5;stroke-dasharray:9 7;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.wr-hint{position:absolute;bottom:8px;left:0;right:0;text-align:center;color:#fff;font-size:12.5px;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.75);pointer-events:none}.camera-actions{display:flex;gap:12px;margin-top:14px}.id-preview{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.id-preview img{width:100%;display:block}.save-status{margin:6px 0 14px;font-size:14px;font-weight:600;min-height:20px}.save-status .ss-busy{color:var(--grey)}.save-status .ss-ok{color:var(--ok-ink)}.save-status .ss-err{color:var(--danger)}.fail-note{background:var(--danger-bg);border:1px solid var(--danger-line);color:var(--danger-ink);border-radius:10px;padding:10px 12px;margin-bottom:12px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.edit-overlay{align-items:flex-start;overflow-y:auto;padding:18px}.edit-box{background:var(--white);border-radius:var(--radius);padding:20px;width:100%;max-width:480px;margin:auto;box-shadow:var(--shadow)}.edit-title{font-weight:800;color:var(--navy);font-size:18px;margin-bottom:8px}.edit-note{font-size:12.5px;color:var(--warn-ink);background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:8px;padding:8px 10px;margin-bottom:14px;line-height:1.4}.ed-f{display:block;font-weight:600;color:var(--navy);font-size:13px;margin-bottom:10px}.ed-f input,.ed-f select{display:block;width:100%;height:44px;margin-top:4px;border:1.5px solid var(--line);border-radius:10px;padding:0 12px;font-size:15px;font-weight:400;background:var(--white)}.ed-parts{margin:4px 0 12px}.ed-parts-lbl{font-weight:700;color:var(--navy);font-size:13px;margin-bottom:8px}.ed-prow{display:flex;gap:8px;margin-bottom:8px;align-items:center}.ed-prow input{flex:1;min-width:0;height:42px;border:1.5px solid var(--line);border-radius:10px;padding:0 10px;font-size:14px}.ed-prow .p-del{flex:none;width:38px;height:38px;border:none;background:var(--danger-bg);color:var(--danger-ink);border-radius:8px;font-size:15px;cursor:pointer}.edit-actions{display:flex;gap:12px;margin-top:14px}.edit-actions .btn{flex:1}.attract{position:fixed;inset:0;z-index:200;background-size:cover;background-position:center;background-color:#0b2a43;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:9vh;cursor:pointer}.attract-diving{background-image:url(../fond-mdc-phone.jpg)}.attract-jetski{background-image:url(../fond-mdcjet-phone.jpg)}@media (orientation: portrait) and (min-width: 700px){.attract-diving{background-image:url(../fond-mdc-tab-p.jpg)}.attract-jetski{background-image:url(../fond-mdcjet-tab-p.jpg)}}@media (orientation: landscape){.attract-diving{background-image:url(../fond-mdc-tab-l.jpg)}.attract-jetski{background-image:url(../fond-mdcjet-tab-l.jpg)}}.attract-hint{color:#fff;background:#0b2a4380;padding:12px 26px;border-radius:999px;font-weight:700;font-size:17px;text-shadow:0 1px 4px rgba(0,0,0,.5);animation:attractpulse 2.2s ease-in-out infinite}@keyframes attractpulse{0%,to{opacity:.7;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.attract.pin-mode{justify-content:center;padding-bottom:0;cursor:default}.attract.pin-mode:before{content:"";position:absolute;inset:0;background:#0b2a438c}.pin-panel{position:relative;background:var(--white);border-radius:20px;padding:24px 22px;width:100%;max-width:300px;box-shadow:0 18px 50px #00000059;text-align:center}.pin-title{font-weight:800;color:var(--navy);font-size:17px;margin-bottom:16px}.pin-dots{display:flex;justify-content:center;gap:16px;margin-bottom:22px}.pin-dots span{width:15px;height:15px;border-radius:50%;border:2px solid #b9c6d2;background:transparent}.pin-dots span.on{background:var(--navy);border-color:var(--navy)}.pin-dots.err span{border-color:var(--danger);animation:pinshake .4s}@keyframes pinshake{0%,to{transform:translate(0)}20%,60%{transform:translate(-7px)}40%,80%{transform:translate(7px)}}.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pin-pad button{height:60px;border:none;border-radius:14px;background:var(--surface-2);color:var(--navy);font-size:24px;font-weight:700;cursor:pointer}.pin-pad button:active{background:#dce7ef}.pin-pad .pin-cancel,.pin-pad .pin-back{background:transparent;color:var(--grey);font-size:20px}.btn-sm{min-height:34px;padding:0 12px;font-size:13px}.home-secondary{margin-top:28px;padding-top:16px;border-top:1px solid var(--line)}.home-sec-label{font-size:12px;font-weight:700;color:var(--grey);text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px}.ocr-card{background:var(--blue-050);border:1px solid var(--info-line);border-radius:var(--radius);padding:16px;margin:6px 0 18px}.ocr-card-title{font-weight:700;color:var(--navy);font-size:15px;margin-bottom:14px}.ocr-step{display:flex;gap:12px;align-items:flex-start}.ocr-step+.ocr-step{margin-top:14px;padding-top:14px;border-top:1px dashed #cfe0ea}.ocr-step-n{flex:none;width:24px;height:24px;border-radius:50%;background:var(--inverse-bg);color:var(--inverse-ink);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;margin-top:9px}.ocr-step-main{flex:1;min-width:0}.ocr-step-note{font-size:12px;color:#5a7386;margin-top:5px;line-height:1.35}.ocr-hint{font-size:12.5px;color:var(--grey);margin-bottom:10px;line-height:1.4}.ocr-thumb{margin-top:12px;border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}.ocr-thumb img{width:100%;display:block}.ocr-status{margin-top:12px;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:600}.ocr-status.busy{background:var(--surface-2);color:var(--grey)}.ocr-status.busy:before{content:"";display:inline-block;width:13px;height:13px;margin-inline-end:8px;vertical-align:-1px;border:2px solid #9db6c4;border-top-color:transparent;border-radius:50%;animation:ocrspin .7s linear infinite}.ocr-status.ok{background:var(--ok-bg);color:var(--ok-ink)}.ocr-status.warn{background:var(--warn-bg);color:var(--warn-ink)}@keyframes ocrspin{to{transform:rotate(360deg)}}.btn.loading{color:transparent!important;pointer-events:none;position:relative}.btn.loading:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid var(--navy);border-top-color:transparent;border-radius:50%;animation:ocrspin .6s linear infinite}.waiver-box{background:var(--white);border:1.5px solid var(--line);border-radius:var(--radius);padding:18px;max-height:46vh;overflow-y:auto;box-shadow:var(--shadow);-webkit-overflow-scrolling:touch}.waiver-box h2{color:var(--navy);font-size:18px;margin:0 0 6px}.waiver-box h3{color:var(--blue);font-size:15px;margin:16px 0 4px}.waiver-box p,.waiver-box li{font-size:15px;color:#26313d}.waiver-box .sep{border:none;border-top:1px solid var(--line);margin:18px 0}[dir=rtl] .waiver-box{text-align:right}.checks{margin-top:16px;display:flex;flex-direction:column;gap:10px}.check{display:flex;align-items:flex-start;gap:12px;background:var(--white);border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;cursor:pointer}.check.checked{border-color:var(--blue);background:var(--blue-050)}.check input{width:24px;height:24px;margin:2px 0 0;flex-shrink:0;accent-color:var(--blue)}.check span{font-size:15px}.sign-pad-wrap{background:var(--white);border:1.5px dashed var(--blue);border-radius:var(--radius);position:relative;touch-action:none}.sign-pad-wrap canvas{width:100%;height:240px;display:block;border-radius:var(--radius);touch-action:none}.sign-baseline{position:absolute;left:18px;right:18px;bottom:44px;border-top:1px solid var(--line);pointer-events:none}.sign-hint{position:absolute;left:18px;bottom:20px;color:var(--grey);font-size:13px;pointer-events:none}.phone-row{display:flex;gap:8px;align-items:stretch}.phone-row .dial-select{flex:0 0 auto;width:auto;max-width:44%;padding:0 8px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--navy);font-size:15px}.phone-row input{flex:1 1 auto;min-width:0}.cam-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0 14px}.cam-toolbar label{display:flex;align-items:center;gap:8px;color:var(--grey);font-size:14px}.cam-toolbar input[type=date]{padding:8px 10px;border:1px solid var(--line);border-radius:10px;font-size:15px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.cam-table{width:100%;border-collapse:collapse;font-size:15px}.cam-table th,.cam-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}.cam-table th{color:var(--grey);font-size:12.5px;text-transform:uppercase;letter-spacing:.4px}.cam-table .cam-badge{font-weight:800;color:var(--blue);font-variant-numeric:tabular-nums}.cam-table .cam-phone{font-variant-numeric:tabular-nums;white-space:nowrap}[dir=rtl] .cam-table th,[dir=rtl] .cam-table td{text-align:right}.sign-label{font-weight:600;color:var(--navy);margin:18px 0 8px}.summary{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.summary .row{display:flex;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid var(--line)}.summary .row:last-child{border-bottom:none}.summary .k{color:var(--grey)}.summary .v{font-weight:600;color:var(--navy);text-align:end}.action-bar{position:fixed;left:0;right:0;bottom:0;background:#ffffffeb;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-top:1px solid var(--line);padding:12px 16px;padding-inline:max(var(--pad-x),calc((100% - var(--w-flow)) / 2 + var(--pad-x)));padding-bottom:calc(12px + env(safe-area-inset-bottom));display:flex;gap:12px;z-index:20;box-shadow:0 -6px 22px #041b3a0f}.action-bar .spacer{flex:1}.btn{min-height:var(--tap);border-radius:12px;border:none;font-size:16.5px;font-weight:600;padding:0 22px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;letter-spacing:.005em;transition:box-shadow .18s var(--ease-out),transform .14s var(--ease-spring),background .18s,border-color .18s,color .18s}.btn-primary{background:var(--grad-action);color:#fff;box-shadow:inset 0 1px #ffffff38,0 4px 14px #0867b547}.btn-primary:disabled{background:#b7c6d4;color:#f4f8fb;box-shadow:none;cursor:not-allowed}.btn-ghost{background:var(--white);color:var(--navy);border:1.5px solid var(--line);box-shadow:var(--shadow-xs)}.btn-danger{background:transparent;color:var(--danger);border:1.5px solid transparent;font-weight:700;box-shadow:none}.btn-block{width:100%}.btn:active:not(:disabled){transform:translateY(1px) scale(.985)}@media (hover: hover){.btn-primary:hover:not(:disabled){box-shadow:inset 0 1px #ffffff38,0 8px 22px #0867b561;transform:translateY(-1px)}.btn-ghost:hover:not(:disabled){border-color:var(--blue-light);color:var(--blue);background:var(--blue-050)}.btn-danger:hover:not(:disabled){background:#d8242714}}.admin-search{display:flex;gap:10px;margin-bottom:16px}.admin-search input{flex:1;height:46px;border:1.5px solid var(--line);border-radius:10px;padding:0 12px;font-size:16px}.rec-wrap{background:var(--white);border-radius:12px;box-shadow:var(--shadow);margin-bottom:10px;overflow:hidden}.rec{padding:12px 14px;display:flex;align-items:center;gap:12px}.rec .who{flex:1;min-width:0}.rec .name{display:flex;align-items:center;gap:7px;font-weight:700;color:var(--navy);font-size:15.5px}.rec .meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--grey);font-size:12.5px;margin-top:3px}.rec-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.icon-btn{width:40px;height:40px;border:1px solid var(--line);background:var(--white);border-radius:10px;color:var(--navy);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.icon-btn svg{width:19px;height:19px}.icon-btn:active{transform:translateY(1px)}.icon-btn.danger{color:#b0817f}.icon-btn.danger:hover{color:#fff;background:var(--danger);border-color:var(--danger)}.chip{--chip-bg: #EDF2F7;--chip-ink: #4A5C71;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--chip-bg);color:var(--chip-ink);white-space:nowrap;letter-spacing:.01em}.chip-diving{--chip-bg: #E3F0FB;--chip-ink: #06579B}.chip-jetski{--chip-bg: #E1F5FE;--chip-ink: #0673AF}.chip-banana{--chip-bg: #FDEEE1;--chip-ink: #A54A08}.chip-buoy{--chip-bg: #ECE7FA;--chip-ink: #56409E}.chip-people{--chip-bg: #EDF2F7;--chip-ink: #4A5C71}.chip-badge{--chip-bg: #E4F3FC;--chip-ink: #05609F}:root[data-theme=dark] .chip{--chip-bg: rgba(155,176,198,.16);--chip-ink: #B6C7D9}:root[data-theme=dark] .chip-diving{--chip-bg: rgba(92,179,240,.16);--chip-ink: #7EC8F7}:root[data-theme=dark] .chip-jetski{--chip-bg: rgba(79,195,247,.16);--chip-ink: #74D3F9}:root[data-theme=dark] .chip-banana{--chip-bg: rgba(255,166,87,.16);--chip-ink: #FFB877}:root[data-theme=dark] .chip-buoy{--chip-bg: rgba(179,155,240,.18);--chip-ink: #C4B2F5}:root[data-theme=dark] .chip-people{--chip-bg: rgba(155,176,198,.16);--chip-ink: #B6C7D9}:root[data-theme=dark] .chip-badge{--chip-bg: rgba(92,179,240,.16);--chip-ink: #7EC8F7}.chip-ok{background:var(--ok-bg);color:var(--ok-ink)}.chip-plan{background:#1687d921;color:#10639f}.chip-wait{background:var(--warn-bg);color:var(--warn-ink)}.chip-cancel{background:#d824271f;color:#a81d1f}.chip-done{background:#66758a24;color:#4c5a6c}.type-seg.wrap{flex-wrap:wrap}.type-seg.wrap button{flex:1 1 auto;min-width:84px}.rec-count{text-align:end;color:var(--grey);font-size:12px;font-weight:600;margin:-6px 2px 10px}.rec-js{display:flex;align-items:center;gap:8px;padding:9px 14px;border-top:1px solid var(--line);background:var(--surface-2);font-size:13.5px;color:var(--navy);font-weight:600}.rec-js .js-sep{color:var(--line)}.rec-js .js-dur{color:var(--grey);font-weight:600}.rec-js .js-flex{flex:1}.rec-js .js-eff-lbl,.rec-js .js-unit{color:var(--grey);font-weight:600}.rec-js .usage-input{width:60px;height:34px;border:1.5px solid var(--line);border-radius:8px;padding:0 8px;font-size:14px;text-align:end;font-variant-numeric:tabular-nums}.icon-btn.sm{width:34px;height:34px;border-radius:8px}.icon-btn.sm svg{width:16px;height:16px}.rec .who{flex:1}.rec .who .name{font-weight:700;color:var(--navy)}.rec .who .meta{color:var(--grey);font-size:13px}.badge{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px}.badge.local{background:var(--warn-bg);color:var(--warn-ink)}.badge.synced{background:#dff1e4;color:var(--ok)}.empty{text-align:center;color:var(--grey);padding:44px 18px;font-size:14.5px;background:var(--surface-2);border:1px dashed var(--line);border-radius:14px}.overlay{position:fixed;inset:0;background:#0b2a43d1;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;z-index:50}.spinner{width:46px;height:46px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.overlay-msg{max-width:420px;padding:0 24px;text-align:center;display:flex;flex-direction:column;gap:22px}.overlay-err{font-size:16px;line-height:1.5;font-weight:600}.overlay-actions{display:flex;gap:12px;justify-content:center}#pdf-stage{position:fixed;left:-10000px;top:0;width:794px;background:#fff}.toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%);background:var(--inverse-bg);color:var(--inverse-ink);padding:12px 18px;border-radius:10px;box-shadow:var(--shadow);z-index:60;font-size:15px;animation:toast-in .28s var(--ease-spring)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.97)}}.logout-btn{background:#ffffff12;border:1px solid rgba(255,255,255,.28);color:#fff;height:34px;min-width:40px;border-radius:999px;font-size:16px;cursor:pointer;transition:background .15s}@media (hover: hover){.logout-btn:hover{background:#ffffff2e}}.app-login{position:relative;isolation:isolate}.app-login:before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,#041b3ac7,#041b3ae6 55%,#063566f2),url(../fond-mdc-phone.jpg) center / cover no-repeat;background-color:#041b3a}@media (orientation: landscape),(min-width: 700px){.app-login:before{background-image:linear-gradient(180deg,#041b3ac2,#041b3ae6 55%,#063566f2),url(../fond-mdc-tab-l.jpg)}}.app-login .app-header{background:transparent;box-shadow:none}.app-login .app-header:after{display:none}.app-login .screen{display:flex;align-items:center;justify-content:center;padding-bottom:40px}.login-wrap{width:100%;max-width:420px;text-align:center;background:var(--white);border-radius:var(--radius-lg);padding:30px 26px 28px;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.6);animation:rise-in .55s var(--ease-out) both}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}}@media (prefers-reduced-motion: reduce){.login-wrap{animation:none}}.login-logo{width:104px;height:auto;margin-bottom:10px}.login-wrap h1{justify-content:center;font-size:23px}.login-wrap .lead{margin-bottom:4px;font-size:15px}.login-wrap form{text-align:start;margin-top:20px}.login-wrap .btn-primary{margin-top:4px}.login-err{color:var(--danger);min-height:20px;margin:4px 0 10px;font-size:14px;font-weight:600}.qr-box{display:flex;flex-direction:column;align-items:center;gap:10px;min-height:180px;justify-content:center;margin:14px 0 4px}.qr-img{width:200px;height:200px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:8px}.qr-secret{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px;color:var(--grey)}.qr-secret code{font-size:14px;font-weight:700;color:var(--navy);letter-spacing:.06em;word-break:break-all}#mfaForm #code{text-align:center;letter-spacing:.3em;font-size:22px;font-weight:700}.home-actions{display:flex;flex-direction:column;gap:14px;margin-top:20px}.ok-note{background:#e4f5ea;border:1px solid #a9d9ba;color:var(--ok);border-radius:10px;padding:12px 14px;margin:4px 0 8px;font-weight:600}.inv-card{background:var(--white);border:1.5px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:14px;box-shadow:var(--shadow)}.inv-card.oos{opacity:.7;background:var(--danger-bg);border-color:var(--danger-line)}.inv-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.inv-head .js-tag{font-weight:700;color:#fff;background:var(--blue);border-radius:999px;padding:4px 14px;font-size:16px}.oos-toggle{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--danger);font-weight:600}.oos-toggle input{width:22px;height:22px;accent-color:var(--danger)}.inv-card.maint{opacity:.75}.inv-card.status-maintenance{background:var(--danger-bg);border-color:var(--danger-line)}.inv-card.status-unused{background:var(--surface-2)}.inv-status{margin-bottom:12px}.inv-status button.active{background:var(--inverse-bg);border-color:var(--inverse-bg);color:var(--inverse-ink)}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.photo-slot{position:relative;aspect-ratio:4/3;border:1.5px dashed var(--blue);border-radius:10px;background:#f3f7fa;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;padding:0}.photo-slot.has{border-style:solid;border-color:var(--ok)}.photo-slot img{width:100%;height:100%;object-fit:cover}.photo-slot .plus{font-size:30px;color:var(--blue)}.photo-slot .ps-label{position:absolute;left:0;right:0;bottom:0;background:#0b2a43b8;color:#fff;font-size:12px;font-weight:600;padding:3px 0;text-align:center}.inv-hours-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.inv-hours-row label{font-weight:600;color:var(--navy);font-size:15px}.inv-hours{flex:1;height:44px;border:1.5px solid var(--line);border-radius:10px;padding:0 12px;font-size:15px}.inv-hours.prefilled{border-color:#b9d3e4;background:#f2f8fc;color:var(--blue);font-weight:700}.meter-hint{font-size:12px;color:var(--blue);font-weight:600;margin:-4px 0 10px}.inv-return-btn{margin-top:4px}.inv-return-form{margin-top:10px;padding:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px}.inv-reason{display:flex;gap:8px;margin-bottom:10px}.inv-reason button.active{background:var(--inverse-bg);border-color:var(--inverse-bg);color:var(--inverse-ink)}.inv-card.returned{opacity:.92}.inv-returned-badge{margin-inline-start:auto;font-size:12.5px;font-weight:700;color:var(--blue)}.inv-returned-info{font-size:14px;font-weight:600;color:var(--navy);margin:4px 0 8px}.inv-returned-note{font-size:13px;color:var(--warn-ink);background:var(--warn-bg);border-radius:8px;padding:6px 10px;margin-bottom:8px}.set-subtabs{display:flex;gap:10px;margin:6px 0 18px;flex-wrap:wrap}.set-subtabs button{flex:1 1 120px;min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1.5px solid var(--line);background:var(--white);border-radius:12px;font-size:15.5px;font-weight:700;color:var(--navy);cursor:pointer;transition:background .15s,border-color .15s}.set-subtabs button .st-ic{font-size:19px}.set-subtabs button:hover{background:var(--blue-050)}.set-subtabs button.active{background:var(--blue-050);border-color:var(--blue);color:var(--blue)}.toggle-sep{height:1px;background:var(--line);margin:22px 0}.poster-grid{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.poster-grid .poster-btn{flex:1 1 220px;min-height:54px;font-size:16px}.legal-card .legal-h{font-size:15px;color:var(--navy);margin:16px 0 6px}.legal-card .legal-list{margin:4px 0;padding-inline-start:20px}.legal-card .legal-list li,.legal-card .legal-p{font-size:14px;line-height:1.55;color:var(--grey);margin:4px 0}.legal-card .legal-note{margin-top:16px;background:var(--blue-050);border:1px solid var(--info-line);border-radius:8px;padding:10px 14px;font-size:13px;color:var(--navy)}.chip-litige{background:var(--danger-bg);color:var(--danger-ink)}.icon-btn.litige-btn.lit-on{background:var(--danger-bg);border-color:var(--danger-line)}.inv-history{display:flex;flex-direction:column;gap:8px;margin-top:6px}.inv-day{border:1px solid var(--line);border-radius:10px;overflow:hidden}.inv-day-head{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface-2);border:none;cursor:pointer;font-size:14.5px;color:var(--navy);text-align:start}.inv-day-date{font-weight:700;flex:1}.inv-day-meta{color:var(--grey);font-size:12.5px;display:inline-flex;align-items:center;gap:6px}.inv-day-flag{font-size:11.5px;font-weight:700;padding:1px 7px;border-radius:999px}.inv-day-flag.brk{background:var(--danger-bg);color:var(--danger-ink)}.inv-day-flag.ret{background:var(--track);color:var(--grey)}.inv-day-caret{transition:transform .2s;color:var(--blue)}.inv-day.open .inv-day-caret{transform:rotate(90deg)}.inv-day-body{padding:8px 14px 14px;display:flex;flex-direction:column;gap:14px}.modes-intro{color:var(--grey);font-size:14px;line-height:1.5;margin:0 2px 16px}#myPassSave{margin-top:14px}.poste-fields .pa-pin{text-align:center;letter-spacing:3px}.set-pane[data-pane=modes]{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}@media (max-width: 780px){.set-pane[data-pane=modes]{grid-template-columns:1fr}}.set-pane[data-pane=modes]>.modes-intro{grid-column:1 / -1;margin-bottom:0}.set-pane[data-pane=modes]>.card{margin-bottom:0}.pm-card .card-title{margin-bottom:4px}.pm-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0}.pm-lbl{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--navy);font-size:15.5px}.pm-info{border:none;background:transparent;color:var(--grey);font-size:15px;line-height:1;padding:3px 4px;cursor:pointer;border-radius:6px}.pm-info:hover,.pm-info.on{color:var(--blue);background:var(--blue-050)}.pm-help{color:var(--grey);font-size:13.5px;line-height:1.5;margin:-4px 0 10px}.pq-params{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:0 0 8px;padding-inline-start:22px}.pq-params label{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--grey)}.pq-params input{width:66px;height:38px;border:1px solid var(--line);border-radius:8px;padding:0 10px;font-size:15px;background:var(--white);color:var(--ink);text-align:center}.pq-params .pq-u{margin-inline-start:-3px}.qr-params{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 14px}.qr-params label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--grey)}.qr-params input{width:76px;height:40px;border:1px solid var(--line);border-radius:8px;padding:0 10px;font-size:15px;background:var(--white)}#modeSeg{margin-bottom:14px}.qr-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;text-align:center;margin-bottom:22px}.qr-box{min-height:260px;display:flex;align-items:center;justify-content:center}.qr-box img{width:100%;max-width:300px;height:auto;image-rendering:pixelated}.qr-hint{color:var(--grey);font-size:14px;margin:8px 0 12px}.pre-item{display:flex;align-items:center;gap:12px;background:var(--white);border-radius:12px;box-shadow:var(--shadow);padding:12px 14px;margin-bottom:10px}.pre-who{flex:1 1 auto;min-width:0}.pre-who .name{font-weight:700;color:var(--navy)}.pre-who .meta{color:var(--grey);font-size:13px;margin-top:3px}.pre-note{text-align:center;padding:32px 8px}.pre-note .pre-ico{font-size:54px;line-height:1;margin-bottom:10px}.fast-banner{background:#fff6e0;border:1px solid #f0d38a;color:#7a5b00;border-radius:10px;padding:10px 14px;font-size:14px;margin:0 0 16px}.chip-todo{background:#fdecc8;color:#7a5b00}.name-todo{color:var(--grey);font-style:italic}.todo-filter{white-space:nowrap}.age-avg{margin:4px 0 12px;font-size:15px;color:var(--ink)}.age-avg b{color:var(--navy)}.age-avg .muted{color:var(--grey);font-size:13px}.age-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin:10px 0 12px;font-size:12.5px;color:var(--grey)}.age-legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-inline-end:5px;vertical-align:middle}.age-dist{display:flex;flex-direction:column;gap:8px;margin-bottom:6px}.age-row{display:flex;align-items:center;gap:10px}.age-lbl{flex:0 0 52px;text-align:right;font-size:13px;color:var(--grey);font-variant-numeric:tabular-nums}.age-bar-track{flex:1 1 auto;height:16px;background:var(--track);border-radius:8px;overflow:hidden}.age-bar{display:block;height:100%;border-radius:8px;min-width:2px}.age-cnt{flex:0 0 32px;text-align:right;font-size:14px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}.age-sub{margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}.age-fam{display:flex;flex-direction:column;gap:12px;margin-top:8px}.age-fam-row{display:flex;flex-direction:column;gap:5px}.age-fam-name{font-size:14px;color:var(--ink)}.age-fam-name b{color:var(--navy)}.age-fam-name .muted{color:var(--grey);font-size:12.5px}.age-fam-bar{display:flex;height:20px;border-radius:8px;overflow:hidden;background:var(--track)}.age-fam-bar span{min-width:3px;cursor:pointer}.age-fam-bar span.on{outline:2px solid var(--navy);outline-offset:-2px}.age-fam-detail{margin-top:5px;font-size:13px;color:var(--navy)}.age-fam-detail b{font-variant-numeric:tabular-nums}[dir=rtl] .age-lbl,[dir=rtl] .age-cnt{text-align:left}.inv-jk-head{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--navy);font-size:14px;margin-bottom:8px}.inv-jk-head .dot{width:12px;height:12px;border-radius:50%}.inv-jk-h{color:var(--grey);font-weight:500;font-size:12.5px}.inv-jk-status{font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px}.inv-jk-status.st-service{background:var(--blue-050);color:var(--blue)}.inv-jk-status.st-unused{background:#eef1f4;color:#64707c}.inv-jk-status.st-maintenance{background:var(--danger-bg);color:var(--danger-ink)}.inv-jk-returned{font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--track);color:var(--grey)}.inv-jk-returned.brk{background:var(--danger-bg);color:var(--danger-ink)}.inv-thumbs{display:flex;flex-wrap:wrap;gap:10px}.inv-thumb{border:1px solid var(--line);border-radius:8px;background:#fff;padding:0;cursor:pointer;overflow:hidden;width:96px}.inv-thumb img{width:96px;height:72px;object-fit:cover;display:block}.inv-thumb span{display:block;font-size:11px;color:var(--grey);padding:3px 4px;text-align:center}.inv-jk-note{font-size:13px;color:var(--grey);margin-top:6px}.inv-jk-note,.inv-jk{border-top:1px dashed var(--line);padding-top:10px}.inv-jk:first-child{border-top:none;padding-top:0}.lightbox{max-width:92vw;max-height:92vh;display:flex;flex-direction:column;align-items:center;gap:14px}.lightbox img{max-width:92vw;max-height:80vh;object-fit:contain;border-radius:8px;background:#fff}.toggle-row{display:flex;align-items:center;gap:14px;justify-content:space-between;cursor:pointer}.toggle-txt{display:flex;flex-direction:column}.toggle-txt small{color:var(--grey);font-size:12.5px;margin-top:3px;font-weight:400}.switch{position:relative;flex-shrink:0;width:50px;height:30px}.switch input{opacity:0;width:0;height:0}.switch .slider{position:absolute;inset:0;background:#c3ccd6;border-radius:999px;transition:background .2s}.switch .slider:before{content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;background:var(--white);border-radius:50%;transition:transform .2s}.switch input:checked+.slider{background:var(--ok)}.switch input:checked+.slider:before{transform:translate(20px)}.inv-note{width:100%;height:44px;border:1.5px solid var(--line);border-radius:10px;padding:0 12px;font-size:15px}.greet{font-size:15px;color:var(--blue);font-weight:700;margin-bottom:2px}.btn-lg{min-height:58px;font-size:18px}.dash-head{margin-bottom:14px}.dash-date{color:var(--grey);font-size:14px;text-transform:capitalize;font-weight:600}.tabbar{margin-bottom:12px}.tabbar button{height:44px}.mgr-tabs{margin-bottom:20px;gap:6px;padding:6px;flex-wrap:nowrap;overflow-x:auto;background:var(--white);border:1px solid var(--line-soft);border-radius:14px;box-shadow:var(--shadow-xs);scrollbar-width:none}.mgr-tabs::-webkit-scrollbar{display:none}.mgr-tabs button{height:46px;font-size:14.5px;border:none;background:transparent;border-radius:10px;flex:1 0 auto;white-space:nowrap;padding:0 14px;color:var(--grey);font-weight:600}.mgr-tabs button.active{color:#fff}@media (hover: hover){.mgr-tabs button:not(.active):hover{background:var(--blue-050);color:var(--blue)}}.page-h1{margin-top:4px}.period-seg{margin-bottom:18px}.period-seg button{height:38px;font-size:14px}.date-range{display:flex;flex-wrap:wrap;gap:10px 18px;margin:-6px 0 18px}.date-range label{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--navy)}.date-range input{height:40px;border:1.5px solid var(--line);border-radius:8px;padding:0 10px;font-size:15px}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:14px;margin-bottom:16px}.kpi{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line-soft);border-radius:var(--radius);padding:15px 17px 16px;box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .18s,transform .18s}.kpi:before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--accent, var(--blue)),color-mix(in srgb,var(--accent, var(--blue)) 55%,white))}@media (hover: hover){.kpi:hover{box-shadow:var(--shadow);transform:translateY(-2px)}}.kpi-head{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--grey);margin-bottom:7px}.kpi-head svg{width:15px;height:15px;flex:none;stroke-width:2;color:var(--accent, var(--blue))}.kpi-value{font-size:clamp(28px,2.6vw,33px);font-weight:800;color:var(--navy);line-height:1.04;white-space:nowrap;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.kpi-sub{font-size:13.5px;color:var(--accent, var(--blue));margin-top:5px;font-weight:700;line-height:1.5}@supports (color: color-mix(in srgb,red 50%,blue)){.kpi-sub{color:color-mix(in srgb,var(--accent, var(--blue)) 76%,var(--navy))}}.kpi-delta{font-size:11.5px;font-weight:700;margin-top:auto;padding-top:8px;white-space:nowrap}.jmix{display:block;margin-top:2px}.jmix-sess{display:block;font-size:12px;color:var(--grey);font-weight:600}.jmix-sess b{color:var(--navy);font-weight:800;font-size:13px}.jmix-durs{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:4px}.jmix-durs .jd{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums;white-space:nowrap}.jmix-durs .jd i{width:8px;height:8px;border-radius:2px;display:inline-block;flex-shrink:0}.kpi-delta.up{color:var(--ok)}.kpi-delta.down{color:var(--danger)}.kpi-delta.flat{color:var(--grey)}.blist{display:flex;flex-direction:column;gap:13px}.brow-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}.brow-label{flex:1;min-width:0;font-size:14px;font-weight:600;color:var(--navy);display:flex;align-items:center}.brow-label .dot{flex-shrink:0}.brow-val{flex-shrink:0;font-weight:800;color:var(--navy);font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}.brow-val.muted{color:var(--grey-light);font-weight:600}.brow-val small{color:var(--grey);font-weight:600;font-size:11px}.brow-track{display:block;height:8px;background:var(--track);border-radius:4px;overflow:hidden}.brow-fill{display:block;height:100%;border-radius:4px}.card{background:var(--white);border:1px solid var(--line-soft);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow-sm);margin-bottom:16px}.card-title{font-weight:700;color:var(--navy);margin-bottom:10px;font-size:15px;letter-spacing:-.005em}.card-sub{color:var(--grey);font-size:12.5px;margin:-6px 0 12px;line-height:1.35}.bar-chart .col-hit{fill:transparent;cursor:pointer}.bar-chart .col-hit.sel{fill:#0b2a430f}.day-detail{margin-top:12px;border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:8px;min-height:26px}.day-detail .dd-hint{color:var(--grey);font-size:13px}.day-detail .dd-day{font-weight:700;color:var(--navy);font-size:14px}.day-detail .dd-items{display:flex;flex-wrap:wrap;gap:8px 16px}.day-detail .dd-item{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--ink)}.day-detail .dd-item b{color:var(--navy)}.board-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:stretch;margin-bottom:16px}.board-grid>.card{margin-bottom:0;display:flex;flex-direction:column}.board-grid>.card>.blist{flex:1;justify-content:space-between}.rev-total{font-size:30px;font-weight:800;color:var(--navy);line-height:1.05;margin-bottom:14px;letter-spacing:-.01em}.rev-total .rev-cur{font-size:16px;font-weight:700;color:var(--grey)}.ca-hint{font-size:11.5px;color:var(--grey);font-weight:600;margin:-6px 0 10px}.ca-cases{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.ca-case{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:11px 13px;border-inline-start:3px solid var(--c)}.ca-case.clickable{cursor:pointer;transition:border-color .12s,box-shadow .12s,background .12s}.ca-case.clickable:hover{background:var(--white);border-color:var(--c)}.ca-case.sel{background:var(--white);border-color:var(--c);box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 30%,transparent)}.ca-case-top{font-size:13px;font-weight:700;color:var(--navy)}.ca-case-val{font-size:19px;font-weight:800;color:var(--navy);margin-top:6px;white-space:nowrap;font-variant-numeric:tabular-nums}.ca-case-val span{font-size:12px;color:var(--grey);font-weight:700}.ca-case-pct{font-size:12px;color:var(--grey);font-weight:700;margin-top:2px}.donut-block{display:flex;justify-content:center}.board-grid>.card>.donut-block{flex:1;align-items:center}.donut{width:100%;max-width:320px;height:auto}.donut-big{max-width:560px}.donut .cl-lead{fill:none;stroke:var(--chart-axis);stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}.donut .cl-name{fill:var(--navy);font-size:14px;font-weight:700}.donut .cl-val{fill:var(--grey);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.donut-pct{fill:#fff;font-size:11px;font-weight:800;paint-order:stroke;stroke:#0b2a432e;stroke-width:2px}.donut-num{fill:var(--navy);font-size:34px;font-weight:800;letter-spacing:-.02em}.donut-lbl{fill:var(--grey);font-size:12px;font-weight:600}.donut-leg{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin-top:14px}.donut-leg .ple{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--navy);font-weight:600}.donut-leg .ple b{font-weight:800;font-variant-numeric:tabular-nums}.donut-leg .ple small{color:var(--grey);font-weight:700}.sub-detail{display:flex;align-items:stretch;gap:6px;margin-top:12px;padding:10px 12px;background:color-mix(in srgb,var(--c) 7%,#fff);border:1px solid var(--line);border-inline-start:3px solid var(--c);border-radius:12px;overflow-x:auto}.sub-fam{display:flex;align-items:center;font-size:20px;padding-inline-end:6px;flex-shrink:0}.sub-item{flex:1;min-width:92px;display:flex;flex-direction:column;gap:2px;padding-inline:4px}.sub-item+.sub-item{border-inline-start:1px solid var(--line)}.sub-lbl{font-size:12px;color:var(--grey);font-weight:600;white-space:nowrap}.sub-val{font-size:16px;font-weight:800;color:var(--navy);white-space:nowrap;font-variant-numeric:tabular-nums}.sub-val i{font-size:11px;color:var(--grey);font-weight:700;font-style:normal}.sub-pct{font-size:11px;color:var(--grey);font-weight:700}.detail-head{display:flex;align-items:center;gap:8px}.back-link{border:1px solid var(--line);background:var(--white);border-radius:8px;width:26px;height:26px;cursor:pointer;font-size:15px;line-height:1;color:var(--navy);font-weight:800;flex-shrink:0}.back-link:hover{background:#f2f6f9}.detail-rev{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.detail-rev-h{font-size:13px;color:var(--grey);font-weight:600;margin-bottom:10px}.detail-rev-h b{color:var(--navy);font-weight:800}.poste-row{padding-top:14px;margin-top:14px;border-top:1px solid var(--line)}.poste-row:first-child{padding-top:4px;margin-top:4px;border-top:0}.poste-role{font-weight:700;color:var(--navy);font-size:14px;margin-bottom:10px}.poste-fields{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.field-inline{display:flex;flex-direction:column;gap:5px;flex:1;min-width:160px}.field-inline label{font-size:12.5px;font-weight:600;color:var(--grey)}.field-inline input{height:44px;border:1.5px solid var(--line);border-radius:10px;padding:0 12px;font-size:16px}.pa-save{height:44px;padding:0 20px;white-space:nowrap}.price-section{padding-top:14px;margin-top:14px;border-top:1px solid var(--line)}.price-section:first-of-type{padding-top:4px;margin-top:4px;border-top:0}.price-sec-title{font-weight:700;color:var(--navy);font-size:13px;text-transform:uppercase;letter-spacing:.03em;margin-bottom:12px;opacity:.85}.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.price-row{display:flex;flex-direction:column;align-items:stretch;gap:8px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.price-row label{font-weight:600;color:var(--navy);font-size:14px}.price-input{display:flex;align-items:center;gap:8px}.price-input input{flex:1;width:auto;min-width:0;height:44px;border:1.5px solid var(--line);border-radius:10px;padding:0 12px;font-size:16px;text-align:end;font-variant-numeric:tabular-nums;background:var(--white)}.price-input .cur{color:var(--grey);font-weight:700;font-size:14px;min-width:26px}.rec-amount{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--line);background:var(--surface-2);flex-wrap:wrap}.rec-amount .ra-lbl{font-size:13px;font-weight:700;color:var(--navy)}.rec-amount .ra-input{width:90px;height:36px;border:1.5px solid var(--line);border-radius:8px;padding:0 8px;font-size:15px;text-align:end;font-variant-numeric:tabular-nums}.rec-amount .ra-reset.hidden{display:none}.rec-amount .ra-badge{font-size:11px;font-weight:800;color:var(--warn-ink);background:var(--warn-bg);border-radius:999px;padding:2px 8px}.fleet-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:-4px 0 14px}.fleet-legend span{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--grey);font-weight:600}.fleet-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.fleet{display:flex;flex-direction:column;gap:14px}.fleet-row{display:grid;grid-template-columns:118px 68px 1fr;align-items:center;gap:14px}.fleet-row.warn .fleet-name{color:var(--danger)}.fleet-name{display:flex;align-items:center;gap:7px;font-weight:700;color:var(--navy);font-size:14px}.fleet-warn{font-size:13px}.fleet-usage{font-size:13px;color:var(--grey);font-weight:600;white-space:nowrap}.fleet-usage b{color:var(--navy);font-weight:800;font-size:16px}.fleet-graph{display:flex;flex-direction:column;gap:5px;min-width:0}.fleet-daysbar{display:flex;height:12px;border-radius:6px;overflow:hidden;background:var(--track);gap:1.5px}.fleet-daysbar span{display:block;height:100%}.fleet-daysbar.empty{background:var(--track)}.fleet-counts{display:flex;gap:14px;font-size:12px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}.fleet-counts .fc{display:inline-flex;align-items:center;gap:4px}.fleet-counts .fc i{width:8px;height:8px;border-radius:2px;display:inline-block}.analyses{margin-top:22px}.analyses-head{font-weight:800;color:var(--navy);font-size:17px;letter-spacing:-.01em;margin-bottom:12px}.fam-seg{margin-bottom:16px}.fam-seg button{height:40px;font-size:14px;font-weight:700}.stat-duo{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.stat-mini{flex:1;min-width:110px;background:#f4f8fb;border:1px solid var(--line);border-radius:10px;padding:12px 14px}.stat-mini b{display:block;font-size:24px;font-weight:800;color:var(--navy);line-height:1.05;white-space:nowrap}.stat-mini small{color:var(--grey);font-size:12px;font-weight:600}.badge-card{text-align:center;background:color-mix(in srgb,var(--blue) 7%,#fff);border:2px solid var(--blue);border-radius:16px;padding:18px 20px 16px;margin:6px 0 20px}.badge-label{text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:700;color:var(--blue)}.badge-num{font-size:68px;font-weight:800;color:var(--navy);line-height:1;margin:8px 0 6px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.badge-hint{font-size:13px;color:var(--grey)}.legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:10px}.leg-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--grey);font-weight:600}.bar-chart{width:100%;height:auto;display:block}.bar-chart .axis{stroke:var(--chart-axis);stroke-width:1.5}.bar-chart .grid{stroke:var(--line);stroke-width:1;opacity:.6}.bar-chart .bar-val{fill:var(--grey);font-size:12px;font-weight:700}.bar-chart .bar-x{fill:var(--grey);font-size:11px}.bar-chart g:hover path{fill:var(--navy)}.kpi-unit{font-size:14px;font-weight:700;color:var(--grey)}.chart-wrap{position:relative}.area-chart{width:100%;height:auto;display:block;overflow:visible}.area-chart .grid{stroke:var(--line);stroke-width:1;opacity:.55;stroke-dasharray:4 4}.area-chart .axis,.axis-tick{stroke:var(--chart-axis);stroke-width:1.5}.axis-y{fill:var(--grey);font-size:10.5px;font-variant-numeric:tabular-nums}.area-chart .bar-x{fill:var(--grey);font-size:11px}.area-chart .hit{cursor:crosshair}.fam-chart+.fam-chart{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.fam-chart-head{display:flex;align-items:center;gap:7px;font-size:14px;color:var(--navy);margin-bottom:2px}.fam-chart-head b{font-weight:700}.fam-chart-meta{color:var(--grey);font-size:12px;font-weight:600}.fam-chart-tot{margin-inline-start:auto;font-weight:800;font-variant-numeric:tabular-nums}.chart-tip{position:absolute;top:4px;pointer-events:none;background:var(--inverse-bg);color:var(--inverse-ink);border-radius:8px;padding:6px 9px;font-size:12px;line-height:1.35;box-shadow:0 4px 14px #0b2a4338;white-space:nowrap;z-index:3;display:flex;flex-direction:column}.chart-tip.tip-bottom{top:auto;bottom:4px}.chart-tip .tip-day{color:#b9d3e4;font-size:11px}.chart-tip .tip-val{font-weight:800;font-variant-numeric:tabular-nums}.sparks{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.spark{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:12px 12px 8px}.spark-head{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;color:var(--navy);margin-bottom:6px}.spark-tot{margin-inline-start:auto;font-variant-numeric:tabular-nums}.sparkline{width:100%;height:54px;display:block}.hbars{display:flex;flex-direction:column;gap:12px}.hbar{display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:10px}.hbar-label{font-size:14px;color:var(--ink);font-weight:600;display:flex;align-items:center}.hbar-track{height:14px;background:var(--track);border-radius:7px;overflow:hidden}.hbar-fill{display:block;height:100%;border-radius:7px;min-width:2px}.hbar-val{font-weight:800;color:var(--navy);font-size:15px;min-width:30px;text-align:end;font-variant-numeric:tabular-nums}.hbar-pct{display:block;font-size:11px;color:var(--grey);font-weight:600}.jtable{display:grid;grid-template-columns:1fr auto auto}.jtable-journey{grid-template-columns:1fr auto auto}.jt-row{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.jt-row:last-child{border-bottom:none}.jt-head{padding:0 0 8px;border-bottom:1px solid var(--line)}.jt-head span{font-size:11px;color:var(--grey);font-weight:700;text-transform:uppercase;letter-spacing:.04em;text-align:end}.jt-name{display:flex;align-items:center;font-weight:700;color:var(--navy);font-size:15px}.jt-num{text-align:end;font-weight:800;color:var(--navy);font-size:15px;font-variant-numeric:tabular-nums;border-radius:6px;padding:3px 8px;min-width:58px}.jt-num.muted{color:var(--grey-light);font-weight:600}.jt-num.dist{color:var(--ok)}.jt-num.dist.muted{color:var(--grey-light)}.jt-range{text-align:end;font-weight:700;color:var(--ink);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.mini-badge{font-size:12px;background:var(--warn-bg);color:var(--warn-ink);border-radius:999px;padding:2px 8px;margin-inline-start:8px}.ext-list{display:flex;flex-direction:column;gap:12px}.ext-card{background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:14px 16px}.ext-name{font-weight:700;color:var(--navy);font-size:16px}.ext-meta{color:var(--grey);font-size:13px;margin:2px 0 12px}.ext-add{display:flex;gap:8px}.ext-add .btn{flex:1}.ext-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.ext-top{display:flex;align-items:flex-start;gap:12px}.ext-who{flex:1;min-width:0}.ext-name .chip{margin-inline-start:6px;vertical-align:middle}.ext-card.done{opacity:.72;background:var(--surface-2)}.suivi-tabs{margin-bottom:14px}.km-start{font-size:13px;color:var(--grey);font-weight:600}.dist-line{font-weight:700;color:var(--ok);font-size:14px;min-height:18px}.dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-inline-end:6px;vertical-align:middle;box-shadow:0 0 0 1.5px #0000001f}.dot-light{box-shadow:0 0 0 1.5px #ffffffb3}.type-seg{margin-bottom:16px}.type-seg button{flex:1;height:42px}.cap-overlay{padding:16px}.cap-box{background:#0b2a43;border-radius:var(--radius);width:100%;max-width:560px;padding:14px}.cap-title{color:#fff;font-weight:700;text-align:center;margin-bottom:10px}.cap-actions{display:flex;gap:10px;margin-top:12px;align-items:center}.cap-actions .btn{flex:1}.cap-actions [data-a=shot]{flex:0 0 auto;font-size:22px;padding:0 26px}.cap-actions .btn-ghost{background:transparent;color:#fff;border-color:#ffffff8c;box-shadow:none}@media (hover: hover){.cap-actions .btn-ghost:hover:not(:disabled){background:#ffffff24;color:#fff;border-color:#fffc}}.pdf-overlay{padding:0}.pdf-box{background:#fff;width:100%;height:100%;max-width:900px;display:flex;flex-direction:column}.pdf-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--inverse-bg);color:var(--inverse-ink)}.pdf-bar .pdf-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-btns{display:flex;gap:8px;flex-shrink:0}.pdf-bar .btn-ghost{background:transparent;color:#fff;border-color:#ffffff80;box-shadow:none}@media (hover: hover){.pdf-bar .btn-ghost:hover:not(:disabled){background:#ffffff24;color:#fff;border-color:#fffc}}.pdf-box iframe{flex:1;width:100%;border:none;background:#525659}.svc-log{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}.svc-log-t{font-size:12.5px;font-weight:700;color:var(--grey);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}.svc-log-row{display:flex;align-items:center;gap:10px;font-size:13.5px;padding:5px 0;border-bottom:1px solid var(--line)}.svc-log-row span{flex:1}.svc-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.svc-row .svc-name{flex:1 1 auto;min-width:0;height:44px;border:1px solid var(--line);border-radius:8px;padding:0 12px;font-size:15px;background:var(--white)}.svc-row .svc-h{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:var(--grey)}.svc-row .svc-hours{width:76px;height:44px;border:1px solid var(--line);border-radius:8px;padding:0 10px;font-size:15px;text-align:center;background:var(--white)}.fleet-row-edit .fl-svc{width:74px;height:44px;border:1px solid var(--line);border-radius:8px;padding:0 8px;font-size:14px;text-align:center;background:var(--white)}.svc-badge:empty{display:none}.svc-badge{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.svc-pill{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;padding:5px 10px;border-radius:999px}.svc-pill.soon{background:var(--warn-bg);color:var(--warn-ink);border:1px solid var(--warn-line)}.svc-pill.over{background:var(--danger-bg);color:var(--danger-ink);border:1px solid var(--danger-line)}.svc-table{width:100%;border-collapse:collapse;font-size:14.5px}.svc-table th,.svc-table td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.svc-table th{font-size:12px;font-weight:700;color:var(--grey);text-transform:uppercase;letter-spacing:.4px}.svc-eng-cell{font-weight:700;color:var(--navy)}.svc-eng-cell .dot{margin-inline-end:7px}.svc-meter-cell{color:var(--grey);font-variant-numeric:tabular-nums}.svc-chip{min-width:68px;padding:6px 10px;border-radius:999px;border:1px solid transparent;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer}.svc-chip.ok{background:#eaf3f8;color:#1f6c93;border-color:#cfe3ee}.svc-chip.soon{background:var(--warn-bg);color:var(--warn-ink);border-color:var(--warn-line)}.svc-chip.over{background:var(--danger-bg);color:var(--danger-ink);border-color:var(--danger-line)}.svc-chip.init,.svc-chip.unknown{background:var(--surface-2);color:var(--grey);border-color:var(--line)}.svc-chip:hover{filter:brightness(.97)}.svc-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;font-size:12.5px;color:var(--grey)}.svc-legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-inline-end:6px;vertical-align:middle}.svc-legend i.ok{background:#7fb3ce}.svc-legend i.soon{background:#e0a94a}.svc-legend i.over{background:#c0392b}.svc-legend i.init{background:#c9d2da}.svc-alerts{display:flex;flex-direction:column;gap:8px;margin:12px 0 14px}.svc-alert{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;border:1px solid}.svc-alert.over{background:var(--danger-bg);border-color:var(--danger-line)}.svc-alert.soon{background:var(--warn-bg);border-color:var(--warn-line)}.svc-alert-txt{flex:1;font-size:14.5px;color:var(--ink)}.svc-init-note{margin-bottom:12px}[dir=rtl] .svc-table th,[dir=rtl] .svc-table td{text-align:right}.greet{font-size:14px;color:var(--blue);font-weight:700;margin-bottom:2px;letter-spacing:.01em}.home-actions{gap:12px;margin-top:22px}.btn-lg{min-height:60px;font-size:17.5px;border-radius:14px}.home-secondary{margin-top:30px;padding-top:18px;border-top:1px solid var(--line)}.home-sec-label{letter-spacing:.08em;color:var(--grey-light)}.home-secondary .btn+.btn{margin-top:10px}.ok-note{background:var(--ok-bg);border:1px solid rgba(19,166,106,.28);color:var(--ok-ink);border-radius:12px}.minor-note{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn-ink);border-radius:12px}.fail-note{background:#d8242712;border-color:#d8242747;color:#a81d1f;border-radius:12px}.signer-note,.jetski-card,.ocr-card{border-color:var(--info-line);border-radius:var(--radius)}.rec-wrap,.pre-item,.ext-card{border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow-xs);transition:box-shadow .18s,border-color .18s}@media (hover: hover){.rec-wrap:hover,.pre-item:hover,.ext-card:hover{box-shadow:var(--shadow-sm);border-color:var(--line)}}.rec .name{font-size:15.5px;letter-spacing:-.005em}.icon-btn{border-radius:11px;transition:background .15s,color .15s,border-color .15s}@media (hover: hover){.icon-btn:hover{border-color:var(--blue-light);color:var(--blue);background:var(--blue-050)}}.icon-btn.danger{color:#c58f8d}.rec-js,.rec-amount{background:var(--bg)}.empty{color:var(--grey)}.waiver-box{border-color:var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.waiver-box h3{color:var(--blue)}.check{border-radius:12px;transition:border-color .15s,background .15s}.check.checked{border-color:var(--blue-light);background:var(--blue-050)}.check input{accent-color:var(--blue-light)}.sign-pad-wrap{border-color:#b9dcf2;background:linear-gradient(180deg,#fbfdff,#fff);box-shadow:var(--shadow-xs)}.sign-label{font-family:var(--font-title);font-size:15px}.summary{border:1px solid var(--line-soft);box-shadow:var(--shadow-sm)}.summary .row{border-color:var(--line-soft)}.summary .row:nth-child(odd){background:#fcfdfe}.badge-card{background:var(--grad-deep);border:none;color:#fff;border-radius:var(--radius-lg);box-shadow:0 14px 34px #041b3a47;position:relative;overflow:hidden}.badge-card:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-18px;height:70px;background:radial-gradient(60% 100% at 50% 100%,rgba(53,197,244,.45),transparent 70%)}.badge-label{color:var(--cyan)}.badge-num{color:#fff}.badge-hint{color:#b7d7ea}.overlay{background:#041b3adb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.edit-box,.pin-panel,.qr-card,.cap-box{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.edit-box{border:1px solid var(--line-soft)}.cap-box{background:var(--inverse-bg)}.pdf-bar{background:var(--grad-deep)}.toast{background:var(--inverse-bg);border-radius:12px;box-shadow:var(--shadow-lg);font-weight:600;border:1px solid var(--inverse-line)}.chart-tip{background:var(--inverse-bg);box-shadow:var(--shadow-lg)}.chart-tip .tip-day{color:var(--cyan)}.attract{background-color:#041b3a}.attract:after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(180deg,transparent,rgba(4,27,58,.66));pointer-events:none}.attract-hint{position:relative;z-index:1;background:#041b3a6b;border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--font-title)}.pin-pad button{background:var(--blue-050);color:var(--navy);border-radius:14px}.pin-pad button:active{background:#d6ecf9}.pin-dots span.on{background:var(--blue);border-color:var(--blue)}.set-subtabs button{border-radius:12px}.set-subtabs button.active{background:var(--blue-050);border-color:var(--blue-light);color:var(--blue)}.price-row,.spark,.stat-mini,.ca-case{background:var(--surface-2);border-color:var(--line-soft)}.price-sec-title{color:var(--blue);letter-spacing:.07em}.brow-track,.hbar-track,.age-bar-track,.fleet-daysbar{background:#e9f1f8}.bar-chart .grid,.area-chart .grid{stroke:var(--line-soft)}@media (max-width: 480px){:root{--pad-x: 14px;--tap: 50px}body{font-size:16px}.screen{padding-top:18px}.screen h1{font-size:21px}.app-header{gap:9px;padding-inline:12px}.app-header img{height:34px}.app-header .title{font-size:14.5px}.lang-bar button{min-width:38px;height:32px;font-size:13px}.card{padding:15px 16px}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.kpi-value{font-size:24px}.btn{font-size:16px;padding:0 18px}.btn-lg{min-height:56px;font-size:16.5px}.photo-grid{grid-template-columns:repeat(2,1fr)}.login-wrap{padding:24px 20px}.cam-table,.svc-table{min-width:520px}}@media (min-width: 768px){:root{--pad-x: 24px;--w-flow: 760px}.screen{padding-top:26px}.screen h1{font-size:27px}.photo-grid{grid-template-columns:repeat(4,1fr)}.home-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.home-actions .btn{width:100%}.home-secondary .btn{display:inline-flex;width:auto;min-width:240px;margin-inline-end:10px}.home-secondary .btn+.btn{margin-top:0}}@media (min-width: 1024px){:root{--pad-x: 32px;--w-wide: 1280px;--tap: 48px}body{font-size:16px}.screen{padding-top:30px;padding-bottom:130px}.screen h1{font-size:28px}.app-header{padding:12px 26px;padding-top:calc(12px + env(safe-area-inset-top))}.app-header img{height:42px}.app-header .title{font-size:17px}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(212px,1fr));gap:16px}.board-grid{gap:20px}.card{padding:20px 22px}.mgr-tabs button{flex:1 1 0;padding:0 10px}.screen-wide{padding-bottom:60px}.waiver-box{max-height:52vh}.table-wrap{overflow-x:visible}}@media (min-width: 1440px){:root{--w-wide: 1400px;--pad-x: 40px}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(232px,1fr))}}@media (hover: hover) and (pointer: fine){*{scrollbar-width:thin;scrollbar-color:#C3D6E6 transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:#c3d6e6;border-radius:999px;border:3px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:#9fbed5;background-clip:content-box}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media print{.app-header,.action-bar,.lang-bar,.mgr-tabs{display:none!important}body:before{display:none}.screen{padding:0;max-width:none}.card,.rec-wrap,.summary{box-shadow:none;border:1px solid #ccc}}.ic{width:20px;height:20px;flex:none;display:inline-block;vertical-align:-4px}.ic-h1{width:26px;height:26px;vertical-align:-3px;margin-inline-end:8px}.h1-ic{display:flex;align-items:center;gap:2px}.mgr-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.mgr-tabs .ic{width:19px;height:19px;opacity:.85}.mgr-tabs button.active .ic{opacity:1}@media (max-width: 700px){.mgr-tabs button{flex-direction:column;gap:3px;height:58px;font-size:12.5px;padding:0 12px}.mgr-tabs .ic{width:21px;height:21px}}.set-subtabs button .st-ic{display:inline-flex;align-items:center;font-size:0}.set-subtabs .ic,.btn .ic{width:21px;height:21px}.btn-lg .ic{width:23px;height:23px}.fleet-card{background:var(--white);border:1px solid var(--line-soft);border-radius:14px;padding:12px 14px;margin-bottom:12px;box-shadow:var(--shadow-xs);transition:border-color .15s,box-shadow .15s}.fleet-card.open{border-color:var(--info-line);box-shadow:var(--shadow-sm)}.fleet-card .fleet-row-edit{margin-bottom:0}.fleet-card .fl-name{flex:1 1 200px}.fleet-card .fl-del{margin-inline-start:auto}.fl-svc-toggle{display:flex;align-items:center;gap:8px;width:100%;margin-top:10px;padding:7px 2px 0;background:transparent;border:none;border-top:1px dashed var(--line);cursor:pointer;text-align:start;font:inherit;color:var(--grey);flex-wrap:wrap}.fl-caret{color:var(--blue-light);font-weight:800;transition:transform .18s;flex:none}.fleet-card.open .fl-caret{transform:rotate(90deg)}.fl-svc-lbl{font-size:12.5px;font-weight:700;color:var(--grey);text-transform:uppercase;letter-spacing:.05em}.fl-svc-sum{display:flex;align-items:center;flex-wrap:wrap;gap:5px 7px;font-size:13px;min-width:0}.fl-sum-i{color:var(--grey-light);white-space:nowrap}.fl-sum-i b{font-weight:700;font-variant-numeric:tabular-nums}.fl-sum-i.own{color:var(--blue);background:var(--blue-050);border-radius:999px;padding:1px 9px;font-weight:600}@media (hover: hover){.fl-svc-toggle:hover .fl-svc-lbl,.fl-svc-toggle:hover .fl-caret{color:var(--blue)}}.fl-svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px 14px;margin-top:12px;padding:12px 0 2px;border-top:1px solid var(--line-soft)}.fl-svc-hint{grid-column:1 / -1;margin:0 0 2px;font-size:12.5px;color:var(--grey)}.fl-svc-f{display:flex;flex-direction:column;gap:5px;min-width:0}.fl-svc-n{font-size:13px;font-weight:600;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fl-svc-in{display:flex;align-items:center;gap:7px}.fl-svc-in .fl-svc{flex:1 1 auto;width:100%;min-width:0;height:42px;border:1.5px solid var(--line);border-radius:10px;padding:0 10px;font-size:15px;text-align:center;font-variant-numeric:tabular-nums;background:var(--white);color:var(--ink)}.fl-svc-in .fl-svc::placeholder{color:var(--grey-light);font-weight:400}.fl-svc-in .fl-svc:not(:placeholder-shown){border-color:#b9dcf2;background:var(--blue-050);color:var(--blue);font-weight:700}.fl-svc-u{font-size:13px;color:var(--grey);font-weight:600;flex:none}@media (max-width: 560px){.fleet-card .fl-name{flex:1 1 100%;order:-1}.fleet-card .fl-model,.fleet-card .fl-role{flex:1 1 auto}.fl-svc-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}.svc-row{padding:10px 12px;background:var(--white);border:1px solid var(--line-soft);border-radius:12px;box-shadow:var(--shadow-xs)}.svc-row .svc-name{border-color:transparent;background:transparent;font-weight:600}.svc-row .svc-name:focus{border-color:var(--blue-light);background:var(--white)}.edit-box,.pin-panel,.qr-card,.svc-log-row span{color:var(--ink)}.svc-log-row b{color:var(--navy);font-variant-numeric:tabular-nums}.svc-badge{margin:12px 0 14px;gap:8px}.inv-card .inv-note{margin-top:2px}.svc-pill.act{display:inline-flex;align-items:center;gap:10px;cursor:pointer;border-width:1px;border-style:solid;font:inherit;font-size:12.5px;font-weight:700;padding:7px 8px 7px 12px;text-align:start;transition:box-shadow .15s,transform .08s}.svc-pill.act .svc-pill-cta{background:#ffffffbf;border-radius:999px;padding:3px 10px;font-size:12px;white-space:nowrap;color:var(--navy)}.svc-pill.act:active{transform:translateY(1px)}@media (hover: hover){.svc-pill.act:hover{box-shadow:var(--shadow-sm)}}.inv-card.meter-invalid{border-color:var(--danger-line);background:#fdf7f6}.inv-card.meter-invalid .inv-hours{border-color:var(--danger);box-shadow:0 0 0 3px #d8242724}.dist-line.err{color:var(--danger);font-weight:700}.inv-card.meter-warn .inv-hours{border-color:#e0a94a;background:#fffcf5}.meter-hint.warn{color:var(--warn-ink);font-weight:700}.mc-pills{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}.mc-pill{display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:1.5px solid var(--line);background:var(--white);border-radius:999px;padding:7px 14px 7px 11px;font:inherit;font-size:13.5px;color:var(--navy);transition:border-color .15s,background .15s,opacity .15s}.mc-pill .mc-dot{width:11px;height:11px;border-radius:50%;background:var(--c);flex:none;box-shadow:0 0 0 1.5px #0000001a}.mc-pill b{font-weight:700}.mc-pill .mc-val{color:var(--grey);font-variant-numeric:tabular-nums}.mc-pill .mc-gain{color:var(--ok-ink);font-weight:700;font-size:12px;font-variant-numeric:tabular-nums}.mc-pill[aria-pressed=true]{border-color:var(--c);background:color-mix(in srgb,var(--c) 8%,#fff)}.mc-pill.off{opacity:.5}.mc-pill.off .mc-dot{background:transparent;box-shadow:inset 0 0 0 2px var(--grey-light)}.mc-pill.off b{text-decoration:line-through}@media (hover: hover){.mc-pill:hover{border-color:var(--c)}}.meter-chart{margin-top:4px}@media (max-width: 480px){.mc-pills{gap:6px}.mc-pill{padding:6px 11px 6px 9px;font-size:12.5px;gap:6px;flex:1 1 44%;justify-content:center}.mc-pill .mc-val{font-size:12px}}.svc-warn-in{display:inline-flex;align-items:center;gap:8px;flex:none}.svc-warn-in input{width:84px;height:44px;border:1.5px solid var(--line);border-radius:10px;padding:0 10px;font-size:16px;text-align:center;font-variant-numeric:tabular-nums;background:var(--white);color:var(--ink)}.chart-tip .tip-row{display:flex;align-items:center;gap:7px;white-space:nowrap}.chart-tip .tip-row i{width:9px;height:9px;border-radius:50%;flex:none}.chart-tip .tip-row b{margin-inline-start:auto;font-variant-numeric:tabular-nums;font-weight:700}.chart-tip .tip-row em{font-style:normal;color:var(--cyan);font-weight:700;font-size:11px;font-variant-numeric:tabular-nums}.meter-chart .hit{cursor:crosshair}.nb-box{display:flex;flex-direction:column;gap:4px;background:var(--blue-050);border:1px solid var(--info-line);border-radius:10px;padding:9px 12px;margin-bottom:14px;font-size:13px;color:var(--navy)}.nb-box b{font-variant-numeric:tabular-nums}.nb-box .nb-d{color:var(--grey);font-size:12px}.em-msg{display:flex;flex-direction:column;gap:5px;margin:2px 0 10px;font-size:13px;font-weight:600}.em-msg:empty{margin:0}.em-err{color:var(--danger)}.em-warn{color:var(--warn-ink)}.inv-jk-head .inv-edit{margin-inline-start:auto}.pr-list{display:flex;flex-direction:column;gap:8px}.pr-row{border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-2);padding:10px 14px;transition:border-color .15s,background .15s}.pr-row.open{border-color:var(--blue-light);background:var(--white);box-shadow:var(--shadow-sm)}.pr-main{display:grid;grid-template-columns:1fr auto 16px;align-items:center;column-gap:14px;width:100%;padding:4px 0;border:none;background:none;font:inherit;color:inherit;text-align:start;cursor:pointer}.pr-name{font-weight:600;color:var(--navy);font-size:14.5px}.pr-price{display:flex;align-items:baseline;justify-content:flex-end;gap:6px;font-size:16px;color:var(--navy);font-variant-numeric:tabular-nums;white-space:nowrap}.pr-price b{font-weight:800;min-width:4ch;text-align:right}.pr-price s{color:var(--grey-light);font-weight:600;font-size:.875em}.pr-price i{font-style:normal;font-weight:600;color:var(--grey);font-size:.82em}.pr-price.promo b{color:var(--ok)}.pr-chev{color:var(--grey-light);font-size:20px;line-height:1;justify-self:end;transition:transform .18s}.pr-row.open .pr-chev{transform:rotate(90deg);color:var(--blue)}.pr-actions{display:flex;align-items:stretch;gap:8px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}.pr-actions .btn{flex:none}.pr-actions .btn.on{border-color:var(--blue-light);background:var(--blue-050);color:var(--blue)}.pr-promos{display:flex;flex-direction:column;gap:5px;margin-top:8px}.pr-promo{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:var(--grey);background:var(--white);border:1px solid var(--line);border-radius:999px;padding:4px 6px 4px 12px;align-self:flex-start}.pr-promo-txt{line-height:1.5}.pr-promo.active{border-color:#13a66a66;background:#13a66a12;color:var(--ok-ink)}.pr-promo b{color:inherit;font-variant-numeric:tabular-nums}.pr-promo-state{font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.pr-promo-del{border:none;background:transparent;color:var(--grey-light);cursor:pointer;font-size:14px;line-height:1;padding:2px 6px;border-radius:50%}.pr-promo-del:hover{color:var(--danger);background:#d824271a}.pr-panel{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}.pr-panel-t{font-size:12.5px;font-weight:700;color:var(--grey);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}.pr-form{display:flex;flex-wrap:wrap;gap:12px}.pr-form .field-inline{min-width:130px}.pr-form .field-inline.grow{flex:1 1 200px}.pr-form .field-inline span{font-size:12.5px;font-weight:600;color:var(--grey)}.pr-form input{height:44px;border:1.5px solid var(--line);border-radius:10px;padding:0 12px;font-size:15px;background:var(--white)}.pr-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.pr-hist{display:grid;grid-template-columns:max-content max-content 1fr}.pr-hist-row{display:contents}.pr-hist-row>*{padding:6px 0;border-bottom:1px solid var(--line-soft);font-size:13px}.pr-hist-row:last-child>*{border-bottom:none}.pr-hist-row.promo>*{color:var(--ok-ink)}.pr-hist-when{color:var(--grey);font-variant-numeric:tabular-nums;white-space:nowrap;padding-inline-end:14px}.pr-hist-price{font-variant-numeric:tabular-nums;color:var(--navy);text-align:end;white-space:nowrap;padding-inline-end:14px}.pr-hist-lbl{color:var(--grey)}@media (max-width: 560px){.pr-hist-row>*{font-size:12.5px}.pr-hist-when,.pr-hist-price{padding-inline-end:10px}}@media (max-width: 560px){.pr-row{padding:12px 14px}.pr-main{column-gap:10px}.pr-price{font-size:21px;line-height:1.15}.pr-actions{flex-wrap:wrap}.pr-actions .btn{flex:1 1 40%;min-width:0}.pr-promo{align-self:stretch;border-radius:12px;padding:7px 8px 7px 12px;align-items:flex-start}.pr-promo-del{margin-inline-start:auto}}.update-banner{position:fixed;inset-inline:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px 10px 16px;border-radius:14px;background:var(--inverse-bg);color:var(--inverse-ink);box-shadow:0 12px 32px #00000061;border:1px solid var(--inverse-line);font-size:14px;font-weight:600;animation:update-in .22s ease-out}.update-banner span{flex:1 1 auto}.update-banner .btn{flex:none}@keyframes update-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (max-width: 560px){.update-banner{font-size:13.5px;padding-inline-start:14px}}.app-version{font-size:12px;color:var(--grey);font-variant-numeric:tabular-nums}.dev-ref{font-size:13px;color:var(--grey);margin-bottom:12px}.dev-warn{padding:10px 14px;font-size:13.5px;margin-bottom:12px}.dev-list{display:flex;flex-direction:column;gap:8px}.dev-row{display:grid;grid-template-columns:28px 1fr auto auto 34px;align-items:center;column-gap:12px;border:1px solid var(--line-soft);border-radius:12px;padding:10px 12px;background:var(--surface-2)}.dev-row.stale{border-color:#f2a51a73;background:#f2a51a12}.dev-ic{font-size:18px;line-height:1}.dev-main{display:flex;flex-direction:column;min-width:0}.dev-main b{font-size:14.5px;color:var(--navy)}.dev-main small{font-size:12px;color:var(--grey)}.dev-ver{font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums;padding:3px 8px;border-radius:999px;white-space:nowrap;min-width:76px;text-align:center}.dev-ver.ok{color:var(--ok-ink);background:#13a66a1a}.dev-ver.ko{color:var(--warn-ink);background:#f2a51a24}.dev-seen{font-size:12.5px;color:var(--grey);white-space:nowrap;min-width:74px;text-align:end}@media (max-width: 560px){.dev-row{grid-template-columns:24px 1fr auto;row-gap:6px;column-gap:10px}.dev-ic{grid-area:1 / 1 / 2 / 2}.dev-main{grid-area:1 / 2 / 2 / 3}.dev-del{grid-area:1 / 3 / 2 / 4;justify-self:end}.dev-ver{grid-area:2 / 2 / 3 / 3;justify-self:start;min-width:0}.dev-seen{grid-area:2 / 3 / 3 / 4;justify-self:end;min-width:0}}#app.force-light{background:var(--bg);color:var(--ink)}.sign-pad-wrap{background:#fff}.sign-pad-wrap canvas{background:transparent}#pdf-stage,.poster-stage{color-scheme:light}.qr-img,.qr-card img{background:#fff}.theme-btn{width:34px;height:34px;flex:none;border-radius:10px;cursor:pointer;border:1px solid rgba(255,255,255,.28);background:#ffffff12;color:#fff;font-size:15px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.theme-btn:hover{background:#ffffff29}@media (hover: hover){.pr-row:hover:not(.open),.dev-row:hover,.fleet-card:hover:not(.open){border-color:var(--info-line);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.icon-btn:hover{border-color:var(--blue-light);color:var(--blue);background:var(--blue-050)}.kpi:hover{box-shadow:var(--shadow-pop);transform:translateY(-2px)}}.pr-row,.dev-row,.fleet-card{transition:border-color .18s,box-shadow .18s,transform .18s var(--ease-out)}.rv{opacity:0;transform:translateY(14px)}.rv-in{opacity:1;transform:none;transition:opacity .5s var(--ease-out) var(--rv-d, 0ms),transform .55s var(--ease-out) var(--rv-d, 0ms)}@media (prefers-reduced-motion: reduce){.rv{opacity:1;transform:none}.rv-in{transition:none}}.ca-hero{background:var(--grad-deep);border-color:transparent;box-shadow:var(--shadow)}.ca-hero .card-title{color:#ffffffc7}.ca-hero .rev-total{color:#fff}.ca-hero .rev-total .rev-cur{color:#ffffffb8}.ca-hero .ca-case{background:#ffffff17;border:1px solid rgba(255,255,255,.15);border-inline-start:3px solid var(--c)}.ca-hero .ca-case-top{color:#fffc}.ca-hero .ca-case-val{color:#fff}.ca-hero .ca-case-val span,.ca-hero .ca-case-pct{color:#ffffffb8}.ca-hero .ca-case.clickable:hover{background:#ffffff2b;border-color:#ffffff57}.ca-hero .ca-case.sel{background:#ffffff2b;border-color:var(--c);box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 45%,transparent)}.ca-hero .sub-detail{background:#ffffff14;border-color:#ffffff26}.ca-hero .sub-lbl{color:#ffffffd9}.ca-hero .sub-val{color:#fff}.ca-hero .sub-val i,.ca-hero .sub-pct{color:#ffffffb8}@media (hover: hover) and (pointer: fine){.kpi,.ca-case,.pr-row,.dev-row,.fleet-card{position:relative}.kpi:after,.ca-case:after,.pr-row:after,.dev-row:after,.fleet-card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(200px circle at var(--mx, 50%) var(--my, 50%),rgba(53,197,244,.13),transparent 65%)}.kpi:hover:after,.ca-case:hover:after,.pr-row:hover:after,.dev-row:hover:after,.fleet-card:hover:after{opacity:1}.ca-hero .ca-case:after{background:radial-gradient(200px circle at var(--mx, 50%) var(--my, 50%),rgba(53,197,244,.22),transparent 65%)}}html.scrolled .app-header{box-shadow:0 8px 30px #041b3a4d}html.scrolled .app-header:after{opacity:1}.app-header{transition:box-shadow .25s}.app-header:after{transition:opacity .25s}@media (prefers-reduced-motion: no-preference){body:before{transform:translateY(calc(var(--scrolly, 0) * -.07px));will-change:transform}.app-login:before{animation:ken-zoom 26s ease-in-out infinite alternate}}@keyframes ken-zoom{0%{transform:scale(1.02)}to{transform:scale(1.09)}}.ic-t{width:19px;height:19px;flex:none}.ic-s{width:15px;height:15px;flex:none;vertical-align:-2.5px}.ic-xs{width:13px;height:13px;flex:none;vertical-align:-2px;opacity:.8}.ic-leg{width:15px;height:15px;flex:none;vertical-align:-2.5px;stroke-width:2.4}.card-title{display:flex;align-items:center;gap:8px}.card-title .ic-t{color:var(--blue)}.ca-hero .card-title .ic-t{color:var(--cyan)}.dev-svg{width:21px;height:21px;color:var(--grey)}.pm-lbl .ic-s,.toggle-txt .ic-s{color:var(--blue);margin-inline-end:2px}.dot-status{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none;vertical-align:baseline}.dot-status.over{background:var(--danger)}.dot-status.soon{background:var(--wait)}:root:not([data-theme=dark]) .card,:root:not([data-theme=dark]) .kpi,:root:not([data-theme=dark]) .mgr-tabs{border-color:transparent}
