:root{font-family:Inter,SF Pro Text,system-ui,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#0f172a;background-color:#f8fafc;--color-bg: #f8fafc;--color-surface: #ffffff;--color-border: #e2e8f0;--color-text: #0f172a;--color-muted: #64748b;--color-chip: #f1f5f9;--modal-surface: #ffffff;--modal-text: #0f172a;--modal-border: #e2e8f0;--modal-overlay-bg: rgba(15, 23, 42, .36);--z-modal: 30;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--radius-card: 16px;--radius-pill: 999px;--shadow-card: 0 8px 24px rgba(15, 23, 42, .06)}.bg-canvas{background-color:var(--color-bg)}.bg-surface{background-color:var(--color-surface)}.text-primary{color:var(--color-text)}.text-muted{color:var(--color-muted)}.border-subtle{border-color:var(--color-border)}.ring-focus:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.from-brand{--semantic-gradient-from: rgba(15, 23, 42, .08)}.to-brand-strong{--semantic-gradient-to: rgba(15, 23, 42, .22)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--color-bg);color:var(--color-text);font-size:16px}a{color:inherit}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.35rem,4vw,1.75rem);line-height:1.2;font-weight:750}h2{font-size:clamp(1.1rem,3vw,1.3rem);line-height:1.3;font-weight:700}h3{font-size:1rem;line-height:1.4;font-weight:650}#root{min-height:100vh;min-height:100dvh}.app-shell{--app-header-offset: calc(5.25rem + env(safe-area-inset-top, 0px)) ;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--color-bg);color:var(--color-text);padding-bottom:env(safe-area-inset-bottom,0px)}.app-header{position:fixed;top:0;left:0;right:0;z-index:20;padding:calc(.75rem + env(safe-area-inset-top,0px)) max(1rem,env(safe-area-inset-left,0px)) .75rem max(1rem,env(safe-area-inset-right,0px));background:var(--color-surface);border-bottom:1px solid var(--color-border)}.app-header-inner{width:100%;max-width:760px;margin-inline:auto;display:flex;justify-content:space-between;align-items:center;gap:.75rem}.brand-lockup{display:flex;align-items:center;gap:.6rem;min-height:2.25rem;min-width:0}.brand-lockup-link{display:inline-flex;text-decoration:none;color:inherit}.brand-logo{display:block;height:2.5rem;width:auto;max-width:min(26vw,72px);flex-shrink:0;object-fit:contain}.brand-name{display:block;height:2rem;width:auto;max-width:min(42vw,220px);min-width:0;object-fit:contain}.app-title{font-weight:700;font-size:1.1rem}.app-subtitle{font-size:.85rem;color:var(--color-muted)}.status-pill{display:inline-flex;align-items:center;justify-content:center;font-size:.74rem;padding:.3rem .7rem;border-radius:999px;background:#0f172a14;color:#334155;border:1px solid transparent;text-decoration:none;white-space:nowrap}.status-pill--checking{background:#0f172a14;color:#334155}.status-pill--signed-in{background:#dcfce7;color:#166534;border-color:#bbf7d0}.status-pill--signed-out{background:#fee2e2;color:#991b1b;border-color:#fecaca}.status-pill--signed-out:hover,.status-pill--signed-out:focus-visible{background:#fecaca}.app-main{flex:1;width:100%;max-width:760px;margin-inline:auto;padding:var(--app-header-offset) max(1rem,env(safe-area-inset-left,0px)) calc(6.5rem + env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-right,0px))}.offline-banner{margin:.45rem 0 0;padding:.45rem .7rem;background:#fbbf242e;border:1px solid rgba(217,119,6,.32);border-radius:10px;color:#7c2d12;font-size:.87rem;text-align:center;width:100%;max-width:760px;margin-inline:auto}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;padding:.6rem max(1rem,env(safe-area-inset-left,0px)) calc(.8rem + env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-right,0px));background:var(--color-surface);border-top:1px solid var(--color-border);z-index:25}.bottom-nav-inner{width:100%;max-width:760px;display:flex;gap:.5rem}.bottom-nav a{flex:1;text-align:center;min-height:44px;padding:.55rem .8rem;border-radius:999px;text-decoration:none;color:var(--color-muted);font-weight:600;display:inline-flex;align-items:center;justify-content:center}.bottom-nav a.active{color:var(--color-text);background:var(--color-chip)}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.app-main section>h1{text-align:center}.app-main section>h1+p{text-align:center}.page-with-bottom-legal{min-height:calc(100dvh - 12rem)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-4);box-shadow:var(--shadow-card)}.collapsible-card summary{list-style:none;cursor:pointer;font-weight:700;display:flex;align-items:center;justify-content:space-between;text-decoration:underline;text-underline-offset:.18rem}.collapsible-card summary::-webkit-details-marker{display:none}.collapsible-card summary:after{content:"▾";font-size:.85rem;color:var(--color-muted)}.collapsible-card:not([open]) summary:after{transform:rotate(-90deg)}.row{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.row>:last-child{text-align:right}.trailer-detail-meta-rows{gap:.45rem}.trailer-weights-note{font-size:.84rem}.trailer-card-meta-rows{gap:.4rem}.pickup-dropoff-row-button{border:none;background:transparent;padding:0;width:100%;display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;font:inherit;color:inherit;cursor:pointer}.pickup-dropoff-link-text{font-weight:700;text-decoration:underline;text-underline-offset:.16rem}.pickup-dropoff-row-button>:last-child{text-align:right}.pickup-dropoff-row-button:focus-visible{outline:2px solid var(--color-text);outline-offset:2px;border-radius:8px}.trailer-list-header{display:flex;align-items:center;gap:.75rem}.trailer-thumb{width:56px;height:56px;border-radius:10px;object-fit:cover;border:1px solid var(--color-border);background:var(--color-chip);flex-shrink:0}.trailer-hero-photo{width:100%;border-radius:12px;border:1px solid var(--color-border);background:var(--color-chip);object-fit:cover;max-height:320px}.trailer-visual-inline{display:inline-flex;align-items:center;gap:.4rem}.trailer-visual-preview{border:1px solid var(--color-border);border-radius:12px;padding:.6rem .75rem;background:var(--color-chip)}.list{margin:0;padding-left:1.2rem;color:var(--color-muted)}.muted{color:var(--color-muted)}.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.7rem 1rem;border-radius:999px;background:var(--color-text);color:var(--color-bg);text-decoration:none;font-weight:600;width:fit-content;margin-inline:auto;box-shadow:0 4px 12px #0f172a29;touch-action:manipulation}.form-field{display:flex;flex-direction:column;gap:.5rem;font-weight:600;color:var(--color-text)}.form-field-label-with-info{display:inline-flex;align-items:center;gap:.45rem}.inline-info{position:relative;display:inline-flex;align-items:center}.inline-info-button{list-style:none;width:1.1rem;height:1.1rem;border-radius:999px;border:1px solid var(--color-border);display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--color-chip);color:inherit;padding:0;font-family:inherit}.inline-info-button:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.inline-info-popup{position:fixed;padding:.45rem .55rem;border-radius:10px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);font-size:.8rem;font-weight:500;z-index:40;box-shadow:0 6px 16px #0f172a24}.form-field input{min-height:44px;padding:.65rem .75rem;border-radius:12px;border:1px solid var(--color-border);font-size:.95rem}.form-field textarea{padding:.65rem .75rem;border-radius:12px;border:1px solid var(--color-border);font-size:.95rem;font-family:inherit;resize:vertical}.checkbox-field{display:flex;gap:.6rem;align-items:flex-start;font-weight:600;color:var(--color-text)}.checkbox-field input{margin-top:.15rem}.checkbox-field a{color:inherit}.pricing-override-panel{gap:.75rem}.pricing-override-toggle{align-items:center}.pricing-override-toggle input{margin-top:0}.pricing-override-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.pricing-override-preview{margin:0;font-size:.84rem}.inline-link-button{border:none;background:transparent;padding:0;color:inherit;text-decoration:underline;text-underline-offset:.2rem;font:inherit;cursor:pointer}.inline-link-button:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.form-field select{min-height:44px;padding:.65rem .75rem;border-radius:12px;border:1px solid var(--color-border);font-size:.95rem;background:var(--color-surface);color:var(--color-text)}.primary-button{border:none;border-radius:999px;min-height:44px;padding:.75rem 1rem;background:var(--color-text);color:var(--color-bg);font-weight:600;cursor:pointer;width:fit-content;margin-inline:auto;box-shadow:0 4px 12px #0f172a29;touch-action:manipulation}.primary-button:disabled{opacity:.6;cursor:not-allowed}.segmented-control{display:flex;gap:.5rem;flex-wrap:wrap;background:var(--color-chip);padding:.35rem;border-radius:999px}.segmented-control button{flex:1;border:none;background:transparent;min-height:44px;padding:.5rem .75rem;border-radius:999px;font-weight:600;color:var(--color-muted);cursor:pointer;touch-action:manipulation}.segmented-control button.active{background:var(--color-surface);color:var(--color-text);box-shadow:0 1px 2px #0f172a14}.notice{margin:0;padding:.6rem .75rem;border-radius:12px;background:var(--color-chip);color:var(--color-text);border:1px solid transparent}.notice p{margin:.35rem 0 0}.notice--info{background:#3b82f61a;border-color:#3b82f64d}.notice--error{background:#ef44441a;border-color:#ef44444d}.notice--empty{background:#0f172a0a;border-color:var(--color-border)}.notice--availability{background:#f59e0b24;border-color:#f59e0b52}.notice-availability-line{margin:.2rem 0;text-align:center;font-size:.92rem}.actions{display:grid;gap:.6rem;width:100%}.actions--center{justify-items:center}.actions>.button-link,.actions>.primary-button,.actions>.button-ghost,.actions>.danger-button{width:100%;margin-inline:0}.card>.button-link,.card>.primary-button,.card>.button-ghost,.card>.danger-button,.card form .button-link,.card form .primary-button,.card form .button-ghost,.card form .danger-button{width:100%;margin-inline:0}.account-admin-links .button-link{width:100%}.legal-quick-links{margin-top:auto;padding-top:.5rem;display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.legal-quick-link{color:var(--color-muted);font-size:.78rem;text-decoration:none}.legal-quick-link:hover,.legal-quick-link:focus-visible{color:var(--color-text);text-decoration:underline;text-underline-offset:.2rem}.suggestion-row{display:flex;gap:.5rem;flex-wrap:wrap}.button-ghost{border:1px solid var(--color-border);border-radius:999px;min-height:44px;padding:.55rem .9rem;background:transparent;color:var(--color-text);font-weight:600;cursor:pointer;width:fit-content;margin-inline:auto;touch-action:manipulation}.button-ghost:disabled{opacity:.6;cursor:not-allowed}.button-ghost.danger{border-color:#f43f5e99;color:#f43f5e}.support-icon-links{display:flex;align-items:center;justify-content:center;gap:.6rem}.support-icon-link{width:36px;height:36px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-chip);color:var(--color-text);display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.support-icon-link:hover,.support-icon-link:focus-visible{border-color:var(--color-text)}.support-icon-link svg{width:16px;height:16px;fill:currentColor}.auth-page{max-width:560px;margin-inline:auto}.auth-card h2{margin:0;text-align:center}.auth-cta{width:100%;margin-inline:0}.auth-divider{margin:0;text-align:center;color:var(--color-muted);font-size:.9rem}.auth-form{gap:.9rem}.tertiary-link{text-align:center;color:var(--color-muted);text-decoration:none;font-weight:600}.tertiary-link:hover,.tertiary-link:focus-visible{color:var(--color-text);text-decoration:underline;text-underline-offset:.2rem}.danger-button{border:1px solid #be123c;border-radius:999px;min-height:44px;padding:.75rem 1rem;background:#e11d48;color:#fff;font-weight:600;cursor:pointer;width:fit-content;margin-inline:auto;touch-action:manipulation}.danger-button:disabled{opacity:.6;cursor:not-allowed}.template-output{width:100%}.status-tag{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .6rem;border-radius:999px;background:var(--color-chip);font-size:.8rem;font-weight:600}.status-chip-row{display:inline-flex;align-items:center;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}.status-tag--success{background:#22c55e29;color:#15803d}.status-tag--warning{background:#f9731629;color:#c2410c}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:.3rem .75rem;border-radius:var(--radius-pill);font-size:.8rem;font-weight:700;letter-spacing:.01em;border:1px solid transparent}.status-badge--pending{background:#eab3082e;color:#854d0e;border-color:#ca8a043d}.status-badge--upcoming{background:#3b82f624;color:#1d4ed8;border-color:#2563eb38}.status-badge--active{background:#10b98126;color:#047857;border-color:#0596693d}.status-badge--completed{background:#64748b24;color:#334155;border-color:#64748b3d}.status-badge--overdue{background:#ef444429;color:#b91c1c;border-color:#dc26264d}.booking-card{gap:.85rem}.booking-card-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.booking-card-title{min-width:0}.booking-card-title strong{display:block;font-size:1rem}.booking-card-dates{display:grid;gap:.5rem}.booking-card-date-row{display:flex;justify-content:space-between;gap:.75rem;font-size:.92rem}.booking-card-date-row span:last-child{text-align:right;font-weight:600}.pull-refresh-indicator{margin:0 auto;width:fit-content;min-height:2.1rem;padding:.45rem .75rem;border-radius:999px;display:inline-flex;gap:.55rem;align-items:center;justify-content:center;background:var(--color-chip);color:var(--color-muted);font-size:.84rem}.pull-refresh-indicator--ready{color:var(--color-text)}.checklist-step{display:flex;flex-direction:column;gap:1rem}.checklist-step-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.checklist-step-header p{margin:.35rem 0 0}.checklist-upload{display:inline-flex;align-items:center;gap:.75rem;min-height:44px;padding:.6rem .9rem;border-radius:999px;border:1px solid var(--color-border);font-weight:600;cursor:pointer;width:fit-content}.checklist-upload input{display:none}.confirmation-item{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.confirmation-item .muted{text-align:right;max-width:45%}.confirmation-meta{display:inline-flex;align-items:baseline;gap:.35rem;font-size:.85rem;white-space:nowrap;max-width:none;flex-shrink:0}.confirmation-timestamp{font-size:.78rem;white-space:nowrap}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}.photo-tile img{width:100%;border-radius:12px;border:1px solid var(--color-border);object-fit:cover}.instruction-text{margin:0;white-space:pre-wrap}.lockbox-instructions{gap:.75rem}.lockbox-instructions__steps{margin:0;padding-left:1.2rem}.lockbox-instructions__steps li+li{margin-top:.5rem}.lockbox-instructions__more-link{width:fit-content}.legal-page{max-width:860px}.top-action-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .25rem;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.top-action-header__button{min-width:110px;margin-inline:0}.top-action-header__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.legal-page__header{margin-bottom:.25rem}.legal-page h2{margin:0}.mobile-modal__overlay{position:fixed;inset:0;z-index:var(--z-modal);background:var(--modal-overlay-bg)}.mobile-modal__sheet{height:100dvh;display:flex;flex-direction:column;background:var(--modal-surface);color:var(--modal-text)}.mobile-modal__header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .25rem;background:var(--modal-surface);border-bottom:1px solid var(--modal-border)}.mobile-modal__body{flex:1;overflow-y:auto;padding:1rem 1.25rem}.pickup-dropoff-help{gap:1rem}.pickup-dropoff-help__section{gap:.5rem}.pickup-dropoff-help__section h3{margin:0;font-size:1rem}.booking-header-meta{gap:.25rem}.booking-header-meta__requested{margin:0;color:var(--color-muted);font-size:.82rem}.booking-request-unavailable-list{font-size:.9rem}.booking-calendar-toolbar{display:grid;gap:.55rem}.booking-calendar-page{flex:1;min-height:0;overflow:hidden}.booking-calendar-controls-card{gap:.65rem}.booking-calendar-toolbar--top{grid-template-columns:38px minmax(0,1fr) 38px auto;align-items:center;gap:.35rem}.booking-calendar-toolbar--bottom{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.55rem}.booking-calendar-nav-btn{min-height:36px;width:36px;padding:0;font-size:1.1rem;margin-inline:0}.booking-calendar-today-btn{min-height:36px;padding:.2rem .65rem;margin-inline:0}.booking-calendar-select-field{gap:.2rem}.booking-calendar-select-field span{font-size:.72rem}.booking-calendar-select-field select{min-height:36px;padding:.3rem .6rem}.booking-calendar-view-toggle{min-width:150px;padding:.2rem}.booking-calendar-period{text-align:center;font-weight:600;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-calendar-shell{width:100%;overflow:hidden;min-height:0}.booking-calendar-grid-card{flex:1;min-height:0;overflow:hidden}.booking-calendar-shell--month{display:grid;grid-template-rows:auto minmax(0,1fr);gap:.2rem;min-height:0;height:100%}.booking-calendar-month-day-names{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.2rem}.booking-calendar-month-day-name{font-size:.74rem;font-weight:700;text-align:center;color:var(--color-muted);padding:.2rem 0}.booking-calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));gap:.2rem;min-height:0;height:100%}.booking-calendar-day-cell{border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);padding:.22rem;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0}.booking-calendar-day-cell--outside{opacity:.56;background:var(--color-chip)}.booking-calendar-day-cell--today{border-color:#2563eb}.booking-calendar-day-number{border:none;background:transparent;color:var(--color-text);font:inherit;font-size:.77rem;font-weight:700;justify-self:flex-start;padding:.1rem .2rem;border-radius:999px;min-height:26px;min-width:26px;cursor:pointer}.booking-calendar-day-cell--today .booking-calendar-day-number{background:#2563eb;color:#fff}.booking-calendar-day-bookings{display:grid;align-content:start;gap:.15rem;min-height:0;overflow:hidden}.booking-calendar-day-booking{border:1px solid transparent;border-radius:6px;text-decoration:none;font-size:.66rem;font-weight:700;min-height:22px;padding:.08rem .2rem;display:inline-flex;align-items:center;gap:.16rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.booking-calendar-day-booking-icon{width:15px;height:15px;border-radius:3px;background:#ffffffdb;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.booking-calendar-more-btn{border:none;background:transparent;color:var(--color-muted);font-size:.68rem;font-weight:700;text-align:left;min-height:24px;padding:.1rem .15rem;cursor:pointer}.booking-calendar-header{padding-bottom:.45rem;margin-bottom:.35rem;position:sticky;top:0;z-index:2;background:var(--color-surface)}.booking-calendar-days{display:grid;gap:.25rem;width:100%}.booking-calendar-day-heading{display:flex;flex-direction:column;align-items:center;gap:.15rem;border:1px solid var(--color-border);border-radius:8px;padding:.25rem;font-size:.72rem;background:var(--color-chip)}.booking-calendar-shell--week .booking-calendar-day-heading{font-size:.74rem}.booking-calendar-day-heading-button{width:100%;border:1px solid var(--color-border);cursor:pointer;color:inherit;font:inherit}.booking-calendar-week-scroll{overflow-y:auto;max-height:min(68dvh,620px);padding-right:.1rem}.booking-calendar-row{align-items:stretch;margin-bottom:.45rem}.booking-calendar-track{display:grid;gap:.22rem;border:1px solid var(--color-border);border-radius:8px;padding:.22rem;background:var(--color-surface);width:100%}.booking-calendar-track-day{background:var(--color-chip);border-radius:4px;min-height:40px}.booking-calendar-segment{border:1px solid transparent;border-radius:0;font-size:.74rem;font-weight:700;text-decoration:none;padding:.05rem .25rem;display:inline-flex;align-items:center;justify-content:flex-start;gap:.2rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-height:32px;z-index:1}.booking-calendar-segment svg{flex-shrink:0}.booking-calendar-shell--week .booking-calendar-segment--week{font-size:.66rem}.booking-calendar-segment-icon{width:22px;height:22px;border-radius:3px;background:#ffffffdb;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.booking-calendar-segment--pending{border-style:dashed}.booking-calendar-segment--closed{opacity:.84}.booking-calendar-day-modal{gap:.75rem}.booking-calendar-day-modal__count{margin:0}.booking-calendar-day-modal__group{padding:.75rem;box-shadow:none}.booking-calendar-day-modal__group h3{margin:0;font-size:.95rem}.booking-calendar-day-modal__list{gap:.45rem}.booking-calendar-day-modal__item{border:1px solid transparent;border-radius:10px;text-decoration:none;min-height:44px;padding:.35rem .6rem;font-weight:700;font-size:.86rem;display:inline-flex;align-items:center;gap:.4rem}.booking-calendar-day-modal__item-icon{width:20px;height:20px;border-radius:4px;background:#ffffffdb;display:inline-flex;align-items:center;justify-content:center}.mobile-modal__footer{position:sticky;bottom:0;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0px));background:var(--modal-surface);border-top:1px solid var(--modal-border)}.mobile-modal__footer-button{width:100%}.spinner{width:1rem;height:1rem;border-radius:50%;border:2px solid rgba(100,116,139,.28);border-top-color:var(--color-text);animation:spin .8s linear infinite}.spinner--sm{width:.8rem;height:.8rem}.loading-skeleton-card{position:relative;overflow:hidden}.loading-skeleton-line{height:.8rem;border-radius:8px;background:linear-gradient(90deg,#94a3b82e,#94a3b852,#94a3b82e);background-size:220% 100%;animation:skeleton-shimmer 1.3s ease-in-out infinite}.loading-skeleton-line--title{width:58%;height:1rem}.loading-skeleton-line--short{width:42%}.loading-skeleton-line--long{width:88%}.toast-viewport{position:fixed;left:50%;transform:translate(-50%);bottom:calc(env(safe-area-inset-bottom,0px) + 4px);width:min(100% - 1.5rem,380px);z-index:50;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.7rem .85rem;border-radius:12px;border:1px solid transparent;box-shadow:0 10px 28px #0f172a40;font-size:.9rem;background:var(--color-surface);color:var(--color-text)}.toast--success{border-color:#059669b8;background:#10b981a6;color:#022c22}.toast--error{border-color:#dc2626b8;background:#ef4444a6;color:#fff}.toast--info{border-color:#2563ebb8;background:#3b82f6a6;color:#0f172a}.toast-close{border:none;background:transparent;color:inherit;font:inherit;font-size:1rem;line-height:1;padding:.2rem .25rem;cursor:pointer}@media(max-width:767px){.toast-viewport{bottom:calc(env(safe-area-inset-bottom,0px) + 6.5rem)}.toast{display:grid;grid-template-columns:1.5rem minmax(0,1fr) 1.5rem;align-items:center}.toast:before{content:"";grid-column:1}.toast>span{grid-column:2;text-align:center}.toast-close{grid-column:3;justify-self:end}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(min-width:768px){.app-shell{--app-header-offset: 0px}.app-header{position:sticky;left:auto;right:auto;padding:.75rem max(1rem,env(safe-area-inset-left,0px)) .75rem max(1rem,env(safe-area-inset-right,0px))}.app-main{padding-top:1rem}.toast-viewport{top:calc(.9rem + env(safe-area-inset-top,0px));right:1rem;left:auto;bottom:auto;transform:none;width:min(360px,calc(100% - 2rem))}}
