.db-workspace{padding:24px;max-width:1050px;margin:auto;color:var(--ink,#252722)}
.db-heading h1{font-family:Fraunces,serif;font-size:clamp(25px,3vw,38px);margin:6px 0}
.db-heading p{color:var(--ink-2,#66706a);margin:0 0 18px;font-size:14px}
.db-eyebrow{font:600 11px 'IBM Plex Mono',monospace;letter-spacing:.1em;color:var(--pine,#366755)}
.db-toolbar,.db-client-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0}
.db-client-actions{padding:12px 20px;margin:0}
.db-booking-note{font-size:12px;color:#50665b}
.db-btn{border:1px solid #d7ddd7;background:#fff;color:#24332d;border-radius:9px;padding:9px 12px;font:600 12px Inter,sans-serif;cursor:pointer;white-space:nowrap}
.db-btn:hover{background:#edf3ef}
.db-btn.db-primary{background:#285a48;color:#fff;border-color:#285a48}
.db-date-label{display:flex;align-items:center;gap:7px;font:600 12px Inter,sans-serif}
.db-date-label input,.db-field input,.db-field select{border:1px solid #cdd6ce;border-radius:8px;padding:9px;background:#fff;color:#26342c;font:13px Inter,sans-serif;min-width:0}
.db-list{display:grid;gap:9px;margin-top:20px}
.db-card{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #dce2dc;border-radius:12px;padding:12px}
.db-time{font:600 13px 'IBM Plex Mono',monospace;min-width:75px}
.db-card-main{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}
.db-card-main strong{font-size:14px}.db-card-main span{font-size:12px;color:#647069}
.db-empty{background:#fff;border:1px dashed #cdd6ce;border-radius:14px;padding:30px;text-align:center;margin-top:20px}
.db-empty h2{font:600 19px Fraunces,serif}.db-empty p{font-size:13px;color:#647069}
.db-modal-backdrop{position:fixed;inset:0;background:#17251bd1;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px}
.db-modal{background:#fff;color:#26342c;width:min(100%,440px);max-height:90vh;overflow:auto;border-radius:18px;padding:24px;box-shadow:0 24px 80px #0003;display:grid;gap:12px}
.db-modal h2{font:600 25px Fraunces,serif;margin:0 0 5px}
.db-field{display:grid;gap:5px;font:600 12px Inter,sans-serif}.db-field input,.db-field select{width:100%;box-sizing:border-box}
.db-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}
@media(max-width:650px){.db-workspace{padding:16px}.db-toolbar{gap:6px}.db-card{flex-wrap:wrap}.db-card-main{min-width:calc(100% - 100px)}.db-card .db-btn{flex:1}}

/* Workspace visual refinement */
.db-workspace{max-width:1160px;padding:clamp(20px,3vw,44px);color:#1c3028}
.db-heading{position:relative;isolation:isolate;overflow:hidden;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:clamp(24px,3vw,38px);background:linear-gradient(135deg,#fffefa,#f4f6ef 75%);border:1px solid #dee5da;border-radius:20px;box-shadow:0 14px 40px -30px #17362955}
.db-heading::after{content:"";position:absolute;z-index:-1;width:270px;height:270px;border:1px solid #cddbcc;border-radius:50%;right:-98px;top:-145px;box-shadow:0 0 0 35px #edf3ea,0 0 0 70px #f3f7f0}
.db-eyebrow{display:flex;align-items:center;gap:8px;color:#42715a;font:700 10px/1.2 'IBM Plex Mono',monospace;letter-spacing:.14em}
.db-live-dot{height:8px;width:8px;border-radius:50%;background:#3a9a68;box-shadow:0 0 0 4px #dff1e5}
.db-heading h1{font:600 clamp(30px,3.2vw,48px)/1.08 Fraunces,Georgia,serif;letter-spacing:-.04em;max-width:700px;margin:15px 0 10px;color:#1b352a}
.db-heading p{font-size:13px;color:#738177;margin:0}
.db-day-count{display:grid;justify-items:end;align-content:center;min-width:116px;padding:12px 16px;border-left:1px solid #d7e1d4}
.db-day-count strong{font:600 34px/1 Fraunces,Georgia,serif;color:#2b5944}
.db-day-count span{font:600 10px/1.5 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:#728779;margin-top:5px}
.db-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:22px 0 30px}
.db-date-nav,.db-quick-nav,.db-action-buttons{display:flex;align-items:center;gap:8px}
.db-date-nav{padding:5px;background:#e9eee7;border:1px solid #dce5da;border-radius:12px}
.db-date-nav>.db-btn{font-size:18px;line-height:1;padding:9px 13px;border:0;background:transparent;color:#3c6651}
.db-date-nav>.db-btn:hover{background:#dce7dc}
.db-date-label{display:flex;gap:11px;align-items:center;font:700 10px 'IBM Plex Mono',monospace;letter-spacing:.08em;color:#688071}
.db-date-label input{border:0;background:#fffefa;box-shadow:0 1px 3px #102e1912;border-radius:7px;color:#22392e;font-size:13px;font-weight:600;min-height:34px;padding:6px 9px}
.db-btn{border-color:#d8e1d7;background:#fffefa;color:#355542;border-radius:9px;padding:9px 14px;font-size:12px;box-shadow:0 1px 2px #152f1910;transition:background .18s,border-color .18s,transform .18s,box-shadow .18s}
.db-btn:hover{background:#f2f7f0;border-color:#9ebba5;transform:translateY(-1px);box-shadow:0 4px 12px #15301d16}
.db-btn:focus-visible,.db-date-label input:focus-visible,.db-field input:focus-visible,.db-field select:focus-visible{outline:3px solid #9acbac;outline-offset:2px}
.db-btn.db-primary{background:#295b43;border-color:#295b43;color:white;box-shadow:0 6px 12px -8px #173b26}
.db-btn.db-primary:hover{background:#1c4833;border-color:#1c4833}
.db-quick-nav .db-btn{background:transparent;box-shadow:none;border:0;color:#617668}
.db-quick-nav .db-btn:hover{background:#e8efe7}
.db-actions{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:0 0 14px}
.db-section-kicker{font:700 10px 'IBM Plex Mono',monospace;letter-spacing:.14em;color:#8d9d8f}
.db-actions h2{font:600 24px/1.2 Fraunces,Georgia,serif;color:#223c2d;letter-spacing:-.025em;margin:4px 0 0}
.db-list{display:grid;gap:8px;margin:0}
.db-card{display:flex;align-items:center;gap:16px;min-height:88px;background:#fffefa;border:1px solid #dee5dc;border-left:3px solid #7da68b;border-radius:12px;padding:15px 18px;box-shadow:0 5px 15px -13px #1c382c66;transition:transform .18s,box-shadow .18s,border-color .18s}
.db-card:hover{transform:translateY(-2px);border-color:#b6cebb;box-shadow:0 12px 25px -18px #17362966}
.db-time{display:flex;align-items:baseline;gap:3px;min-width:90px;color:#335a43;font-family:'IBM Plex Mono',monospace}
.db-time b{font-size:14px}.db-time small{font-size:10px;font-weight:600;color:#819386}
.db-avatar{display:grid;place-items:center;flex:0 0 37px;width:37px;height:37px;border-radius:10px;background:#e8efe7;color:#3b654c;font:700 11px 'IBM Plex Mono',monospace}
.db-card-main{display:grid;gap:5px;flex:1;min-width:0}
.db-card-main strong{font-size:14px;color:#23372c}.db-card-main span{font-size:12px;color:#809083}
.db-card-actions{display:flex;gap:6px}
.db-card-actions .db-btn{padding:7px 10px;font-size:11px;background:#f9fbf8;box-shadow:none}
.db-card-actions [data-db="delete-session"]{color:#9a675b}
.db-empty{margin-top:0;background:#fffefa;border-color:#ccd9ce;border-radius:14px;padding:48px 24px;box-shadow:0 8px 20px -20px #15341c}
.db-empty h2{font-size:23px;color:#26442f}.db-empty p{max-width:350px;margin:8px auto 0;line-height:1.6}
.db-footer-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;padding-top:15px;border-top:1px solid #dce4d9;font:600 11px 'IBM Plex Mono',monospace;letter-spacing:.04em;color:#93a297}
.db-footer-note .db-btn{font:600 11px Inter,sans-serif;background:transparent;border:0;box-shadow:none;color:#9b766d}
.db-client-actions{gap:12px;padding:10px 0 16px}
.db-modal{border:1px solid #dfe9dc;box-shadow:0 25px 80px #0d291c55;border-radius:20px;padding:28px;gap:15px}
.db-modal h2{font-size:30px;color:#223e2b}
.db-field{color:#4d6754;letter-spacing:.01em}
.db-field input,.db-field select{padding:11px 12px;border-color:#d7e2d5;background:#fdfefa}
.db-modal-backdrop{background:#0c2319b9;backdrop-filter:blur(4px)}
body:has(.app){background:#f4f6f1}
body:has(.app) .main{background:linear-gradient(145deg,#f7f9f5,#edf2eb)}
body:has(.app) .sidebar{background:linear-gradient(180deg,#173b2a,#102d21);box-shadow:8px 0 30px #122d1b18}
body:has(.app) .sb-item.on{background:#ffffff1e;box-shadow:inset 3px 0 #afd2ae}
body:has(.app) .sb-logo{border-radius:10px;background:#e6f0e7;color:#1d5034}
body:not(:has(.app)) .db-workspace{padding:14px 17px 25px}
body:not(:has(.app)) .db-heading{border-radius:15px;padding:20px 18px}
body:not(:has(.app)) .db-heading h1{font-size:27px;margin:10px 0 7px}
body:not(:has(.app)) .db-day-count{min-width:60px;padding:6px 0 6px 8px}
body:not(:has(.app)) .db-day-count strong{font-size:25px}
body:not(:has(.app)) .db-day-count span{font-size:8px}
body:not(:has(.app)) .db-controls{margin:16px 0 22px;gap:5px}
body:not(:has(.app)) .db-date-label span{display:none}
body:not(:has(.app)) .db-date-label input{font-size:11px;width:123px;padding:5px}
body:not(:has(.app)) .db-date-nav{gap:1px}
body:not(:has(.app)) .db-date-nav>.db-btn{padding:8px}
body:not(:has(.app)) .db-quick-nav .db-btn{padding:6px 7px}
body:not(:has(.app)) .db-actions h2{font-size:21px}
body:not(:has(.app)) .db-action-buttons{gap:5px}
body:not(:has(.app)) .db-action-buttons .db-btn{padding:8px 9px;font-size:11px}
body:not(:has(.app)) .db-card{gap:8px;min-height:72px;padding:12px}
body:not(:has(.app)) .db-time{min-width:58px;display:grid;gap:1px}
body:not(:has(.app)) .db-time b{font-size:12px}
body:not(:has(.app)) .db-avatar{width:30px;height:30px;flex-basis:30px;border-radius:8px}
body:not(:has(.app)) .db-card-main strong{font-size:12px}
body:not(:has(.app)) .db-card-main span{font-size:10px}
body:not(:has(.app)) .db-card-actions{gap:2px}
body:not(:has(.app)) .db-card-actions .db-btn{padding:6px;font-size:10px}
@media(max-width:720px){body:has(.app) .db-workspace{padding:18px 14px}body:has(.app) .db-heading{padding:22px 18px}body:has(.app) .db-heading h1{font-size:30px}body:has(.app) .db-day-count{min-width:65px;padding:7px}body:has(.app) .db-day-count strong{font-size:26px}body:has(.app) .db-date-label span{display:none}body:has(.app) .db-actions{align-items:center}body:has(.app) .db-card{flex-wrap:nowrap;gap:8px;padding:12px}body:has(.app) .db-time{min-width:57px;display:grid}body:has(.app) .db-avatar{width:30px;height:30px;flex-basis:30px}body:has(.app) .db-card-actions{flex-direction:column}}
@media(max-width:720px){body:has(.app) .db-heading{align-items:start}body:has(.app) .db-heading h1{font-size:27px;max-width:none}body:has(.app) .db-day-count{display:none}body:has(.app) .db-controls{margin:16px 0 25px}body:has(.app) .db-actions{display:block}body:has(.app) .db-actions h2{font-size:22px;white-space:nowrap}body:has(.app) .db-action-buttons{margin-top:12px}body:has(.app) .db-card-main{min-width:0}body:has(.app) .db-card-main strong{font-size:12px}body:has(.app) .db-card-main span{font-size:10px}}
