/*! demo.tramsis.com — (c) Tramsis. Todos los derechos reservados. */
:root{--bg:#f3f1ec;--panel:#fffdfa;--panel2:#f8f6f1;--surface:#fffefa;--ink:#171717;--muted:#756f67;--line:#dedad2;--accent:#f04438;--sidebar:#191919;--font:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--cell-min:108px;--shadow:0 22px 70px rgba(21,21,21,.10);--calendar-selection:#24804e;--calendar-selection-soft:rgba(36,128,78,.06);--calendar-selection-hover:rgba(36,128,78,.09);--focus-background:radial-gradient(circle at 28% 52%,rgba(255,255,255,.88),transparent 35%),linear-gradient(145deg,var(--surface),var(--panel2))}*{box-sizing:border-box}body,html{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted);font-size:13px;line-height:1.45}.toast{position:fixed;right:22px;bottom:22px;background:#171717;color:#fff;padding:12px 16px;border-radius:14px;opacity:0;transform:translateY(15px);transition:.2s;z-index:99;box-shadow:0 14px 44px rgba(0,0,0,.18)}.toast.show{opacity:1;transform:none}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.72),transparent 28%),var(--bg)}.auth-card{width:min(470px,100%);background:var(--panel);border:1px solid var(--line);border-radius:30px;padding:30px;box-shadow:var(--shadow)}.auth-brand{width:58px;height:58px;border-radius:18px;background:var(--sidebar);color:#fff;display:grid;place-items:center;font-weight:950;letter-spacing:-.06em}.auth-card h1{margin:18px 0 6px;font-size:34px;letter-spacing:-.06em}.auth-card p{color:var(--muted);line-height:1.45}.auth-tabs{display:flex;background:#eceae5;border-radius:14px;padding:4px;margin:22px 0;gap:3px}.auth-tabs button{flex:1;border:0;background:0 0;border-radius:10px;padding:10px;font-weight:850;color:#555}.auth-tabs button.active{background:#fff;color:#111;box-shadow:0 2px 8px rgba(0,0,0,.08)}.auth-form{display:grid;gap:13px}label{display:grid;gap:6px;font-weight:850;font-size:13px;color:#433d36}input,select,textarea{border:1px solid var(--line);border-radius:13px;background:#fbfaf7;padding:11px 12px;outline:0;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:#171717}.auth-form button,.primary{border:0!important;background:var(--accent)!important;color:#fff!important;border-radius:13px;padding:12px 15px;font-weight:950}.app-shell{height:100vh;display:grid;grid-template-columns:108px minmax(0,1fr);background:var(--bg)}.sidebar{height:100vh;background:var(--sidebar);color:#fff;padding:18px 12px;display:flex;flex-direction:column;align-items:center;gap:8px;z-index:30}.logo{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(0,0,0,.14));font-weight:950;letter-spacing:-.06em;margin-bottom:12px}.nav{width:100%;border:0;background:0 0;color:#aaa;border-radius:16px;padding:9px 6px;font-weight:850;font-size:11px;display:grid;place-items:center;gap:4px}.nav span{font-size:18px;line-height:1}.nav.active,.nav:hover{background:#fff;color:#111}.nav.logout{font-size:11px;margin-top:6px}.sidebar-spacer{flex:1}.user-badge{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:12px;font-weight:950}.app{height:100vh;padding:18px;display:flex;flex-direction:column;position:relative}.app::before{content:"";position:absolute;inset:18px;background:var(--panel);border:1px solid #e5e1d9;border-radius:30px;box-shadow:var(--shadow);z-index:0;pointer-events:none}.app>*{position:relative;z-index:1}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 22px;background:0 0;border-bottom:1px solid var(--line)}.brand-row{display:flex;align-items:center;gap:12px}.topbar h1{margin:0;font-size:28px;letter-spacing:-.055em;white-space:nowrap}.brand-row select{height:42px;min-width:190px;max-width:250px;font-weight:850;background:#f7f5f0}.subline{font-size:12px;color:var(--muted);font-weight:750;white-space:nowrap}.top-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.modal button,.periodbar button,.top-actions button{border:1px solid var(--line);background:#fff;border-radius:13px;padding:10px 13px;font-weight:900;color:var(--ink)}.modal button:hover,.periodbar button:hover,.top-actions button:hover{filter:brightness(.97)}.search-shell{height:42px;flex:1 1 220px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:14px;background:#f4f2ed;padding:0 10px;color:#8a857d}.search-shell input{flex:1;border:0;background:0 0;padding:0;outline:0}.search-shell kbd{background:#fff;border:1px solid var(--line);border-radius:7px;padding:3px 6px;font-size:10px;color:#777}.periodbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;border-bottom:1px solid var(--line);background:var(--surface)}.period-nav{display:flex;align-items:center;justify-self:start}.periodbar h2{text-align:center;margin:0;font-size:24px;letter-spacing:-.055em}.periodbar button{min-width:42px;height:42px;padding:0 13px;display:grid;place-items:center}.view-switch{display:flex;gap:3px;padding:4px;border-radius:14px;background:#eceae5;justify-self:center}.view-switch button{height:36px;border:0;background:0 0;border-radius:10px;color:#555;font-weight:900;padding:0 13px}.view-switch button.active{background:#fff;color:#111;box-shadow:0 2px 8px rgba(0,0,0,.08)}.filter-toggle{justify-self:end;min-width:auto!important;padding:0 14px!important;font-size:12px}.calendar-layout{flex:1;grid-template-columns:minmax(0,1fr) 330px;border-radius:0 0 30px 30px}.main-panel{display:flex;flex-direction:column;background:var(--surface)}.day-panel{border-left:1px solid var(--line);background:var(--panel2);padding:20px}.day-panel h2{font-size:21px;letter-spacing:-.04em}#selectedDateLabel{color:var(--muted);font-size:13px}.calendar-filters{border-bottom:1px solid var(--line);display:flex;align-items:center;gap:9px}.filter-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;white-space:nowrap;color:#333}.filter-chip.active{border-color:#171717;box-shadow:inset 0 0 0 1px #171717;color:#111}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:44px repeat(6,minmax(0,1fr))}.weekday{display:grid;place-items:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;font-weight:950;color:var(--muted);letter-spacing:.06em;overflow:hidden;white-space:nowrap}.weekday:nth-child(7){border-right:0}.day-cell{background:var(--surface);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px;cursor:pointer;transition:box-shadow .14s,background .14s}.day-cell:nth-child(7n){border-right:0}.day-cell.outside{background:#faf8f4;color:#aaa}.day-number{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:950;margin-bottom:5px}.event-chip{height:23px;border:0;border-radius:8px;background:var(--cal-bg);padding:4px 7px;margin:4px 0;text-align:left;font-size:11px;line-height:15px;color:#263238}.day-view,.week-view{background:var(--surface)}.week-board{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr))}.week-col{border-right:1px solid var(--line);background:var(--surface)}.week-head{padding:15px 13px;border-bottom:1px solid var(--line);position:sticky;background:var(--surface)}.week-name{font-size:10px;font-weight:950;letter-spacing:.06em;color:var(--muted)}.week-num{font-size:32px;font-weight:950;letter-spacing:-.06em;margin-top:3px}.week-col.selected .week-num{color:var(--accent)}.week-events{padding:12px;display:grid;gap:12px}.week-event{border:0;background:0 0;text-align:left;padding:0 0 12px;border-bottom:1px solid #ece8e0;width:100%}.week-time{font-size:12px;color:var(--accent);font-weight:950}.week-title{font-size:13px;font-weight:900;line-height:1.3;margin-top:3px}.week-loc{font-size:11px;color:var(--muted);margin-top:4px}.day-timeline{min-width:640px}.day-hour-slot{border-left:1px solid var(--line);padding:5px;display:grid;gap:5px}.day-event{border:0;border-radius:10px;background:var(--cal-bg);padding:7px 9px;text-align:left;font-size:12px;font-weight:850}.day-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:14px;margin-bottom:10px;text-align:left;width:100%;display:block;box-shadow:0 4px 18px rgba(0,0,0,.03)}.day-card:hover{border-color:#171717;box-shadow:0 8px 24px rgba(0,0,0,.06)}.day-card-title{font-weight:950}.day-card-meta{font-size:12px;color:var(--muted);line-height:1.45;margin-top:6px}.status-pill{display:inline-flex;margin-top:9px;background:#efede7;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900;color:#5f5a52}.status-pill.now{background:var(--accent);color:#fff}.status-pill.done{background:#e8f4eb;color:#2f7d46}.agenda-view{padding:22px;background:var(--surface)}.agenda-row{width:100%;text-align:left;border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px;margin-bottom:9px;display:grid;grid-template-columns:120px 1fr auto;gap:12px;align-items:center}.agenda-row:hover{border-color:#171717}.agenda-time{font-weight:950;color:var(--accent);font-size:12px}.agenda-title{font-weight:950}.agenda-meta{color:var(--muted);font-size:12px;margin-top:3px;line-height:1.45}.focus-view{position:relative;background:radial-gradient(circle at 28% 52%,rgba(255,255,255,.9),transparent 34%),linear-gradient(145deg,var(--surface),var(--panel2))}.focus-scene{display:grid;grid-template-columns:minmax(360px,52%) minmax(320px,48%);align-items:center;gap:32px;padding:42px 58px}.orbit{position:relative;width:min(60vh,540px);aspect-ratio:1;display:grid;place-items:center;margin:auto}.ring{position:absolute;inset:4%;border-radius:50%;background:conic-gradient(var(--accent) var(--progress),rgba(0,0,0,.08) 0);padding:2px}.ring:before{content:"";position:absolute;inset:2px;border-radius:50%;background:var(--surface)}.ring2{position:absolute;inset:16%;border:1px dashed rgba(0,0,0,.16);border-radius:50%}.center{position:relative;width:52%;aspect-ratio:1;border-radius:50%;background:linear-gradient(145deg,var(--panel),var(--panel2));border:1px solid var(--line);box-shadow:0 20px 55px rgba(0,0,0,.1);display:grid;place-items:center;text-align:center;padding:22px}.center:before{content:"";position:absolute;inset:-18px;border-radius:50%;border:1px solid rgba(0,0,0,.07);pointer-events:none}.center-clock{font-size:34px;font-weight:950;letter-spacing:-.07em}.center-live{display:inline-flex;background:#171717;color:#fff;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:950;margin-top:8px}.center-date{margin-top:10px;color:var(--muted);font-size:12px;font-weight:800}.orbit-node{position:absolute;left:calc(50% + var(--x));top:calc(50% + var(--y));transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;border:2px solid var(--cal-color);background:var(--cal-bg);display:grid;place-items:center;text-align:center;font-weight:950;box-shadow:0 12px 28px rgba(0,0,0,.12);transition:.16s}.orbit-node:hover{transform:translate(-50%,-50%) scale(1.08)}.orbit-node.active{width:90px;height:90px;background:var(--cal-color);color:#fff}.focus-copy{max-width:560px}.focus-step{font-size:70px;line-height:.85;font-weight:950;letter-spacing:-.08em;color:rgba(0,0,0,.18)}.focus-card{border:1px solid var(--line);border-radius:26px;background:rgba(255,255,255,.75);backdrop-filter:blur(12px);padding:22px;box-shadow:0 18px 48px rgba(0,0,0,.08)}.focus-card h2{font-size:32px;line-height:1.05;margin:8px 0;letter-spacing:-.05em}.focus-actions{display:flex;gap:9px;margin-top:16px}.focus-actions button{border:0;background:#171717;color:#fff;border-radius:13px;padding:11px 13px;font-weight:950}.focus-actions button.secondary{background:#efede7;color:#171717}.modal{border:0;border-radius:24px;padding:0;width:min(620px,calc(100vw - 30px));box-shadow:0 30px 90px rgba(0,0,0,.22);background:#fff;color:var(--ink)}.modal::backdrop{background:rgba(0,0,0,.42);backdrop-filter:blur(5px)}.modal form{padding:24px;display:grid;gap:13px}.modal h2{margin:0;font-size:24px;letter-spacing:-.04em}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{display:flex;align-items:center;gap:8px}.modal-actions{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;margin-top:8px}.danger{color:#b42318!important;background:#fff6f5!important}.wide{width:min(820px,calc(100vw - 30px))}.code-box{border:1px dashed var(--line);border-radius:16px;background:#fbfaf7;padding:15px;display:grid;gap:4px}.code-box strong{font-size:24px;letter-spacing:.08em}.calendar-setting{display:grid;grid-template-columns:1fr 70px auto;gap:8px;align-items:end;margin-bottom:8px}.member-row{display:grid;grid-template-columns:1fr auto;gap:10px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px;margin-bottom:8px}@media(max-width:1280px){.search-shell{display:none}.top-actions select{min-width:145px}.top-actions button{padding:10px 11px}#workspaceSelect{min-width:210px!important;max-width:320px!important}}@media(max-width:980px){body{overflow:auto;overflow-x:hidden}.app-shell{display:block;height:auto;min-height:100vh}.sidebar{position:fixed;left:12px;right:12px;bottom:12px;height:68px;border-radius:22px;flex-direction:row;z-index:20;padding:9px 12px;box-shadow:0 14px 40px rgba(0,0,0,.25)}.logo,.nav.logout,.sidebar-spacer,.user-badge{display:none}.nav{height:48px}.app{height:auto;min-height:100vh;padding:10px 10px 94px}.app::before{inset:10px;border-radius:24px}.topbar{height:auto;align-items:flex-start;flex-wrap:wrap}.periodbar{height:auto;display:flex;flex-wrap:wrap}.calendar-layout{display:block;overflow:visible}.main-panel{height:680px}.day-panel{border-left:0;border-top:1px solid var(--line)}.focus-scene{grid-template-columns:1fr;padding:28px;overflow:auto}.orbit{width:min(88vw,520px)}.grid2{grid-template-columns:1fr}}.nav svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.nav small{font-size:10px}#todayBtn.hidden{display:none!important}.settings-modal{width:min(860px,calc(100vw - 48px))!important;max-height:calc(100vh - 42px)!important;border-radius:32px!important;overflow:hidden!important;background:#fffdfa!important}.settings-modal form{padding:0!important;display:flex!important;flex-direction:column!important;max-height:calc(100vh - 42px)!important;gap:0!important}.settings-modal .modal-head{height:86px;padding:24px 26px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;flex:0 0 auto}.settings-modal .modal-head h2{margin:0;font-size:25px;letter-spacing:-.05em}.icon-close{width:48px!important;height:48px!important;padding:0!important;border-radius:17px!important;border:1px solid var(--line)!important;background:#fff!important;display:grid!important;place-items:center!important;font-size:22px!important;line-height:1!important}.settings-modal .modal-body{padding:24px 26px;overflow:auto;display:grid;gap:18px;background:#fffdfa}.settings-modal .modal-foot{padding:18px 26px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;background:#fffdfa;flex:0 0 auto}.modal-actions-right{display:flex;gap:10px;align-items:center}.theme-preview{border:1px solid var(--line);border-radius:20px;background:#fbfaf7;padding:16px;display:grid;gap:12px}.field{display:grid;gap:7px}.field label,.settings-modal label{font-size:12px;font-weight:950;color:#555}.preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.preset-tile{min-height:106px;border:1px solid var(--line);border-radius:17px;background:#fff;padding:14px;text-align:left;display:grid;align-content:space-between;gap:12px}.preset-tile.active{border-color:#191919;box-shadow:inset 0 0 0 1px #191919}.preset-name{font-weight:950;font-size:13px}.preset-colors{display:flex;gap:6px}.preset-dot{width:20px;height:20px;border-radius:50%;border:1px solid rgba(0,0,0,.08)}.preview-card{border-radius:16px;border:1px solid var(--line);background:#fff;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.preview-pill{border-radius:999px;background:var(--accent);color:#fff;font-size:11px;font-weight:950;padding:9px 11px}.settings-section h3{margin:0 0 7px;font-size:14px;letter-spacing:-.02em}.settings-list{display:grid;gap:10px;margin-top:12px}.settings-row{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center;border:1px solid var(--line);border-radius:17px;background:#fbfaf7;padding:11px 12px}.settings-color{width:40px!important;height:40px!important;border:0!important;border-radius:0!important;padding:0!important;overflow:hidden!important;background:0 0!important}.settings-name{width:100%;border:1px solid var(--line);border-radius:13px;padding:11px 12px;background:#fff;font-size:16px;font-weight:900}.restore-btn{border-color:#ffc7c1!important;background:#fff7f6!important;color:#b42318!important}@media(max-width:760px){.settings-modal{width:calc(100vw - 20px)!important}.preset-grid{grid-template-columns:1fr}.settings-modal .modal-foot{flex-direction:column}.modal-actions-right{justify-content:flex-end}}.settings-row{grid-template-columns:44px minmax(0,1fr) auto!important}.delete-category-btn{width:40px!important;height:40px!important;padding:0!important;border-radius:13px!important;border:1px solid #ffc7c1!important;background:#fff7f6!important;color:#b42318!important;display:grid!important;place-items:center!important;font-size:18px!important;font-weight:950!important}.delete-category-btn:hover{background:#ffeceb!important;border-color:#f04438!important}.delete-category-btn[disabled]{opacity:.38;cursor:not-allowed}@media(min-width:981px){.app-shell{grid-template-columns:1fr!important;padding:0!important}.sidebar{display:none!important}.app{padding:8px!important}.app::before{inset:8px!important;border-radius:28px!important}.topbar{height:80px!important;padding:14px 22px!important}.brand-row{gap:12px!important}.brand-row select{min-width:200px!important;max-width:245px!important}.subline{display:none!important}.top-actions{gap:10px!important}.calendar-layout{border-radius:0 0 28px 28px!important}}#membersBtn,#newWorkspaceBtn{white-space:nowrap}.workspace-settings-card{border:1px solid var(--line);border-radius:20px;background:#fbfaf7;padding:16px;display:grid;gap:13px}.workspace-settings-card h3{margin:0 0 5px;font-size:16px;letter-spacing:-.03em}.workspace-settings-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.workspace-settings-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.workspace-settings-actions button{height:42px!important}@media(max-width:760px){.workspace-settings-grid{grid-template-columns:1fr}.workspace-settings-actions{justify-content:flex-end}}.compact-modal{width:min(520px,calc(100vw - 34px))!important;border-radius:24px!important}.compact-modal form{padding:0!important;display:flex!important;flex-direction:column!important;gap:0!important}.compact-head{height:auto!important;min-height:72px!important;padding:20px 22px!important}.compact-body{padding:18px 22px!important;display:grid!important;gap:14px!important}.compact-foot{padding:16px 22px!important}body[data-view=agenda] .periodbar h2,body[data-view=day] .periodbar h2,body[data-view=focus] .periodbar h2,body[data-view=week] .periodbar h2{min-width:0!important;max-width:360px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:22px!important}body[data-view=agenda] .period-nav,body[data-view=day] .period-nav,body[data-view=focus] .period-nav,body[data-view=week] .period-nav{min-width:0!important}body[data-view=agenda] .periodbar,body[data-view=day] .periodbar,body[data-view=focus] .periodbar,body[data-view=week] .periodbar{grid-template-columns:minmax(260px,1fr) auto minmax(170px,1fr)!important}.day-event{max-width:720px;box-shadow:inset 4px 0 0 var(--cal-color,var(--accent))}.top-actions{flex-wrap:nowrap!important}@media(max-width:1320px){.top-actions{flex-wrap:wrap!important}}.account-settings-card{border:1px solid var(--line);border-radius:20px;background:#fbfaf7;padding:14px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center}.account-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:13px;font-weight:950;letter-spacing:-.03em}.account-copy{min-width:0;display:grid;gap:3px}.account-copy strong{font-size:15px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-copy span{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-settings-btn{height:42px!important;border-color:#ffc7c1!important;background:#fff7f6!important;color:#b42318!important}.day-view{scroll-behavior:smooth;height:100%;overflow:auto;background:var(--surface);scroll-behavior:smooth}.day-all-day-strip{position:sticky;top:0;z-index:8;background:var(--surface);border-bottom:1px solid var(--line);padding:8px 12px 8px 92px;display:grid;gap:6px}.day-all-day-strip:empty{display:none}.day-all-day-chip{border:0;border-radius:10px;background:var(--cal-bg);box-shadow:inset 4px 0 0 var(--cal-color,var(--accent));padding:8px 10px;text-align:left;font-size:12px;font-weight:900}.day-timeline-shell{position:relative;min-height:1536px;background:var(--surface)}.day-hour{display:grid;grid-template-columns:78px minmax(0,1fr);border-bottom:1px solid var(--line)}.day-hour-label{font-size:11px;color:var(--muted)}.day-hour-slot{border-left:1px solid var(--line);position:relative}.day-events-layer{inset:0 0 0 0;pointer-events:none}.day-event-block{left:92px;top:var(--top);height:var(--height);border:0;background:var(--cal-bg);box-shadow:inset 4px 0 0 var(--cal-color,var(--accent)),0 8px 18px rgba(0,0,0,.05);text-align:left;pointer-events:auto;display:grid;align-content:start;gap:3px}.day-event-block:hover{outline:#171717 solid 2px;z-index:7}.day-event-title{font-size:12px;font-weight:950}.day-event-time{font-size:11px;color:#4f5b60}.now-line{position:absolute;right:0;top:var(--now-top);height:2px;background:var(--accent);z-index:9;pointer-events:none}.now-line::before{content:"";position:absolute;left:-6px;top:-5px;width:12px;height:12px;border-radius:50%;background:var(--accent)}.now-line::after{content:"Ahora";position:absolute;left:10px;top:-13px;background:var(--accent);color:#fff;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:950}.brand-row{flex:1 1 auto}.topbar h1{flex:0 0 auto}#workspaceSelect{width:var(--workspace-select-width,260px)!important;padding-left:16px!important}@media(max-width:760px){.account-settings-card{grid-template-columns:44px minmax(0,1fr)}.logout-settings-btn{grid-column:1/-1;width:100%}.day-event-block{left:82px;right:10px}#workspaceSelect{width:100%!important;max-width:none!important;min-width:0!important}.brand-row{width:100%;flex-wrap:wrap}}.day-quick-strip{position:sticky;top:0;z-index:12;display:flex;align-items:center;gap:8px;padding:8px 12px 8px 92px;background:rgba(255,253,250,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(8px);overflow:auto}.day-quick-strip:empty{display:none}.day-quick-chip{border:1px solid var(--line);border-radius:999px;background:#fff;padding:7px 10px;font-size:11px;font-weight:900;white-space:nowrap;box-shadow:inset 4px 0 0 var(--cal-color,var(--accent))}.day-quick-chip:hover{border-color:#171717}.day-event-block.is-past{opacity:.72}.day-event-block.is-active{outline:2px solid var(--accent);z-index:8}.day-event-block.is-next{box-shadow:inset 4px 0 0 var(--cal-color,var(--accent)),0 10px 24px rgba(0,0,0,.09)}.day-empty-note{padding:18px 22px 18px 92px;color:var(--muted);font-size:13px;font-weight:800}.topbar{gap:clamp(8px,1vw,18px)!important;padding:clamp(10px,1vw,16px) clamp(14px,1.2vw,22px)!important}.topbar h1{font-size:clamp(22px,1.55vw,30px)!important;line-height:1.05;flex:0 0 auto}.brand-row{flex:1 1 auto}#workspaceSelect{flex:0 1 auto;width:var(--workspace-select-width,clamp(220px,18vw,360px))!important}.search-shell{flex:1 1 240px!important}.top-actions{flex:0 1 auto!important;gap:clamp(6px,.7vw,10px)!important;justify-content:flex-end}.periodbar button,.top-actions button,.view-switch button{font-size:clamp(13px,.86vw,16px)!important}.top-actions button{padding-inline:clamp(10px,.75vw,14px)!important}.periodbar{display:grid!important;grid-template-columns:minmax(260px,1fr) auto minmax(150px,1fr)!important;align-items:center!important}.periodbar h2{min-width:0!important;max-width:min(360px,34vw)!important;font-size:clamp(20px,1.45vw,28px)!important;line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.view-switch{overflow:auto;scrollbar-width:thin}.calendar-layout{grid-template-columns:minmax(0,1fr) clamp(280px,22vw,360px)!important}.calendar-scroll-region{background:var(--surface);scrollbar-width:thin}.week-view{overflow:auto}.agenda-row,.day-card,.focus-card{min-width:0}@media(max-width:1500px){.app{padding:10px!important}.app::before{inset:10px!important}.topbar{padding-inline:16px!important}.search-shell{max-width:300px!important}.calendar-layout{grid-template-columns:minmax(0,1fr) clamp(280px,20vw,330px)!important}.day-panel{max-width:330px}.periodbar{grid-template-columns:minmax(230px,1fr) auto minmax(130px,auto)!important}}@media(max-width:1320px){.topbar{flex-wrap:wrap;min-height:86px;height:auto!important}.brand-row{flex:1 1 420px}.top-actions{flex:1 1 520px!important}.search-shell{flex:1 1 180px!important;max-width:260px!important}.top-actions button{padding-inline:10px!important}.periodbar{grid-template-columns:minmax(220px,1fr) auto auto!important}}@media(max-width:1200px){.search-shell{display:none!important}.topbar{gap:10px!important}.brand-row{flex:1 1 360px}#workspaceSelect{max-width:min(340px,42vw)!important}.top-actions{flex:0 1 auto!important}.periodbar{grid-template-columns:1fr auto!important;grid-auto-rows:auto}.period-nav{justify-self:start}.view-switch{justify-self:end}.filter-toggle{grid-column:2;justify-self:end}.calendar-layout{grid-template-columns:minmax(0,1fr) clamp(280px,24vw,310px)!important}.day-panel{max-width:310px}.month-grid{min-width:840px}}@media(max-width:1100px){.calendar-layout{grid-template-columns:1fr!important;grid-template-rows:minmax(620px,1fr) auto;overflow:auto}.day-panel{max-width:none;min-width:0;border-left:0;border-top:1px solid var(--line);max-height:340px}.calendar-scroll-region,.main-panel{min-height:620px}}@media(max-width:1024px){.top-actions{width:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.top-actions button{flex:0 0 auto}.periodbar{display:flex!important;flex-wrap:wrap;align-items:center}.period-nav{flex:1 1 260px}.view-switch{flex:1 1 430px;justify-content:flex-start}.filter-toggle{flex:0 0 auto}.calendar-layout{display:block!important;overflow:auto}.main-panel{height:680px}.day-panel{min-width:0;max-width:none;max-height:none}}@media(max-width:980px){body{overflow-x:hidden!important}.app{overflow:visible}.topbar h1{font-size:clamp(22px,6vw,28px)!important}.brand-row{min-width:0}#workspaceSelect{width:100%!important;max-width:none!important;min-width:0!important}.calendar-scroll-region{overflow-x:auto;overflow-y:hidden}.month-grid{min-width:760px}}.topbar{display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap!important;gap:clamp(8px,1vw,14px)!important}.brand-row{flex:1 1 360px!important;min-width:0!important;max-width:100%!important;overflow:visible!important}.top-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;flex:1 1 560px!important;flex-wrap:wrap!important;gap:clamp(6px,.75vw,10px)!important}.calendar-header__search,.calendar-search,.search-shell{display:flex!important;align-items:center!important;flex:1 1 220px!important;width:clamp(190px,18vw,320px)!important;min-width:190px!important;max-width:320px!important;overflow:hidden!important;box-sizing:border-box!important}.calendar-header__search input,.calendar-search input,.search-shell input{width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.top-actions button{flex:0 0 auto!important;white-space:nowrap!important}#newEventBtn,#todayBtnTop,.top-actions .primary{flex:0 0 auto!important}#workspaceSelect{flex:0 1 auto!important;width:var(--workspace-select-width,clamp(220px,18vw,360px))!important;min-width:190px!important;max-width:min(420px,34vw)!important;padding-right:46px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;box-sizing:border-box!important}.periodbar{display:grid!important;grid-template-columns:minmax(max-content,1fr) auto max-content!important;grid-auto-rows:auto!important;align-items:center!important;gap:clamp(8px,1vw,14px)!important}.calendar-period-navigation,.period-nav{display:grid!important;grid-template-columns:auto minmax(max-content,1fr) auto!important;align-items:center!important;gap:14px!important;min-width:max-content!important;overflow:visible!important}#periodTitle,.calendar-period-title{display:block!important;min-width:max-content!important;max-width:none!important;width:auto!important;margin:0!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;font-size:clamp(24px,2vw,34px)!important;line-height:1.1!important;text-align:center!important}.filter-toggle{justify-self:end!important;flex:0 0 auto!important}.calendar-main,.main-panel{min-width:0!important;overflow:hidden!important}.calendar-sidebar,.day-panel{width:100%!important;min-width:280px!important;max-width:360px!important;overflow:auto!important}.calendar-day,.calendar-day-cell,.day-cell{position:relative!important;min-width:120px!important;min-height:clamp(90px,11vh,145px)!important;overflow:hidden!important}.agenda-view,.day-view,.focus-view,.week-view{min-width:0!important;max-width:100%!important}@media(max-width:1500px){.topbar{padding-inline:clamp(12px,1vw,18px)!important}.search-shell{width:clamp(190px,17vw,300px)!important;max-width:300px!important}.calendar-layout{grid-template-columns:minmax(0,1fr) clamp(280px,20vw,330px)!important}.day-panel{max-width:330px!important}}@media(max-width:1366px){.topbar{align-items:flex-start!important}.brand-row{flex:1 1 420px!important}.top-actions{flex:1 1 620px!important}.search-shell{min-width:190px!important;width:clamp(190px,22vw,300px)!important}.periodbar{grid-template-columns:1fr auto!important}.period-nav{justify-self:start!important}.view-switch{justify-self:end!important}.filter-toggle{grid-column:2!important}}@media(max-width:1200px){.top-actions{flex:1 1 100%!important;justify-content:flex-start!important}.calendar-header__search,.calendar-search,.search-shell{order:3!important;flex:1 1 100%!important;width:100%!important;min-width:190px!important;max-width:100%!important}.top-actions button{order:1}.periodbar{display:flex!important;flex-wrap:wrap!important;align-items:center!important}.period-nav{flex:1 1 auto!important;min-width:max-content!important}.view-switch{flex:1 1 420px!important;justify-content:flex-start!important}.filter-toggle{flex:0 0 auto!important;margin-left:auto}.calendar-layout{grid-template-columns:minmax(0,1fr) clamp(280px,24vw,310px)!important}.day-panel{max-width:310px!important}}@media(max-width:1024px){.brand-row{flex:1 1 100%!important}#workspaceSelect{max-width:100%!important}.top-actions{width:100%!important}.periodbar{display:flex!important;flex-wrap:wrap!important}.period-nav{flex:1 1 100%!important;justify-content:flex-start!important}#periodTitle{font-size:clamp(23px,4vw,30px)!important}.view-switch{flex:1 1 100%!important}.filter-toggle{margin-left:0!important}.calendar-layout{display:block!important}.main-panel{height:680px!important}.month-grid{min-width:840px!important}}@media(max-width:760px){.search-shell{order:2!important;width:100%!important;min-width:0!important}.top-actions{gap:8px!important}.calendar-scroll-region{overflow-x:auto!important}.month-grid{min-width:760px!important}.day-cell{min-width:108px!important}}body,html{max-width:100%;overflow-x:hidden!important;width:100%;height:100%;min-height:0;max-height:100%;overflow:hidden!important}.periodbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;grid-template-areas:"period views actions"!important;align-items:center!important}.period-nav{grid-area:period!important;justify-self:start!important;display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px!important;align-items:center!important;gap:12px!important;max-width:100%!important}#nextMonth,#prevMonth{flex:0 0 44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}.view-switch{scrollbar-width:thin;grid-area:views!important;justify-self:center!important;min-width:0!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin}.view-switch button{flex:0 0 auto!important;white-space:nowrap!important}.filter-toggle{grid-area:actions!important;justify-self:end!important}.topbar{flex-wrap:wrap!important;height:auto!important;min-height:78px!important;overflow:visible!important}.top-actions{flex-wrap:wrap!important;min-width:0!important;max-width:100%!important;overflow:visible!important}.search-shell{display:flex!important;flex:1 1 220px!important;width:clamp(190px,18vw,320px)!important;min-width:190px!important;max-width:320px!important;overflow:hidden!important}.search-shell input{width:100%!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.calendar-layout{grid-template-columns:minmax(0,1fr) clamp(280px,22vw,360px)!important;width:100%!important}.calendar-grid-viewport,.calendar-scroll-region{background:var(--surface)!important;scrollbar-width:thin;width:100%!important;min-width:0!important;max-width:100%!important;height:100%!important;min-height:0!important;overflow-x:auto!important;overflow-y:auto!important;overscroll-behavior:contain!important;background:var(--surface)!important;scrollbar-width:thin}.calendar-grid,.month-grid{width:100%!important;min-width:840px!important;table-layout:fixed}.calendar-day-cell,.day-cell{position:relative!important;min-width:120px!important;min-height:clamp(100px,12vh,150px)!important;overflow:hidden!important;box-sizing:border-box!important}.calendar-event,.event-chip{box-sizing:border-box!important;display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important}.day-events-layer{left:78px!important;right:0!important;top:0!important;bottom:0!important;pointer-events:none}.day-event-block{position:absolute!important;left:calc(var(--event-left,0%) + 14px)!important;width:calc(var(--event-width,100%) - 20px)!important;right:auto!important;top:var(--top)!important;height:var(--height)!important;min-height:38px!important;box-sizing:border-box!important;padding:8px 10px!important;border-radius:12px!important;line-height:1.25!important;overflow:hidden!important;pointer-events:auto!important;z-index:3}.day-event-time,.day-event-title,.day-event__meta,.day-event__title{display:block!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important}.day-event-block[style*="--height:38"],.day-event-block[style*="--height:39"],.day-event-block[style*="--height:40"],.day-event-block[style*="--height:41"],.day-event-block[style*="--height:42"]{gap:0!important}.now-line{left:0!important}@media(max-width:1500px){.periodbar{gap:12px!important}.period-nav{width:clamp(380px,38vw,600px)!important}.calendar-layout{grid-template-columns:minmax(0,1fr) clamp(280px,20vw,330px)!important}.day-panel{max-width:330px!important}}@media(max-width:1280px){.topbar{align-items:flex-start!important}.search-shell{order:3!important;flex:1 1 100%!important;width:100%!important;min-width:190px!important;max-width:100%!important}.periodbar{grid-template-columns:1fr!important;grid-template-areas:"period" "views" "actions"!important;justify-items:center!important}.filter-toggle,.period-nav,.view-switch{justify-self:center!important}.period-nav{width:min(680px,100%)!important}}@media(max-width:1100px){.calendar-layout{grid-template-columns:1fr!important;grid-template-rows:minmax(620px,auto) auto!important;overflow:auto!important}.calendar-scroll-region,.main-panel{min-height:620px!important}.day-panel{min-width:0!important;max-width:none!important;border-left:0!important;border-top:1px solid var(--line)!important;max-height:340px!important}}@media(max-width:1024px){.period-nav{grid-template-columns:42px minmax(0,1fr) 42px!important}#nextMonth,#prevMonth{width:42px!important;height:42px!important;min-width:42px!important;max-width:42px!important}.view-switch{justify-content:flex-start!important;width:100%!important}.month-grid{min-width:840px!important}}:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 70%,#fff)!important;outline-offset:3px!important}.filter-chip[aria-pressed=true],button[aria-pressed=true]{font-weight:950}.view-switch button.active::after{content:"";display:block;width:18px;height:2px;margin:3px auto -5px;border-radius:999px;background:currentColor}#todayBtnTop.is-current{box-shadow:inset 0 0 0 2px var(--accent)}.search-shell{position:relative}.search-clear{flex:0 0 28px!important;color:var(--ink)!important}.calendar-layout[aria-busy=true] .main-panel{cursor:progress}.calendar-layout[aria-busy=true] .main-panel::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;z-index:40;background:linear-gradient(90deg,transparent,var(--accent),transparent);background-size:40% 100%;animation:1s linear infinite calendar-loading-bar}@keyframes calendar-loading-bar{from{background-position:-60% 0}to{background-position:160% 0}}.calendar-feedback{flex:0 0 auto;min-height:44px;padding:10px 16px;border-bottom:1px solid #ffc7c1;background:#fff7f6;color:#8f1d14;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:800}.calendar-feedback.info{border-color:var(--line);background:#f7f5f0;color:var(--ink)}.calendar-feedback button{flex:0 0 auto;min-height:36px;border:1px solid currentColor;border-radius:11px;background:#fff;color:inherit;padding:7px 11px;font-weight:950}.month-empty{flex:0 0 auto}.view-empty-content{margin:14px;padding:18px;border:1px dashed var(--line);border-radius:17px;background:#fbfaf7;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px 14px;color:var(--muted);text-align:center}.view-empty-content strong{color:var(--ink)}.view-empty-content span{font-size:12px}.empty-action{min-height:40px;border:0;border-radius:12px;background:var(--accent);color:#fff;padding:9px 13px;font-weight:950}.week-col[aria-current=date] .week-head{box-shadow:inset 0 -3px 0 var(--accent)}.week-col[aria-selected=true]{box-shadow:inset 0 0 0 2px #171717}.event-chip{border-left:4px solid var(--cal-color,var(--accent))!important;padding-left:6px!important}.day-event-location{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#586168;font-size:10px}.day-event-block:focus-visible,.day-event-block:hover{z-index:15}.day-event-block[style*="--height:38"] .day-event-location,.day-event-block[style*="--height:38"] .day-event-time,.day-event-block[style*="--height:39"] .day-event-location,.day-event-block[style*="--height:39"] .day-event-time,.day-event-block[style*="--height:40"] .day-event-location,.day-event-block[style*="--height:40"] .day-event-time,.day-event-block[style*="--height:41"] .day-event-location,.day-event-block[style*="--height:41"] .day-event-time,.day-event-block[style*="--height:42"] .day-event-location,.day-event-block[style*="--height:42"] .day-event-time{display:none!important}.event-modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.form-error{border:1px solid #ffc7c1;border-radius:13px;background:#fff7f6;color:#8f1d14;padding:10px 12px;font-size:12px;font-weight:850}.field-error{display:block;color:#b42318;font-size:11px;line-height:1.35}[aria-invalid=true]{border-color:#d92d20!important;box-shadow:0 0 0 3px rgba(217,45,32,.1)!important}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.62}dialog[open]{animation:.14s ease-out dialog-in}@keyframes dialog-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(min-width:981px){.app,.app-shell{height:100dvh!important;min-height:0!important}.calendar-layout{min-height:0!important}.month-grid{grid-template-rows:44px repeat(6,minmax(100px,1fr))!important}}@media(max-width:1280px){.periodbar{min-height:168px!important;grid-template-rows:auto auto auto!important}.view-switch{min-height:44px}}@media(max-width:760px){.period-nav{width:100%!important}#periodTitle{font-size:clamp(20px,5vw,26px)!important}.month-grid{min-width:760px!important}.day-cell{min-width:108px!important}.view-switch button{min-width:78px!important}.view-empty-content{align-items:stretch;flex-direction:column}.empty-action{width:100%}}body{overflow-x:hidden!important;overflow-y:hidden!important}.app-shell{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%;height:100dvh!important;min-width:0;min-height:0!important;max-height:100dvh!important;overflow:hidden!important}.sidebar{height:100dvh!important;min-height:0!important;max-height:100dvh!important;overflow:hidden!important}.app,.calendar-app{display:grid!important;grid-template-rows:auto auto minmax(0,1fr)!important;width:100%;height:100dvh!important;min-width:0!important;min-height:0!important;max-height:100dvh!important;overflow:hidden!important}.app-header,.calendar-toolbar,.periodbar,.topbar{min-width:0!important;flex:0 0 auto}.calendar-layout{position:relative;display:block!important;height:100%!important;min-width:0!important;min-height:0!important;max-height:none!important;overflow:hidden!important}.main-panel{display:grid!important;grid-template-rows:auto auto minmax(0,1fr)!important;width:100%;height:100%!important;min-width:0!important;min-height:0!important;max-height:none!important;overflow:hidden!important;background:var(--surface)}.calendar-content-scroll{position:relative;width:100%;height:100%;min-width:0;max-height:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;outline-offset:-3px;background:var(--surface)}.calendar-content-grid{display:grid;grid-template-columns:minmax(0,1fr) clamp(280px,22vw,360px);align-items:stretch;width:100%;min-width:0}.calendar-view-stack{width:100%;min-width:0}.calendar-filters{display:flex!important;align-items:center;align-content:center;flex-wrap:wrap!important;gap:8px!important;width:100%;min-width:0!important;min-height:50px;height:auto!important;max-height:none!important;padding:8px 18px;overflow:visible!important;border-bottom:1px solid var(--line);background:#fbfaf7}.calendar-filters.collapsed{display:none!important}.filter-chip{flex:0 0 auto}.calendar-toolbar,.periodbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;grid-template-areas:"period views actions"!important;align-items:center!important;gap:16px!important;height:auto!important;min-height:68px!important;padding:12px 22px!important;overflow:visible!important}.period-nav{grid-area:period!important;display:inline-grid!important;grid-template-columns:42px auto 42px!important;align-items:center!important;justify-content:start!important;justify-self:start!important;gap:10px!important;width:auto!important;min-width:0!important;max-width:min(100%,620px)!important;overflow:visible!important}#nextMonth,#prevMonth{width:42px!important;height:42px!important;min-width:42px!important;max-width:42px!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 42px!important}#periodTitle{z-index:auto!important;min-width:0!important;max-width:460px!important;margin:0!important;font-size:clamp(24px,2vw,34px)!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.view-switch{grid-area:views!important;justify-self:center!important;margin:0!important}.view-switch button{width:84px!important;min-width:84px!important;max-width:84px!important;box-sizing:border-box}.filter-toggle,.toolbar-actions{grid-area:actions!important;justify-self:end!important;margin:0!important;white-space:nowrap!important}.day-panel{display:flex;flex-direction:column;align-self:stretch;width:100%!important;min-width:0!important;max-width:360px!important;min-height:100%!important;height:auto!important;max-height:none!important;padding:clamp(18px,1.5vw,24px)!important;overflow:hidden!important;border-left:1px solid var(--line);background:var(--panel2)}.day-panel h2{flex:0 0 auto;margin:0!important}#selectedDateLabel{flex:0 0 auto;margin:4px 0 18px!important}#dayEvents{display:flex;flex-direction:column;gap:12px;flex:1 1 auto;min-height:0;overflow:visible}.day-empty-state{flex:1 1 auto!important;min-height:220px!important;margin:0!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px!important;box-sizing:border-box}.calendar-scroll-region{display:flex;height:auto!important;max-height:none!important;overflow-x:auto!important;overflow-y:visible!important;overscroll-behavior-x:contain;background:var(--surface)}.month-grid{flex:1 0 auto;display:grid!important;grid-template-columns:repeat(7,minmax(120px,1fr))!important;grid-template-rows:44px!important;grid-auto-rows:minmax(110px,1fr)!important;align-content:stretch!important;width:100%!important;min-width:840px!important;min-height:100%!important;height:auto!important;max-height:none!important;overflow:visible!important}.calendar-day,.day-cell{min-width:0;min-height:110px!important;height:auto!important;overflow:hidden!important;box-sizing:border-box;outline:0!important;box-shadow:none!important}.week-view{display:block!important;width:100%;min-height:100%!important;height:auto!important;max-height:none!important;overflow-x:auto!important;overflow-y:visible!important;background:var(--surface)}.week-layout{display:flex;flex-direction:column;width:100%;min-width:1050px;min-height:100%}.week-board,.week-grid{display:grid!important;grid-template-columns:repeat(7,minmax(150px,1fr))!important;align-items:stretch!important;flex:1 1 auto;width:100%;min-width:1050px;min-height:560px!important;height:auto!important;max-height:none!important}.week-col,.week-day{display:flex!important;flex-direction:column;align-self:stretch;min-width:0;min-height:100%!important;height:auto!important;box-sizing:border-box;border-right:1px solid var(--line);background:var(--surface);outline:0!important}.week-col:last-child,.week-day:last-child{border-right:0}.week-head{position:sticky!important;top:0;z-index:4;flex:0 0 auto;background:var(--surface)}.week-events{flex:1 1 auto;align-content:start}body[data-view=day] .calendar-content-scroll{overflow:hidden!important}body[data-view=day] .calendar-content-grid{grid-template-columns:minmax(0,1fr) clamp(320px,24vw,400px)!important;align-items:stretch}body[data-view=day] .calendar-view-stack{overflow:hidden}body[data-view=day] .day-view{display:flex!important;flex-direction:column;width:100%;min-width:0;overflow:hidden!important;background:var(--surface)}body[data-view=day] .day-all-day-strip,body[data-view=day] .day-quick-strip,body[data-view=day] .view-empty-content{position:relative!important;top:auto!important;flex:0 0 auto}body[data-view=day] .day-timeline-shell{position:relative!important;flex:1 1 auto!important;width:100%;min-width:0;height:auto!important;max-height:none!important;overscroll-behavior:contain;scrollbar-gutter:stable;background:var(--surface)}.day-timeline-content{position:relative;width:100%;min-width:0;min-height:1536px}.day-hour{display:grid!important;grid-template-columns:78px minmax(0,1fr)!important;min-height:64px!important}.day-hour-label{padding:8px 10px 0 0!important;text-align:right!important}.day-hour-slot{min-width:0;border-left:1px solid var(--line)}.day-events-layer{position:absolute!important;inset:0 0 0 78px!important;min-height:1536px;overflow:visible!important;pointer-events:none}.day-event-block{pointer-events:auto!important}body[data-view=day] .day-panel{max-width:400px!important}body[data-view=agenda] .calendar-content-grid,body[data-view=focus] .calendar-content-grid{grid-template-columns:minmax(0,1fr)!important}.agenda-view{width:100%;min-height:100%;height:auto!important;padding:clamp(20px,2vw,32px);box-sizing:border-box;overflow:visible!important;background:var(--surface)}.agenda-header{width:100%;max-width:1400px;margin:0 auto clamp(18px,2vw,26px)}.agenda-header h2{margin:0;font-size:clamp(22px,2vw,30px);line-height:1.15}.agenda-list{width:100%;max-width:1400px;margin:0 auto}.agenda-day-group{margin:0 0 24px;padding:0!important}.agenda-item{display:grid!important;grid-template-columns:minmax(110px,150px) minmax(0,1fr) auto!important;align-items:center!important;gap:16px!important;width:100%;min-width:0;min-height:0!important;padding:16px!important;box-sizing:border-box}.agenda-item-copy{min-width:0}.focus-view{display:flex!important;width:100%;min-height:100%!important;height:auto!important;overflow:visible!important;background:var(--focus-background)!important;border:0!important}.focus-content,.focus-scene{display:grid!important;grid-template-columns:minmax(360px,520px) minmax(320px,460px)!important;align-items:center;justify-content:center;gap:clamp(28px,4vw,56px);width:100%;min-width:0;min-height:100%!important;padding:clamp(32px,5vw,72px);box-sizing:border-box;overflow:visible!important;background:0 0!important;border:0!important}.focus-copy,.focus-stage{background:0 0!important}.focus-content::after,.focus-content::before,.focus-scene::after,.focus-scene::before,.focus-view::after,.focus-view::before{content:none!important;display:none!important}.focus-view .view-empty-content{margin:0;border:0;background:0 0;box-shadow:none}.calendar-day:hover,.day-cell:hover{background:rgba(0,0,0,.025)}.day-cell.is-today,.day-cell.today,.day-cell[aria-current=date]{background:rgba(240,68,56,.035)!important;box-shadow:inset 0 0 0 1px var(--accent)!important}.day-cell.is-today .day-number,.day-cell.today .day-number,.day-cell[aria-current=date] .day-number{background:var(--accent)!important;color:#fff!important;border-radius:999px}.day-cell.is-selected,.day-cell.selected,.day-cell[aria-selected=true]{background:var(--calendar-selection-soft)!important;box-shadow:inset 0 0 0 2px var(--calendar-selection)!important;outline:0!important}.day-cell.is-today.is-selected,.day-cell.today.selected,.day-cell[aria-current=date][aria-selected=true]{background:var(--calendar-selection-soft)!important;box-shadow:inset 0 0 0 2px var(--calendar-selection)!important}.day-cell.is-selected:hover,.day-cell.selected:hover,.day-cell[aria-selected=true]:hover{background:var(--calendar-selection-hover)!important;box-shadow:inset 0 0 0 2px var(--calendar-selection)!important}.day-cell.is-selected .event-chip,.day-cell.selected .event-chip,.day-cell[aria-selected=true] .event-chip{background:var(--cal-bg)!important;color:#263238!important}.week-col.is-selected,.week-col.selected,.week-col[aria-selected=true],.week-day.is-selected{background:rgba(36,128,78,.05)!important;box-shadow:inset 0 0 0 2px var(--calendar-selection)!important;outline:0!important}.week-col.is-today,.week-col.today,.week-col[aria-current=date]{box-shadow:inset 0 3px 0 var(--accent)!important}.week-col.is-today.is-selected,.week-col.today.selected,.week-col[aria-current=date][aria-selected=true]{background:rgba(36,128,78,.05)!important;box-shadow:inset 0 0 0 2px var(--calendar-selection),inset 0 3px 0 var(--accent)!important}.week-col.is-selected .week-num,.week-col.selected .week-num,.week-col[aria-selected=true] .week-num{color:var(--calendar-selection)!important}@media(max-width:1280px){.calendar-toolbar,.periodbar{gap:12px!important;padding-inline:16px!important}.view-switch button{width:80px!important;min-width:80px!important;max-width:80px!important}}@media(max-width:1100px){.calendar-toolbar,.periodbar{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"period actions" "views views"!important;row-gap:10px!important}.period-nav{grid-area:period!important}.view-switch{grid-area:views!important;justify-self:center!important}.filter-toggle,.toolbar-actions{grid-area:actions!important}.calendar-content-grid{grid-template-columns:minmax(0,1fr)!important}.day-panel{max-width:none!important;min-height:0!important;border-left:0!important;border-top:1px solid var(--line)}body[data-view=day] .calendar-content-scroll{overflow-y:auto!important}body[data-view=day] .calendar-content-grid{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(520px,1fr) auto;height:auto}body[data-view=day] .calendar-view-stack{height:clamp(520px,68vh,720px)}body[data-view=day] .day-panel{height:auto!important;min-height:280px!important;max-width:none!important}body[data-view=day] #dayEvents{max-height:320px}.focus-content,.focus-scene{grid-template-columns:1fr!important;align-content:center}}@media(max-width:980px){.app-shell{display:block!important;height:100dvh!important}.sidebar{position:fixed;left:12px;right:12px;bottom:12px;width:auto;height:68px!important;min-height:68px!important;max-height:68px!important;border-radius:22px;flex-direction:row;z-index:40;padding:9px 12px;overflow:hidden!important}.app,.calendar-app{height:100dvh!important;padding:10px 10px 94px!important}}@media(max-width:760px){.period-nav{grid-template-columns:40px auto 40px!important;gap:8px!important}#nextMonth,#prevMonth{width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important}#periodTitle{max-width:min(56vw,300px)!important;font-size:clamp(19px,5vw,25px)!important}.view-switch{width:100%;justify-content:flex-start!important;overflow-x:auto;overflow-y:hidden}.view-switch button{width:78px!important;min-width:78px!important;max-width:78px!important}.calendar-filters{padding-inline:12px}.agenda-view{padding:16px 12px 22px}.agenda-item{grid-template-columns:96px minmax(0,1fr)!important;gap:10px!important;padding:13px!important}.agenda-item .status-pill{grid-column:2;justify-self:start}.focus-content,.focus-scene{padding:24px 16px 34px}}@media(prefers-reduced-motion:reduce){*,::after,::before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.calendar-view-enter{animation:none!important}}@media(min-width:981px){.app-shell{grid-template-columns:minmax(0,1fr)!important}.sidebar{display:none!important}}#agendaView.hidden,#dayView.hidden,#focusView.hidden,#monthScrollRegion.hidden,#weekView.hidden{display:none!important}@media(min-width:761px) and (max-width:1280px){.app-header,.topbar{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto!important;align-items:center!important;gap:8px!important;min-height:0!important;height:auto!important;padding:10px 14px!important}.brand-row{width:100%;min-width:0!important;overflow:visible!important}.brand-row .subline{display:none!important}.topbar h1{font-size:clamp(21px,2.4vw,27px)!important}#workspaceSelect{min-width:190px!important;max-width:min(390px,48vw)!important;height:40px}.top-actions{display:grid!important;grid-template-columns:minmax(190px,1fr) auto auto auto auto!important;align-items:center!important;gap:7px!important;width:100%;min-width:0!important;max-width:none!important;overflow:visible!important}.search-shell{order:initial!important;width:100%!important;min-width:190px!important;max-width:none!important;height:40px!important}.top-actions button{min-height:40px;height:40px;padding-inline:10px!important}}@media(min-width:761px) and (max-width:1100px){.calendar-toolbar,.periodbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;grid-template-areas:"period views actions"!important;align-items:center!important;column-gap:10px!important;row-gap:0!important;min-height:60px!important;padding:8px 14px!important}.period-nav{grid-area:period!important;justify-self:start!important}.view-switch{grid-area:views!important;justify-self:center!important;width:auto!important;max-width:min(100%,430px)!important}.filter-toggle,.toolbar-actions{grid-area:actions!important;justify-self:end!important}.view-switch button{width:76px!important;min-width:76px!important;max-width:76px!important}}@media(min-width:761px) and (max-height:620px){.sidebar{display:none!important}.app-shell{display:block!important;grid-template-columns:minmax(0,1fr)!important}.app,.calendar-app{height:100dvh!important;padding:6px!important}.app::before{inset:6px!important;border-radius:22px!important}.app-header,.topbar{padding:7px 12px!important;gap:6px!important}#workspaceSelect,.brand-row select{height:36px!important}.search-shell,.top-actions button{height:36px!important;min-height:36px!important}.calendar-toolbar,.periodbar{min-height:52px!important;padding:5px 10px!important}.period-nav{grid-template-columns:38px auto 38px!important;gap:7px!important}#nextMonth,#prevMonth{width:38px!important;height:38px!important;min-width:38px!important;max-width:38px!important}#periodTitle{font-size:clamp(20px,2.6vw,27px)!important}.view-switch{min-height:38px;padding:3px}.view-switch button{height:32px!important;width:72px!important;min-width:72px!important;max-width:72px!important}.calendar-filters{min-height:42px!important;flex-wrap:nowrap!important;padding:5px 12px!important;overflow-x:auto!important;overflow-y:hidden!important}#workspaceSelect{padding-top:0!important;padding-bottom:0!important;line-height:34px!important}}@media(min-width:901px) and (max-width:1100px){body[data-view=day] .calendar-content-scroll{overflow:hidden!important}body[data-view=day] .calendar-content-grid{grid-template-columns:minmax(0,1fr) clamp(300px,30vw,360px)!important;grid-template-rows:minmax(0,1fr)!important;align-items:stretch!important;height:100%!important;min-height:0!important}body[data-view=day] .calendar-view-stack{height:100%!important;min-height:0!important}body[data-view=day] .day-panel{height:100%!important;min-height:0!important;max-width:360px!important;border-top:0!important;border-left:1px solid var(--line)!important;overflow:hidden!important}body[data-view=day] #dayEvents{max-height:none!important}}.period-nav{grid-template-columns:42px clamp(180px,18vw,260px) 42px!important}#periodTitle{width:100%!important;max-width:none!important;text-align:center!important}@media(min-width:761px) and (max-height:620px){.period-nav{grid-template-columns:38px clamp(160px,24vw,230px) 38px!important}}@media(max-width:760px){.period-nav{grid-template-columns:40px clamp(150px,52vw,240px) 40px!important;width:auto!important;max-width:100%!important}}.period-nav{width:calc(104px + clamp(180px,18vw,260px))!important;min-width:calc(104px + clamp(180px,18vw,260px))!important}body[data-view] .calendar-toolbar .period-nav{width:calc(104px + clamp(180px,18vw,260px))!important;min-width:calc(104px + clamp(180px,18vw,260px))!important}@media(min-width:761px) and (max-height:620px){.period-nav,body[data-view] .calendar-toolbar .period-nav{width:calc(90px + clamp(160px,24vw,230px))!important;min-width:calc(90px + clamp(160px,24vw,230px))!important}}body[data-view] .calendar-toolbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;grid-template-areas:"period views actions"!important}@media(min-width:761px) and (max-width:980px){.calendar-toolbar,body[data-view] .calendar-toolbar{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"period actions" "views views"!important;row-gap:8px!important;column-gap:10px!important;min-height:98px!important;padding:7px 10px!important}.calendar-toolbar .period-nav{grid-area:period!important;justify-self:start!important}.calendar-toolbar .view-switch{grid-area:views!important;justify-self:center!important;width:min(100%,430px)!important}.calendar-toolbar .filter-toggle,.calendar-toolbar .toolbar-actions{grid-area:actions!important;justify-self:end!important}}@media(min-width:761px) and (max-width:980px) and (max-height:620px){.calendar-toolbar,body[data-view] .calendar-toolbar{min-height:88px!important;row-gap:5px!important;padding:5px 10px!important}}@media(max-width:760px){.period-nav{width:calc(96px + clamp(150px,52vw,240px))!important;min-width:0!important}.calendar-toolbar .period-nav,body[data-view] .calendar-toolbar .period-nav{grid-template-columns:40px clamp(120px,38vw,180px) 40px!important;width:calc(96px + clamp(120px,38vw,180px))!important;min-width:calc(96px + clamp(120px,38vw,180px))!important}.calendar-toolbar{padding-inline:8px!important}#periodTitle{font-size:clamp(18px,5vw,24px)!important}.calendar-toolbar,body[data-view] .calendar-toolbar{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"period actions" "views views"!important;row-gap:8px!important;column-gap:6px!important;min-height:98px!important;padding:7px 8px!important}.calendar-toolbar .period-nav{grid-area:period!important}.calendar-toolbar .view-switch{grid-area:views!important;justify-self:center!important;width:100%!important}.calendar-toolbar .filter-toggle,.calendar-toolbar .toolbar-actions{grid-area:actions!important;justify-self:end!important}}.calendar-content-scroll{min-height:0!important}.calendar-content-grid{height:100%!important;min-height:0!important;align-items:stretch!important}.calendar-view-stack{height:100%!important;min-height:0!important}body[data-view=month] .calendar-content-scroll{overflow-y:hidden!important}body[data-view=month] .calendar-content-grid{grid-template-columns:minmax(0,1fr) clamp(280px,22vw,360px)!important}body[data-view=month] .calendar-scroll-region,body[data-view=month] .calendar-view-stack{height:100%!important;min-height:0!important;max-height:100%!important;overflow-x:auto!important;overflow-y:hidden!important}body[data-view=month] .month-grid{grid-template-rows:minmax(34px,44px) repeat(6,minmax(0,1fr))!important;grid-auto-rows:unset!important;align-content:stretch!important}body[data-view=month] .calendar-day,body[data-view=month] .day-cell{overflow:hidden!important}body[data-view=month] .event-chip{max-height:24px}body[data-view=day] .day-panel,body[data-view=month] .day-panel,body[data-view=week] .day-panel{align-self:stretch!important;overflow:hidden!important}body[data-view=day] #dayEvents,body[data-view=month] #dayEvents,body[data-view=week] #dayEvents{flex:1 1 auto!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable}body[data-view=week] .calendar-content-scroll{overflow-y:hidden!important}body[data-view=week] .calendar-content-grid{grid-template-columns:minmax(0,1fr) clamp(280px,22vw,360px)!important}body[data-view=week] .week-view{display:flex!important;flex-direction:column!important}body[data-view=week] .week-layout{display:flex!important;flex-direction:column!important;flex:1 1 auto!important}body[data-view=week] .week-events{flex:1 1 auto!important;overflow:hidden!important}body[data-view=day] .calendar-content-grid,body[data-view=day] .calendar-content-scroll,body[data-view=day] .calendar-view-stack{height:100%!important;min-height:0!important}body[data-view=agenda] #periodTitle{letter-spacing:-.02em}.agenda-header p{margin:6px 0 0;color:var(--muted);font-size:12px!important;line-height:1.35!important;margin-top:4px!important}@media(min-width:901px) and (max-width:1100px){body[data-view=day] .calendar-content-grid,body[data-view=month] .calendar-content-grid,body[data-view=week] .calendar-content-grid{grid-template-columns:minmax(0,1fr) clamp(280px,28vw,340px)!important;grid-template-rows:minmax(0,1fr)!important;height:100%!important;min-height:0!important}body[data-view=day] .day-panel,body[data-view=month] .day-panel,body[data-view=week] .day-panel{height:100%!important;min-height:0!important;max-width:340px!important;border-left:1px solid var(--line)!important;border-top:0!important}}@media(max-width:900px){body[data-view=month] .calendar-content-scroll,body[data-view=week] .calendar-content-scroll{overflow-y:auto!important}body[data-view=month] .calendar-content-grid,body[data-view=week] .calendar-content-grid{height:auto!important;min-height:100%!important}body[data-view=month] .calendar-view-stack,body[data-view=week] .calendar-view-stack{height:min(62vh,520px)!important;min-height:360px!important}body[data-view=month] .day-panel,body[data-view=week] .day-panel{height:auto!important;min-height:260px!important;max-height:none!important;border-left:0!important;border-top:1px solid var(--line)!important}}.search-shell.search-box{display:grid!important;grid-template-columns:18px minmax(0,1fr) auto auto!important;align-items:center!important;gap:8px!important;width:clamp(220px,22vw,360px)!important;min-width:220px!important;max-width:360px!important;height:42px!important;min-height:42px!important;padding:0 10px!important;box-sizing:border-box!important;border:1px solid var(--line)!important;border-radius:14px!important;background:#f4f2ed!important;color:var(--muted)!important}.search-shell.search-box:focus-within{border-color:var(--calendar-selection)!important;box-shadow:0 0 0 3px rgba(36,128,78,.12)!important;background:#fff!important}.search-box .search-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:17px}.search-box input,.search-box input:focus,.search-box input:focus-visible{width:100%!important;min-width:0!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:0 0!important;outline:0!important;box-shadow:none!important;line-height:normal!important;color:var(--ink)!important}.search-clear{width:24px!important;height:24px!important;min-width:24px!important;max-width:24px!important;padding:0!important;border:0!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;font-size:18px!important;font-family:inherit!important;background:0 0!important;color:var(--muted)!important;cursor:pointer}.search-clear.hidden{display:none!important}.search-clear:hover{background:rgba(0,0,0,.06)!important;color:var(--ink)!important}.search-clear:focus-visible{outline:2px solid var(--calendar-selection)!important;outline-offset:2px!important;box-shadow:none!important}.search-shortcut{width:22px!important;height:22px!important;min-width:22px!important;max-width:22px!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;border:1px solid var(--line)!important;border-radius:999px!important;background:#fff!important;color:#777!important;font-size:10px!important;box-sizing:border-box!important}body:not([data-view=month]) #monthEmptyState{display:none!important}body[data-view=week] .week-board,body[data-view=week] .week-grid,body[data-view=week] .week-layout,body[data-view=week] .week-view{height:100%!important;min-height:0!important;max-height:100%!important}body[data-view=week] .week-layout{display:flex!important;flex-direction:column!important;align-items:stretch!important}body[data-view=week] .week-board,body[data-view=week] .week-grid{flex:1 1 auto!important;align-items:stretch!important}body[data-view=week] .week-col,body[data-view=week] .week-day{align-self:stretch!important;align-self:stretch!important;border-right:1px solid var(--line)!important}body[data-view=week] .week-col:last-child,body[data-view=week] .week-day:last-child{border-right:0!important}body[data-view=week] .week-layout>.view-empty-content{position:absolute!important;z-index:12;top:74px;left:50%;width:min(460px,calc(100% - 32px));margin:0!important;transform:translateX(-50%);box-shadow:0 12px 32px rgba(35,31,26,.08)}body[data-view=day] .calendar-content-grid,body[data-view=day] .calendar-view-stack,body[data-view=day] .day-panel,body[data-view=day] .day-view{height:100%!important;min-height:0!important;max-height:100%!important}body[data-view=day] .day-timeline-shell{flex:1 1 auto!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;scrollbar-gutter:stable}body[data-view=day] #dayEvents{overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:4px;flex:1 1 auto!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important}body[data-view=day] .day-empty-state{flex:1 1 auto!important;min-height:220px!important;align-self:stretch;justify-content:center!important}@media(min-width:761px) and (max-width:1280px){.search-shell.search-box{width:100%!important;min-width:220px!important;max-width:none!important}}@media(max-width:760px){.search-shell.search-box{width:100%!important;min-width:0!important;max-width:none!important}}.main-panel{grid-template-rows:auto auto minmax(0,1fr)!important;align-content:stretch!important}.main-panel>.calendar-filters{grid-row:1!important}.main-panel>.calendar-feedback{grid-row:2!important}.main-panel>.calendar-content-scroll{grid-row:3!important;height:100%!important;min-height:0!important;align-self:stretch!important}body[data-view=month] .calendar-content-grid,body[data-view=month] .calendar-scroll-region,body[data-view=month] .calendar-view-stack,body[data-view=month] .month-grid{height:100%!important;min-height:0!important;max-height:100%!important;align-self:stretch!important}body[data-view=month] .calendar-content-grid{grid-template-rows:minmax(0,1fr)!important;align-items:stretch!important}body[data-view=month] .calendar-view-stack{display:grid!important;grid-template-rows:minmax(0,1fr)!important}body[data-view=month] .calendar-scroll-region{display:flex!important;overflow-x:auto!important;overflow-y:hidden!important}body[data-view=month] .month-grid{flex:1 0 auto!important;grid-template-rows:minmax(34px,44px) repeat(6,minmax(0,1fr))!important;grid-auto-rows:unset!important;align-content:stretch!important;overflow:hidden!important}body[data-view=month] .calendar-day,body[data-view=month] .day-cell{height:100%!important;min-height:0!important}body[data-view=week] .calendar-content-grid,body[data-view=week] .calendar-view-stack,body[data-view=week] .week-grid,body[data-view=week] .week-layout,body[data-view=week] .week-view{height:100%!important;min-height:0!important;max-height:100%!important;align-self:stretch!important}body[data-view=week] .calendar-content-grid{grid-template-rows:minmax(0,1fr)!important;align-items:stretch!important}body[data-view=week] .calendar-view-stack{display:grid!important;grid-template-rows:minmax(0,1fr)!important}body[data-view=week] .week-view{display:grid!important;grid-template-rows:minmax(0,1fr)!important;overflow-x:auto!important;overflow-y:hidden!important}body[data-view=week] .week-layout{display:grid!important;grid-template-rows:minmax(0,1fr)!important;position:relative!important}body[data-view=week] .week-board,body[data-view=week] .week-grid{display:grid!important;grid-template-columns:repeat(7,minmax(150px,1fr))!important;grid-template-rows:minmax(0,1fr)!important;align-items:stretch!important;align-content:stretch!important}body[data-view=week] .week-col,body[data-view=week] .week-day{display:flex!important;flex-direction:column!important;height:100%!important;min-height:0!important;align-self:stretch!important;box-sizing:border-box!important;border-right:1px solid var(--line)!important}body[data-view=week] .week-events{flex:1 1 auto!important;min-height:0!important}body[data-view=month] .day-panel,body[data-view=week] .day-panel{height:100%!important;min-height:0!important;max-height:100%!important;align-self:stretch!important}@media(max-width:900px){body[data-view=month] .calendar-content-grid,body[data-view=week] .calendar-content-grid{height:auto!important;min-height:100%!important;grid-template-rows:auto auto!important}body[data-view=month] .calendar-view-stack,body[data-view=week] .calendar-view-stack{display:block!important;height:min(62vh,520px)!important;min-height:360px!important}}body[data-view=month] .calendar-view-stack{position:relative!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;align-content:stretch!important;height:100%!important;min-height:0!important}body[data-view=month] #monthEmptyState{grid-row:1!important;min-width:0!important;min-height:0!important;align-self:start!important}body[data-view=month] #monthEmptyState.hidden{display:none!important}body[data-view=month] #monthEmptyState .view-empty-content{margin:14px 14px 10px!important}body[data-view=month] #monthScrollRegion{grid-row:2!important;height:100%!important;min-height:0!important;max-height:100%!important;align-self:stretch!important}body[data-view=month] #monthView{height:100%!important;min-height:0!important;max-height:100%!important}.day-cell-header{display:flex;align-items:center;justify-content:flex-start;gap:6px;min-width:0;min-height:28px;margin-bottom:5px}.day-cell-header .day-number{flex:0 0 auto;margin:0!important}.count-badge{position:static!important;inset:auto!important;flex:0 1 auto;display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;max-width:72px;min-width:0!important;height:22px!important;padding:0 8px!important;border-radius:999px;background:#242424;color:#fff;font-size:12px!important;line-height:1!important;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:none!important;z-index:auto!important}.event-dialog{width:min(860px,calc(100vw - 28px));max-height:min(92dvh,920px)}.event-dialog form{display:grid;gap:12px}.event-activity,.event-invitations,.invitation-response{border:1px solid var(--line);border-radius:18px;background:var(--panel2);padding:14px}.event-invitations.read-only #checkAvailabilityBtn,.event-invitations.read-only .attendee-search-wrap{display:none!important}.event-section-head,.invitation-response{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.event-activity h3,.event-section-head h3,.invitation-response h3{margin:0;font-size:15px}.event-section-head p,.invitation-response p{margin:3px 0 0;color:var(--muted);font-size:12px}.attendee-search-wrap{position:relative;margin-top:12px}.attendee-search-wrap>input{width:100%;min-height:42px}.attendee-suggestions{position:absolute;z-index:40;top:calc(100% + 6px);left:0;right:0;display:grid;max-height:240px;overflow:auto;padding:6px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 16px 42px rgba(18,16,13,.16)}.attendee-suggestions button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px;border:0;border-radius:10px;text-align:left;background:0 0}.attendee-suggestions button:focus-visible,.attendee-suggestions button:hover{background:rgba(36,128,78,.08)}.attendee-suggestions span{display:grid;min-width:0}.attendee-suggestions small{overflow:hidden;color:var(--muted);text-overflow:ellipsis}.attendee-suggestions em{color:var(--calendar-selection);font-size:11px;font-style:normal;font-weight:900}.attendee-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.attendee-empty{grid-column:1/-1;margin:0;color:var(--muted);font-size:12px}.attendee-chip{display:grid;grid-template-columns:34px minmax(0,1fr) 28px;align-items:center;gap:9px;min-width:0;padding:9px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.attendee-chip.availability-available{border-color:rgba(36,128,78,.36)}.attendee-chip.availability-busy,.attendee-chip.availability-conflict{border-color:rgba(217,45,32,.42);background:#fff9f8}.attendee-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(36,128,78,.11);color:var(--calendar-selection);font-weight:950}.attendee-chip-copy{display:grid;min-width:0}.attendee-chip-copy em,.attendee-chip-copy small,.attendee-chip-copy strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.attendee-chip-copy small{color:var(--muted);font-size:11px}.attendee-chip-copy em{margin-top:3px;color:var(--calendar-selection);font-size:10px;font-style:normal;font-weight:850}.attendee-chip.availability-busy .attendee-chip-copy em,.attendee-chip.availability-conflict .attendee-chip-copy em{color:#b42318}.attendee-chip>button{width:28px;height:28px;min-width:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:0 0;font-size:18px;line-height:1}.attendee-conflict-note{margin:10px 0 0;color:#9a3412;font-size:12px;font-weight:800}.invitation-response-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.invitation-response-actions button.is-current{box-shadow:0 0 0 3px rgba(36,128,78,.14)}.event-activity-list{display:grid;gap:8px;margin-top:10px}.event-activity-item{display:grid;grid-template-columns:8px minmax(0,1fr);gap:10px}.event-activity-item>span{width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--calendar-selection)}.event-activity-item div{display:grid}.event-activity-item small{color:var(--muted)}.filter-chip.invitation-filter{border-style:dashed}.event-chip{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px}.event-chip-copy{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.event-invitation-mini{padding:2px 5px;border-radius:999px;background:rgba(36,128,78,.12);color:var(--calendar-selection);font-size:8px;font-weight:950;line-height:1}.invitation-pending{border-style:dashed!important;outline:rgba(36,128,78,.55) dashed 1px;outline-offset:-2px}.invitation-tentative{opacity:.84}.status-pill.invitation{border:1px dashed rgba(36,128,78,.55);background:rgba(36,128,78,.1);color:var(--calendar-selection)}@media(max-width:720px){.attendee-chips{grid-template-columns:1fr}.event-section-head,.invitation-response{flex-direction:column}.invitation-response-actions{justify-content:flex-start}}.time-range-grid{align-items:start;overflow:visible}.time-field-label{position:relative;display:grid;gap:7px;min-width:0;color:var(--ink);font-size:12px;font-weight:850}.time-field-caption{display:block;padding-left:2px}.time-picker-field{position:relative;min-width:0}.time-picker-storage{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;border:0!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important}.time-picker-trigger{width:100%!important;min-width:0!important;min-height:48px!important;margin:0!important;padding:0 13px 0 15px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;border:1px solid var(--line)!important;border-radius:15px!important;background:linear-gradient(180deg,#fff,#fdfcf9)!important;color:var(--ink)!important;box-shadow:0 1px 0 rgba(255,255,255,.9),0 6px 18px rgba(25,22,18,.035)!important;text-align:left!important;cursor:pointer;transition:border-color .14s,box-shadow .14s,background .14s,transform .14s}.time-picker-trigger:hover{border-color:#bcb6ab!important;background:#fff!important;box-shadow:0 8px 22px rgba(25,22,18,.065)!important}.time-picker-trigger:focus-visible,.time-picker-trigger[aria-expanded=true]{outline:0!important;border-color:#24804e!important;background:#fff!important;box-shadow:0 0 0 3px rgba(36,128,78,.12),0 10px 28px rgba(25,22,18,.07)!important}.time-picker-trigger[aria-invalid=true]{border-color:#b42318!important;box-shadow:0 0 0 3px rgba(180,35,24,.1)!important}.time-picker-trigger:disabled{cursor:not-allowed;opacity:.56;box-shadow:none!important}.time-picker-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;line-height:1;font-weight:900;letter-spacing:-.015em}.time-picker-icon{flex:0 0 22px;width:22px;height:22px;fill:none;stroke:#4f4a43;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.time-picker-trigger[aria-expanded=true] .time-picker-icon{stroke:#24804e}.time-picker-popover{position:absolute;z-index:120;top:calc(100% + 9px);left:0;width:min(340px,calc(100vw - 44px));padding:12px;border:1px solid rgba(121,113,101,.24);border-radius:19px;background:rgba(255,254,250,.985);box-shadow:0 24px 64px rgba(24,21,17,.18),0 3px 12px rgba(24,21,17,.08);backdrop-filter:blur(18px);transform-origin:top left;animation:.14s ease-out time-picker-in}.time-picker-popover[hidden]{display:none!important}.time-picker-popover.is-above{top:auto;bottom:calc(100% + 9px);transform-origin:bottom left}@keyframes time-picker-in{from{opacity:0;transform:translateY(-4px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.time-picker-head{display:grid;grid-template-columns:1fr .9fr .9fr;gap:8px;padding:1px 7px 7px;color:var(--muted);font-size:10px;font-weight:950;letter-spacing:.07em;text-align:center;text-transform:uppercase}.time-picker-columns{display:grid;grid-template-columns:1fr .9fr .9fr;gap:8px;align-items:stretch}.time-picker-column{display:grid;align-content:start;gap:4px;max-height:218px;min-height:168px;padding:5px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c8c2b8 transparent;scroll-snap-type:y proximity;border:1px solid #e4e0d8;border-radius:13px;background:#f7f5f0}.time-picker-column::-webkit-scrollbar{width:7px}.time-picker-column::-webkit-scrollbar-track{background:0 0}.time-picker-column::-webkit-scrollbar-thumb{background:#c8c2b8;border-radius:999px;border:2px solid #f7f5f0}.time-option{width:100%!important;min-width:0!important;min-height:39px!important;padding:0 8px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;scroll-snap-align:center;border:0!important;border-radius:10px!important;background:0 0!important;color:#4d4942!important;box-shadow:none!important;font-size:13px!important;line-height:1!important;font-weight:800!important;cursor:pointer;transition:background .12s,color .12s,box-shadow .12s,transform .12s}.time-option:hover{background:rgba(0,0,0,.045)!important;color:var(--ink)!important}.time-option.is-selected{background:rgba(36,128,78,.105)!important;color:#174c31!important;box-shadow:inset 0 0 0 1px rgba(36,128,78,.25)!important;font-weight:950!important}.time-option:focus-visible{outline:#24804e solid 2px!important;outline-offset:1px!important}.time-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:9px 3px 1px 7px;border-top:1px solid #ebe7df}.time-picker-footer>span{color:#423e38;font-size:13px;font-weight:900}.time-picker-done{min-height:34px!important;padding:0 12px!important;border:1px solid rgba(36,128,78,.22)!important;border-radius:11px!important;background:rgba(36,128,78,.09)!important;color:#185536!important;box-shadow:none!important;font-size:12px!important;font-weight:950!important}.time-picker-done:hover{background:rgba(36,128,78,.15)!important}.time-picker-done:focus-visible{outline:#24804e solid 2px!important;outline-offset:2px!important}@media(max-width:640px){.time-picker-popover{position:fixed;left:12px!important;right:12px!important;top:auto!important;bottom:12px!important;width:auto;max-height:min(58dvh,430px);border-radius:22px;transform-origin:bottom center}.time-picker-column{max-height:188px;min-height:152px}.time-option{min-height:42px!important}}@media(prefers-reduced-motion:reduce){.time-picker-popover{animation:none!important}}.calendar-brand-lockup{display:flex;align-items:center;gap:10px;min-width:0}.calendar-brand-lockup h1{margin:0}.demo-mode-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:999px;color:var(--muted);background:color-mix(in srgb,var(--panel) 88%,var(--accent));font-size:11px;font-weight:700;white-space:nowrap}@media (max-width:760px){.calendar-brand-lockup{align-items:flex-start;flex-direction:column;gap:4px}.demo-mode-badge{min-height:20px;padding-inline:7px;font-size:10px}}

/* ==========================================================================
   MOBILE RESPONSIVE HARDENING
   Final override layer: intentionally kept at the end so older responsive
   rules cannot reintroduce desktop minimum widths on phones.
   ========================================================================== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0;max-width:100vw}
button,.nav,.day-cell,.agenda-item,.week-day{-webkit-tap-highlight-color:transparent;touch-action:manipulation}

@media(max-width:760px){
  html,body{width:100%;min-width:0;overflow-x:hidden}
  body{padding:0}

  .app-shell{width:100%!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow:hidden!important}
  .app,.calendar-app{width:100%!important;height:100dvh!important;min-height:0!important;padding:6px 6px calc(82px + env(safe-area-inset-bottom))!important;overflow:hidden!important}
  .app::before{inset:6px!important;border-radius:20px!important}

  .app-header,.topbar{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;width:100%!important;min-width:0!important;padding:10px 10px 9px!important;overflow:visible!important}
  .brand-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(118px,42%)!important;align-items:center!important;gap:8px!important;width:100%!important;min-width:0!important}
  .calendar-brand-lockup{display:block!important;min-width:0!important}
  .calendar-brand-lockup h1,.topbar h1{min-width:0!important;margin:0!important;font-size:clamp(18px,5.2vw,23px)!important;line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .brand-row .subline{display:none!important}
  #workspaceSelect,.brand-row select{width:100%!important;min-width:0!important;max-width:none!important;height:40px!important;padding:0 32px 0 10px!important;font-size:14px!important}

  .top-actions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;width:100%!important;min-width:0!important;overflow:visible!important}
  .search-shell.search-box{grid-column:1/-1!important;width:100%!important;min-width:0!important;max-width:none!important;height:40px!important;min-height:40px!important}
  .search-shortcut{display:none!important}
  .top-actions>button{width:100%!important;min-width:0!important;max-width:none!important;height:40px!important;min-height:40px!important;padding:0 6px!important;font-size:11px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #newEventBtn{font-size:11px!important}

  .calendar-toolbar,.periodbar,body[data-view] .calendar-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"period actions" "views views"!important;align-items:center!important;gap:7px!important;width:100%!important;min-width:0!important;min-height:88px!important;padding:7px 8px!important;overflow:visible!important}
  .calendar-toolbar .period-nav,.period-nav,body[data-view] .calendar-toolbar .period-nav{grid-area:period!important;display:grid!important;grid-template-columns:38px minmax(92px,1fr) 38px!important;justify-self:stretch!important;width:100%!important;min-width:0!important;max-width:none!important;gap:5px!important}
  #nextMonth,#prevMonth{width:38px!important;height:38px!important;min-width:38px!important;max-width:38px!important;padding:0!important}
  #periodTitle{width:100%!important;max-width:none!important;min-width:0!important;font-size:clamp(17px,4.8vw,22px)!important;line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .calendar-toolbar .filter-toggle,.calendar-toolbar .toolbar-actions{grid-area:actions!important;justify-self:end!important;height:38px!important;min-height:38px!important;padding:0 10px!important;font-size:11px!important;white-space:nowrap!important}
  .calendar-toolbar .view-switch,.view-switch{grid-area:views!important;justify-self:stretch!important;width:100%!important;max-width:none!important;min-width:0!important;padding:3px!important;gap:2px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;overscroll-behavior-x:contain}
  .view-switch::-webkit-scrollbar{display:none}
  .view-switch button{flex:1 0 66px!important;width:auto!important;min-width:66px!important;max-width:none!important;height:34px!important;padding:0 8px!important;font-size:11px!important}

  .calendar-layout{display:block!important;flex:1 1 auto!important;width:100%!important;min-width:0!important;min-height:0!important;height:auto!important;overflow:hidden!important;border-radius:0 0 18px 18px!important}
  .main-panel{display:grid!important;grid-template-rows:auto auto minmax(0,1fr)!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;overflow:hidden!important}
  .calendar-filters{min-width:0!important;min-height:42px!important;padding:5px 8px!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;overscroll-behavior-x:contain}
  .calendar-filters::-webkit-scrollbar{display:none}
  .filter-chip{flex:0 0 auto!important;min-height:32px!important;padding:6px 9px!important;font-size:11px!important}
  .calendar-content-scroll{width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;scrollbar-gutter:auto!important;-webkit-overflow-scrolling:touch}
  .calendar-content-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto!important;width:100%!important;height:auto!important;min-width:0!important;min-height:100%!important;align-items:start!important}
  .calendar-view-stack{width:100%!important;height:auto!important;min-width:0!important;min-height:0!important}
  .day-panel{width:100%!important;max-width:none!important;min-width:0!important;min-height:220px!important;height:auto!important;max-height:none!important;padding:16px 14px!important;border-left:0!important;border-top:1px solid var(--line)!important;overflow:visible!important}
  .day-panel h2{font-size:18px!important}
  body[data-view=day] #dayEvents,body[data-view=month] #dayEvents,body[data-view=week] #dayEvents{max-height:none!important;overflow:visible!important}

  /* Month: fit all seven days inside the phone instead of forcing 760/840px. */
  body[data-view=month] .calendar-content-scroll{overflow-y:auto!important}
  body[data-view=month] .calendar-content-grid{height:auto!important;min-height:100%!important;grid-template-rows:auto auto!important}
  body[data-view=month] .calendar-view-stack{display:grid!important;grid-template-rows:auto auto!important;height:auto!important;min-height:0!important}
  body[data-view=month] .calendar-scroll-region,body[data-view=month] #monthScrollRegion{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;overflow-x:hidden!important;overflow-y:visible!important}
  body[data-view=month] .month-grid,body[data-view=month] #monthView,.month-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;grid-template-rows:32px repeat(6,minmax(78px,auto))!important;grid-auto-rows:unset!important;width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:500px!important;max-height:none!important;overflow:hidden!important}
  .weekday{min-width:0!important;padding:0 1px!important;font-size:9px!important;letter-spacing:.01em!important;text-overflow:clip!important}
  .calendar-day,.calendar-day-cell,.day-cell,body[data-view=month] .calendar-day,body[data-view=month] .day-cell{min-width:0!important;min-height:78px!important;height:auto!important;padding:4px 3px!important;overflow:hidden!important}
  .day-cell-header{min-height:23px!important;margin-bottom:2px!important;gap:2px!important}
  .day-number{width:23px!important;height:23px!important;margin:0!important;font-size:11px!important}
  .count-badge{display:none!important}
  body[data-view=month] .event-chip{width:100%!important;height:18px!important;min-height:18px!important;max-height:18px!important;margin:2px 0!important;padding:2px 3px!important;border-radius:5px!important;font-size:8px!important;line-height:12px!important;gap:2px!important}
  body[data-view=month] .event-invitation-mini{display:none!important}

  /* Week remains horizontally scrollable, but never clips against the page. */
  body[data-view=week] .calendar-content-scroll{overflow-y:auto!important}
  body[data-view=week] .calendar-view-stack{display:block!important;height:min(56dvh,500px)!important;min-height:350px!important}
  body[data-view=week] .week-view{display:block!important;width:100%!important;height:100%!important;min-height:350px!important;overflow-x:auto!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}
  body[data-view=week] .week-layout{display:block!important;width:max-content!important;min-width:100%!important;height:auto!important;min-height:100%!important}
  body[data-view=week] .week-board,body[data-view=week] .week-grid{display:grid!important;grid-template-columns:repeat(7,minmax(132px,1fr))!important;width:max-content!important;min-width:924px!important;height:auto!important;min-height:100%!important}
  .week-head{padding:11px 10px!important}
  .week-num{font-size:26px!important}
  .week-events{padding:9px!important;gap:9px!important}

  /* Day timeline: use the available width; no desktop 640px minimum. */
  body[data-view=day] .calendar-content-grid,body[data-view=day] .calendar-view-stack,body[data-view=day] .day-view{height:auto!important;min-height:0!important;max-height:none!important}
  body[data-view=day] .day-view{display:flex!important;flex-direction:column!important;width:100%!important;min-width:0!important}
  .day-timeline{min-width:0!important;width:100%!important}
  body[data-view=day] .day-timeline-shell{width:100%!important;min-width:0!important;min-height:360px!important;max-height:min(58dvh,560px)!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}
  .day-timeline-content{width:100%!important;min-width:0!important}
  .day-hour{grid-template-columns:54px minmax(0,1fr)!important}
  .day-hour-label{padding-right:7px!important;font-size:10px!important}
  .day-events-layer{inset:0 0 0 54px!important}
  .day-event-block{padding:7px 8px!important;border-radius:10px!important;font-size:11px!important}
  .day-quick-strip,.day-all-day-strip{padding-left:60px!important}

  /* Agenda and focus become true single-column mobile views. */
  .agenda-view{width:100%!important;padding:14px 10px 20px!important;overflow:visible!important}
  .agenda-item,.agenda-row{grid-template-columns:82px minmax(0,1fr)!important;gap:8px!important;padding:12px 10px!important;border-radius:14px!important}
  .agenda-item .status-pill,.agenda-row .status-pill{grid-column:2!important;justify-self:start!important;max-width:100%!important;white-space:normal!important}
  .agenda-time{font-size:11px!important}
  .agenda-title{font-size:13px!important}
  .agenda-meta{font-size:11px!important}
  .focus-view{display:block!important;width:100%!important;min-height:0!important;height:auto!important;overflow:hidden!important}
  .focus-content,.focus-scene{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;min-width:0!important;min-height:0!important;padding:20px 10px 28px!important;gap:20px!important;overflow:hidden!important}
  .orbit{width:min(82vw,360px)!important;max-width:100%!important}
  .orbit-node{width:58px!important;height:58px!important;font-size:11px!important}
  .orbit-node.active{width:68px!important;height:68px!important}

  /* Bottom navigation respects notches/home indicators and distributes evenly. */
  .sidebar{left:6px!important;right:6px!important;bottom:max(6px,env(safe-area-inset-bottom))!important;width:auto!important;height:64px!important;min-height:64px!important;max-height:64px!important;padding:7px 7px!important;gap:3px!important;border-radius:20px!important;overflow:hidden!important}
  .sidebar .nav{flex:1 1 0!important;width:auto!important;min-width:0!important;height:50px!important;min-height:50px!important;padding:5px 2px!important;border-radius:14px!important;gap:2px!important}
  .sidebar .nav svg{width:19px!important;height:19px!important}
  .sidebar .nav small{max-width:100%!important;font-size:9px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

  /* Dialogs/forms: stay inside the visual viewport and remain scrollable. */
  .modal,.event-dialog,.compact-modal{width:calc(100vw - 12px)!important;max-width:none!important;max-height:calc(100dvh - 12px)!important;margin:auto!important;border-radius:20px!important}
  .modal:not(.settings-modal)>form{max-height:calc(100dvh - 12px)!important;padding:18px 14px!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain}
  .event-dialog form{padding:16px 14px!important}
  .modal h2{font-size:21px!important}
  .modal-actions{display:flex!important;flex-wrap:wrap!important;justify-content:flex-end!important;gap:8px!important}
  .modal-actions>span{display:none!important}
  .modal-actions button,.modal-actions-right button{min-height:42px!important}
  .settings-modal{width:calc(100vw - 12px)!important;max-height:calc(100dvh - 12px)!important;border-radius:20px!important}
  .settings-modal form{max-height:calc(100dvh - 12px)!important}
  .settings-modal .modal-head{height:auto!important;min-height:64px!important;padding:14px!important}
  .settings-modal .modal-body{padding:14px!important;gap:14px!important}
  .settings-modal .modal-foot{padding:12px 14px!important;gap:9px!important}
  .settings-row{grid-template-columns:38px minmax(0,1fr) 38px!important;gap:8px!important;padding:9px!important}
  .settings-color,.delete-category-btn{width:38px!important;height:38px!important}
  .workspace-settings-actions{justify-content:stretch!important}
  .workspace-settings-actions button{flex:1 1 130px!important}
  .account-settings-card{grid-template-columns:40px minmax(0,1fr)!important}

  input,select,textarea{max-width:100%;font-size:16px}
  .toast{left:10px!important;right:10px!important;bottom:calc(78px + env(safe-area-inset-bottom))!important;width:auto!important;text-align:center!important}
}

@media(max-width:420px){
  .top-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .search-shell.search-box{grid-column:1/-1!important}
  .top-actions>button{font-size:11px!important}
  .calendar-toolbar,.periodbar,body[data-view] .calendar-toolbar{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"period" "views" "actions"!important;justify-items:stretch!important;min-height:126px!important}
  .calendar-toolbar .period-nav,.period-nav,body[data-view] .calendar-toolbar .period-nav{justify-self:stretch!important}
  .calendar-toolbar .filter-toggle,.calendar-toolbar .toolbar-actions{justify-self:end!important}
  .view-switch button{flex-basis:62px!important;min-width:62px!important;font-size:10px!important}
  body[data-view=month] .month-grid,body[data-view=month] #monthView,.month-grid{grid-template-rows:30px repeat(6,minmax(72px,auto))!important;min-height:462px!important}
  .calendar-day,.calendar-day-cell,.day-cell,body[data-view=month] .calendar-day,body[data-view=month] .day-cell{min-height:72px!important;padding:3px 2px!important}
  .weekday{font-size:8px!important}
  .day-number{width:21px!important;height:21px!important;font-size:10px!important}
  body[data-view=month] .event-chip{font-size:7px!important;padding-inline:2px!important}
  .agenda-item,.agenda-row{grid-template-columns:70px minmax(0,1fr)!important}
  .orbit{width:min(78vw,310px)!important}
  .orbit-node{width:52px!important;height:52px!important;font-size:10px!important}
  .orbit-node.active{width:62px!important;height:62px!important}
  .code-box strong{font-size:18px!important;overflow-wrap:anywhere}
}

@media(max-width:350px){
  .brand-row{grid-template-columns:minmax(0,1fr) 112px!important}
  .calendar-brand-lockup h1,.topbar h1{font-size:17px!important}
  .top-actions>button{font-size:10px!important;padding-inline:4px!important}
  .sidebar{left:4px!important;right:4px!important;padding-inline:4px!important}
  .sidebar .nav small{font-size:8px!important}
  .view-switch button{flex-basis:58px!important;min-width:58px!important}
}

/* Compact phone toolbar correction: keep actions in one row and the period/view
   toolbar in two rows even on 320px-wide screens. */
@media(max-width:420px){
  .top-actions{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .calendar-toolbar,.periodbar,body[data-view] .calendar-toolbar{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"period actions" "views views"!important;justify-items:initial!important;min-height:88px!important}
  .calendar-toolbar .period-nav,.period-nav,body[data-view] .calendar-toolbar .period-nav{justify-self:stretch!important}
  .calendar-toolbar .filter-toggle,.calendar-toolbar .toolbar-actions{justify-self:end!important}
}

/* ========================================================================== 
   MOBILE LAYOUT V2 — phone calendar/content correction
   This block intentionally uses direct-child selectors + flex on the content
   wrapper so older desktop grid rules cannot keep the day agenda beside the
   month/week/day view on narrow screens.
   ========================================================================== */
@media (max-width: 760px) {
  #calendarContentScroll > .calendar-content-grid {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 100% !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    overflow: visible !important;
  }

  #calendarContentScroll > .calendar-content-grid > .calendar-view-stack,
  #calendarContentScroll > .calendar-content-grid > .day-panel {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    align-self: stretch !important;
  }

  #calendarContentScroll > .calendar-content-grid > .calendar-view-stack {
    order: 1 !important;
  }

  #calendarContentScroll > .calendar-content-grid > .day-panel {
    order: 2 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 16px 12px 24px !important;
    border-left: 0 !important;
    border-top: 1px solid var(--line) !important;
    overflow: visible !important;
  }

  body[data-view="month"] #monthScrollRegion,
  body[data-view="month"] #monthView {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }

  body[data-view="month"] #monthView {
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  }

  body[data-view="month"] .weekday,
  body[data-view="month"] .day-cell {
    min-width: 0 !important;
    max-width: none !important;
  }

  /* Keep filters as one intentional horizontal strip rather than clipping. */
  #calendarFilters {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  #calendarFilters .filter-chip {
    scroll-snap-align: start;
  }
}

