/* Dialboard v73 — compact booking editor. Same data model, entirely new order. */
.modal-layer:has(#appointment-form){background:rgba(9,34,24,.48)!important;backdrop-filter:blur(7px)}
.modal-card:has(#appointment-form){width:min(650px,calc(100vw - 24px))!important;max-width:650px!important;max-height:94dvh!important;border-radius:22px!important;box-shadow:0 35px 100px rgba(13,39,24,.25)!important;animation:db-v3-modal-in .38s cubic-bezier(.16,1,.3,1) both;overflow-y:auto}
@keyframes db-v3-modal-in{from{opacity:.55;transform:translateY(24px) scale(.965)}to{opacity:1;transform:translateY(0) scale(1)}}
.modal-card:has(#appointment-form) .modal-header{padding:21px 26px 16px!important;background:linear-gradient(140deg,#eaf5ec,#fff 68%)!important;border-bottom:1px solid #e5eee5}
.modal-card:has(#appointment-form) .modal-header h2{font:700 26px/1.14 'Outfit','Space Grotesk',sans-serif!important;letter-spacing:-.8px!important;color:#184333}
.modal-card:has(#appointment-form) .modal-header p{font-size:11px;line-height:1.45;color:#75917b;margin-top:7px}
.modal-card:has(#appointment-form) .modal-form{padding:0 26px 22px!important;display:flex!important;flex-direction:column!important;gap:0!important}
.db-book-v3{display:grid;gap:0;font-family:'Plus Jakarta Sans','DM Sans',sans-serif}
.db-v3-top{display:flex;justify-content:space-between;align-items:center;padding:15px 0 4px;gap:15px}
.db-v3-eyebrow{display:flex;align-items:center;gap:9px;color:#37805a;font:800 9px 'Plus Jakarta Sans',sans-serif;letter-spacing:1.45px}
.db-v3-eyebrow i{width:8px;height:8px;background:#74c38f;border-radius:50%;box-shadow:0 0 0 4px #e0f5e3}
.db-v3-zone{font:600 10px 'Plus Jakarta Sans',sans-serif;color:#7e9785;text-align:right}
.db-v3-section{border-bottom:1px solid #e9f0e8;padding:13px 0 15px}
.db-v3-heading{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.db-v3-heading span{display:grid;place-items:center;width:23px;height:23px;border:1px solid #dce9de;background:#edf6ec;border-radius:8px;color:#2c7955;font:750 10px 'Plus Jakarta Sans',sans-serif}
.db-v3-heading h3{margin:0;font:700 14px/1.3 'Outfit',sans-serif;color:#234b37;letter-spacing:-.2px}
.db-v3-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
.db-v3-fields>label,.db-v3-fields .spouse-field label{display:block;min-width:0;margin:0!important;color:#506b59;font:700 11px/1.5 'Plus Jakarta Sans',sans-serif!important}
.db-v3-fields input:not([type=checkbox]):not([type=color]),.db-v3-fields select,.db-v3-fields textarea{box-sizing:border-box;display:block;width:100%;min-height:42px!important;padding:9px 11px!important;margin-top:5px!important;border-radius:10px!important;border:1px solid #d8e5d9!important;background:#fff!important;color:#243c2b!important;font:500 12px 'Plus Jakarta Sans',sans-serif!important;transition:border-color .18s,box-shadow .18s}
.db-v3-fields input:focus,.db-v3-fields select:focus,.db-v3-fields textarea:focus{border-color:#55a577!important;box-shadow:0 0 0 3px rgba(76,159,105,.1)!important;outline:0}
.db-v3-fields small{color:#87998c;font-size:9.5px;line-height:1.5}
.db-v3-fields>label.full-field{grid-column:auto!important}
.db-v3-label-input{grid-column:1 / -1;padding-right:76px!important;position:relative}
.db-v3-labels>.db-v3-fields{position:relative}
.db-v3-label-input input{padding-right:78px!important}
.db-v3-color-input{position:absolute;right:0;bottom:0;width:66px!important;display:flex!important;flex-direction:column!important;align-items:flex-start;gap:4px;color:#79907c!important;font-size:10px!important}
.db-v3-color-input input[type=color]{appearance:none;-webkit-appearance:none;cursor:pointer;margin:0;width:49px;height:41px;border-radius:11px;border:1px solid #dae7db;padding:3px;background:white}
.db-v3-color-input input[type=color]::-webkit-color-swatch-wrapper{padding:0}
.db-v3-color-input input[type=color]::-webkit-color-swatch{border:0;border-radius:7px}
.db-v3-label-picks{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:10px}
.db-v3-label-picks>span{font:800 9px 'Plus Jakarta Sans',sans-serif;letter-spacing:.9px;color:#92a393;margin-right:4px}
.db-v3-label-chip{font:700 10px 'Plus Jakarta Sans',sans-serif;background:#f5f8f3;color:#547160;border:1px solid #dce8dc;border-radius:30px;padding:6px 11px;transition:background .2s,color .2s,border-color .2s,transform .2s}
.db-v3-label-chip:hover{background:#e7f4e8;color:#2b7c4d;border-color:#98cbaa;transform:translateY(-2px)}
.db-v3-label-chip.is-selected{background:#23714a;color:white;border-color:#23714a}
.db-v3-client-name{grid-column:1 / -1!important}
.db-v3-spouse-toggle{grid-column:1 / -1!important;display:flex!important;align-items:center!important;gap:9px;border:0!important;padding:0!important;cursor:pointer;min-height:25px}
.db-v3-spouse-toggle input{width:17px!important;height:17px!important;accent-color:#248351}
.db-v3-spouse-toggle .custom-check{display:none!important}
.db-v3-spouse-toggle strong{font:600 11px 'Plus Jakarta Sans',sans-serif;color:#67806b}
.db-v3-spouse-name{grid-column:1 / -1!important;margin:0!important;display:grid!important;grid-template-columns:1fr}
.db-v3-spouse-name.hidden{display:none!important}
.db-v3-client-phone,.db-v3-client-email{min-width:0}
.db-v3-client-email small{display:none}
.db-v3-schedule .db-v3-fields{gap:10px 12px}
.db-v3-clock{display:flex!important;margin:10px 0 0!important;border-radius:8px!important;background:#f7faf6!important;border:1px solid #e3eee1;padding:8px 10px!important;font-size:10px!important;width:fit-content}
.db-v3-meeting .db-v3-heading{margin-bottom:10px}
.db-v3-meeting .db-v3-fields{display:block}
.db-v3-meeting-native{display:none!important}
.db-v3-meeting-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.db-v3-meeting-options button{display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 10px!important;border:1.5px solid #dce9dd;border-radius:11px;background:#fff;color:#65816b;font:700 11px 'Plus Jakarta Sans',sans-serif;min-height:46px;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}
.db-v3-meeting-options button:hover{border-color:#a7cdb0;transform:translateY(-1px)}
.db-v3-meeting-options button.active{background:#eff9f0;color:#226946;border-color:#55a575;box-shadow:inset 0 0 0 .5px #55a575}
.db-v3-meeting-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;font-size:15px;background:#e9f2ea}
.db-v3-meeting-options button.active .db-v3-meeting-icon{background:#d5eadb;color:#2b8351}
.db-v3-method{margin:13px 0 0!important;padding:0!important;border:0!important;background:transparent!important}
.db-v3-method .db-booking-method-heading{display:none!important}
.db-v3-method .db-method-grid{grid-template-columns:1fr 1fr!important;gap:9px!important}
.db-v3-method .db-method-option{min-height:62px!important;border-radius:11px!important;padding:11px!important;align-items:center!important;gap:8px!important}
.db-v3-method .db-method-symbol{width:30px!important;height:30px!important;flex-basis:30px!important;border-radius:8px!important;font-size:15px!important}
.db-v3-method .db-method-copy{gap:3px!important}
.db-v3-method .db-method-copy strong{font:700 11px 'Plus Jakarta Sans',sans-serif!important;color:#284e38}
.db-v3-method .db-method-copy small{font:500 9px/1.45 'Plus Jakarta Sans',sans-serif!important;display:block!important;color:#819484}
.db-v3-method .db-method-copy em{display:none!important}
.db-v3-method .db-method-check{width:14px!important;height:14px!important;margin:0!important}
.db-v3-method .db-cal-optional-hint{font:500 10px/1.5 'Plus Jakarta Sans',sans-serif;color:#819181;margin:9px 0 0!important;padding:0!important}
.db-v3-comment-field{grid-column:1 / -1!important}
.db-v3-comment-field textarea{min-height:67px!important;resize:vertical}
.db-v3-outcome .db-v3-fields{grid-template-columns:1fr 1fr}
.db-v3-extra{margin-top:12px;border-radius:12px;border:1px solid #e5eee3;background:#fbfdfb;overflow:hidden}
.db-v3-extra>summary{display:flex;align-items:center;gap:9px;padding:12px 15px;cursor:pointer;list-style:none;font:700 11px 'Plus Jakarta Sans',sans-serif;color:#52725b}
.db-v3-extra>summary::-webkit-details-marker{display:none}
.db-v3-extra-plus{width:22px;height:22px;display:grid;place-items:center;border-radius:6px;color:#3b875a;background:#e6f2e7;font-size:18px;transition:transform .22s}
.db-v3-extra[open] .db-v3-extra-plus{transform:rotate(45deg)}
.db-v3-extra summary small{font-size:9px;color:#97a89b;margin-left:auto}
.db-v3-extra-body{display:grid;gap:12px;padding:13px 15px 15px;border-top:1px solid #e8f1e8;animation:db-v3-pop-down .2s both}
@keyframes db-v3-pop-down{from{opacity:.3;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.db-v3-extra-body>label{display:block;font:700 11px 'Plus Jakarta Sans',sans-serif;color:#5d7665}
.db-v3-extra-body input,.db-v3-extra-body select,.db-v3-extra-body textarea{margin-top:5px;width:100%;min-height:40px;border-radius:9px;border:1px solid #dce9df;padding:9px;font-size:12px}
.db-v3-extra-body label.full-field{grid-column:auto!important}
.modal-card:has(#appointment-form) .modal-actions{position:sticky;bottom:-22px;z-index:5;background:rgba(255,255,255,.98)!important;backdrop-filter:blur(12px);padding:13px 0 14px!important;gap:6px;margin:9px 0 0!important}
.modal-card:has(#appointment-form) .modal-actions .button-primary{border-radius:10px!important;font:700 11px 'Plus Jakarta Sans',sans-serif;min-height:42px!important}
@media(max-width:700px){.modal-card:has(#appointment-form){max-height:98dvh!important;border-radius:17px!important}.modal-card:has(#appointment-form) .modal-header{padding:18px 18px 14px!important}.modal-card:has(#appointment-form) .modal-form{padding:0 18px 16px!important}}
@media(max-width:475px){.db-v3-section{padding:11px 0 13px}.db-v3-fields{gap:9px}.db-v3-fields input:not([type=checkbox]):not([type=color]),.db-v3-fields select{min-height:43px!important;font-size:11px!important;padding:9px!important}.db-v3-labels .db-v3-label-input input{padding-right:78px!important}.db-v3-client-email{grid-column:1 / -1!important}.db-v3-client-phone{grid-column:1 / -1!important}.db-v3-method .db-method-option{padding:9px!important;min-height:56px!important}.db-v3-method .db-method-symbol{display:none!important}.db-v3-method .db-method-check{display:none!important}.db-v3-method .db-method-copy small{display:none!important}.db-v3-extra summary small{display:none}.modal-card:has(#appointment-form) .modal-actions .button-primary{width:100%}}
@media(prefers-reduced-motion:reduce){.modal-card:has(#appointment-form),.db-v3-extra-body,.db-v3-label-chip{animation:none!important;transition:none!important}}