/* Dialboard 2026 — focused, motion-aware visual system */
:root{--db-deep:#102821;--db-forest:#1e4938;--db-accent:#d6f19c;--db-mint:#2d825b;--db-ivory:#f7f8f3;--db-border:#dbe5dc}
body{font-family:'DM Sans',sans-serif}
.brand-mark,.login-brand-mark{border-radius:11px!important;background:#d9f4ad!important;color:#163729!important;box-shadow:0 0 0 1px rgba(255,255,255,.18) inset}
.brand-copy strong,.login-brand-copy strong{font-family:'Space Grotesk',sans-serif}
.sidebar{background:linear-gradient(175deg,#152f26 0%,#10251e 100%);border-right-color:rgba(255,255,255,.08)}
.nav-item{transition:background .2s ease,color .2s ease,transform .2s ease}
.nav-item:hover{transform:translateX(2px)}
.nav-item.active{background:#28483a;box-shadow:inset 3px 0 0 #bfe89d}
.button-primary,.login-button{background:#206b4b!important;border-color:#206b4b!important;color:white!important;box-shadow:0 5px 14px rgba(18,83,53,.13)}
.button-primary:hover:not(:disabled),.login-button:hover:not(:disabled){background:#165a3b!important;border-color:#165a3b!important;box-shadow:0 9px 19px rgba(18,83,53,.18);transform:translateY(-1px)}
.button-primary:active:not(:disabled),.login-button:active:not(:disabled){transform:translateY(0)}
.page-content{animation:db-content-in .35s both}
@keyframes db-content-in{from{opacity:.75;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}

/* Branded user-facing authentication: platform owner sign-in wall remains separate. */
body:has(.login-layout){background:#f4f6f1;color:#183528}
.login-layout{grid-template-columns:minmax(0,1.09fr) minmax(390px,.91fr);min-height:100svh}
.login-story{position:relative;isolation:isolate;padding:clamp(28px,4vw,66px)!important;background:radial-gradient(circle at 85% 25%,rgba(123,201,137,.23),transparent 36%),radial-gradient(circle at 6% 90%,rgba(205,238,161,.13),transparent 40%),linear-gradient(155deg,#153d2d,#0d211a 90%)!important;overflow:hidden}
.login-story:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.11;background-image:linear-gradient(rgba(237,255,236,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(237,255,236,.25) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(140deg,transparent 6%,#000 90%)}
.login-story:after{width:550px!important;height:550px!important;right:-230px!important;bottom:-235px!important;border:1px solid rgba(219,250,199,.16)!important;box-shadow:0 0 0 50px rgba(216,242,175,.02),0 0 0 100px rgba(216,242,175,.02)!important;animation:db-orbit 17s ease-in-out infinite alternate}
@keyframes db-orbit{to{transform:translate(-36px,-24px) scale(1.08)}}
.login-brand{z-index:2}
.login-brand-mark{width:45px!important;height:45px!important;font-size:30px!important}
.login-brand-copy strong{font-size:22px!important}
.login-brand-copy span{color:#b2c8b8!important}
.story-copy{padding:clamp(60px,7vh,110px) 0 35px!important;margin:auto 0!important;max-width:650px!important}
.story-tag{font:600 10px 'DM Mono',monospace!important;letter-spacing:1.2px!important;background:rgba(255,255,255,.065)!important;padding:9px 12px!important;border-color:rgba(228,249,211,.2)!important;color:#d8efb4!important}
.story-copy h1{font:600 clamp(42px,4.5vw,76px)/1.015 'Space Grotesk',sans-serif!important;letter-spacing:-3px!important;margin:24px 0 20px!important;max-width:620px}
.story-copy h1 em{color:#d9f4ad!important;font-style:normal}
.story-copy p{max-width:490px;font-size:15px!important;line-height:1.75!important;color:#c1d4c6!important;margin:0}
.db-login-points{display:flex;gap:18px;flex-wrap:wrap;margin:23px 0 0;color:#d3e7d2;font:500 11px 'DM Sans',sans-serif}
.db-login-points span:before{content:"✓";color:#d9f4ad;font-weight:800;margin-right:7px}
.db-login-preview{max-width:550px;margin-top:36px;padding:16px 19px 18px;border:1px solid rgba(239,255,226,.18);border-radius:19px;background:linear-gradient(150deg,rgba(239,255,234,.13),rgba(239,255,234,.055));box-shadow:0 28px 75px rgba(0,10,6,.17);backdrop-filter:blur(10px);animation:db-preview-in .75s cubic-bezier(.2,.8,.2,1) both}
@keyframes db-preview-in{from{opacity:0;transform:translateY(20px) rotate(-1deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
.db-preview-top{display:flex;justify-content:space-between;align-items:center;gap:16px;font:600 10px 'DM Mono',monospace;color:#d8eadd;letter-spacing:1px;padding:0 2px 12px}
.db-preview-top b{display:flex;gap:7px;align-items:center;color:#d9f4ad;font-weight:500}
.db-preview-top b:before{content:"";display:block;width:7px;height:7px;border-radius:50%;background:#bdf1a1;box-shadow:0 0 0 4px rgba(189,241,161,.09)}
.db-preview-grid{display:grid;gap:8px}
.db-preview-item{display:flex;align-items:center;gap:14px;padding:13px 14px;border-radius:11px;background:rgba(255,255,255,.9);color:#163629;animation:db-row-enter .6s both}
.db-preview-item:nth-child(2){animation-delay:.12s}.db-preview-item:nth-child(3){animation-delay:.24s}
@keyframes db-row-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.db-preview-hour{font:600 11px 'DM Mono',monospace;color:#657969;white-space:nowrap;min-width:62px}
.db-preview-bar{height:34px;width:4px;flex:none;border-radius:4px;background:#69b68a}
.db-preview-item:nth-child(2) .db-preview-bar{background:#7e91d5}
.db-preview-item:nth-child(3) .db-preview-bar{background:#d4a765}
.db-preview-text{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}
.db-preview-text strong{font-size:12px}
.db-preview-text small{font-size:10px;color:#7f9385}
.db-preview-badge{font-size:9px;font-weight:750;padding:6px 8px;border-radius:30px;background:#e8f5e8;color:#2b7b4e}
.db-preview-item:nth-child(2) .db-preview-badge{background:#eef0fa;color:#576cb3}
.db-preview-item:nth-child(3) .db-preview-badge{background:#fbf3e6;color:#996c32}
.story-bottom{color:#a4c0aa!important;font-size:11px!important}
.login-panel{padding:clamp(26px,5vw,72px)!important;background:#f7f8f4!important}
.login-card{width:min(100%,440px)!important}
.db-login-topline{font:700 10px 'DM Mono',monospace;letter-spacing:1.5px;color:#508a68;margin-bottom:13px}
.login-card h2{font:600 40px/1.1 'Space Grotesk',sans-serif!important;letter-spacing:-1.7px!important;color:#15382b}
.login-card .subhead{font-size:14px!important;color:#748579!important;margin:0 0 28px!important}
.login-mode-toggle{background:#e9eee8!important;padding:5px!important;border:0!important;border-radius:12px!important}
.login-mode-toggle button{font-size:13px!important;padding:12px!important}
.login-mode-toggle button.selected{background:white!important;color:#1b6445!important;box-shadow:0 2px 7px rgba(10,45,23,.07)!important}
.login-label{font-size:12px!important;color:#3a5145!important;margin-bottom:8px!important}
.login-input{min-height:51px!important;border-radius:12px!important;border:1px solid #d8e2d7!important;background:white!important;padding:14px 15px!important;font-size:14px!important;transition:border .2s,box-shadow .2s}
.login-input:focus{border-color:#489b70!important;box-shadow:0 0 0 4px rgba(91,174,120,.12)!important;outline:0}
.login-button{min-height:52px!important;border-radius:12px!important;font-size:14px!important;margin-top:22px!important}
.db-password-container{position:relative}
.db-password-container .login-input{padding-right:76px!important}
.db-password-toggle{position:absolute;right:6px;top:6px;bottom:6px;padding:0 13px;border:0;background:transparent;border-radius:8px;color:#437c59;font-size:12px;font-weight:750}
.db-password-toggle:hover{background:#edf6ee}
.login-security{color:#66816f!important}
.login-footer{margin-top:42px!important;flex-wrap:wrap;gap:8px;line-height:1.5}
.login-back{font-size:12px}

/* Fast booking: core fields first, everything else behind a disclosure. */
.modal-card:has(#appointment-form){width:min(680px,calc(100vw - 24px))!important;max-width:680px!important;max-height:min(94dvh,900px)!important;overflow:auto!important;border-radius:21px!important}
.modal-card:has(#appointment-form) .modal-header{padding:22px 27px 18px!important;background:linear-gradient(120deg,#eef7f0 0%,#fff 85%)!important}
.modal-card:has(#appointment-form) .modal-header h2{font-size:27px!important}
.modal-card:has(#appointment-form) .modal-header p{margin-top:6px;max-width:540px}
.modal-card:has(#appointment-form) .modal-form{padding:0 27px 23px!important;display:flex!important;flex-direction:column!important;gap:0!important}
.db-quick-booking{display:grid;gap:0}
.db-quick-intro{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0 4px}
.db-quick-pill{display:inline-flex;align-items:center;gap:7px;font:750 10px 'DM Mono',monospace;letter-spacing:.9px;color:#327953}
.db-quick-pulse{width:7px;height:7px;border-radius:50%;background:#69b683;box-shadow:0 0 0 4px #e0f2e5}
.db-quick-zone{color:#819384;font-size:10px;min-width:0;text-align:right}
.db-quick-section{padding:14px 0;border-bottom:1px solid #edf1eb}
.db-quick-heading{display:flex;align-items:center;gap:10px;margin-bottom:11px}
.db-quick-heading>span{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:#e3f1e4;color:#277b52;font:700 10px 'DM Mono',monospace}
.db-quick-heading h3{margin:0;font:650 14px 'Space Grotesk',sans-serif;letter-spacing:-.25px;color:#284a36}
.db-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 12px}
.db-quick-grid>label{margin:0!important;min-width:0;grid-column:auto!important;font-size:11px!important;font-weight:700!important;line-height:1.55}
.db-quick-grid>label.db-quick-name{grid-column:1 / -1!important}
.db-quick-grid label small{display:none!important}
.db-quick-grid input:not([type=checkbox]),.db-quick-grid select{display:block;width:100%;min-height:42px!important;margin-top:5px!important;padding:10px 11px!important;border-radius:10px!important;font-size:12px!important;border:1px solid #dae6dc!important;background:#fff!important}
.db-quick-grid input:focus,.db-quick-grid select:focus{border-color:#5aa379!important;box-shadow:0 0 0 3px rgba(95,169,123,.1)!important;outline:0}
.db-quick-meeting{grid-column:auto!important}
.db-quick-method{padding-bottom:16px}
.db-quick-method .db-booking-method{margin:0!important;background:transparent!important;padding:0!important;border:0!important}
.db-quick-method .db-booking-method-heading{display:none!important}
.db-quick-method .db-method-grid{gap:10px}
.db-quick-method .db-method-option{min-height:64px!important;padding:11px!important;align-items:center!important;border-radius:12px!important}
.db-quick-method .db-method-symbol{width:30px!important;height:30px!important;flex-basis:30px!important;border-radius:9px!important;font-size:16px!important}
.db-quick-method .db-method-copy{gap:1px!important}
.db-quick-method .db-method-copy>strong{font-size:12px!important}
.db-quick-method .db-method-copy small{display:none!important}
.db-quick-method .db-method-copy em{font-size:8px!important;padding:2px 4px!important}
.db-quick-method .db-method-check{margin:0!important}
.db-quick-method .db-cal-optional-hint{padding:0!important;margin:9px 0 0!important;font-size:10px!important;line-height:1.5!important}
.db-quick-outcome-grid label{grid-column:auto!important}
.db-booking-more{margin-top:14px;border:1px solid #e1eade;border-radius:13px;background:#fbfdfa;overflow:hidden}
.db-booking-more>summary{list-style:none;display:flex;align-items:center;gap:12px;cursor:pointer;padding:13px 15px;outline-offset:-3px;user-select:none}
.db-booking-more>summary::-webkit-details-marker{display:none}
.db-more-icon{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:9px;background:#e8f2e7;color:#337e52;font-size:19px;transition:transform .2s}
.db-booking-more[open] .db-more-icon{transform:rotate(45deg)}
.db-booking-more summary strong{display:block;font-size:12px;color:#355742}
.db-booking-more summary small{display:block;font-size:10px;color:#839185;margin-top:2px}
.db-more-arrow{margin-left:auto;color:#738b77;font-size:18px;transition:transform .2s}
.db-booking-more[open] .db-more-arrow{transform:rotate(180deg)}
.db-booking-more-content{padding:15px;border-top:1px solid #e6eee5;display:grid;gap:12px;animation:db-content-in .24s both}
.db-booking-more-content>.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.db-booking-more-content>.form-grid>label{min-width:0}
.db-booking-more-content .checkbox-field{margin:0}
.db-booking-more-content textarea{min-height:66px!important}
.db-booking-more-content>label{margin:0}
.modal-card:has(#appointment-form) .modal-actions{position:sticky;bottom:-23px;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);padding:14px 0 17px!important;margin-top:12px!important;z-index:3;gap:8px!important}
.modal-card:has(#appointment-form) .modal-actions .button{font-size:11px}
.modal-card:has(#appointment-form) .modal-actions .button-primary{min-height:42px!important;border-radius:10px!important}
@media(max-width:900px){.login-layout{grid-template-columns:minmax(0,1fr) minmax(370px,1fr)}.story-copy h1{font-size:clamp(38px,5.2vw,58px)!important}}
@media(max-width:760px){.login-layout{display:flex;flex-direction:column}.login-story{min-height:unset!important;padding:24px 24px 22px!important}.story-copy{padding:26px 0 6px!important}.story-copy h1{font-size:41px!important;letter-spacing:-1.8px!important;margin:15px 0!important}.story-copy p{font-size:13px!important}.db-login-preview{display:none}.db-login-points{margin:15px 0 0}.story-bottom{display:none}.login-panel{padding:34px 23px 45px!important}.login-card h2{font-size:34px!important}.modal-card:has(#appointment-form){max-height:97dvh!important}.modal-card:has(#appointment-form) .modal-header{padding:20px 19px 15px!important}.modal-card:has(#appointment-form) .modal-form{padding:0 19px 17px!important}}
@media(max-width:520px){.db-quick-grid{gap:10px}.db-quick-grid>label.db-quick-name{grid-column:1 / -1}.db-quick-client>label.db-quick-email{grid-column:1 / -1!important}.db-quick-grid input:not([type=checkbox]),.db-quick-grid select{min-height:43px!important}.db-quick-method .db-method-grid{grid-template-columns:1fr 1fr!important;gap:7px}.db-quick-method .db-method-option{padding:9px 8px!important;gap:6px!important}.db-quick-method .db-method-symbol{display:none!important}.db-quick-method .db-method-check{display:none!important}.db-quick-method .db-method-copy>strong{font-size:11px!important}.db-quick-method .db-method-copy em{display:none!important}.db-booking-more-content>.form-grid{grid-template-columns:1fr}.db-quick-zone{font-size:9px}.modal-card:has(#appointment-form) .modal-actions{flex-wrap:wrap!important}.modal-card:has(#appointment-form) .modal-actions .button-primary{width:100%}.modal-card:has(#appointment-form) .modal-actions .modal-actions-spacer{display:none}}
@media(prefers-reduced-motion:reduce){.db-login-preview,.db-preview-item,.login-story:after,.page-content,.db-booking-more-content{animation:none!important}.nav-item,.button-primary,.login-button{transition:none!important}}