@media (max-width: 430px) {
  /* Two readable action columns are more useful than four truncated buttons. */
  .top-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .search-shell.search-box {
    grid-column: 1 / -1 !important;
  }

  .top-actions > button {
    min-height: 40px !important;
    padding-inline: 9px !important;
    font-size: 11px !important;
    text-overflow: clip !important;
  }

  #newEventBtn {
    font-size: 11px !important;
  }

  body[data-view="month"] #monthView {
    grid-template-rows: 30px repeat(6, minmax(68px, auto)) !important;
    min-height: 438px !important;
  }

  body[data-view="month"] .day-cell {
    min-height: 68px !important;
    padding: 3px 2px !important;
  }

  body[data-view="month"] .weekday {
    font-size: 8px !important;
    letter-spacing: 0 !important;
  }

  body[data-view="month"] .day-number {
    width: 22px !important;
    height: 22px !important;
    font-size: 10px !important;
  }

  body[data-view="month"] .event-chip {
    height: 16px !important;
    min-height: 16px !important;
    max-height: 16px !important;
    padding: 1px 2px !important;
    margin-block: 2px !important;
    font-size: 7px !important;
    line-height: 12px !important;
  }

  #calendarContentScroll > .calendar-content-grid > .day-panel h2 {
    margin-top: 0 !important;
  }
}


