/* Consistent alignment across the editor, preview and handoff. */
html{scrollbar-gutter:stable}.preview-recipient{display:flex;align-items:baseline;gap:8px 16px;margin:0;line-height:1.6}.preview-recipient .textbtn{margin:0;padding:4px 0;line-height:inherit}.plan-preview-intro{padding-bottom:4px}.wizardbottom{align-items:center;gap:16px}.wizardbottom .buttons{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.wizardbottom button{margin:0;line-height:1.4}.compact-phase-top input,.compact-phase-top textarea{box-sizing:border-box;margin-bottom:0;min-height:44px}.compact-phase-top .compact-tools{height:44px;align-items:center;margin-bottom:0}.compact-date input{height:44px;border-radius:8px;background:#fff;cursor:pointer;color:#294b40}.compact-date label{line-height:1.4}.plan-route-body h3{line-height:1.45}.review-content-item>div{min-width:0}.fieldrow>div{min-width:0}.checklabel{align-items:flex-start}.checklabel input[type=checkbox]{flex-shrink:0;margin-top:4px}.handoff-mail{padding:28px;background:#fff}.mail-sender{display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:#596c60;font-size:14px;border-bottom:1px solid #e2e8dc;padding-bottom:20px;margin-bottom:24px}.mail-sender img{object-fit:contain;object-position:left}.handoff-mail .mail-eyebrow{font-size:13px;color:#637364;margin:0 0 6px}.handoff-mail h3{margin:0 0 24px;line-height:1.25}.handoff-mail p{line-height:1.65;margin:14px 0}.handoff-mail .primary{margin:8px 0 10px}.handoff-mail .mail-signoff{font-weight:600;margin-top:22px}.mail-signoff span{font-size:14px;font-weight:400;color:#637364}
.review-fab{display:flex;align-items:center;justify-content:center;gap:12px;width:auto;max-width:calc(100vw - 32px);height:54px;padding:0 17px;border-radius:40px;border-width:2px;top:auto;bottom:24px;right:24px;animation:comment-welcome .7s .5s both}.review-fab>.review-fab-label{position:static;display:block;width:auto;height:auto;min-width:0;background:none;color:inherit;border:0;padding:0;font-size:14px;font-weight:550;line-height:1.3;border-radius:0}.review-fab>svg{flex-shrink:0;width:22px;height:22px}.review-fab>.review-fab-count{position:absolute;top:-6px;right:-3px}.clientcontainer{padding-bottom:110px}.review-fab[aria-expanded=true]{box-shadow:0 2px 10px #294b4020}.discussion-panel{scrollbar-gutter:stable}
.plan-calendar{position:fixed;z-index:1200;width:320px;max-width:calc(100vw - 24px);box-sizing:border-box;padding:18px;background:#fff;color:#294b40;border:1px solid #dce5d8;border-radius:16px;box-shadow:0 18px 60px #183b3226;font-size:14px;animation:calendar-in .16s ease-out}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.calendar-heading strong{font-size:15px;text-transform:capitalize}.plan-calendar button{display:grid;place-items:center;border:0;background:transparent;color:inherit;border-radius:9px;margin:0;padding:0;min-width:0;font:inherit;cursor:pointer;box-shadow:none}.calendar-heading button{width:36px;height:36px;font-size:25px}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}.calendar-week{color:#7a857a;font-size:12px;margin-bottom:8px}.calendar-days button{height:37px;font-variant-numeric:tabular-nums}.calendar-days .outside{color:#a6afa5}.plan-calendar button:hover{background:#edf3e9}.calendar-days .today{box-shadow:inset 0 0 0 1px #a2b49b}.calendar-days .selected,.calendar-days .selected:hover{background:#315343;color:#fff;font-weight:600}.plan-calendar button:focus-visible{outline:2px solid #52764a;outline-offset:1px}.plan-calendar button:disabled{opacity:.3;cursor:default}.calendar-footer{display:flex;justify-content:space-between;gap:8px;padding-top:12px;margin-top:12px;border-top:1px solid #e5ebe1}.calendar-footer button{padding:8px 6px;font-size:13px}
.plan-accepted-animation{position:fixed;inset:0;z-index:2000;background:#10281ee0;backdrop-filter:blur(5px);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#eef7e7;animation:acceptance-screen 2.9s both;pointer-events:auto}.acceptance-art{position:relative;width:min(360px,85vw);height:270px;display:grid;place-items:center}.acceptance-halo{position:absolute;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,#cae3b32b,#cae3b308 70%);border:1px solid #d9efc94d;animation:acceptance-ring 1.4s ease-out both}.acceptance-hands{width:290px;max-width:82%;filter:drop-shadow(0 16px 18px #0004);animation:acceptance-arrive .45s cubic-bezier(.16,1,.3,1) both}.acceptance-hands .handshake{width:100%;height:auto;stroke:#d4e7c8;stroke-width:1.3}.acceptance-hands .handshake path[fill]{fill:#315343}.acceptance-hands .handshake-pair{transform-origin:32px 24px;animation:acceptance-shake 1.7s .28s both}.acceptance-check{position:absolute;bottom:12px;right:65px;width:48px;height:48px;animation:acceptance-arrive .35s .9s both}.acceptance-check circle{fill:#cde6b9}.acceptance-check path{fill:none;stroke:#294b40;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:acceptance-tick .3s 1.05s forwards}.plan-accepted-animation>p{font-size:clamp(19px,3vw,25px);font-weight:500;text-align:center;margin:14px 20px 0;animation:acceptance-arrive .4s .2s both}.acceptance-spark{position:absolute;width:7px;height:7px;border-radius:2px;background:#cde6b9;animation:acceptance-spark 1.25s .25s both}.spark-one{left:35px;top:65px}.spark-two{right:35px;top:90px;animation-delay:.4s}.spark-three{left:75px;bottom:40px;animation-delay:.55s}
@keyframes calendar-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes comment-welcome{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes acceptance-screen{0%{opacity:0}12%,85%{opacity:1}100%{opacity:0}}@keyframes acceptance-arrive{from{opacity:0;transform:translateY(18px) scale(.86)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes acceptance-shake{0%,100%{transform:rotate(0)}25%{transform:rotate(-8deg) translateY(-2px)}50%{transform:rotate(7deg) translateY(2px)}75%{transform:rotate(-4deg)}}@keyframes acceptance-ring{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1.08)}}@keyframes acceptance-tick{to{stroke-dashoffset:0}}@keyframes acceptance-spark{0%{opacity:0;transform:scale(0) rotate(0)}35%{opacity:1}100%{opacity:0;transform:scale(1.3) rotate(90deg) translateY(-20px)}}
@media(max-width:700px){.wizardbottom .buttons{width:100%;display:grid;grid-template-columns:1fr}.wizardbottom .buttons button{width:100%;justify-content:center;white-space:normal}.review-fab{right:16px;bottom:16px;height:50px}.review-fab>.review-fab-label{font-size:13px}.handoff-mail{padding:20px}.preview-recipient{display:block}.preview-recipient .textbtn{display:block;margin-top:6px}.compact-phase-top>.compact-date{min-width:150px}}
@media(prefers-reduced-motion:reduce){.plan-calendar,.review-fab,.plan-accepted-animation,.plan-accepted-animation *{animation:none!important}.acceptance-check path{stroke-dashoffset:0}.acceptance-spark{display:none}}
@media print{.review-fab,.plan-calendar,.plan-accepted-animation{display:none!important}}

.compact-phase-top textarea,.compact-phase-top input{display:block}.compact-phase-top label{min-height:19px;margin-bottom:6px}.plan-calendar{max-height:calc(100dvh - 24px);overflow-y:auto}

body:has(.modalbg) .review-fab{visibility:hidden}

.review-fab>.review-fab-label,.pro-brand .review-fab>.review-fab-label{background:transparent;color:#fff;border:0}
.pro-brand .review-fab,.pro-brand .review-fab:hover{background:var(--pro-accent,#315343);color:#fff}
.handoff-mail .mail-powered{font-size:12px;color:#69746b;border-top:1px solid #e2e8dc;padding-top:16px;margin:22px 0 0}.mail-edit-template{margin-top:12px}.mail-variables{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.mail-variables button{font-size:12px;padding:6px 10px;min-height:34px}.mail-template-preview{border:1px solid #dce3d7;border-radius:10px;padding:18px;margin:20px 0;background:#f8faf6}.mail-template-preview h3{font-size:14px;margin:0 0 12px}.mail-template-preview p{font-size:14px;line-height:1.6;overflow-wrap:anywhere}#pro-mail-template{line-height:1.6;resize:vertical;min-height:220px}

/* Keep extra-work proposals comfortably inset in owner and client views. */
.extra-section .extra-card{box-sizing:border-box;min-width:0;margin:14px 0;padding:24px;border:1px solid var(--pro-line,#dce3d7);border-radius:10px;background:#fff}
.extra-card .extra-heading h3,.extra-card .extra-details p,.extra-card blockquote{min-width:0;overflow-wrap:anywhere}
.extra-card .buttons{flex-wrap:wrap;gap:10px}
.brief-success>h2,.pro-brand .brief-success>h2{color:var(--pro-accent,#24463d);font-weight:600}
.brief-success>svg,.pro-brand .brief-success>svg{box-sizing:border-box;width:44px;height:44px;padding:10px;border-radius:50%;background:var(--pro-primary,#24463d);color:var(--pro-on-primary,#fff);stroke-width:2;margin-bottom:12px}
@media(max-width:650px){.extra-section .extra-card{padding:18px}.extra-card .buttons>button{max-width:100%;white-space:normal}}
