/* 0.3.1 — calendar above the table; one shared supporting pane.
   Breakpoints follow available CSS space, not device model or physical inches. */
.workspace-top{display:flex;flex-direction:column;flex:0 0 auto;min-width:0;gap:7px}
.focus-shell .focus-body{padding-top:10px;gap:8px}
.focus-shell .workspace-top .calendar-ribbon{
 display:grid;grid-template-columns:140px minmax(0,1fr) 104px;gap:12px;
 align-items:center;padding:8px 12px;margin:0;min-width:0;border-radius:9px;
 background:linear-gradient(115deg,#d6bf8611,#9db69e07);border:1px solid #a5bc9b32;
}
.focus-shell .calendar-ribbon .calendar-label{display:flex;flex-direction:column;gap:6px;margin:0;min-width:0}
.focus-shell .calendar-ribbon .eyebrow{font-size:9px;letter-spacing:1.2px;white-space:nowrap;display:flex;align-items:center;gap:6px}
.calendar-now{display:flex;align-items:center;gap:9px;color:#b6c8b7;font-size:12px}
.calendar-now b{font-size:10px;color:#e5c987;font-weight:500;white-space:nowrap}
.focus-shell .calendar-ribbon .calendar-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:5px;overflow:visible;min-width:0;width:100%}
.focus-shell .calendar-ribbon .month{
 height:48px;min-height:48px;min-width:0;padding:6px 2px;display:flex;flex-direction:column;gap:3px;
 background:#0c241cc4;border:1px solid #a9bf9d24;border-radius:6px;overflow:visible;
}
.focus-shell .calendar-ribbon .month .mon{font-size:11px;font-weight:600;line-height:13px;letter-spacing:1px;color:#c3d2c0;margin:0}
.focus-shell .calendar-ribbon .month .num{display:block;font-size:9px;line-height:11px;color:#819b86;letter-spacing:1px}
.focus-shell .calendar-ribbon .month.current{border-color:#dbbe798c;background:#e1c48518;box-shadow:inset 0 0 0 1px #e1c48512}
.focus-shell .calendar-ribbon .month.current .mon{color:#f4d699}
.focus-shell .calendar-ribbon .month.current .num{visibility:hidden}
.focus-shell .calendar-ribbon .month.current .cube{width:9px;height:9px;bottom:8px;left:calc(50% - 4.5px);top:auto;box-shadow:1px 2px 3px #0009}
.focus-shell .calendar-ribbon .month.past{opacity:.55}
.focus-shell .calendar-ribbon .calendar-cards{position:absolute;left:0;right:0;bottom:-4px;height:9px;display:flex;justify-content:center;align-items:center;gap:2px;pointer-events:none}
.focus-shell .calendar-ribbon .tiny-card{width:6px;height:9px;border-radius:1px;box-shadow:0 1px 2px #0005}
.focus-shell .calendar-ribbon .calendar-cards>span{font-size:8px}
.focus-shell .calendar-ribbon .calendar-caption{display:flex;justify-content:center;align-items:center;margin:0;min-width:0}
.focus-shell .calendar-ribbon .calendar-caption>span{display:none}
.focus-shell .calendar-ribbon .calendar-caption button{font-size:10px;min-height:44px;width:100%;padding:6px;display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;border:1px solid #dec48024;border-radius:6px}
.focus-shell .calendar-ribbon .calendar-caption button b{color:#ecce88;font-size:12px}
.focus-shell .calendar-ribbon .calendar-caption .icon{width:13px;height:13px}
.focus-shell.physical-shell .workspace-top .calendar-ribbon{grid-template-columns:140px minmax(0,1fr)}
/* Participants and tools share one line. Names may ellipsize, never overlap controls. */
.focus-shell .workspace-top .table-tools{display:flex;align-items:center;gap:16px;min-height:43px;height:43px;flex:0 0 43px;margin:0;padding:0 2px 5px}
.table-members{flex:1;min-width:0;overflow:visible}
.focus-shell .table-members .seats{display:flex;height:36px;min-height:36px;flex-basis:auto;justify-content:flex-start;gap:16px;align-items:center;margin:0}
.focus-shell .table-members .seat{height:34px;max-width:180px;flex:0 1 155px;grid-template-columns:28px minmax(0,1fr);column-gap:7px;min-height:0}
.focus-shell .table-members .seat-name{font-size:12px;max-width:none}
.focus-shell .table-members .seat .avatar{width:27px;height:27px;font-size:12px}
.focus-shell .table-members .seat-label{font-size:9px}
.focus-shell .table-tool-actions{flex:0 0 auto}
.focus-shell .table-tool-actions>.btn{min-height:36px;min-width:36px}
.focus-shell .month-toggle,.focus-shell .mobile-leader{display:none}
.focus-shell .board-grid{position:relative}
.focus-shell .left-sidebar{padding-top:3px}
/* Keep supporting content a single component for diary/chat/call/calendar. */
.focus-shell .panel-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:0 10px 9px;min-width:0}
.focus-shell .panel-tabs button{position:relative;display:flex;align-items:center;justify-content:center;gap:4px;min-height:38px;padding:6px 3px;font-size:11px;white-space:nowrap}
.focus-shell .panel-tabs button .icon{width:14px;height:14px;flex-shrink:0}
.focus-shell .panel-tabs button .call-live-indicator{position:absolute;right:3px;top:0}
.focus-shell .call-toolbar-label .chat-state{font-size:9px;margin-left:auto}
.focus-shell .diary-summary{display:flex;flex:0 0 auto;gap:8px;padding:12px;border-bottom:1px solid #91b29326;justify-content:space-between}
.diary-summary>span{font-size:11px;color:#a8c1ad;display:flex;flex-direction:column;gap:3px}
.diary-summary b{font-family:var(--serif);font-weight:400;color:#e6cf9e;font-size:23px}
.focus-shell .diary-scroll{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;padding:0 15px;scrollbar-width:thin;outline-offset:-4px}
.focus-shell .diary-scroll .log-entry{padding:14px 0;border-bottom:1px solid #a4bfa324}
.focus-shell .diary-scroll .log-entry-label{font-size:10px;letter-spacing:.4px;margin-bottom:6px;display:flex;gap:9px;align-items:center;color:#9eb7a3}
.focus-shell .diary-scroll .log-round{border:1px solid #bcb6873b;border-radius:3px;padding:3px 5px;color:#d5c391;font-size:9px}
.focus-shell .diary-scroll .log-entry-text{font-size:16px;line-height:1.55;color:#d6e1d3;overflow-wrap:anywhere}
.focus-shell .diary-actions{flex:0 0 auto;border-top:1px solid #8ea98f30;padding:10px 12px 12px}
.diary-actions>p{font-size:11px;color:#9fb9a6;margin:0 0 9px;line-height:1.5}
.diary-actions>div{display:flex;gap:7px}
.focus-shell .diary-actions .btn{flex:1;min-height:38px;font-size:12px;justify-content:center}
.focus-shell .calendar-scroll{flex:1;min-height:0;overflow:auto;padding:15px;overscroll-behavior:contain;scrollbar-width:thin}
.focus-shell .calendar-scroll .calendar-panel,.dashboard-modal-metrics~.calendar-panel{padding:12px}
.focus-shell .calendar-scroll .calendar-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.focus-shell .calendar-scroll .calendar-label{display:flex;flex-direction:column;gap:8px;align-items:flex-start;margin-bottom:15px}
.focus-shell .calendar-scroll .calendar-label .eyebrow{font-size:11px}
.focus-shell .calendar-scroll .month{height:57px;min-height:57px;display:flex;flex-direction:column;gap:5px}
.focus-shell .calendar-scroll .month .mon{font-size:12px}
.focus-shell .calendar-scroll .month .num{display:block;font-size:10px;line-height:12px;color:#98b298}
.focus-shell .calendar-scroll .month.current .num{visibility:hidden}
.focus-shell .calendar-scroll .month.current .cube{width:8px;height:8px;bottom:12px;left:calc(50% - 4px)}
.focus-shell .calendar-scroll .calendar-cards{bottom:2px;height:8px}
.focus-shell .calendar-scroll .tiny-card{width:5px;height:7px}
.focus-shell .calendar-scroll .calendar-caption button{min-height:36px;gap:7px;display:flex;align-items:center;font-size:12px}
.calendar-panel-legend{font-size:13px;line-height:1.6;color:#a9c2b0;margin:12px 0 18px}
.panel-members{border-top:1px solid #98b69533;padding-top:12px}
.panel-members h3{font-size:15px;display:flex;align-items:center;gap:8px;color:#dfd9bd;margin:0 0 12px}
.focus-shell .panel-members .seats{display:flex!important;flex-direction:column;height:auto;gap:12px;margin:0;align-items:stretch}
.focus-shell .panel-members .seat{display:grid!important;grid-template-columns:30px minmax(0,1fr);height:auto!important;max-width:none;width:100%;gap:2px 8px;min-height:34px}
.focus-shell .panel-members .seat .avatar{grid-row:1/3;width:28px;height:28px;font-size:13px}
.focus-shell .panel-members .seat-name{display:block;font-size:14px;max-width:none}
.focus-shell .panel-members .seat-label{display:block;font-size:11px}
.panel-members>p{display:flex;gap:7px;color:#e0c482;font-size:12px;align-items:center;margin-top:16px}
.focus-shell .header-fullscreen{display:flex!important}
.top-actions .btn:focus-visible,.panel-tabs button:focus-visible,.month:focus-visible,.table-tools button:focus-visible{outline:2px solid #e7c578;outline-offset:2px}
/* On smaller desktops, overlay only the shared pane. Calendar and tools stay available. */
@media(min-width:851px) and (max-width:1350px){
 .focus-shell .right-sidebar{position:absolute;top:0;right:0;bottom:0;width:365px;max-width:calc(100% - 20px);z-index:25;box-shadow:-16px 0 42px #0008}
 .focus-shell .table-members .seats{gap:10px}
 .focus-shell .table-members .seat{flex:0 1 130px}
 .focus-shell .table-members .seat-name{font-size:11px}
 .focus-shell .table-members .seat-label{font-size:8px}
 .focus-shell .table-tool-actions>.btn{font-size:11px;padding:6px 8px}
 .focus-shell .workspace-top .calendar-ribbon{grid-template-columns:125px minmax(0,1fr) 90px;gap:9px}
 .focus-shell .calendar-ribbon .month .mon{font-size:10px;letter-spacing:.6px}
 .focus-shell .calendar-ribbon .calendar-caption button{font-size:9px}
}
@media(min-width:851px) and (max-width:1050px){
 .focus-shell .table-members .seat-you{display:none}
 .focus-shell .table-members .seat{grid-template-columns:23px minmax(0,1fr);gap:5px}
 .focus-shell .table-members .seat .avatar{width:23px;height:23px}
 .focus-shell .table-tool-actions .call-tool>span{display:none}
 .focus-shell .workspace-top .calendar-ribbon{grid-template-columns:112px minmax(0,1fr);gap:10px}
 .focus-shell .calendar-ribbon .calendar-caption{display:none}
}
/* Sidebar no longer contains a calendar: retain visible tracks and goal at laptop height. */
@media(min-width:851px) and (max-height:820px){
 .focus-shell .left-sidebar{gap:8px}
 .focus-shell .metric{padding:11px 12px 8px}
 .focus-shell .metric-title{margin-bottom:10px}
 .focus-shell .metric-value{font-size:25px}
 .focus-shell .metric-foot{margin-top:5px}
 .focus-shell .goal-box{padding:9px 10px}
 .focus-shell .goal-box p{font-size:11px;margin:5px 0}
 .focus-shell .workspace-top .calendar-ribbon{padding-top:6px;padding-bottom:6px}
 .focus-shell .calendar-ribbon .month{height:42px;min-height:42px}
 .focus-shell .calendar-ribbon .month.current .cube{bottom:5px}
}
@media(min-width:851px) and (max-height:650px){
 .focus-shell .left-sidebar{gap:6px}
 .focus-shell .left-sidebar>.section-label{display:none}
 .focus-shell .metric{padding:8px 11px 6px}
 .focus-shell .metric-title{margin-bottom:5px}
 .focus-shell .metric-value{font-size:23px}
 .focus-shell .metric-foot{font-size:7px;min-height:10px;margin-top:3px}
 .focus-shell .goal-box{padding:7px 9px}
 .focus-shell .goal-box p{font-size:10px;line-height:1.4;margin:4px 0}
 .focus-shell .goal-danger{font-size:9px}
}
/* Phone: months on demand, card remains primary. One uniform full-height supporting pane. */
@media(max-width:850px){
 .focus-shell .focus-body{padding:4px 8px calc(7px + env(safe-area-inset-bottom));gap:4px}
 .workspace-top{gap:4px}
 .focus-shell .workspace-top .calendar-ribbon{display:none}
 .focus-shell .table-members{display:none}
 .focus-shell .workspace-top .table-tools{height:41px;min-height:41px;flex-basis:41px;gap:6px;margin:0;padding:0 0 4px}
 .focus-shell .month-toggle{display:flex!important;align-items:center;justify-content:center;gap:5px;min-height:36px;min-width:85px;padding:5px 6px;border-color:#debf7345;font-size:11px;flex:0 0 auto;color:#d4c18c}
 .focus-shell .month-toggle .icon{width:15px;height:15px}
 .focus-shell .month-toggle b{font-size:11px;letter-spacing:.5px}
 .focus-shell .month-toggle>span{display:inline!important;color:#9ab59d;font-size:10px}
 .focus-shell .mobile-leader{display:flex;align-items:center;gap:4px;color:#b6c8b7;min-width:0;font-size:11px;max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .focus-shell .mobile-leader .icon{width:12px;height:12px;color:#d8bb79;flex-shrink:0}
 .focus-shell .table-tool-actions{margin-left:auto;gap:4px}
 .focus-shell .table-tool-actions>.btn{min-height:36px;min-width:36px;padding:6px 7px}
 .focus-shell .table-tool-actions .dashboard-tool{display:none}
 .focus-shell .table-tool-actions .btn>.icon{width:17px;height:17px}
 .focus-shell .table-tool-actions [data-act="toggle-chat"]>span{display:inline;font-size:11px}
 .focus-shell .right-sidebar{position:fixed;inset:48px 0 0;width:100%;max-width:none;border-radius:0;padding-bottom:env(safe-area-inset-bottom);background:#102a23;box-shadow:none}
 .focus-shell .aside-head{padding:12px 14px;min-height:60px}
 .focus-shell .aside-head .mobile-chat-close{min-height:40px;min-width:40px}
 .focus-shell .panel-tabs{gap:6px;padding:0 14px 10px}
 .focus-shell .panel-tabs button{min-height:42px;padding:7px 4px;font-size:12px}
 .focus-shell .panel-tabs button .icon{width:14px;height:14px}
 .focus-shell .diary-scroll .log-entry-text{font-size:17px;line-height:1.6}
 .focus-shell .diary-actions .btn{min-height:42px}
 .focus-shell .header-fullscreen{min-width:34px}
 .focus-shell .calendar-scroll .calendar-row{grid-template-columns:repeat(3,minmax(0,1fr))}
 .focus-shell .calendar-scroll .month{min-height:56px}
 .focus-shell .calendar-scroll .calendar-label .calendar-now{display:flex}
 .focus-shell .panel-members .seat-you{display:inline}
}
@media(max-width:390px){.focus-shell .mobile-leader{display:none}.focus-shell .table-tool-actions{gap:4px}.focus-shell .month-toggle{min-width:84px}.focus-shell .top-actions{gap:0}.focus-shell .top-actions .btn{padding:5px;min-width:32px}}
@media(max-width:340px){.focus-shell .tavola-logo{width:61px}.focus-shell .wordmark{font-size:14px}.focus-shell .brand{gap:6px}.focus-shell .brand-divider{display:none}.focus-shell .table-tool-actions [data-act="toggle-chat"]>span{display:none}.focus-shell .panel-tabs button{font-size:10px}.focus-shell .panel-tabs button .icon{display:none}}
@media(max-height:480px){
 .focus-shell .workspace-top .calendar-ribbon{display:none}
 .focus-shell .compact-health{display:none}
 .focus-shell .table-members{display:none}
 .focus-shell .month-toggle{display:flex!important;align-items:center;gap:5px;min-height:32px;font-size:11px}
 .focus-shell .workspace-top .table-tools{min-height:34px;height:34px;flex-basis:34px}
 .focus-shell .focus-body{padding-top:3px}
 .focus-shell .topbar{height:42px;min-height:42px;flex-basis:42px}
 .focus-shell .right-sidebar{top:42px}
}
@media(prefers-reduced-motion:reduce){.calendar-ribbon .month{transition:none}}

@media(min-width:851px) and (max-height:650px){.focus-shell .left-sidebar{gap:5px;padding-bottom:2px}}

@media(min-width:376px) and (max-width:850px){.focus-shell .card-reading{padding-bottom:7px}}