/* ==========================================================================
   MOBILE V3 TUNING
   - filters collapsed by default (JS state)
   - remove sidebar/bottom nav on phones; top tabs remain the mobile navigation
   ========================================================================== */
@media(max-width:760px){
  .app-shell{grid-template-columns:minmax(0,1fr)!important}
  .sidebar{display:none!important}
  .app,.calendar-app{padding:6px 6px max(6px,env(safe-area-inset-bottom))!important}
  .app::before{inset:6px!important;border-radius:20px!important}
}


/* ==========================================================================
   MOBILE V4 — TOUCH / GESTURE HARDENING
   Keep accessibility pinch-zoom available, while removing accidental
   double-tap zoom, long-press callouts and horizontal browser overscroll
   from interactive calendar UI.
   ========================================================================== */
@media(max-width:760px){
  html,
  body,
  .app-shell,
  .calendar-app{
    touch-action:manipulation;
    overscroll-behavior-x:none;
  }

  button,
  [role="button"],
  .view-switch button,
  .filter-chip,
  .day-cell,
  .event-chip,
  .week-event,
  .agenda-row,
  .day-card,
  .orbit-node,
  .time-picker-trigger,
  .time-option,
  .time-picker-done,
  [data-event-id],
  [data-view]{
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
    -webkit-touch-callout:none;
    -webkit-user-select:none;
    user-select:none;
  }

  input,
  textarea,
  select,
  [contenteditable="true"]{
    touch-action:manipulation;
    -webkit-touch-callout:default;
    -webkit-user-select:text;
    user-select:text;
  }

  .calendar-content-scroll,
  .calendar-scroll-region,
  .week-view,
  .day-timeline-shell,
  .calendar-filters,
  .view-switch,
  .time-picker-column{
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }

  .calendar-content-scroll,
  .day-timeline-shell{
    touch-action:pan-y pinch-zoom;
  }

  .calendar-filters,
  .view-switch{
    touch-action:pan-x pinch-zoom;
  }

  .week-view{
    touch-action:pan-x pan-y pinch-zoom;
  }
}

