.abs{background:var(--bg);--abs-ok:#2e9e7d;--abs-ok-bg:#e5f5ef;--abs-close:#b26a00;--abs-close-bg:#fdf0dc;--abs-risk:#c93a3a;--abs-risk-bg:#fbe7e7}.abs-hero{padding-block:clamp(48px,6vw,80px) clamp(24px,3vw,40px);text-align:center}.abs-hero__inner{max-width:820px}.abs-hero h1{margin:0 0 16px;font-size:clamp(38px,5vw,64px)}.abs-hero .lead{margin:0 auto;max-width:640px}.abs-main{padding-top:8px}.abs-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-gap:28px;gap:28px;align-items:start}.abs-side{display:grid;grid-gap:20px;gap:20px;position:-webkit-sticky;position:sticky;top:calc(var(--header-h, 72px) + 20px)}.abs-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(20px,2.4vw,32px);box-shadow:var(--shadow-sm)}.abs-h{font-family:var(--font-title);font-weight:900;font-size:20px;color:var(--ink);margin:0 0 6px;padding:0}.abs-hint{font-size:14px;line-height:1.5;color:var(--ink-3);margin:0 0 16px}.abs-note{font-size:13px;color:var(--ink-3);margin:12px 0 0}.abs-empty{color:var(--ink-2);margin:0 0 18px}.abs-permit{border:0;margin:0 0 22px;padding:0;min-width:0}.abs-permit legend{margin-bottom:12px}.abs-permit__opts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:12px;gap:12px}.abs input[type=date]{min-width:0}.abs .field--row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.abs-opt{position:relative;display:grid;grid-gap:4px;gap:4px;padding:14px 16px;cursor:pointer;border:1.5px solid var(--line);border-radius:var(--r);background:var(--bg);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.abs-opt input{position:absolute;opacity:0;pointer-events:none}.abs-opt:hover{border-color:var(--primary-100)}.abs-opt.is-on{border-color:var(--primary);background:var(--primary-50);box-shadow:0 0 0 3px rgba(60,74,170,.1)}.abs-opt:focus-within{box-shadow:0 0 0 3px rgba(60,74,170,.25)}.abs-opt__title{font-weight:800;color:var(--ink)}.abs-opt__sub{font-size:13px;color:var(--ink-3);line-height:1.4}.abs-validity{margin-bottom:22px;padding-bottom:6px;border-bottom:1px solid var(--line)}.abs-validity .field{margin-bottom:10px}.abs-triplist{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-gap:10px;gap:10px;counter-reset:trip}.abs-trip{border:1px solid var(--line);border-radius:var(--r);padding:12px 12px 8px;background:var(--bg)}.abs-trip.has-issue{border-color:var(--abs-close)}.abs-trip__fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:end}.abs-trip .field{margin-bottom:0}.abs-trip .field input{background:#fff}.abs-trip__remove{width:44px;height:47px;display:grid;place-items:center;border-radius:var(--r-sm);border:1.5px solid var(--line);background:#fff;color:var(--ink-3);cursor:pointer;transition:color .15s ease,border-color .15s ease}.abs-trip__remove:hover{color:var(--abs-risk);border-color:var(--abs-risk)}.abs-trip__remove svg{width:16px;height:16px}.abs-trip__meta{display:flex;flex-wrap:wrap;gap:6px 12px;min-height:22px;padding-top:6px;font-size:13px}.abs-trip__days{font-weight:700;color:var(--primary)}.abs-trip__away{color:var(--ink-3)}.abs-trip__issue{color:var(--abs-close);font-weight:600}.abs-privacy{display:flex;gap:8px;align-items:center;margin:20px 0 0;font-size:13px;color:var(--ink-3)}.abs-privacy svg{width:16px;height:16px;flex:none;color:var(--accent-teal)}.abs-status{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--r);margin:6px 0 20px}.abs-status strong{display:block;font-size:16px}.abs-status p{margin:2px 0 0;font-size:14px;line-height:1.45;color:var(--ink-2)}.abs-status__icon{width:32px;height:32px;flex:none;border-radius:50%;display:grid;place-items:center;color:#fff}.abs-status__icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.5}.abs-status--ok{background:var(--abs-ok-bg)}.abs-status--ok strong{color:var(--abs-ok)}.abs-status--ok .abs-status__icon{background:var(--abs-ok)}.abs-status--close{background:var(--abs-close-bg)}.abs-status--close strong{color:var(--abs-close)}.abs-status--close .abs-status__icon{background:var(--abs-close)}.abs-status--risk{background:var(--abs-risk-bg)}.abs-status--risk strong{color:var(--abs-risk)}.abs-status--risk .abs-status__icon{background:var(--abs-risk)}.abs-meter{margin-bottom:18px}.abs-meter__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}.abs-meter__label{font-weight:700;color:var(--ink);font-size:15px}.abs-meter__value{font-family:var(--font-title);font-weight:900;font-size:22px;color:var(--ink);white-space:nowrap}.abs-meter__track{height:10px;border-radius:var(--r-pill);background:var(--bg-off);overflow:hidden}.abs-meter__fill{height:100%;border-radius:inherit;background:var(--primary);transition:width .35s cubic-bezier(.2,.7,.3,1)}.abs-meter--close .abs-meter__fill{background:var(--accent-gold)}.abs-meter--risk .abs-meter__fill{background:var(--abs-risk)}.abs-meter__foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;margin-top:7px;font-size:13px;color:var(--ink-3)}.abs-meter__left{font-weight:600;color:var(--ink-2)}.abs-meter--risk .abs-meter__left{color:var(--abs-risk)}.abs-tl{margin:22px 0 0}.abs-tl__bar{position:relative;height:26px;border-radius:8px;background:var(--primary-50);overflow:hidden}.abs-tl__band{position:absolute;top:0;bottom:0;background:rgba(247,134,31,.16);border-inline:1.5px dashed rgba(247,134,31,.6)}.abs-tl__trip{position:absolute;top:5px;bottom:5px;border-radius:4px;background:var(--primary)}.abs-tl__today{position:absolute;top:-2px;bottom:-2px;width:2px;margin-left:-1px;background:var(--secondary)}.abs-tl__ends{display:flex;justify-content:space-between;margin-top:6px;font-size:12px;color:var(--ink-3)}.abs-planner .field{margin-bottom:0}.abs-plan{margin-top:14px;padding:12px 14px;border-radius:var(--r-sm);display:grid;grid-gap:3px;gap:3px;font-size:14px}.abs-plan strong{font-size:16px}.abs-plan span{color:var(--ink-2)}.abs-plan--ok{background:var(--abs-ok-bg)}.abs-plan--ok strong{color:var(--abs-ok)}.abs-plan--risk{background:var(--abs-risk-bg)}.abs-plan--risk strong{color:var(--abs-risk)}.abs-how__grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:28px;gap:28px}.abs-how__col{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(22px,2.6vw,34px)}.abs-how__col h2{margin:0 0 14px}.abs-how__col ul{margin:0;padding-left:20px;display:grid;grid-gap:10px;gap:10px}.abs-how__col li{color:var(--ink-2);line-height:1.55;font-size:15px}.abs-how__col li::marker{color:var(--secondary)}.abs-faq{padding-bottom:clamp(56px,6vw,88px)}.abs-faq__inner{max-width:860px}.abs-faq h2{margin:0 0 22px;text-align:center}.abs-faq__list{display:grid;grid-gap:10px;gap:10px}.abs-faq__item{background:#fff;border:1px solid var(--line);border-radius:var(--r)}.abs-faq__item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;font-weight:700;color:var(--ink)}.abs-faq__item summary::-webkit-details-marker{display:none}.abs-faq__item summary svg{width:18px;height:18px;flex:none;color:var(--primary);transition:transform .2s ease}.abs-faq__item[open] summary svg{transform:rotate(180deg)}.abs-faq__item p{margin:0;padding:0 20px 18px;color:var(--ink-2);line-height:1.6}@media (max-width:960px){.abs-grid{grid-template-columns:minmax(0,1fr)}.abs-side{position:static}.abs-how__grid{grid-template-columns:1fr}}@media (max-width:560px){.abs-permit__opts{grid-template-columns:minmax(0,1fr)}.abs-trip__fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.abs-trip__remove{grid-column:1/-1;width:100%;height:38px}.abs-validity .field--row{grid-template-columns:minmax(0,1fr);gap:0}}@media (prefers-reduced-motion:reduce){.abs-faq__item summary svg,.abs-meter__fill,.abs-opt{transition:none}}