/* Full-screen agenda opening: the dashboard appears as soon as real data is ready. */
.dashboard-loading{--loading-bg:#f4f6fa;--loading-ink:#172554;--loading-muted:#596b83;--loading-paper:#fffdf8;--loading-paper-ink:#263963;--loading-paper-line:#e4eaf3;--loading-row:#e7edf7;--loading-row-soft:#ccebdd;--loading-edge:#d7ddeb;--loading-edge-back:#bfcbe2;--loading-shadow:#10235a33;--hourmeet-logo-accent:var(--loading-ink);position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:32px 24px;background:var(--loading-bg);color:var(--loading-ink);overflow:hidden;pointer-events:none;isolation:isolate}
:root[data-workspace-theme="dark"] .dashboard-loading{--loading-bg:#101827;--loading-ink:#f0f4fc;--loading-muted:#bdc9db;--loading-paper:#202e44;--loading-paper-ink:#edf2fc;--loading-paper-line:#3b4d65;--loading-row:#3b4d65;--loading-row-soft:#345b52;--loading-edge:#2f4059;--loading-edge-back:#25354b;--loading-shadow:#00000055}
html[data-workspace-mode=demo] .dashboard-loading{display:none}
html[data-workspace-mode=live]:not([data-live-ready=true]):not([data-loading-error=true]){overflow:hidden}
html[data-loading-error=true] .shell{display:none}
.dashboard-preloader-content{text-align:center;width:min(100%,520px);animation:preloader-arrive 360ms cubic-bezier(.2,0,0,1) both}
.preloader-brand{--hourmeet-logo-accent:var(--loading-accent,#315bdf);font-size:24px;font-weight:700;letter-spacing:-1px;line-height:1.3;margin:0 0 32px;color:#101317}.preloader-brand span{color:inherit}
:root[data-workspace-theme="dark"] .preloader-brand{color:#fff}
.dashboard-preloader-content h1{font-size:clamp(24px,4vw,36px);font-weight:700;letter-spacing:-.8px;color:var(--loading-ink);margin:32px 0 12px;line-height:1.2;text-wrap:balance}
.preloader-message{font-size:14px;line-height:24px;color:var(--loading-muted);display:flex;justify-content:center;align-items:center;gap:8px;margin:0}
.preloader-book{position:relative;perspective:1000px;width:160px;height:196px;margin-inline:auto}
.preloader-pages{position:absolute;inset:6px 0 0 7px;background:var(--loading-paper);border-radius:4px 12px 12px 4px;padding:24px 16px;box-shadow:3px 3px 0 var(--loading-edge),6px 6px 0 var(--loading-edge-back),0 20px 40px var(--loading-shadow);text-align:left;animation:preloader-pages 900ms 180ms cubic-bezier(.32,.72,0,1) both}
.preloader-page-title{font-size:14px;line-height:20px;font-weight:700;color:var(--loading-paper-ink);padding-bottom:12px;border-bottom:1px solid var(--loading-paper-line)}
.preloader-pages>i{display:block;height:12px;margin-top:16px;border-radius:4px;background:var(--loading-row);transform-origin:left center;animation:preloader-line 650ms 450ms cubic-bezier(.2,0,0,1) both}.preloader-pages>i:nth-of-type(2){width:76%;background:var(--loading-row-soft);animation-delay:540ms}.preloader-pages>i:nth-of-type(3){width:88%;animation-delay:630ms}.preloader-pages>span{display:block;width:60%;height:8px;background:var(--loading-accent,#315bdf);border-radius:8px;margin-top:20px;animation:preloader-line 650ms 720ms cubic-bezier(.2,0,0,1) both}
.preloader-cover{--hourmeet-logo-accent:var(--loading-on-accent,#fff);position:absolute;inset:0;border-radius:5px 12px 12px 5px;border:2px solid #ffffff66;background:var(--loading-accent,var(--workspace-accent,#315bdf));box-shadow:inset 5px 0 0 #10235a20,0 16px 32px #10235a33;transform-origin:left center;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:preloader-open 950ms 180ms cubic-bezier(.32,.72,0,1) both}
.preloader-mark{font-size:44px;line-height:1;color:var(--loading-on-accent,#fff)}.preloader-cover strong{font-size:20px;letter-spacing:-1px;line-height:28px;color:var(--loading-on-accent,#fff)}.preloader-cover small{font-size:12px;line-height:16px;margin-top:16px;color:var(--loading-on-accent,#fff)}.preloader-elastic{position:absolute;top:0;bottom:0;right:12px;width:4px;border-radius:4px;background:#ffffff4d}
.preloader-dots{display:inline-flex;gap:4px}.preloader-dots i{width:4px;height:4px;border-radius:50%;background:currentColor;animation:preloader-dot 1200ms cubic-bezier(.4,0,.2,1) infinite}.preloader-dots i:nth-child(2){animation-delay:150ms}.preloader-dots i:nth-child(3){animation-delay:300ms}
@keyframes preloader-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes preloader-open{from{transform:rotateY(0)}to{transform:rotateY(-145deg)}}
@keyframes preloader-pages{from{transform:scale(.96)}to{transform:scale(1)}}
@keyframes preloader-line{from{opacity:0;transform:scaleX(.3)}to{opacity:1;transform:scaleX(1)}}
@keyframes preloader-dot{0%,70%,100%{opacity:.35}35%{opacity:1}}
@media(max-width:760px){.dashboard-loading{padding:24px}.preloader-brand{margin-bottom:24px}.preloader-book{width:144px;height:180px}.preloader-pages{padding:18px 14px}.preloader-page-title{padding-bottom:8px}.preloader-pages>i{height:10px;margin-top:11px}.preloader-pages>span{margin-top:14px}.dashboard-preloader-content h1{font-size:clamp(23px,6vw,30px);margin:28px 0 10px}.preloader-message{font-size:14px}}
@media(prefers-reduced-motion:reduce){.dashboard-preloader-content,.preloader-cover,.preloader-pages,.preloader-pages>i,.preloader-pages>span,.preloader-dots i{animation:none}.preloader-cover{transform:rotateY(-145deg)}}
@media(max-height:450px){.dashboard-loading{padding:12px 20px}.preloader-brand{display:block;font-size:20px;margin:0 0 12px}.preloader-book{width:100px;height:124px}.preloader-pages{padding:10px;overflow:hidden}.preloader-page-title{font-size:12px;line-height:16px;padding-bottom:6px}.preloader-pages>i{margin-top:8px;height:7px}.preloader-pages>span{height:6px;margin-top:10px}.dashboard-preloader-content h1{font-size:22px;margin:14px 0 4px}.preloader-cover small{margin-top:8px}}

/* Only color properties interpolate; the notebook keeps its independent motion. */
@media(prefers-reduced-motion:no-preference){
 html[data-workspace-appearance-transition=true] :is(.dashboard-loading,.preloader-brand,.preloader-pages,.preloader-page-title,.preloader-pages>i,.preloader-pages>span,.preloader-cover,.preloader-cover strong,.preloader-cover small,.preloader-mark,.dashboard-preloader-content h1,.preloader-message){transition:background-color 420ms cubic-bezier(.2,0,0,1),color 420ms cubic-bezier(.2,0,0,1),border-color 420ms cubic-bezier(.2,0,0,1),box-shadow 420ms cubic-bezier(.2,0,0,1)}
 html[data-workspace-appearance-transition=true] .dashboard-loading :is(svg,g,path,rect,text,tspan){transition:fill 420ms cubic-bezier(.2,0,0,1),stroke 420ms cubic-bezier(.2,0,0,1)}
}
