:root{--color-primary: #0f6b3c;--color-primary-dark: #0a4f2c;--color-accent: #e07a1c;--color-bg: #ffffff;--color-card: #f5f5f7;--color-pill-bg: #e8e8ea;--color-cta-bg: #0a0a0a;--color-cta-text: #ffffff;--color-cta-bg-hover: #262626;--color-link: #0a6cff;--tint-blue-bg: #e8f1ff;--tint-blue-text: #0a6cff;--tint-orange-bg: #fff1e0;--tint-orange-text: #c26a00;--tint-purple-bg: #f2ebff;--tint-purple-text: #7a3ff0;--color-success: #248a3d;--color-warning: #c26a00;--color-danger: #d70015;--color-text: #0a0a0a;--color-muted: #8e8e93;--color-border: rgba(60, 60, 67, .14);--nav-bg: rgba(255, 255, 255, .85);--radius: 18px;--ambient-glow: transparent;--safe-top: env(safe-area-inset-top);--safe-bottom: env(safe-area-inset-bottom);--header-height: 56px}:root[data-theme=sombre]{--color-bg: #000000;--color-card: color-mix(in srgb, var(--color-primary) 14%, #1c1c1e);--color-pill-bg: color-mix(in srgb, var(--color-primary) 16%, #2c2c2e);--color-cta-bg: #ffffff;--color-cta-text: #0a0a0a;--color-cta-bg-hover: #d8d8dc;--color-link: #409cff;--tint-blue-bg: rgba(64, 156, 255, .18);--tint-blue-text: #409cff;--tint-orange-bg: rgba(255, 159, 10, .18);--tint-orange-text: #ff9f0a;--tint-purple-bg: rgba(191, 90, 242, .18);--tint-purple-text: #bf5af2;--color-success: #32d74b;--color-warning: #ff9f0a;--color-danger: #ff453a;--color-text: #ffffff;--color-muted: #98989f;--color-border: rgba(255, 255, 255, .14);--nav-bg: color-mix(in srgb, var(--color-primary) 14%, rgba(28, 28, 30, .85));color-scheme:dark;--ambient-glow: radial-gradient( ellipse 700px 480px at 50% 8%, color-mix(in srgb, var(--color-primary) 26%, transparent), transparent 62% )}*{box-sizing:border-box}html,body{height:100%;overscroll-behavior-y:none;overflow-x:hidden;-webkit-touch-callout:none}html{min-height:calc(100% + 1px)}html{background:var(--color-bg)}html.pwa-splash{background:var(--color-primary)}@media screen and (orientation: landscape){html{transform:rotate(-90deg);transform-origin:left top;width:100vh;height:100vw;overflow-x:hidden;position:absolute;top:100%;left:0}:root{--safe-top: max(env(safe-area-inset-left), env(safe-area-inset-right));--safe-bottom: max(env(safe-area-inset-left), env(safe-area-inset-right))}}body{margin:0;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-variant-numeric:tabular-nums;background:var(--color-bg);color:var(--color-text);transition:background-color .2s ease,color .2s ease}h3,h4{margin:0 0 .4rem;font-weight:700}h3{font-size:1rem}h4{font-size:.85rem}.app-shell{position:relative;display:flex;flex-direction:column;min-height:100vh;touch-action:pan-y}.app-shell:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:var(--ambient-glow);transition:background .3s ease}.app-main{position:relative;z-index:1}.app-header{position:sticky;top:0;z-index:50;transform:translateZ(0);display:flex;justify-content:space-between;align-items:center;padding:calc(.5rem + var(--safe-top)) 1rem .5rem;background:var(--nav-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:var(--color-text);border-bottom:1px solid var(--color-border);flex-wrap:nowrap;gap:.5rem}.brand{font-weight:800;font-size:1.1rem;color:var(--color-primary);text-decoration:none;white-space:nowrap;flex-shrink:0;background:none;border:none;margin:0;padding:0;cursor:pointer;font-family:inherit;outline:none;-webkit-tap-highlight-color:transparent}.header-avatar-button{flex-shrink:0;width:34px;height:34px;border-radius:50%;border:none;padding:0;margin:0;overflow:hidden;background:var(--color-primary);color:#fff;font-weight:700;font-size:.95rem;display:flex;align-items:center;justify-content:center;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;transition:transform .1s ease}.header-avatar-button:active{transform:scale(.92)}.header-avatar-button.has-logo{background:var(--color-card);border:1px solid var(--color-border)}.header-avatar-button img{width:100%;height:100%;object-fit:cover}.app-nav{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.app-nav button{color:var(--color-text);text-decoration:none;font-size:.95rem;background:none;border:none;margin:0;padding:0;cursor:pointer;font-family:inherit;outline:none;-webkit-tap-highlight-color:transparent}.link-button{background:none;border:none;color:var(--color-text);cursor:pointer;font-size:.95rem;margin:0;padding:0;outline:none;-webkit-tap-highlight-color:transparent}.header-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:nowrap;margin-left:auto;min-width:0}.header-link{color:var(--color-text);text-decoration:none;font-size:.9rem;opacity:.75}.popover-wrapper{position:relative;min-width:0}.greeting-button{background:none;border:none;color:var(--color-muted);cursor:pointer;font-size:.8rem;font-weight:500;padding:0;margin:0;font-family:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45vw}.icon-button{position:relative;width:34px;height:34px;background:var(--color-pill-bg);border:none;border-radius:50%;color:var(--color-text);cursor:pointer;padding:0;margin:0;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .1s ease}.icon-button:active{transform:scale(.92)}.notif-badge{position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;padding:0 3px;border-radius:999px;background:#c0392b;color:#fff;font-size:.65rem;line-height:16px;text-align:center;font-weight:600}.header-icon{width:22px;height:22px}.popover{position:absolute;top:calc(100% + .6rem);right:0;background:var(--color-card);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 8px 20px #00000026;min-width:200px;padding:.4rem;z-index:60}.popover-right{right:-.5rem}.popover-item{display:block;width:100%;text-align:left;background:none;border:none;padding:.6rem .7rem;margin:0;font-size:.9rem;color:var(--color-text);border-radius:6px;cursor:pointer}@media (hover: hover) and (pointer: fine){.popover-item:hover{background:var(--color-bg)}}.popover-version{padding:.5rem .7rem .2rem;margin:.2rem 0 0;font-size:.7rem;color:var(--color-border);border-top:1px solid var(--color-border);white-space:nowrap}.popover-empty{padding:.6rem .7rem;margin:0;font-size:.85rem;color:var(--color-muted);white-space:nowrap}.popover-notifications{min-width:300px;max-width:88vw;max-height:70vh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.popover-divider{height:1px;margin:.3rem 0;background:var(--color-border)}.popover-mark-all{position:sticky;top:0;z-index:1;background:var(--color-card);color:var(--color-primary);font-size:.8rem}.notif-list{list-style:none;margin:0;padding:0}.notif-item{display:flex;flex-direction:column;gap:.15rem;width:100%;text-align:left;background:none;border:none;border-radius:6px;padding:.5rem .7rem;margin:0;cursor:pointer;white-space:normal}@media (hover: hover) and (pointer: fine){.notif-item:hover{background:var(--color-bg)}}.notif-item-unread{background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.notif-item-title{font-size:.85rem;font-weight:600;color:var(--color-text)}.notif-item-unread .notif-item-title:before{content:"";display:inline-block;width:6px;height:6px;border-radius:999px;background:var(--color-primary);margin-right:.4rem}.notif-item-body{font-size:.8rem;color:var(--color-muted)}.notif-item-date{font-size:.7rem;color:var(--color-border)}.app-main{flex:1;padding:1.25rem;max-width:480px;width:100%;margin:0 auto}.page.narrow{max-width:420px;margin:0 auto}.page>h1{position:sticky;top:var(--header-height);z-index:15;margin:0;padding:.75rem 0;background:none;font-size:1.65rem;font-weight:800;letter-spacing:-.02em;line-height:2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:fadeInUp .3s ease both}.page>h1.non-sticky{position:static;top:auto;z-index:auto}.page section>h2{position:sticky;top:calc(var(--header-height) + 3.5rem);z-index:14;margin:0;padding:.5rem 0;background:none;font-size:1.15rem;font-weight:700;letter-spacing:-.01em;line-height:1.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero{text-align:center;margin-bottom:1.5rem}.profile-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem;margin-bottom:1.5rem;animation:fadeInUp .3s ease both}.profile-header h1{margin:.25rem 0 0;font-size:1.4rem}.profile-avatar{width:76px;height:76px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:800}.person-avatar{width:40px;height:40px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700}.profile-avatar-blue,.person-avatar-blue{background:var(--tint-blue-bg);color:var(--tint-blue-text)}.profile-avatar-orange,.person-avatar-orange{background:var(--tint-orange-bg);color:var(--tint-orange-text)}.profile-avatar-purple,.person-avatar-purple{background:var(--tint-purple-bg);color:var(--tint-purple-text)}.vehicle-tile-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.vehicle-tile{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin:0;padding:.85rem;background:var(--color-card);border:none;border-radius:var(--radius);text-align:left;color:var(--color-text);font:inherit;cursor:pointer}.vehicle-tile-icon{width:36px;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center}.vehicle-tile-icon-svg{width:16px;height:16px}.vehicle-tile-icon-blue{background:var(--tint-blue-bg);color:var(--tint-blue-text)}.vehicle-tile-icon-orange{background:var(--tint-orange-bg);color:var(--tint-orange-text)}.vehicle-tile-name{font-size:.9rem;font-weight:700}.vehicle-tile-meta{font-size:.78rem;color:var(--color-muted);line-height:1.4}.hero-logo{width:72px;height:72px;object-fit:cover;border-radius:16px;margin-bottom:.75rem}.hero p{color:var(--color-muted)}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;margin-bottom:1rem;animation:fadeInUp .3s ease both;transition:transform .15s ease,box-shadow .15s ease}@media (hover: hover) and (pointer: fine){.card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000014}}.spinner{display:inline-block;width:20px;height:20px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.spinner-light{border-color:#ffffff4d;border-top-color:#fff}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.loading-block{display:flex;align-items:center;gap:.6rem;color:var(--color-muted);padding:1rem 0}.loading-block-light{color:#fff}.share-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--color-border)}.share-row:last-child{border-bottom:none}.share-name{margin:0;font-weight:600}.share-email{margin:0;font-size:.85rem;color:var(--color-muted)}.card-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.card-header h3{margin:0;min-width:0}.group-section-label{font-size:.75rem;font-weight:700;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .5rem .25rem}.grouplist{border-radius:var(--radius);overflow:hidden;background:var(--color-card);margin-bottom:1.5rem;animation:fadeInUp .3s ease both}.grouprow{padding:.9rem 1rem;display:flex;flex-direction:column;gap:.6rem}.grouprow+.grouprow{border-top:1px solid var(--color-border)}.grouprow-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.grouprow-title{display:flex;align-items:center;gap:.75rem;font-size:.9rem;font-weight:600}.grouprow-title-icon{width:18px;height:18px;flex-shrink:0}.grouprow button{align-self:flex-start;margin-top:0}.switch-wrap{cursor:pointer;flex-shrink:0}.switch-track{width:46px;height:26px;border-radius:999px;position:relative;padding:3px;box-sizing:border-box;background:var(--color-border);transition:background .2s ease}.switch-track.on{background:#34c759}.switch-knob{width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.switch-track.on .switch-knob{transform:translate(20px)}.switch-track-sm{width:38px;height:22px}.switch-track-sm .switch-knob{width:16px;height:16px}.switch-track-sm.on .switch-knob{transform:translate(16px)}.switch-wrap-disabled{opacity:.5;pointer-events:none}.permissions-header-row{display:flex;padding:0 .25rem;margin-bottom:.5rem}.permissions-label-col{flex:1.6}.permissions-col-label{flex:1;text-align:center;font-size:.65rem;font-weight:700;color:var(--color-muted)}.permissions-row{display:flex;flex-direction:row;align-items:center;gap:.5rem}.permissions-row-label{flex:1.6;font-size:.82rem;font-weight:600}.permissions-col{flex:1;display:flex;justify-content:center}.card-header-toggle{cursor:pointer;-webkit-tap-highlight-color:transparent;margin:-.25rem -.25rem 0;padding:.25rem;border-radius:6px}.card-header-toggle-badges{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.card-chevron{width:18px;height:18px;flex-shrink:0;color:var(--color-muted);transition:transform .15s ease}.card-chevron-open{transform:rotate(180deg)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.grid-thin{display:flex;flex-direction:column;gap:.4rem}.card-thin{padding:.6rem .85rem;margin-bottom:0}.card-thin-title{margin:0;font-weight:600;min-width:0;flex:1}.card-thin-date{margin:.15rem 0 0;font-size:.85rem;color:var(--color-muted)}.card-thin-detail{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.table-row-clickable{cursor:pointer;-webkit-tap-highlight-color:transparent}.page>.calendar-date-nav{position:sticky;top:calc(var(--header-height) + 3.5rem);z-index:14;background:none;padding-top:.25rem}.calendar-nav{display:flex;align-items:center;gap:.4rem;margin-bottom:1rem;flex-wrap:wrap}.calendar-nav-chevron{flex-shrink:0;width:30px;height:30px;margin:0;padding:0;border-radius:50%;border:none;background:var(--color-pill-bg);color:var(--color-text);font-size:.95rem;line-height:1;display:flex;align-items:center;justify-content:center}.calendar-nav-date{flex:1;min-width:120px;margin:0;padding:.3rem .5rem;border:1px solid var(--color-border);border-radius:8px;font:inherit;font-size:.82rem;box-sizing:border-box;background:var(--color-pill-bg);color:var(--color-text)}.calendar-nav-today{flex-shrink:0;margin:0;padding:.4rem .75rem;border-radius:999px;border:none;background:var(--color-primary);color:#fff;font-size:.78rem;font-weight:700;font-family:inherit;cursor:pointer}@media (hover: hover) and (pointer: fine){.calendar-nav-today:hover{background:var(--color-primary-dark)}}.calendar-layout-toggle{display:flex;gap:.5rem;margin-bottom:.75rem}.calendar-layout-toggle-btn{width:36px;height:36px;margin:0;padding:0;border-radius:10px;border:1px solid var(--color-border);background:var(--color-pill-bg);color:var(--color-muted);display:flex;align-items:center;justify-content:center}.calendar-layout-toggle-btn svg{width:18px;height:18px}.calendar-layout-toggle-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.occupancy-card{background:var(--color-card);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.occupancy-title{margin:0 0 .75rem;font-size:.95rem;font-weight:700}.occupancy-bar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--color-border);margin-bottom:.65rem}.occupancy-bar-segment{height:100%}.occupancy-bar-confirmed{background:var(--color-success)}.occupancy-bar-pending{background:var(--color-warning)}.occupancy-bar-free{background:var(--color-border)}.occupancy-legend{display:flex;gap:1rem;flex-wrap:wrap;font-size:.78rem;color:var(--color-muted)}.occupancy-legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.3rem;font-style:normal}.occupancy-legend-dot-confirmed{background:var(--color-success)}.occupancy-legend-dot-pending{background:var(--color-warning)}.occupancy-legend-dot-free{background:var(--color-border)}.vehicle-row-side{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.vehicle-row-time{margin:0;font-size:.82rem;font-weight:700;white-space:nowrap}.calendar-grid-wrapper{overflow:auto;max-height:calc(100vh - var(--header-height) - 230px - var(--safe-bottom));margin-bottom:1rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);touch-action:pan-x pan-y;overscroll-behavior:contain}.calendar-grid{display:grid;width:max-content;min-width:100%;gap:0}.calendar-grid-corner{position:sticky;top:0;left:0;z-index:4;background:var(--color-card);border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);transform:translateZ(0)}.calendar-grid-header{position:sticky;top:0;z-index:3;transform:translateZ(0);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.5rem .4rem;font-size:.8rem;font-weight:600;text-align:center;color:var(--color-text);background:var(--color-card);border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);min-width:0;max-width:100%;overflow-wrap:break-word;box-sizing:border-box}.calendar-grid-header-onleave{color:var(--color-muted);background:var(--color-bg)}.calendar-grid-header-tag{font-size:.68rem;font-weight:500;padding:.05rem .4rem;border-radius:999px;background:var(--color-border);color:var(--color-muted)}.calendar-grid-time{position:sticky;left:0;z-index:2;transform:translateZ(0);display:flex;align-items:flex-start;justify-content:flex-end;padding:.4rem .5rem 0 0;font-size:.78rem;color:var(--color-muted);background:var(--color-card);border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border)}.calendar-grid-free{display:flex;align-items:center;padding:.4rem .5rem;font-size:.72rem;color:var(--color-muted);border-bottom:1px solid var(--color-border)}.calendar-grid-free-onleave{background:var(--color-bg)}.calendar-grid-free-hidden{background:var(--color-border);opacity:.35}.calendar-appointment-block{text-align:left;border:1px solid var(--color-border);border-left:4px solid var(--color-border);border-radius:8px;padding:.4rem .55rem;margin:2px;font-size:.82rem;background:var(--color-bg);cursor:pointer;color:var(--color-text);font-family:inherit;display:flex;flex-direction:column;gap:.1rem;outline:none;-webkit-tap-highlight-color:transparent;min-width:0;max-width:100%;overflow-wrap:break-word;box-sizing:border-box}.calendar-appointment-chip-pending{border-left-color:#c0392b}.calendar-appointment-chip-accepted{border-left-color:#e0a716}.calendar-appointment-chip-in-progress{border-left-color:#3568c9}.calendar-appointment-chip-completed{border-left-color:#2e8b47}.calendar-appointment-chip-refused{border-left-color:#8a8f8a}.form{display:flex;flex-direction:column;gap:.35rem}.input-row{display:flex;gap:.5rem;align-items:flex-start}.input-row input{flex:1}.input-row button{margin-top:0;white-space:nowrap}.hint{color:var(--color-muted);font-size:.85rem;margin:.2rem 0 0}label{font-size:.78rem;font-weight:600;color:var(--color-muted);margin-top:.5rem}input,select,textarea{padding:.6rem .75rem;border-radius:12px;border:1px solid var(--color-border);background:var(--color-pill-bg);color:var(--color-text);font-size:1rem;font-family:inherit}textarea{min-height:70px}button{margin-top:.75rem;padding:.65rem 1.2rem;border-radius:999px;border:none;background:var(--color-cta-bg);color:var(--color-cta-text);font-size:1rem;font-family:inherit;font-weight:600;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,background-color .15s ease}button:active:not(:disabled){transform:scale(.97)}@media (hover: hover) and (pointer: fine){button:hover{background:var(--color-cta-bg-hover)}}button.accent{background:var(--color-primary);color:#fff}@media (hover: hover) and (pointer: fine){button.accent:hover{background:var(--color-primary-dark)}}button.secondary{background:var(--color-pill-bg);color:var(--color-text)}button.secondary.text-danger{color:#b3261e}button.danger{background:#b3261e}@media (hover: hover) and (pointer: fine){button.danger:hover{background:#8c1d17}}button.danger-outline{background:transparent;color:var(--color-danger);border:1.5px solid var(--color-danger)}@media (hover: hover) and (pointer: fine){button.danger-outline:hover{background:color-mix(in srgb,var(--color-danger) 10%,transparent)}}button:disabled{opacity:.6;cursor:not-allowed}.actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-top:.5rem}.search-input-wide{display:block;width:100%;box-sizing:border-box;margin-bottom:1rem}.search-pill{display:flex;align-items:center;gap:.5rem;background:var(--color-pill-bg);border-radius:999px;padding:.6rem 1rem;margin-bottom:1rem}.search-pill-icon{width:15px;height:15px;flex-shrink:0;color:var(--color-muted)}.search-pill input{flex:1;min-width:0;border:none;background:none;padding:0;font-size:.9rem}.search-pill input:focus{outline:none}.tabs{display:flex;gap:0;background:var(--color-pill-bg);border-radius:999px;padding:4px;margin-bottom:1rem}.tab{flex:1;margin:0;padding:.5rem 0;border:none;background:none;color:var(--color-muted);font-size:.82rem;font-weight:600;white-space:nowrap}.tab.active{background:var(--color-cta-bg);color:var(--color-cta-text);font-weight:700}.error{color:#b3261e;font-weight:600}.success{color:var(--color-primary-dark);font-weight:600}.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.8rem;font-weight:600;background:var(--color-border);color:var(--color-text);white-space:nowrap;flex-shrink:0}.badge-pending{background:color-mix(in srgb,#c26a00 18%,var(--color-card));color:#c26a00}.badge-not_started{background:var(--color-pill-bg);color:var(--color-muted)}.badge-confirmed,.badge-in_progress{background:color-mix(in srgb,var(--color-success) 18%,var(--color-card));color:var(--color-success)}.badge-refused,.badge-cancelled{background:color-mix(in srgb,#b3261e 16%,var(--color-card));color:#b3261e}.badge-completed{background:color-mix(in srgb,#2e8b47 18%,var(--color-card));color:var(--color-success)}.badge-color-pending{background:color-mix(in srgb,#c0392b 16%,var(--color-card));color:#c0392b}.badge-color-accepted{background:color-mix(in srgb,#e0a716 22%,var(--color-card));color:#8a6d0a}.badge-color-in-progress{background:color-mix(in srgb,#3568c9 16%,var(--color-card));color:#3568c9}.badge-color-completed{background:color-mix(in srgb,#2e8b47 16%,var(--color-card));color:#2e8b47}.badge-color-refused{background:color-mix(in srgb,#8a8f8a 22%,var(--color-card));color:#5b6b63}.badge-waiting_parts{background:color-mix(in srgb,#7c3aed 18%,var(--color-card));color:#7c3aed}.badge-shared,.badge-admin{background:var(--tint-purple-bg);color:var(--tint-purple-text)}.news-list{display:flex;flex-direction:column;gap:1rem}.news-card{display:flex;gap:.75rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem;text-decoration:none;color:inherit;animation:fadeInUp .3s ease both}.news-card-image{width:96px;height:96px;object-fit:cover;border-radius:8px;flex-shrink:0;background:var(--color-bg)}.news-card-image-placeholder{width:96px;height:96px;border-radius:8px;flex-shrink:0;background:linear-gradient(135deg,var(--tint-blue-bg),var(--tint-purple-bg))}.news-card-body{min-width:0;display:flex;flex-direction:column;gap:.3rem}.news-card-category{align-self:flex-start;padding:.15rem .5rem;border-radius:999px;font-size:.7rem;font-weight:600;background:var(--color-border);color:var(--color-text)}.news-card-category-securite_routiere{background:color-mix(in srgb,#b3261e 16%,var(--color-card));color:#b3261e}.news-card-category-reglementation{background:color-mix(in srgb,#7c3aed 18%,var(--color-card));color:#7c3aed}.news-card-category-assurance{background:color-mix(in srgb,#3568c9 16%,var(--color-card));color:#3568c9}.news-card-category-actu_monde{background:color-mix(in srgb,var(--color-primary) 18%,var(--color-card));color:var(--color-primary)}.news-card-title{margin:0;font-size:.95rem;line-height:1.3}.news-card-summary{margin:0;font-size:.85rem;color:var(--color-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-card-meta{margin:0;font-size:.75rem;color:var(--color-muted)}.work-order{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.work-order h3,.work-order h4{margin:0 0 .4rem;font-size:.85rem;font-weight:700}.work-order ul{margin:.5rem 0;padding-left:1.1rem;font-size:.9rem;color:var(--color-muted)}.wo-steps{list-style:none;margin:.75rem 0;padding:0}.wo-step{position:relative;display:flex;align-items:flex-start;gap:.6rem;padding-bottom:1.1rem}.wo-step:last-child{padding-bottom:0}.wo-step:before{content:"";position:absolute;left:13px;top:28px;bottom:0;width:2px;background:var(--color-border)}.wo-step:last-child:before{display:none}.wo-step-marker{flex-shrink:0;width:28px;height:28px;border-radius:999px;border:2px solid var(--color-border);background:var(--color-pill-bg);color:var(--color-muted);font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0;margin:0;cursor:default;outline:none;-webkit-tap-highlight-color:transparent;z-index:1}.wo-step-done .wo-step-marker{border-color:var(--color-success);background:var(--color-success);color:#fff}.wo-step-current .wo-step-marker{border-color:var(--color-warning);color:var(--color-warning)}.wo-step-current .wo-step-marker:not(:disabled){cursor:pointer;box-shadow:0 0 0 4px color-mix(in srgb,var(--color-warning) 20%,transparent)}.wo-step-blocked .wo-step-marker{border-color:var(--color-danger);background:var(--color-danger);color:#fff}.wo-step-label{padding-top:.3rem;font-size:.9rem;color:var(--color-text)}.wo-step-upcoming .wo-step-label{color:var(--color-muted)}.wo-step-skipped{color:var(--color-muted);font-style:italic}.wo-step-skip-btn{margin-left:auto;align-self:center;font-size:.72rem;padding:.3rem .6rem}.wo-observation-pending{margin:.75rem 0;padding:.6rem .75rem;border-radius:var(--radius);background:color-mix(in srgb,var(--color-danger) 16%,var(--color-card));color:var(--color-danger)}.wo-observation-pending p{margin:0 0 .5rem}.wo-report-pending{margin:.75rem 0;padding:.6rem .75rem;border-radius:var(--radius);background:color-mix(in srgb,var(--color-warning) 18%,var(--color-card));color:var(--color-warning)}.wo-report-pending p{margin:0 0 .5rem}.wo-history{margin-top:.75rem}.wo-history h4{margin:0 0 .3rem;font-size:.8rem;color:var(--color-muted)}.wo-history ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.wo-history li{display:flex;flex-direction:column;font-size:.82rem}.wo-history-date{font-size:.72rem;color:var(--color-muted)}.wo-history-warning{color:#b3261e}.wo-history-ack{font-size:.72rem;color:var(--color-muted)}.wo-delegation{margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px dashed var(--color-border);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.85rem}.wo-delegation select{flex:1;min-width:160px;padding:.35rem;border:1px solid var(--color-border);border-radius:6px;font:inherit}.wo-photos{margin-top:.75rem}.wo-photos h4{margin:0 0 .4rem;font-size:.8rem;color:var(--color-muted)}.wo-photos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.wo-photo{margin:0}.wo-photo img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;border:1px solid var(--color-border)}.wo-photo figcaption{font-size:.68rem;color:var(--color-muted);margin-top:.2rem}.wo-photo-preview{width:100%;max-height:240px;object-fit:contain;border-radius:8px;margin-bottom:.5rem}.splash-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:var(--color-primary);animation:splash-in .4s ease}.splash-screen-exiting{animation:splash-container-fade .9s ease forwards}.splash-logo-wrap{position:relative;width:88px;height:88px}.splash-logo{width:100%;height:100%;border-radius:20px;box-shadow:0 8px 24px #00000040}.splash-screen-exiting .splash-logo-wrap{animation:splash-drive-in .9s cubic-bezier(.55,0,.85,.35) forwards}.splash-headlight{position:absolute;top:65.4%;width:10%;height:10%;border-radius:50%;transform:translate(-50%,-50%);opacity:0;pointer-events:none}.splash-headlight-left{left:34.1%}.splash-headlight-right{left:65.4%}.splash-screen-exiting .splash-headlight{animation:splash-headlight-on .9s ease forwards}.splash-name{color:#fff;font-weight:700;font-size:1.1rem;letter-spacing:.02em}.splash-screen-exiting .splash-name,.splash-screen-exiting .spinner{animation:splash-fade-out .25s ease forwards}@keyframes splash-in{0%{opacity:0}to{opacity:1}}@keyframes splash-drive-in{0%{transform:scale(1) translate(0)}4%{transform:scale(1.02) translate(-3px,1px)}8%{transform:scale(1.02) translate(3px,-1px)}12%{transform:scale(1.04) translate(-2px,2px)}16%{transform:scale(1.04) translate(2px,-2px)}20%{transform:scale(1.05) translate(-1px,1px)}22%{transform:scale(1.08) translate(0)}to{transform:scale(30) translate(0)}}@keyframes splash-headlight-on{0%,10%{opacity:0;box-shadow:none}22%{opacity:1;background:#fff8d6;box-shadow:0 0 6px 3px #fff7c8e6,0 0 14px 6px #ffdc7899}85%{opacity:1;background:#fff8d6;box-shadow:0 0 6px 3px #fff7c8e6,0 0 14px 6px #ffdc7899}to{opacity:0}}@keyframes splash-fade-out{to{opacity:0;transform:scale(.8)}}@keyframes splash-container-fade{0%,80%{opacity:1}to{opacity:0}}.install-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--color-bg);overflow-y:auto}.install-card{max-width:420px;width:100%;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;text-align:center}.install-logo{width:72px;height:72px;border-radius:16px;margin-bottom:1rem}.install-card h1{font-size:1.25rem;margin:0 0 .5rem}.install-card p{color:var(--color-muted);margin:0 0 1rem}.install-button{width:100%;margin-bottom:1rem}.install-steps{text-align:left;margin:0;padding-left:1.4rem;display:flex;flex-direction:column;gap:.75rem}.install-steps li{color:var(--color-text)}.app-main-with-nav{padding-bottom:calc(6rem + var(--safe-bottom))}.bottom-nav-backing{position:fixed;left:50%;bottom:calc(var(--safe-bottom) + 14px);transform:translate(-50%);width:calc(100% - 32px);max-width:448px;height:62px;background:var(--color-bg);z-index:35;pointer-events:none}.bottom-nav{position:fixed;left:50%;bottom:calc(var(--safe-bottom) + 14px);width:calc(100% - 32px);max-width:448px;box-sizing:border-box;z-index:40;transform:translate(-50%) translateZ(0);display:flex;background:var(--nav-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--color-border);border-radius:999px;box-shadow:0 8px 24px #0f14122e;padding:.3rem .4rem;overflow:hidden}.bottom-nav-item{flex:1;min-width:0;display:flex;justify-content:center;margin:0;padding:0;color:var(--color-muted);text-decoration:none;border:none;background:none;font-family:inherit;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}.bottom-nav-item-inner{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:6px 10px;border-radius:16px;border:1px solid transparent;font-size:.68rem;font-weight:500;white-space:nowrap;transition:color .15s ease,background-color .15s ease,border-color .15s ease}.bottom-nav-item.active .bottom-nav-item-inner{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 14%,var(--color-card));border-color:color-mix(in srgb,var(--color-primary) 28%,transparent);font-weight:700}.bottom-nav-icon{width:22px;height:22px;transition:stroke-width .15s ease,transform .15s ease}.bottom-nav-item.active .bottom-nav-icon{stroke-width:2.8;transform:scale(1.12)}.bottom-nav-disabled{color:var(--color-border);cursor:not-allowed}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0f141280;display:flex;align-items:stretch;justify-content:flex-start;opacity:0;pointer-events:none;transition:opacity .28s ease}.drawer-overlay-open{opacity:1;pointer-events:auto}.drawer-panel{width:min(80vw,300px);height:100%;background:var(--color-card);padding:calc(1.25rem + var(--safe-top)) 1.25rem 1.25rem;display:flex;flex-direction:column;box-shadow:4px 0 24px #00000026;overflow-y:auto;transform:translate(-100%);transition:transform .28s cubic-bezier(.22,.61,.36,1)}.drawer-overlay-open .drawer-panel{transform:translate(0)}.drawer-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.drawer-avatar{width:44px;height:44px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.1rem;flex-shrink:0;overflow:hidden}.drawer-avatar.has-logo{width:60px;height:60px;background:var(--color-card);border:1px solid var(--color-border)}.drawer-avatar-img{width:100%;height:100%;object-fit:cover}.drawer-name{margin:0;font-weight:600}.drawer-email{margin:0;font-size:.85rem;color:var(--color-muted)}.drawer-nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.drawer-item{display:flex;align-items:center;gap:.75rem;padding:.75rem .5rem;border-radius:10px;color:var(--color-text);text-decoration:none;font:inherit;background:none;border:none;cursor:pointer;text-align:left;width:100%}.drawer-item.active{background:var(--color-pill-bg);color:var(--color-text);font-weight:600}.drawer-item-button{color:var(--color-danger, #c0392b)}.drawer-item-icon{width:20px;height:20px;flex-shrink:0}.drawer-version{margin:1rem 0 0;padding-top:1rem;border-top:1px solid var(--color-border);font-size:.75rem;color:var(--color-muted);text-align:center}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#0f141280;display:flex;align-items:flex-end;justify-content:center;padding:0}.modal-card{background:var(--color-card);border-radius:16px 16px 0 0;padding:1.25rem;width:100%;max-width:480px;max-height:85vh;overflow-y:auto;padding-bottom:calc(var(--safe-bottom) + 96px)}.modal-header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:-1.25rem;z-index:5;margin:-1.25rem -1.25rem .75rem;padding:1.25rem 1.25rem .75rem;background:var(--color-card);border-radius:16px 16px 0 0}.modal-header h3{margin:0}.modal-close{background:none;border:none;font-size:1.1rem;line-height:1;color:var(--color-muted);cursor:pointer;padding:.25rem;margin:0}@media (min-width: 560px){.modal-overlay{align-items:center}.modal-card{border-radius:16px}}.add-vehicle-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin:0 0 1rem}.add-vehicle-icon{width:18px;height:18px}.vehicle-row-list{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem}.vehicle-row{display:flex;align-items:center;gap:.85rem;background:var(--color-card);border:none;border-radius:var(--radius);padding:.85rem;margin:0;width:100%;text-align:left;color:var(--color-text);font-family:inherit;cursor:pointer;animation:fadeInUp .3s ease both}.vehicle-row-icon{flex:0 0 auto;width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center}.vehicle-row-icon svg{width:24px;height:24px}.vehicle-row-info{flex:1;min-width:0}.vehicle-row-name{margin:0;font-size:.95rem;font-weight:700}.vehicle-row-meta{margin:.1rem 0 0;font-size:.78rem;color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vehicle-row-chevron{flex-shrink:0;width:15px;height:15px;color:var(--color-muted)}.page-intro{color:var(--color-muted);margin-top:-.5rem;margin-bottom:1rem}.pad-frame{position:relative;border:1px solid var(--color-border);border-radius:10px;background:#fff;overflow:hidden;margin-bottom:.5rem}.signature-canvas{display:block;width:100%;height:140px;touch-action:none;cursor:crosshair}.pad-hint{position:absolute;left:12px;bottom:8px;font-size:.75rem;color:var(--color-muted);font-style:italic;pointer-events:none}.pad-actions{display:flex;justify-content:flex-end;margin-bottom:.5rem}.btn-ghost{background:none;border:none;color:var(--color-muted);font-size:.85rem;cursor:pointer;text-decoration:underline;margin:0;padding:0}.vehicle-photo{width:100%;max-height:220px;object-fit:cover;border-radius:var(--radius);margin-bottom:1rem;background:var(--color-border)}.vehicle-photo-placeholder{width:100%;height:140px;border-radius:var(--radius);margin-bottom:1rem;background:var(--tint-blue-bg);color:var(--tint-blue-text);display:flex;align-items:center;justify-content:center}.vehicle-photo-placeholder-icon{width:48px;height:48px}.photo-edit-button{display:inline-flex;align-items:center;gap:.4rem;background:var(--color-pill-bg);color:var(--color-text);border:none;border-radius:999px;padding:.5rem 1rem;font-size:.78rem;font-weight:700;font-family:inherit;cursor:pointer;margin-bottom:1rem}.logo-preview{width:88px;height:88px;object-fit:cover;border-radius:12px;background:var(--color-bg);border:1px solid var(--color-border);display:block}.logo-preview-empty{width:88px;height:88px;border-radius:12px;background:var(--color-bg);border:1px dashed var(--color-border)}.logo-preview-row{display:flex;align-items:center;gap:.75rem}.geo-status{margin:0;font-size:.85rem}.geo-status-done{color:var(--color-primary-dark)}.geo-status-error{color:var(--color-muted)}.invoice-preview{max-width:100%;border-radius:8px;border:1px solid var(--color-border);margin:.5rem 0}.signature-preview{max-width:220px;border:1px solid var(--color-border);border-radius:8px;background:#fff}.pdf-preview{margin:.5rem 0}.pdf-preview-viewport{max-height:70vh;overflow-y:auto;overflow-x:hidden;touch-action:pan-y;border:1px solid var(--color-border);border-radius:8px;background:#fff}.pdf-preview-pages{width:100%;transform-origin:center center}.pdf-preview-page{display:block;width:100%;height:auto}.pdf-preview-page+.pdf-preview-page{border-top:1px solid var(--color-border)}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:.5rem;margin:.75rem 0}.slot-button{margin:0;padding:.5rem;font-size:.85rem;background:var(--color-pill-bg);border:1px solid var(--color-border);color:var(--color-text)}.slot-button.selected{background:var(--color-cta-bg);color:var(--color-cta-text);border-color:var(--color-cta-bg)}.welcome-page{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1.25rem;min-height:60vh}.welcome-check{width:64px;height:64px;border-radius:50%;background:color-mix(in srgb,var(--color-success) 15%,var(--color-card));color:var(--color-success);display:flex;align-items:center;justify-content:center}.welcome-check-icon{width:28px;height:28px}.welcome-page h1{margin:0}.audience-choice{margin-top:2.5rem;text-align:center}.audience-grid{display:flex;justify-content:center;gap:1.25rem}.audience-tile{flex:1;max-width:160px;display:flex;flex-direction:column;align-items:center;gap:.6rem;margin:0;padding:1.75rem 1rem;background:var(--color-card);border:none;border-radius:var(--radius);color:var(--color-text);font-size:1rem;font-weight:600}.audience-icon{width:40px;height:40px;color:var(--color-text)}.link-back{display:block;background:none;border:none;color:var(--color-muted);padding:0;margin:0 0 1rem;font-size:.9rem;text-align:left}.text-link{background:none;border:none;padding:0;margin:0;font:inherit;color:var(--color-link);text-decoration:underline;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}.vehicle-filter-selected{border-color:var(--color-primary);border-width:2px;background:color-mix(in srgb,var(--color-primary) 6%,var(--color-card))}.actions-stacked{flex-direction:column;align-items:stretch}.staff-list{margin-bottom:1rem}.staff-row{display:flex;align-items:center;gap:.5rem;padding:.6rem 0;border-bottom:1px solid var(--color-border)}.staff-row-info{flex:1;min-width:0}.staff-row-name{display:flex;align-items:center;gap:.4rem;margin:0;font-weight:600;min-width:0}.staff-row-name-link{margin:0;padding:0;border:none;background:none;font:inherit;font-weight:inherit;color:var(--color-text);cursor:pointer;min-width:0;flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-row-category{margin-left:0;flex-shrink:0;font-size:.7rem;vertical-align:middle}.staff-row-meta{margin:.15rem 0 0;font-size:.8rem;color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-row-actions{display:flex;gap:.35rem;flex-shrink:0}.staff-row-chevron{width:15px;height:15px;flex-shrink:0;color:var(--color-muted)}.icon-action-button{margin:0;padding:.4rem;background:var(--color-pill-bg);border:none;color:var(--color-text);border-radius:999px;line-height:1}.icon-action-danger{color:#b3261e;border-color:#f3c3bf}.icon-action-icon{width:16px;height:16px;display:block}.vehicle-actions{display:flex;justify-content:space-between;margin:1rem 0}.vehicle-action-button{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:.45rem;margin:0;padding:0;background:none;border:none;color:var(--color-text);font-size:.68rem;font-weight:600;font-family:inherit;cursor:pointer}.vehicle-action-icon-circle{width:52px;height:52px;border-radius:50%;background:var(--color-pill-bg);color:var(--color-text);display:flex;align-items:center;justify-content:center}.vehicle-action-icon-circle-primary{background:var(--color-cta-bg);color:var(--color-cta-text)}.vehicle-action-icon{width:20px;height:20px}.month-calendar-label{flex:2;display:flex;align-items:center;justify-content:center;font-weight:600;text-transform:capitalize;min-width:120px}.month-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-top:.5rem}.month-calendar-weekday{text-align:center;font-size:.7rem;color:var(--color-muted);padding:.25rem 0}.month-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:1rem}.cal-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;margin:0;padding:.5rem .1rem;min-height:3rem;border:1px solid transparent;border-radius:8px;background:var(--color-card);cursor:pointer;font:inherit;font-size:.9rem;color:var(--color-text);outline:none;-webkit-tap-highlight-color:transparent}.cal-day-outside{color:var(--color-border);background:transparent}.cal-day-today{font-weight:700;border-color:var(--color-text)}.cal-day-selected{background:var(--color-cta-bg);color:var(--color-cta-text)}.cal-day-dots{display:flex;gap:2px;min-height:6px}.cal-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.cal-dot-pending{background:#c0392b}.cal-dot-accepted{background:#e0a716}.cal-dot-in-progress{background:#3568c9}.cal-dot-completed{background:#2e8b47}.cal-dot-refused{background:#8a8f8a}.cal-dot-reminder{background:#7c3aed}.cal-dot-leave-pending{background:#d97706}.cal-dot-leave-approved{background:#059669}.calendar-legend{display:flex;flex-wrap:wrap;gap:.6rem 1rem;font-size:.78rem;color:var(--color-muted);margin:.5rem 0 1rem}.calendar-legend-item{display:flex;align-items:center;gap:.35rem}.tour-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a101cb8;z-index:150;opacity:0;transition:opacity .2s ease,background .2s ease}.tour-backdrop.tour-visible{opacity:1}.tour-backdrop.tour-backdrop-hole{background:transparent}.tour-highlight{position:fixed;z-index:151;border-radius:14px;box-shadow:0 0 0 4px var(--color-primary),0 0 0 9999px #0a101cb8;pointer-events:none;transition:top .3s ease,left .3s ease,width .3s ease,height .3s ease;animation:tour-pulse 1.8s ease-in-out infinite}.tour-highlight:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:#ffffff38;mix-blend-mode:screen}@keyframes tour-pulse{0%,to{box-shadow:0 0 0 4px var(--color-primary),0 0 0 9999px #0a101cb8}50%{box-shadow:0 0 0 7px var(--color-primary),0 0 0 9999px #0a101cb8}}@media (prefers-reduced-motion: reduce){.tour-highlight{animation:none}}.tour-popup{position:fixed;z-index:152;background:var(--color-card);color:var(--color-text);border-radius:16px;padding:1.1rem 1.2rem;box-shadow:0 12px 36px #00000059;width:min(320px,86vw);opacity:0;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease,top .3s ease,left .3s ease}.tour-popup.tour-visible{opacity:1;transform:translateY(0)}.tour-popup.tour-centered{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%)}.tour-popup.tour-centered.tour-visible{transform:translate(-50%,-50%)}.tour-caret{position:absolute;width:16px;height:16px;background:var(--color-card);transform:rotate(45deg)}.tour-caret-down{top:-8px}.tour-caret-up{bottom:-8px}.tour-popup.tour-centered .tour-caret{display:none}.tour-step-title{display:flex;align-items:center;gap:.4rem;font-weight:800;font-size:1.02rem;margin:0 0 .5rem}.tour-step-icon{width:19px;height:19px;flex:none}.tour-step-text{font-size:.85rem;color:var(--color-muted);line-height:1.55;margin:0 0 1rem}.tour-progress{display:flex;gap:.3rem;margin-bottom:.8rem}.tour-progress-dot{width:6px;height:6px;border-radius:50%;background:var(--color-border);flex:none}.tour-progress-dot.tour-progress-done{background:var(--color-primary)}.tour-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.tour-skip-btn{background:none;border:none;color:var(--color-muted);font-size:.78rem;font-weight:600;cursor:pointer;padding:.4rem .2rem;margin:0}.tour-nav-btns{display:flex;gap:.5rem}.tour-prev-btn{background:var(--color-pill-bg);color:var(--color-text);border:none;border-radius:999px;padding:.5rem 1rem;font-size:.8rem;font-weight:700;cursor:pointer;margin:0}.tour-next-btn{background:var(--color-primary);color:#fff;border:none;border-radius:999px;padding:.5rem 1.1rem;font-size:.8rem;font-weight:700;cursor:pointer;margin:0;display:flex;align-items:center}@media (hover: hover) and (pointer: fine){.tour-next-btn:hover{background:var(--color-primary-dark)}}.tour-hint{display:flex;align-items:center;margin:.7rem 0 0;font-size:.72rem;font-style:italic;color:var(--color-muted);text-align:center;justify-content:center;gap:.25rem}.tour-nav-icon{width:14px;height:14px;flex:none}.tour-interactive{margin:0 0 .9rem}.tour-interactive button{margin:0;width:100%}.tour-interactive-status{margin:.5rem 0 0;font-size:.76rem;color:var(--color-muted);text-align:center}.tour-popup-forced .tour-actions{justify-content:flex-end}
