.crop-dialog{max-width:min(560px,94vw)}.crop-hint{color:hsl(var(--muted-foreground));margin:0 0 10px;font-size:.85rem}.crop-stage{background:hsl(var(--muted));border-radius:12px;width:100%;height:min(52vh,380px);position:relative;overflow:hidden}.crop-stage img{max-width:none}.crop-shapes{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.crop-shape{border:1px solid hsl(var(--border));color:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:6px 14px;font-size:.8rem;font-weight:500;transition:background .15s,border-color .15s}.crop-shape:hover{border-color:hsl(var(--foreground)/.4)}.crop-shape.active{background:hsl(var(--foreground));color:hsl(var(--background));border-color:hsl(var(--foreground))}.crop-zoom{gap:6px;margin-top:12px;font-size:.85rem;font-weight:500;display:grid}.crop-zoom input[type=range]{width:100%;accent-color:hsl(var(--foreground))}@media (width<=639px){.crop-stage{height:min(46vh,320px)}.crop-dialog{max-width:96vw}}.portal{--portal-wash:color-mix(in oklch,var(--primary) 7%,var(--card));--portal-photo-shade:color-mix(in oklch,var(--ink) 58%,transparent);--portal-photo-text:var(--white);--portal-shadow:0 8px 28px color-mix(in oklch,var(--ink) 7%,transparent);padding:28px 32px 40px}.portal-top,.portal-layout{max-width:1320px}.portal-top{justify-content:space-between;min-height:76px;margin-bottom:32px}.portal-identity{align-items:center;gap:16px;min-width:0;display:flex}.portal-top-note{color:var(--muted-foreground);align-items:center;gap:8px;font-size:.8rem;display:flex}.portal-business{letter-spacing:0;overflow-wrap:anywhere}.portal-layout{grid-template-columns:240px minmax(0,1fr);gap:40px}.portal-nav{gap:6px;padding-top:8px}.portal-nav button{white-space:normal;box-shadow:none;background:0 0;border:0;border-radius:6px;justify-content:flex-start;gap:14px;padding:14px 16px;font-size:.85rem;line-height:1.5}.portal-nav button svg{opacity:.7}.portal-nav button.is-active{background:var(--portal-wash);color:var(--foreground);box-shadow:inset 3px 0 var(--primary)}.portal-nav button.is-active svg{opacity:1;color:var(--primary)}.portal-nav button:hover{background:var(--portal-wash)}.portal-main{gap:30px;animation:.45s both portal-reveal}.portal-main :is(h1,h2,h3){letter-spacing:0;font-family:var(--client-heading)!important}.portal-head h1{font-size:3rem;line-height:1.12}.portal-eyebrow,.portal-facts dt,.portal-pay-figs span,.portal-status,.portal-answers dt{letter-spacing:0}.portal-head{padding-bottom:10px}.portal-welcome{isolation:isolate;align-items:flex-end;min-height:360px;padding:36px;display:flex;position:relative;overflow:hidden}.portal-welcome>img{object-fit:cover;object-position:center 40%;z-index:-2;width:100%;height:100%;animation:1s both portal-photo-in;position:absolute;inset:0}.portal-welcome:before{content:"";z-index:-1;background:linear-gradient(90deg,var(--portal-photo-shade),transparent),linear-gradient(0deg,var(--portal-photo-shade),transparent);position:absolute;inset:0}.portal-welcome .portal-head{max-width:640px;padding:0}.portal-welcome .portal-head h1,.portal-welcome .portal-head em,.portal-welcome .portal-eyebrow,.portal-welcome .portal-lede{color:var(--portal-photo-text)}.portal-welcome .portal-head h1 em{margin-top:4px;font-size:3.8rem;display:block}.portal-welcome .portal-lede{max-width:420px;font-size:.95rem}.portal-summary{border:0;border-bottom:1px solid var(--border);background:0 0;grid-template-columns:170px minmax(0,1fr);gap:28px;padding:8px 0 28px}.portal-count{border:0;place-content:center;min-height:148px;padding:0;position:relative}.portal-count:before{content:"";border:1px solid var(--border);border-top:3px solid var(--primary);pointer-events:none;border-radius:50%;width:144px;height:144px;position:absolute;transform:rotate(-25deg)}.portal-count strong{color:var(--foreground);font-variant-numeric:tabular-nums;font-size:3.2rem;animation:.65s both portal-reveal}.portal-count span{max-width:100px;font-size:.75rem;line-height:1.4}.portal-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.portal-facts dt{align-items:center;gap:6px;margin-bottom:7px;font-size:.7rem;display:flex}.portal-facts dd{font-size:.9rem}.portal-journey{border:0;gap:26px;padding:0 0 8px}.portal-journey h2{font-size:1.7rem}.portal-progress li{padding:0 6px;font-size:.7rem;line-height:1.5}.portal-progress .dot{width:30px;height:30px;font-size:.65rem}.portal-progress li:before{top:15px}.portal-progress li.is-current .dot{animation:3s ease-in-out infinite portal-step-glow}.portal-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 32px;display:grid}.portal-overview-grid>.portal-block{align-content:start;min-width:0;padding-top:22px}.portal-overview-grid>.portal-block:first-child,.portal-overview-grid>.portal-concierge{grid-column:1/-1}.portal-steps{counter-reset:portal-task}.portal-steps button{white-space:normal;box-shadow:none;background:0 0;border-radius:0;justify-content:space-between;gap:16px;padding:18px 0;font-size:.9rem;line-height:1.6}.portal-steps button:before{counter-increment:portal-task;content:"0" counter(portal-task);color:var(--muted-foreground);font-size:.75rem}.portal-steps button span{flex:1}.portal-steps button:hover{background:0 0;padding-left:10px}.portal-concierge{border-top:0;border-left:3px solid var(--primary);background:var(--portal-wash);justify-content:space-between;align-items:center;gap:24px;display:flex;padding:26px!important}.portal-concierge>div{gap:10px;display:grid}.portal-concierge h2{align-items:center;gap:10px;display:flex}.portal-concierge button{flex-shrink:0}.portal-pay-figs strong{overflow-wrap:anywhere;font-size:1.35rem}.portal-pay-figs div:last-child strong{color:var(--primary)}.portal-bar{border-radius:4px;height:6px}.portal-doc{border-left:3px solid var(--primary);border-radius:6px;padding:26px;transition:box-shadow .25s,transform .25s}.portal-doc:hover{box-shadow:var(--portal-shadow);transform:translateY(-2px)}.portal-doc-title{align-items:center;gap:12px;min-width:0;display:flex}.portal-doc-title>svg{color:var(--primary);flex-shrink:0}.portal-doc h3{overflow-wrap:anywhere}.portal-doc summary{border-bottom:1px solid var(--border);justify-content:space-between;gap:10px;padding:8px 0;font-size:.9rem}.portal-doc summary:after{content:"+";color:var(--primary);font-size:1.3rem}.portal-doc details[open]>summary:after{content:"−"}.portal-doc details[open]>.crm-history,.portal-doc details[open]>.estimate-preview{animation:.3s both portal-reveal}.portal-status{border-radius:4px;font-size:.65rem;line-height:1.6}.portal-timeline{margin-left:8px;padding-left:28px}.portal-timeline li{border-bottom:1px solid var(--border);grid-template-columns:150px minmax(0,1fr);padding:24px 16px;transition:background .2s}.portal-timeline li:hover{background:var(--portal-wash)}.portal-timeline li:before{width:13px;height:13px;top:30px;left:-35px}.portal-timeline li.is-milestone{background:var(--portal-wash)}.portal-timeline strong{font-size:1.1rem;font-weight:500}.portal-answers div{border:0;border-top:2px solid var(--border);border-radius:6px;padding:22px;transition:border-color .2s}.portal-answers div:hover{border-color:var(--primary)}.portal-team li{border-radius:6px;transition:transform .2s}.portal-team li:hover{transform:translateY(-2px)}.portal :is(button,a,summary){touch-action:manipulation}.portal button{max-width:100%}.portal .portal-pay-actions button{white-space:normal;height:auto;line-height:1.5}.portal .public-footer{border-top:1px solid var(--border);margin-top:54px;padding-top:24px}@keyframes portal-reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes portal-photo-in{0%{opacity:.6;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes portal-step-glow{50%{box-shadow:0 0 0 7px color-mix(in oklch,var(--primary) 10%,transparent)}}@media (width<=1100px){.portal-layout{grid-template-columns:210px minmax(0,1fr);gap:24px}.portal-welcome{padding:28px}.portal-overview-grid{grid-template-columns:1fr}.portal-summary{grid-template-columns:150px minmax(0,1fr);gap:20px}.portal-facts{gap:16px}}@media (width<=860px){.portal{padding:16px 18px 32px}.portal-layout{grid-template-columns:minmax(0,1fr);gap:24px}.portal-top{margin-bottom:8px;padding-bottom:16px}.portal-top-note{font-size:.7rem}.portal-nav{box-shadow:0 1px var(--border);gap:8px;margin:0 -18px;padding:12px 18px}.portal-nav button{white-space:nowrap;border:1px solid var(--border);border-radius:6px;gap:8px;padding:10px 14px;font-size:.8rem}.portal-nav button.is-active{background:var(--primary);color:var(--primary-foreground);box-shadow:none}.portal-nav button.is-active svg{color:inherit}.portal-welcome{min-height:330px;padding:28px 24px}.portal-summary{grid-template-columns:150px minmax(0,1fr);padding:4px 0 24px}.portal-count{border:0;padding:0}.portal-progress{grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.portal-progress li{text-align:center;grid-template-columns:1fr;place-items:start center;gap:10px;padding:0 3px;font-size:.63rem;display:grid}.portal-progress li:before{display:block}.portal-progress li:first-child:before{display:none}.portal-concierge{align-items:flex-start}.portal-head h1{font-size:2.4rem}}@media (width<=520px){.portal-top-note span{display:none}.portal-logo{max-width:150px;max-height:48px}.portal-main{gap:26px}.portal-welcome{min-height:320px;padding:24px 20px}.portal-welcome .portal-head h1{font-size:2rem}.portal-welcome .portal-head h1 em{overflow-wrap:anywhere;font-size:3rem}.portal-welcome .portal-lede{font-size:.85rem;line-height:1.6}.portal-summary{grid-template-columns:1fr;gap:24px}.portal-count{min-height:144px}.portal-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-journey h2{font-size:1.5rem}.portal-progress li{overflow-wrap:anywhere;font-size:.6rem}.portal-concierge{flex-direction:column;padding:22px!important}.portal-doc{padding:20px 16px}.portal-doc-head{align-items:flex-start}.portal-doc h3{font-size:1.15rem}.portal-pay-figs{gap:10px}.portal-pay-figs strong{font-size:1.1rem}.portal-timeline li{grid-template-columns:1fr;gap:8px;padding:20px 12px}.portal-answers{grid-template-columns:1fr}.portal-lines li{align-items:flex-start;gap:12px}.portal-lines li>strong{flex-shrink:0}.portal-head h1{font-size:2rem}}@media (prefers-reduced-motion:reduce){.portal-main,.portal-welcome>img,.portal-count strong,.portal-progress li.is-current .dot,.portal-doc details[open]>.crm-history{animation:none}.portal *{scroll-behavior:auto!important;transition:none!important}}.booking-detail{gap:1.25rem;min-width:0;display:grid}.booking-detail .bd-actions{flex-wrap:wrap;gap:10px;display:flex}.booking-detail .bd-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.25rem;display:grid}.booking-detail .bd-card{background:var(--card);border:1px solid var(--border);border-radius:20px;align-content:start;gap:16px;min-width:0;padding:26px 22px;display:grid;overflow-x:clip}.booking-detail .bd-label{letter-spacing:.22em;text-transform:uppercase;color:var(--primary);align-items:center;gap:6px;margin:0;font-size:.72rem;font-weight:600;display:flex}.booking-detail .bd-rows{min-width:0;display:grid}.booking-detail .bd-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;padding:10px 0;font-size:.95rem;display:flex}.booking-detail .bd-row:last-child{border-bottom:0}.booking-detail .bd-row span{color:var(--muted-foreground)}.booking-detail .bd-row strong{text-align:right;overflow-wrap:anywhere;min-width:0;font-weight:600}.booking-detail .bk-days{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.booking-detail .bk-day{background:var(--background);border:1px solid var(--border);border-radius:14px;gap:10px;min-width:0;padding:18px;display:grid}.booking-detail .bk-day-num{letter-spacing:.22em;text-transform:uppercase;color:var(--primary);margin:0;font-size:.72rem;font-weight:600}.booking-detail .bk-day h3{margin:0 0 4px;font-size:1.35rem}.booking-detail .bk-day-row{border-top:1px solid var(--border);gap:2px;padding-top:10px;display:grid}.booking-detail .bk-day-row span{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.booking-detail .bk-day-row strong{overflow-wrap:anywhere;font-weight:600}.booking-detail .bk-muted{color:var(--muted-foreground);overflow-wrap:anywhere;margin:0;font-size:.95rem;line-height:1.6}.booking-detail .bk-tl-day+.bk-tl-day{margin-top:10px}.booking-detail .bk-tl-day h3{margin:0 0 10px;font-size:1.2rem}.booking-detail .bk-tl{margin:0;padding:0;list-style:none;display:grid}.booking-detail .bk-tl li{border-left:2px solid var(--border);grid-template-columns:88px minmax(0,1fr);gap:14px;padding:14px 0 14px 14px;display:grid;position:relative}.booking-detail .bk-tl li:before{content:"";background:var(--card);border:2px solid var(--primary);border-radius:50%;width:10px;height:10px;position:absolute;top:20px;left:-6px}.booking-detail .bk-tl li.is-milestone:before{background:var(--primary)}.booking-detail .bk-tl time{font-size:.95rem;font-weight:700;display:grid}.booking-detail .bk-tl time small{color:var(--muted-foreground);font-size:.78rem;font-weight:400}.booking-detail .bk-tl li div{gap:2px;min-width:0;display:grid}.booking-detail .bk-tl li div span{color:var(--muted-foreground);font-size:.88rem}.booking-detail .bk-items{margin:0;padding:0;list-style:none}.booking-detail .bk-items li{border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;padding:12px 0;display:flex}.booking-detail .bk-items li span{overflow-wrap:anywhere;min-width:0}.booking-detail .bk-items li strong{white-space:nowrap}.booking-detail .bk-totals{border-top:2px solid var(--border);gap:8px;padding-top:14px;display:grid}.booking-detail .bk-totals div{justify-content:space-between;gap:16px;font-size:.95rem;display:flex}.booking-detail .bk-totals div:last-child{font-size:1.05rem;font-weight:700}.booking-detail input[type=number]{border:1px solid var(--border);background:var(--background);border-radius:8px;min-height:44px;padding:10px 12px;font-size:.95rem}@media (width<=640px){.booking-detail .bd-card{border-radius:16px;padding:20px 16px}.booking-detail .bd-row{flex-direction:column;gap:2px}.booking-detail .bd-row strong{text-align:left}.booking-detail .bk-tl li{grid-template-columns:76px minmax(0,1fr);gap:10px}}
