.object-menu{position:relative;flex:none;display:inline-block}
html[data-theme] .object-menu>summary{list-style:none;cursor:pointer;padding:0;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--ws-line);border-radius:8px;color:var(--ws-text);background:var(--ws-surface)}
.object-menu>summary::-webkit-details-marker{display:none}
.object-menu svg,.subpage-back svg{width:22px;height:22px;flex:none}
html[data-theme] .object-menu-items{position:absolute;right:0;top:calc(100% + 4px);z-index:30;min-width:160px;border:1px solid var(--ws-line);background:var(--ws-surface);border-radius:8px;padding:4px;box-shadow:0 4px 16px #0002}
html[data-theme] .object-menu-items button{display:flex;gap:10px;align-items:center;border:0;box-shadow:none;background:transparent;color:var(--ws-text);width:100%;text-align:left;min-height:44px;padding:10px;font-size:14px}
html[data-theme] .object-menu-items .object-delete{color:var(--ws-danger,#b3261e)}
html[data-theme] .object-menu-items button:hover{background:var(--ws-hover,#e8edf5)}
.task-card-top{justify-content:space-between;align-items:center}.task-card-top .object-menu{margin-left:auto}
.hero-title-row{display:flex;align-items:center;gap:12px;min-width:0}
html[data-theme] .hero-title-row h1{margin:0;min-width:0}.hero-title-row .subpage-back{display:grid;place-items:center;flex:none;width:44px;height:44px;min-height:44px;padding:0}
.calendar-stage-navigation{display:flex;gap:8px;align-items:center;min-width:0}.calendar-stage-navigation a{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0}
html[data-theme] .calendar-sidebar .calendar-controls{display:block}.calendar-controls>a{width:100%}
html[data-theme] .calendar-legend-head{flex-wrap:wrap;gap:8px}.calendar-legend-head h2{flex:1;min-width:130px}
.calendar-label-editor{position:relative;flex:none}
html[data-theme] .calendar-legend .calendar-label-editor>summary{font-size:12px;padding:8px;min-height:36px;display:flex;align-items:center;border:1px solid var(--ws-line);border-radius:6px;color:var(--ws-accent,#0b57d0);cursor:pointer;list-style:none}
.calendar-legend .calendar-label-editor .create-content{position:absolute;left:0;bottom:calc(100% + 8px);background:var(--ws-surface);border:1px solid var(--ws-line);border-radius:8px;padding:16px;width:290px;max-height:400px;overflow:auto;z-index:40;box-shadow:0 4px 16px #0002}
.calendar-legend .calendar-label-form{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}.calendar-label-form[hidden]{display:none!important}
.calendar-event-actions{display:flex;align-items:center;gap:8px}
.hub-modal-head>.object-menu{margin-left:auto}.hub-modal-head .object-menu+button{margin-left:8px}
@media(max-width:900px){.calendar-legend .calendar-label-editor .create-content{top:calc(100% + 8px);bottom:auto;max-height:calc(100dvh - 240px)}.calendar-stage-head>span{display:none}.calendar-stage-navigation{gap:4px}.calendar-stage-navigation a{width:40px;height:40px;min-height:40px}.calendar-legend-head h2{min-width:0}.hero-title-row{gap:8px}}

html[data-theme] main.home-page{max-width:none;width:100%;margin:0;padding:24px 32px;min-height:calc(100dvh - 180px)}
html[data-theme] main.home-page.with-sidebar{padding-left:274px}
.dashboard-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start;min-width:0}
html[data-theme] .dashboard-panels>:is(.panel,.grid,.admin-task-grid){margin:0;min-width:0}
.dashboard-panels>.identity-card{grid-column:1/-1}.dashboard-panels>.admin-task-grid{grid-column:1/-1}
.dashboard-panels .row>div:first-child{min-width:0;overflow-wrap:anywhere}.dashboard-panels .row{gap:12px}
@media(min-width:1600px){.dashboard-panels{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-panels>.identity-card{grid-column:span 2}.dashboard-panels>.admin-task-grid{grid-column:span 2}}
@media(max-width:900px){html[data-theme] main.home-page,html[data-theme] main.home-page.with-sidebar{padding:16px}.dashboard-panels{grid-template-columns:minmax(0,1fr);gap:16px}.dashboard-panels>.identity-card,.dashboard-panels>.admin-task-grid{grid-column:1}}

html[data-theme] .calendar-legend-head{flex-wrap:nowrap}
html[data-theme] .calendar-legend .calendar-label-editor{position:static;border:0;padding:0}
html[data-theme] .calendar-legend .calendar-label-editor>summary,html[data-theme] .calendar-legend .calendar-new-label>summary{display:grid;place-items:center;width:36px;height:36px;min-height:36px;padding:0;font-size:20px}
.calendar-label-editor>summary svg{width:18px;height:18px}
html[data-theme] .calendar-legend .calendar-label-editor .create-content{left:0;bottom:calc(100% - 48px);padding:16px;width:100%;max-width:310px}
html[data-theme] .home-page .home-progress{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){html[data-theme] .calendar-legend .calendar-label-editor .create-content{bottom:auto;top:46px}}

/* Fixed dashboard: profile and inbox on the left, operational panels on the right. */
html[data-theme] main.home-page{padding:16px 24px;min-height:0}
.home-page+.hub-footer{display:none}
.dashboard-workspace{display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px;height:var(--dashboard-height,calc(100dvh - 170px));min-height:0}
.dashboard-sidebar{display:flex;flex-direction:column;gap:16px;min-width:0;min-height:0}
.dashboard-inbox{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;display:flex;flex-direction:column;gap:16px;padding-right:4px}
html[data-theme] .dashboard-sidebar .panel{padding:16px;margin:0;min-width:0}
html[data-theme] .dashboard-sidebar .identity-card{display:flex;flex-direction:column;align-items:flex-start;flex:none;gap:12px}
html[data-theme] .dashboard-sidebar .identity-image{width:64px;height:64px;min-width:64px;flex:0 0 64px;border-radius:16px;font-size:24px}
.dashboard-sidebar .identity-details{width:100%;min-width:0;overflow-wrap:anywhere}
html[data-theme] .dashboard-sidebar .identity-details .section-head{flex-direction:column;align-items:flex-start;gap:10px}
html[data-theme] .dashboard-sidebar .identity-details h2{font-size:20px}
html[data-theme] .dashboard-sidebar .identity-details p{font-size:12px;margin:8px 0 0;line-height:1.5}
html[data-theme] .dashboard-sidebar .identity-details .button{font-size:12px;min-height:36px;padding:8px 12px}
html[data-theme] .dashboard-sidebar .panel h2{font-size:17px;line-height:1.4}
html[data-theme] .dashboard-inbox .row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 0;align-items:start}
html[data-theme] .dashboard-inbox .row strong{font-size:13px;line-height:1.45;overflow-wrap:anywhere}
html[data-theme] .dashboard-inbox .row small{font-size:11px;line-height:1.5}
html[data-theme] .dashboard-inbox .row .button{min-height:40px;font-size:12px;padding:8px 10px}
.dashboard-main{min-width:0;min-height:0;overflow:auto;scrollbar-width:thin;overscroll-behavior:contain;padding-right:4px}
html[data-theme] .dashboard-main>.hero{margin:0 0 20px}.dashboard-main .dashboard-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.dashboard-panels>.home-summary,.dashboard-panels>.home-progress,.dashboard-panels>.admin-task-grid{grid-column:1/-1}
html[data-theme] .dashboard-panels>.admin-task-grid{gap:16px}
html[data-theme] .dashboard-panels :is(.home-summary,.home-progress){grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media(min-width:1800px){.dashboard-workspace{grid-template-columns:360px minmax(0,1fr)}.dashboard-main .dashboard-panels{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-panels>.home-summary,.dashboard-panels>.home-progress{grid-column:span 1}.dashboard-panels>.admin-task-grid{grid-column:span 2}}
@media(max-width:1100px) and (min-width:901px){.dashboard-workspace{grid-template-columns:280px minmax(0,1fr);gap:14px}.dashboard-main .dashboard-panels{grid-template-columns:minmax(0,1fr)}.dashboard-panels>.admin-task-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px){html[data-theme] main.home-page{padding:12px}.dashboard-workspace{display:flex;flex-direction:column;height:auto;gap:16px}.dashboard-sidebar{display:block}.dashboard-sidebar>.identity-card{margin-bottom:16px!important}.dashboard-inbox,.dashboard-main{overflow:visible;padding:0}.dashboard-main .dashboard-panels{grid-template-columns:minmax(0,1fr)}.dashboard-inbox .row{align-items:center}.dashboard-main>.hero{margin-top:8px!important}}

html[data-theme] .dashboard-panels :is(.home-summary,.home-progress) .card{padding:16px}
html[data-theme] .dashboard-panels :is(.home-summary,.home-progress) h3{font-size:14px;margin:0 0 8px}
html[data-theme] .dashboard-panels :is(.home-summary,.home-progress) p{font-size:12px;margin:0 0 10px}
html[data-theme] .dashboard-panels .number{font-size:28px;line-height:1.2}

html[data-theme] .home-page .dashboard-sidebar .page-sidebar{position:static;inset:auto;width:100%;height:auto;max-height:none;padding:0;background:transparent;border:0;overflow:visible}
.dashboard-panels>.client-service-cards,.dashboard-panels>.linear-section{grid-column:1/-1}

.location-card{border:1px solid var(--ws-line);border-radius:8px;overflow:hidden;margin:12px 0;background:var(--ws-surface)}
.location-card>.section-head{padding:12px 16px;gap:12px;align-items:center;flex-wrap:wrap;margin:0}.location-card h3{font-size:14px;margin:0 0 4px}.location-card p{font-size:13px;margin:0;overflow-wrap:anywhere}.location-card .button{white-space:nowrap}.location-map{display:block;border:0;width:100%;height:180px}.location-input{min-width:0}.location-card .section-head>div{min-width:0;flex:1}
