.layout-actions{display:flex;gap:8px;align-items:center;margin-left:auto}.daily-intro{display:flex;justify-content:space-between;align-items:start;gap:12px}.daily-intro h2{font-size:1.5rem;margin-bottom:8px}.daily-intro .eyebrow{margin:0 0 8px}.daily-intro p{color:#647087}.daily-date{display:flex;align-items:center;gap:8px;margin-bottom:18px}.daily-date input{width:auto;min-width:0;flex:1}.daily-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.daily-summary>div{display:flex;flex-direction:column;gap:6px;padding:16px;background:#f1edf9;border-radius:12px}.daily-summary strong{font-size:1.45rem}.daily-summary span{font-size:.85rem;color:#655b78}.daily-tabs{display:flex;gap:8px;overflow:auto;margin-bottom:22px}.daily-tabs button{flex:1;white-space:nowrap;min-height:44px}.daily-tabs .active{background:#7565d8;color:white;border-color:#7565d8}.daily-section{margin-bottom:28px}.mobile-task-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.mobile-task-card{padding:18px;border:1px solid #e0e4ec;border-radius:12px;background:white;min-width:0}.mobile-task-card h3{font-size:1rem;line-height:1.5;margin:14px 0 6px}.mobile-task-card h3 button{font-size:inherit;line-height:inherit;overflow-wrap:anywhere;font-weight:600;min-height:40px}.mobile-task-project{font-size:.8rem;color:#67758b;overflow-wrap:anywhere;margin:0 0 14px}.mobile-task-facts{display:flex;gap:10px;flex-wrap:wrap;font-size:.8rem}.mobile-task-facts span{display:flex;flex-direction:column;gap:5px;padding-right:8px;color:#67758b}.mobile-task-facts b{font-size:.9rem;color:#293346}.mobile-task-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.mobile-task-actions button{min-height:44px;flex:1}.mobile-task-warning{font-size:.8rem;color:#966323}.mobile-task-warning summary{padding:10px 0}.mobile-menu-list{display:grid;gap:10px}.mobile-menu-list button{text-align:left;min-height:46px;padding:13px}.mobile-menu-list small{display:block;line-height:1.5;color:#647087;margin-top:6px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.mobile-bottom-nav{display:none}.mobile-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.mobile-week button{padding:8px 2px;background:#f3f6fb;display:flex;flex-direction:column;gap:6px;align-items:center;min-height:66px;min-width:0}.mobile-week small{font-size:.62rem;line-height:1.35}.mobile-week b{font-size:.7rem}.mobile-week .conflict{background:#ffe5e8;color:#a12e42}
html[data-layout=mobile] .shell{display:block;min-height:calc(100dvh - 60px)}
html[data-layout=mobile] .sidebar{display:none}
html[data-layout=mobile] .topbar{height:60px;padding:0 12px;gap:8px;position:sticky;top:0;z-index:8}
html[data-layout=mobile] .topbar .search,html[data-layout=mobile] .brand span,html[data-layout=mobile] .topbar .user-name,html[data-layout=mobile] .topbar .user .avatar{display:none}
html[data-layout=mobile] .brand img{width:48px;height:40px}
html[data-layout=mobile] .topbar button{min-height:42px;padding:7px 9px}
html[data-layout=mobile] .heading{padding:20px 16px 0}
html[data-layout=mobile] .heading-row{display:block}
html[data-layout=mobile] .heading h1{font-size:1.45rem;overflow-wrap:anywhere}
html[data-layout=mobile] .heading-row>.inline{margin-top:16px;gap:8px}
html[data-layout=mobile] .heading-row>.inline button{font-size:.78rem;min-height:40px;flex:1 1 130px}
html[data-layout=mobile] .tabs{gap:18px;margin-top:20px;overscroll-behavior-x:contain}
html[data-layout=mobile] .tabs button{min-height:44px}
html[data-layout=mobile] .workspace{padding:18px 14px calc(100px + env(safe-area-inset-bottom))}
html[data-layout=mobile] .mobile-bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;z-index:15;background:#fff;border-top:1px solid #dedfe7;padding:6px 4px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -3px 18px #2732450a}
html[data-layout=mobile] .mobile-bottom-nav button{border:0;border-radius:8px;background:none;min-height:54px;padding:6px 2px;font-size:.65rem;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center}
html[data-layout=mobile] .mobile-bottom-nav button span{font-size:1.15rem;line-height:1}
html[data-layout=mobile] .mobile-bottom-nav button[aria-current=page]{background:#f0eafa;color:#6a50b2;font-weight:700}
html[data-layout=mobile] .project-grid,html[data-layout=mobile] .grid2,html[data-layout=mobile] .form-grid,html[data-layout=mobile] .mobile-task-list{grid-template-columns:minmax(0,1fr)}
html[data-layout=mobile] .stats,html[data-layout=mobile] .control-cards,html[data-layout=mobile] .metric-grid,html[data-layout=mobile] .production-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
html[data-layout=mobile] .stat,html[data-layout=mobile] .metric-card,html[data-layout=mobile] .control-card{padding:14px;overflow-wrap:anywhere}
html[data-layout=mobile] .panel{padding:16px;margin-bottom:18px}
html[data-layout=mobile] .production-grid>div{padding:12px;overflow-wrap:anywhere}
html[data-layout=mobile] .production-grid strong{font-size:1.1rem}
html[data-layout=mobile] .row-between{flex-wrap:wrap}
html[data-layout=mobile] .toolbar{gap:8px;align-items:stretch}
html[data-layout=mobile] .toolbar .spacer{display:none}
html[data-layout=mobile] .toolbar select{max-width:100%;flex:1 1 140px}
html[data-layout=mobile] button{touch-action:manipulation}
html[data-layout=mobile] input,html[data-layout=mobile] select,html[data-layout=mobile] textarea{font-size:16px;min-height:44px}
html[data-layout=mobile] input[type=checkbox]{min-height:22px;width:22px;height:22px;flex-shrink:0}
html[data-layout=mobile] label{font-size:.9rem}
html[data-layout=mobile] dialog,html[data-layout=mobile] dialog.sheet{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;top:0;left:0;right:0;bottom:0;margin:0;border-radius:0;border:0;overflow:auto;padding:18px 16px calc(24px + env(safe-area-inset-bottom))}
html[data-layout=mobile] .dialog-head{position:sticky;top:-18px;z-index:3;background:#fff;padding:14px 0;margin-bottom:20px}
html[data-layout=mobile] .dialog-head .close{min-width:44px;min-height:44px}
html[data-layout=mobile] .form-actions button{min-height:46px;flex:1}
html[data-layout=mobile] .detail-grid{grid-template-columns:100px minmax(0,1fr);gap:12px;font-size:.8rem}
html[data-layout=mobile] .detail-grid dd{overflow-wrap:anywhere}
html[data-layout=mobile] .person{white-space:normal}
html[data-layout=mobile] .detail-title{font-size:1.2rem;overflow-wrap:anywhere}
html[data-layout=mobile] #toast{bottom:calc(84px + env(safe-area-inset-bottom));z-index:30}
html[data-layout=mobile] .table-wrap{border:0;overflow:visible}
html[data-layout=mobile] .task-table{display:block;width:100%;min-width:0}
html[data-layout=mobile] .task-table thead{display:none}
html[data-layout=mobile] .task-table tbody{display:block}
html[data-layout=mobile] .task-table tr{display:block;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:12px}
html[data-layout=mobile] .task-table td{display:flex;align-items:start;justify-content:space-between;gap:14px;padding:9px 0;overflow-wrap:anywhere;flex-wrap:wrap}
html[data-layout=mobile] .task-table td:before{content:attr(data-label);color:#67758b;font-size:.78rem;flex:0 0 38%}
html[data-layout=mobile] .task-table td[data-label='']:before{display:none}
html[data-layout=mobile] .task-table td>*{max-width:100%;min-width:0}
html[data-layout=mobile] .board{grid-template-columns:repeat(5,minmax(270px,82vw));scroll-snap-type:x proximity}
html[data-layout=mobile] .column{scroll-snap-align:start}
html[data-layout=mobile] .gantt .name{min-width:140px;max-width:140px;width:140px}
html[data-layout=mobile] .gantt .name button{width:116px;white-space:normal;font-size:.75rem}
html[data-layout=mobile] .gantt-wrap{max-height:65dvh}
html[data-layout=mobile] .metrics-filters{display:grid;grid-template-columns:1fr}
html[data-layout=mobile] .metrics-filters label{min-width:0}
html[data-layout=mobile] .metric-card strong,html[data-layout=mobile] .metric-card strong button{font-size:1.15rem}
html[data-layout=mobile] .comparison-row{grid-template-columns:1fr;gap:5px}
html[data-layout=mobile] .trend-row{grid-template-columns:60px 1fr 45px;font-size:.8rem}
html[data-layout=mobile] .trend-row small{display:none}
html[data-layout=mobile] .org-scroll{padding:12px 0;overflow:auto}
html[data-layout=mobile] .org-tree{display:block;min-width:0}
html[data-layout=mobile] .org-tree ul{display:block;padding:0;margin:0}
html[data-layout=mobile] .org-tree li{display:block;padding:0 0 16px;position:relative}
html[data-layout=mobile] .org-tree ul ul{margin:16px 0 0 18px;padding-left:14px;border-left:2px solid #bec8d7}
html[data-layout=mobile] .org-tree ul ul:before,html[data-layout=mobile] .org-tree li:after{display:none}
html[data-layout=mobile] .org-tree ul ul>li:before{display:block;content:'';position:absolute;left:-14px;right:auto;top:34px;width:14px;height:0;border:0;border-top:2px solid #bec8d7;border-radius:0}
html[data-layout=mobile] .org-card{width:100%;min-width:160px;display:grid;grid-template-columns:44px minmax(0,1fr);text-align:left;gap:7px 12px;padding:14px}
html[data-layout=mobile] .org-card .org-photo{width:44px;height:44px;grid-row:1/4;grid-column:1}
html[data-layout=mobile] .org-card .org-role,html[data-layout=mobile] .org-card strong,html[data-layout=mobile] .org-card small{grid-column:2;overflow-wrap:anywhere}
html[data-layout=mobile] .org-card .org-actions{grid-column:1/-1;justify-content:start;flex-wrap:wrap}
html[data-layout=mobile] .org-actions button{min-height:42px}
html[data-layout=mobile] .login{width:calc(100% - 28px);max-width:470px;margin:30px auto;padding:24px}
/* Explicit desktop mode keeps the full workspace; View stays reachable on narrow screens. */
@media(max-width:820px){html[data-layout=desktop] .shell{display:grid;grid-template-columns:220px minmax(780px,1fr);min-width:1000px}html[data-layout=desktop] .sidebar{display:flex;flex-direction:column;padding:22px 14px;overflow:visible}html[data-layout=desktop] .sidebar .eyebrow,html[data-layout=desktop] .sidebar footer{display:block}html[data-layout=desktop] .sidebar .project-nav{display:flex}html[data-layout=desktop] .topbar{position:sticky;left:0;top:0;z-index:8;width:100vw;gap:8px;padding:0 10px}html[data-layout=desktop] .topbar .search{display:none}html[data-layout=desktop] .brand span{display:none}html[data-layout=desktop] .heading-row{flex-wrap:nowrap}html[data-layout=desktop] .form-grid{grid-template-columns:1fr 1fr}}

html[data-layout=mobile] .mobile-filter-search{flex:1 1 100%;width:100%}

html[data-layout=mobile] .content{max-width:780px;margin:0 auto;width:100%}