@media(hover:none) and (pointer:coarse){
  .modal button:hover,
  .periodbar button:hover,
  .top-actions button:hover{
    filter:none!important;
  }
}

/* ==========================================================================
   MOBILE V5 — IOS / CROSS-BROWSER DOUBLE-TAP ZOOM GUARD
   WebKit supports touch-action: manipulation. Keep the same value across the
   complete mobile app so nested scroll containers do not re-enable browser
   double-tap zoom. Manipulation still permits normal panning and pinch zoom.
   ========================================================================== */
@media(max-width:760px){
  html,
  body,
  .app-shell,
  .calendar-app,
  .calendar-app *{
    touch-action:manipulation!important;
  }

  input,
  textarea,
  select,
  [contenteditable="true"]{
    touch-action:manipulation!important;
    -webkit-user-select:text;
    user-select:text;
  }

  .calendar-content-scroll,
  .calendar-scroll-region,
  .week-view,
  .day-timeline-shell,
  .calendar-filters,
  .view-switch,
  .time-picker-column{
    -webkit-overflow-scrolling:touch;
  }
}


/* ========================================================================== 
   MOBILE V6 — FOCUS VIEW
   Dedicated phone composition: orbit stays complete on desktop, while mobile
   uses a centered clock/progress ring plus a full-width active/next event card.
   ========================================================================== */
.focus-card-kicker{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.focus-state{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;background:#efede7;color:#4f4a43;font-size:10px;font-weight:950;letter-spacing:.06em}
.focus-state-now{background:#171717;color:#fff}
.focus-state-next{background:var(--calendar-selection-soft);color:var(--calendar-selection)}
.focus-index{color:var(--muted);font-size:11px;font-weight:850}
.focus-time-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 7px;font-size:12px}
.focus-time-row strong{color:var(--ink)}
.focus-time-row span{color:var(--calendar-selection);font-size:11px;font-weight:900;white-space:nowrap}

@media(max-width:760px){
  body[data-view=focus] .calendar-content-scroll{overflow-x:hidden!important;overflow-y:auto!important}
  body[data-view=focus] .calendar-content-grid{display:block!important;min-height:0!important;height:auto!important}
  body[data-view=focus] .calendar-view-stack{display:block!important;width:100%!important;height:auto!important;min-height:0!important;overflow:visible!important}
  body[data-view=focus] .focus-view{display:block!important;width:100%!important;height:auto!important;min-height:0!important;overflow:visible!important;background:linear-gradient(180deg,var(--surface) 0%,var(--panel2) 100%)!important}
  body[data-view=focus] .focus-content,
  body[data-view=focus] .focus-scene{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:start!important;width:100%!important;min-width:0!important;min-height:0!important;padding:14px 12px 24px!important;gap:12px!important;overflow:visible!important}

  body[data-view=focus] .focus-stage,
  body[data-view=focus] .orbit{width:clamp(246px,74vw,286px)!important;max-width:286px!important;aspect-ratio:1!important;margin:4px auto 2px!important;overflow:visible!important}
  body[data-view=focus] .ring{inset:3%!important;padding:2px!important}
  body[data-view=focus] .ring2{inset:17%!important}
  body[data-view=focus] .center{width:55%!important;padding:10px!important;box-shadow:0 14px 36px rgba(0,0,0,.08)!important}
  body[data-view=focus] .center:before{inset:-12px!important}
  body[data-view=focus] .center-clock{font-size:clamp(27px,8vw,32px)!important;line-height:.98!important;letter-spacing:-.065em!important;white-space:nowrap!important}
  body[data-view=focus] .center-live{margin-top:7px!important;padding:5px 8px!important;font-size:9px!important}
  body[data-view=focus] .center-date{margin-top:8px!important;font-size:10px!important;line-height:1.3!important}

  /* Desktop event bubbles are intentionally replaced by the card below on phones. */
  body[data-view=focus] .orbit-node{display:none!important}

  body[data-view=focus] .focus-copy{display:block!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0 2px!important}
  body[data-view=focus] .focus-step{display:none!important}
  body[data-view=focus] .focus-card{width:100%!important;max-width:none!important;margin:0!important;padding:16px!important;border-radius:20px!important;background:rgba(255,255,255,.92)!important;backdrop-filter:none!important;box-shadow:0 8px 26px rgba(0,0,0,.055)!important}
  body[data-view=focus] .focus-card .muted{font-size:11px!important}
  body[data-view=focus] .focus-card h2{margin:5px 0 2px!important;font-size:22px!important;line-height:1.08!important;letter-spacing:-.04em!important;overflow-wrap:anywhere!important}
  body[data-view=focus] .focus-card .agenda-meta{margin-top:6px!important;font-size:11px!important;line-height:1.4!important}
  body[data-view=focus] .focus-card-kicker{margin-bottom:9px!important}
  body[data-view=focus] .focus-time-row{flex-wrap:wrap!important;margin:8px 0 5px!important}
  body[data-view=focus] .focus-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-top:13px!important}
  body[data-view=focus] .focus-actions button{width:100%!important;min-width:0!important;min-height:42px!important;padding:0 10px!important;border-radius:12px!important;font-size:12px!important}
  body[data-view=focus] .view-empty-content{margin:0!important}
}

@media(max-width:370px){
  body[data-view=focus] .focus-stage,
  body[data-view=focus] .orbit{width:min(72vw,254px)!important}
  body[data-view=focus] .center-clock{font-size:26px!important}
  body[data-view=focus] .focus-actions{grid-template-columns:1fr!important}
}


/* ==========================================================================\n   V7 — WORKSPACE SELECT / COMPACT DESKTOP HEADER\n   Native select elements inherited 11px vertical padding from the generic\n   form rule while the header forced a 40/42px height. On compact desktop\n   widths this clipped the workspace label vertically (e.g. Product Studio).\n   ========================================================================== */
#workspaceSelect{
  box-sizing:border-box!important;
  height:42px!important;
  min-height:42px!important;
  padding:0 38px 0 14px!important;
  line-height:1.2!important;
  vertical-align:middle!important;
  white-space:nowrap!important;
}

@media(min-width:761px) and (max-width:1280px){
  .brand-row{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
  }

  #workspaceSelect{
    flex:0 1 clamp(220px,32vw,390px)!important;
    width:clamp(220px,32vw,390px)!important;
    min-width:220px!important;
    max-width:390px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0 38px 0 14px!important;
    line-height:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
}

@media(max-width:760px){
  #workspaceSelect{
    height:40px!important;
    min-height:40px!important;
    padding:0 34px 0 10px!important;
    line-height:normal!important;
  }
}


/* ========================================================================== 
   V9 — COMPACT DESKTOP MONTH FIT
   Built from V7. This fixes the 1135x910 class of layouts without changing
   phone behavior: the 6 calendar weeks fit the available height, the day
   agenda uses a narrower fixed rail, and Sunday keeps the same usable width
   as the other weekday columns.
   ========================================================================== */
@media (min-width:981px) and (max-width:1200px){
  .calendar-layout{
    display:block!important;
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    overflow:hidden!important;
  }

  .main-panel{
    display:grid!important;
    grid-template-rows:auto auto minmax(0,1fr)!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    overflow:hidden!important;
  }

  #calendarContentScroll,
  .calendar-content-scroll{
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  #calendarContentScroll > .calendar-content-grid,
  .calendar-content-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 258px!important;
    grid-template-rows:minmax(0,1fr)!important;
    align-items:stretch!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  #calendarContentScroll > .calendar-content-grid > .calendar-view-stack,
  .calendar-view-stack{
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:100%!important;
    overflow:hidden!important;
  }

  body[data-view="month"] #monthScrollRegion,
  body[data-view="month"] .calendar-scroll-region{
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:100%!important;
    max-height:100%!important;
    overflow:hidden!important;
  }

  body[data-view="month"] #monthView,
  body[data-view="month"] .month-grid{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    grid-template-rows:44px repeat(6,minmax(0,1fr))!important;
    grid-auto-rows:unset!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:100%!important;
    max-height:100%!important;
    overflow:hidden!important;
  }

  body[data-view="month"] .weekday,
  body[data-view="month"] .day-cell,
  body[data-view="month"] .calendar-day,
  body[data-view="month"] .calendar-day-cell{
    min-width:0!important;
    min-height:0!important;
    max-width:none!important;
    overflow:hidden!important;
  }

  body[data-view="month"] .day-cell,
  body[data-view="month"] .calendar-day,
  body[data-view="month"] .calendar-day-cell{
    padding:8px!important;
  }

  body[data-view="month"] .event-chip{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:23px!important;
    min-height:23px!important;
    padding:4px 6px!important;
    margin:3px 0!important;
    overflow:hidden!important;
    font-size:10px!important;
  }

  body[data-view="month"] .event-chip-copy{
    display:block!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
  }

  body[data-view="month"] .day-cell:nth-child(7n),
  body[data-view="month"] .calendar-day:nth-child(7n),
  body[data-view="month"] .calendar-day-cell:nth-child(7n){
    padding-left:8px!important;
    padding-right:10px!important;
  }

  #calendarContentScroll > .calendar-content-grid > .day-panel,
  .day-panel{
    width:258px!important;
    min-width:258px!important;
    max-width:258px!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    padding:20px 18px!important;
    align-self:stretch!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    border-left:1px solid var(--line)!important;
    border-top:0!important;
  }

  .day-panel .day-card{
    min-width:0!important;
    width:100%!important;
    padding:14px!important;
  }
}

/* Fit the complete six-week month inside shorter desktop viewports instead of
   letting the last row disappear below the app frame. */
@media (min-width:981px) and (max-height:950px){
  body[data-view="month"] #calendarContentScroll,
  body[data-view="month"] .calendar-content-scroll,
  body[data-view="month"] .calendar-content-grid,
  body[data-view="month"] .calendar-view-stack,
  body[data-view="month"] #monthScrollRegion,
  body[data-view="month"] .calendar-scroll-region{
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    overflow:hidden!important;
  }

  body[data-view="month"] #monthView,
  body[data-view="month"] .month-grid{
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    grid-template-rows:42px repeat(6,minmax(0,1fr))!important;
  }

  body[data-view="month"] .day-cell,
  body[data-view="month"] .calendar-day,
  body[data-view="month"] .calendar-day-cell{
    min-height:0!important;
  }

  /* Keep a visible lower frame without consuming calendar row height. */
  .app,.calendar-app{padding-bottom:12px!important}
  .app::before{bottom:12px!important}
}
