/* 项目工作台 · 只在新版设计令牌和组件语汇内扩展 */
.room-breadcrumb:hover{color:var(--brand)}
.room-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s32);margin-top:var(--s16)}
.room-meta{display:flex;flex-wrap:wrap;gap:var(--s8);margin-top:var(--s24)}
.room-meta .chip{margin-left:0}
.room-workspace{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:var(--s32);align-items:start}
.room-workspace-main{min-width:0}
.room-tabs{max-width:100%;overflow-x:auto;scrollbar-width:none}
.room-tabs::-webkit-scrollbar{display:none}
.room-panel{margin-top:var(--s24);min-height:420px}
.room-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s24)}
.room-panel-head h2{margin-top:var(--s8)}
.room-panel-head .small{max-width:38em;margin-top:var(--s8)}
.room-resource-filters{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(180px,.6fr) auto;align-items:end;gap:var(--s16);margin-top:var(--s24)}
.room-resource-filters label{display:flex;flex-direction:column;gap:var(--s8);font-size:13px;color:var(--label-2)}
.room-resource-filters input,.room-resource-filters select,.room-resource-filters button{min-height:44px}
.room-resource-filters input,.room-resource-filters select{width:100%;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);padding:10px 12px;color:var(--label);font:inherit;font-size:15px;outline:0}
.room-resource-filters input:focus,.room-resource-filters select:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-0)}
.room-resource-filters button{white-space:nowrap}
.room-resource-filters+.room-list{margin-top:var(--s16)}
.room-list{margin-top:var(--s24);border-top:1px solid var(--hair)}
.room-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s16);padding:var(--s24) 0;border-bottom:1px solid var(--hair)}
.room-item-main{min-width:0}
.room-item h3{font-size:17px;font-weight:600;line-height:1.3;letter-spacing:-.022em;text-wrap:balance}
.room-item p{font-size:15px;line-height:1.4;color:var(--label-2);margin-top:var(--s8);overflow-wrap:anywhere}
.room-item-meta{display:flex;flex-wrap:wrap;gap:var(--s8);margin-top:var(--s16)}
.room-item-meta span{font-size:12px;color:var(--label-2);border:1px solid var(--line);border-radius:999px;padding:4px 8px}
.room-item-actions{display:flex;align-items:flex-start;gap:var(--s8);flex-wrap:wrap;justify-content:flex-end}
.room-item-actions a,.room-item-actions button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 var(--s16);border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--label);font:inherit;font-size:15px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}
.room-item-actions a:hover,.room-item-actions button:hover{border-color:var(--brand-1);background:var(--brand-0);color:var(--brand)}
.room-member-governance .room-item-actions button,[data-room-members] .room-item-actions button,.room-member-role{min-height:44px}
.room-member-role{border:1px solid var(--line);border-radius:999px;padding:0 var(--s12);background:var(--card);color:var(--label);font:inherit;font-size:13px}
.room-invite-online{flex-direction:row;align-items:center;min-height:44px}
.room-invite-online input{width:18px;min-height:18px}
.room-state{display:flex;align-items:center;min-height:96px;padding:var(--s24) 0;font-size:15px;color:var(--label-2)}
.room-form{margin-top:var(--s24);padding:var(--s24);border:1px solid var(--hair);border-radius:var(--r-lg);background:var(--card)}
.room-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s16)}
.room-form label{display:flex;flex-direction:column;gap:var(--s8);font-size:13px;color:var(--label-2)}
.room-form label+label{margin-top:var(--s16)}
.room-form-grid label+label{margin-top:0}
.room-form input,.room-form select,.room-form textarea{width:100%;min-height:44px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);padding:10px 12px;color:var(--label);font:inherit;font-size:15px;outline:0}
.room-form textarea{resize:vertical}
.room-form input:focus,.room-form select:focus,.room-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-0)}
.room-form input[type="file"]{min-height:44px;padding:6px 8px}
.room-form input[type="file"]::file-selector-button{min-height:32px;margin-right:var(--s12);padding:0 var(--s16);border:0;border-radius:999px;background:var(--brand);color:#fff;font:inherit;font-size:13px;font-weight:500;cursor:pointer}
.room-form>.actions{margin-top:var(--s24)}
.room-md-toolbar{display:flex;flex-wrap:wrap;gap:var(--s8);margin-top:var(--s16)}
.room-md-toolbar button{min-height:44px}
.room-md-preview{margin-top:var(--s16);padding:var(--s16);border:1px solid var(--hair);border-radius:var(--r-md);background:var(--page);color:var(--label);overflow-wrap:anywhere;overflow-x:auto}
.room-md-preview:empty{display:none}
.room-md-preview h1{font-size:22px;font-weight:600;line-height:1.2}
.room-md-preview h2{font-size:17px;font-weight:600;line-height:1.3}
.room-md-preview p,.room-md-preview li,.room-md-preview td,.room-md-preview th{font-size:15px;line-height:1.47}
.room-md-preview p,.room-md-preview pre,.room-md-preview table,.room-md-preview blockquote,.room-md-preview ul{margin-top:var(--s12)}
.room-md-preview ul{margin-left:20px;list-style:disc}
.room-md-preview a{color:var(--brand);text-decoration:underline;text-underline-offset:2px}
.room-md-preview img{display:block;max-width:100%;height:auto;margin-top:var(--s12);border-radius:var(--r-md)}
.room-md-preview blockquote{padding-left:var(--s16);border-left:1px solid var(--brand-1);color:var(--label-2)}
.room-md-preview pre{padding:var(--s12);border-radius:var(--r-sm);background:var(--card);overflow-x:auto}
.room-md-preview code{font-size:13px}
.room-md-preview table{width:100%;border-collapse:collapse}
.room-md-preview th,.room-md-preview td{padding:8px 12px;border:1px solid var(--line);text-align:left}
.room-md-preview.is-collapsed{max-height:320px;overflow:hidden}
.room-md-code-block{margin-top:var(--s12)}
.room-md-code-copy{margin-top:var(--s8)}
.room-rail{position:sticky;top:calc(var(--nav-h) + var(--s24));display:grid;gap:var(--s16)}
.room-rail-card{padding:var(--s24);border:1px solid var(--hair);border-radius:var(--r-lg);background:var(--card)}
.room-next{margin-top:var(--s16)}
.room-next li{display:flex;gap:var(--s16);padding:var(--s16) 0;border-bottom:1px solid var(--hair)}
.room-next li:last-child{border-bottom:0;padding-bottom:0}
.room-next li>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--brand-0);color:var(--deep);font-size:12px;line-height:1;flex:none}
.room-timeline>p{text-wrap:balance}
.room-next b{display:block;font-size:15px;font-weight:500;line-height:1.4}
.room-next small{display:block;margin-top:var(--s4);font-size:12px;color:var(--label-2)}
.room-legend{margin-top:var(--s16)}
.room-legend li{display:flex;align-items:center;gap:var(--s8);font-size:13px;color:var(--label-2);padding:6px 0}
.room-dot{width:8px;height:8px;border-radius:50%;background:var(--line)}
.room-dot--doing{background:var(--brand)}
.room-dot--review{background:var(--warn)}
.room-dot--done{background:var(--ok)}
.room-task-dialog{width:min(820px,calc(100% - 48px));max-height:calc(100vh - 48px);padding:0;overflow:auto}
.room-task-dialog::backdrop{background:rgba(29,29,31,.28);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.room-dialog-body{padding:var(--s32)}
.room-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s24)}
.room-dialog-head h2{margin-top:var(--s8)}
.room-dialog-copy{margin-top:var(--s16);white-space:pre-wrap}
.room-detail-block{margin-top:var(--s24);padding-top:var(--s24);border-top:1px solid var(--hair)}
.room-detail-block h3{font-size:17px;font-weight:600;line-height:1.3;letter-spacing:-.022em}
.room-detail-block p{margin-top:var(--s8)}
.room-detail-head,.room-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--s16)}
.room-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s24)}
.room-detail-list{margin-top:var(--s16)}
.room-detail-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s16);padding:var(--s12) 0;border-bottom:1px solid var(--hair);font-size:15px;line-height:1.4}
.room-detail-row:last-child{border-bottom:0}
.room-detail-row label{display:flex;align-items:flex-start;gap:var(--s8);min-width:0}
.room-detail-row input[type="checkbox"]{width:18px;height:18px;margin-top:1px;accent-color:var(--brand);flex:none}
.room-detail-row small{display:block;margin-top:var(--s4);font-size:12px;color:var(--label-2)}
.room-detail-row button,.room-detail-row a{border:0;background:transparent;padding:0;color:var(--brand);font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}
.room-inline-form{display:flex;gap:var(--s8);margin-top:var(--s16)}
.room-inline-form input,.room-inline-form select{flex:1;min-width:0;height:44px;border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;background:var(--card);color:var(--label);font:inherit;font-size:15px;outline:0}
.room-inline-form input:focus,.room-inline-form select:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-0)}
.room-chat-view{margin-top:var(--s24)}
.room-chat-summary{margin-top:var(--s24)}
.room-chat-log{max-height:420px;margin-top:var(--s16);overflow:auto;border-top:1px solid var(--hair);scrollbar-gutter:stable}
.room-chat-message{padding:var(--s16) 0;border-bottom:1px solid var(--hair)}
.room-chat-message-head{display:flex;align-items:center;gap:var(--s8);min-width:0}
.room-chat-message-head strong{font-size:15px;font-weight:600;color:var(--label)}
.room-chat-message-head time{margin-left:auto;font-size:13px;color:var(--label-2);font-variant-numeric:tabular-nums}
.room-chat-message-head .chip{margin-left:0}
.room-chat-message>p{margin-top:var(--s8);font-size:17px;line-height:1.47;color:var(--label);white-space:pre-wrap;overflow-wrap:anywhere}
.room-chat-empty{margin:var(--s16) 0}
.room-chat-member-picker{margin-top:var(--s24);padding:0;border:0}
.room-chat-member-picker legend{margin-bottom:var(--s8);color:var(--label-2);font-size:13px}
.room-chat-member-picker>div{display:flex;flex-wrap:wrap;gap:var(--s8)}
.room-chat-member{display:flex!important;flex-direction:row!important;align-items:center;gap:var(--s8)!important;min-height:44px;padding:0 var(--s12)!important;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);color:var(--label)!important;font-size:15px!important}
.room-chat-member input{width:18px!important;height:18px!important;min-height:0!important;margin:0;accent-color:var(--brand)}
.room-ops-controls{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:var(--s16)}
.room-ops-controls label{display:grid;gap:var(--s8);color:var(--label-2);font-size:13px}
.room-ops-controls input,.room-ops-controls select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;background:var(--card);color:var(--label);font:inherit;font-size:15px}
.room-ops-controls input:focus,.room-ops-controls select:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-0)}
.room-ops-tabs{margin-top:var(--s24)}
.room-ops-details{margin-top:var(--s12)}
.room-ops-details summary{min-height:44px;padding:var(--s8) 0;color:var(--brand);font-size:15px;cursor:pointer}
.room-ops-details p,.room-ops-details ol{margin-top:var(--s8);font-size:15px;line-height:1.47;color:var(--label-2)}
.room-ops-details ol{padding-left:var(--s24)}
.room-ops-section{margin-top:var(--s16);padding-top:var(--s12);border-top:1px solid var(--hair)}
.room-ops-section strong{font-size:15px;font-weight:600;color:var(--label)}
.room-evidence-form{margin-top:var(--s16);padding:var(--s16);border:1px solid var(--hair);border-radius:var(--r-md)}
.room-evidence-form label{display:flex;flex-direction:column;gap:var(--s8);font-size:13px;color:var(--label-2)}
.room-evidence-form label+label{margin-top:var(--s16)}
.room-evidence-form>label{margin-top:var(--s16)}
.room-evidence-form .room-form-grid label+label{margin-top:0}
.room-evidence-form input,.room-evidence-form select,.room-evidence-form textarea{width:100%;min-height:44px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);padding:10px 12px;color:var(--label);font:inherit;font-size:15px;outline:0;resize:vertical}
.room-evidence-form input:focus,.room-evidence-form select:focus,.room-evidence-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-0)}
.room-evidence-form>.btn{margin-top:var(--s16)}
.room-dialog-actions{margin-top:var(--s24);justify-content:flex-end;flex-wrap:wrap}
.room-dialog-actions--start{justify-content:flex-start}
.room-doc-editor{margin-top:var(--s24)}
.room-doc-editor label{display:flex;flex-direction:column;gap:var(--s8);font-size:13px;color:var(--label-2)}
.room-doc-editor textarea{width:100%;min-height:220px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);padding:var(--s16);color:var(--label);font:inherit;font-size:15px;line-height:1.47;outline:0;resize:vertical}
.room-doc-editor textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-0)}
.room-doc-editor .room-dialog-actions{margin-top:var(--s16)}
.room-gantt-modes{display:flex;align-items:center;gap:var(--s8);flex-wrap:wrap}
.room-gantt-modes .btn-ghost[aria-pressed="true"]{background:var(--brand-0);border-color:var(--brand-1);color:var(--brand)}
.room-gantt-wrap{margin-top:var(--s24);border:1px solid var(--hair);border-radius:var(--r-lg);background:var(--card);overflow:hidden}
.room-gantt-wrap .gantt-container{border-radius:inherit;max-height:560px}
.room-gantt-wrap .gantt{
  --g-arrow-color:var(--label-2);
  --g-bar-color:var(--brand-0);
  --g-bar-border:var(--brand-1);
  --g-progress-color:var(--brand);
  --g-tick-color:var(--hair);
  --g-tick-color-thick:var(--line);
  --g-border-color:var(--hair);
  --g-header-background:var(--card);
  --g-row-color:var(--card);
  --g-row-border-color:var(--hair);
  --g-today-highlight:var(--brand);
  --g-weekend-highlight-color:var(--page);
}
.room-gantt-wrap .bar-label{font-family:inherit;font-size:12px}
.room-team-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s24);margin-top:var(--s24)}
.room-team-grid>.room-detail-block{margin-top:0}
.room-rule-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s16);margin-top:var(--s16)}
.room-rule-section{min-width:0}
.room-rule-section>h3{margin:0 0 var(--s4)}
.room-rule-section>p{margin:0 0 var(--s12)}
.room-rule-item{display:grid;gap:3px;padding:var(--s12) 0;border-top:1px solid var(--hair)}
.room-rule-item:first-child{border-top:0}
.room-rule-item strong{font-weight:500}
.room-rule-item span{color:var(--label-2);line-height:1.55}
.room-rule-item small{color:var(--label-3)}
.room-role-list{display:grid;gap:var(--s8);margin-top:var(--s16)}
.room-role-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s16);padding:var(--s16);border:1px solid var(--hair);border-radius:var(--r-md)}
.room-role-row b{font-size:15px;font-weight:500}
.room-role-row small{display:block;margin-top:var(--s4);font-size:12px;color:var(--label-2)}
.room-role-row .pill{text-transform:none}
.room-role-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--s8);flex-wrap:wrap}
.room-position-status--pending,.room-position-status--pending_cosign{background:var(--brand-0);color:var(--brand)}
.room-position-status--rejected,.room-position-status--expired,.room-position-status--revoked{color:var(--label-2)}
.room-position-choose{min-height:36px;border:1px solid var(--line);border-radius:999px;padding:0 var(--s12);background:var(--card);color:var(--label);font:inherit;font-size:13px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}
.room-position-choose:hover{border-color:var(--brand);background:var(--brand-0);color:var(--brand)}
.room-position-owner{margin-top:var(--s24);padding:var(--s24);border:1px solid var(--hair);border-radius:var(--r-lg)}
.room-position-owner .room-form{margin-top:var(--s16);padding:0;border:0}
.room-start-gate{margin-top:var(--s24)}
.room-start-status{white-space:nowrap;flex:none}
.room-start-status.is-ready{background:var(--brand-0);color:var(--brand)}
.room-start-status.is-missing{color:var(--label-2)}
.room-start-status.is-error{color:var(--danger,#d70015)}
.room-start-coverage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s8);margin-top:var(--s16)}
.room-start-item{display:flex;flex-direction:column;gap:var(--s4);padding:var(--s12);border:1px solid var(--hair);border-radius:var(--r-md)}
.room-start-item span{font-size:13px;font-weight:500}
.room-start-item small{font-size:12px;line-height:1.4;color:var(--label-2)}
.room-start-item.is-ready{border-color:color-mix(in srgb,var(--brand) 32%,var(--hair))}
.room-start-item.is-missing{background:color-mix(in srgb,var(--label-2) 5%,transparent)}
.room-start-reason{margin-top:var(--s16);font-size:13px;line-height:1.5;color:var(--label-2)}
.room-opening-tiers{margin-top:var(--s16);padding:var(--s12);border:1px solid var(--hair);border-radius:var(--r-md)}
.room-opening-tiers .actions{margin-top:var(--s8);gap:var(--s8)}
.room-start-actions{display:flex;justify-content:flex-end;margin-top:var(--s16)}
.room-start-actions [hidden]{display:none}
.room-dialog-actions [hidden]{display:none}
.room-acting-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s8);margin:var(--s8) 0 var(--s16)}
.room-evidence-form .room-acting-option{display:flex;flex-direction:row;align-items:center;gap:var(--s8);min-height:44px;padding:var(--s8) var(--s12);border:1px solid var(--hair);border-radius:var(--r-md);font-size:13px}
.room-acting-option input{width:18px;height:18px;accent-color:var(--brand)}
.room-task-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s16);margin-top:var(--s24);flex-wrap:wrap}
.room-task-summary{display:grid;grid-template-columns:repeat(6,minmax(56px,1fr));gap:var(--s16);flex:1 1 360px;min-width:0}
.room-task-metric{min-width:64px}
.room-task-metric b{display:block;font-size:22px;line-height:1.1;font-weight:600;letter-spacing:-.02em}
.room-task-metric small{display:block;margin-top:var(--s4);font-size:12px;color:var(--label-2)}
.room-task-load{display:flex;gap:var(--s8);overflow-x:auto;margin-top:var(--s16);padding-bottom:var(--s4);scrollbar-width:thin}
.room-task-load-item{flex:0 0 auto;min-width:180px;padding:var(--s12);border:1px solid var(--hair);border-radius:var(--r-md);background:var(--card)}
.room-task-load-item.is-unassigned{border-style:dashed}
.room-task-load-item b{display:block;font-size:15px;font-weight:500}
.room-task-load-item small{display:block;margin-top:var(--s4);font-size:12px;color:var(--label-2)}
.room-task-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:var(--s12);overflow-x:auto;margin-top:var(--s24);padding-bottom:var(--s8);align-items:start}
.room-task-board[hidden]{display:none}
.room-task-column{min-height:180px;padding:var(--s16);border:1px solid var(--hair);border-radius:var(--r-lg);background:color-mix(in srgb,var(--label-2) 4%,transparent)}
.room-task-column-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s8);margin-bottom:var(--s12)}
.room-task-column-head b{font-size:15px;font-weight:500}
.room-task-column-head small{font-size:12px;color:var(--label-2)}
.room-task-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s8);width:100%;min-height:44px;margin-top:var(--s8);padding:var(--s16);border:1px solid var(--hair);border-radius:var(--r-md);background:var(--card);color:var(--label);text-align:left;font:inherit;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.room-task-card:hover{transform:translateY(-2px);border-color:var(--brand);box-shadow:0 12px 24px -20px color-mix(in srgb,var(--label) 18%,transparent)}
.room-item-actions a:active,.room-item-actions button:active,.room-position-choose:active,.room-task-card:active{transform:scale(.98)}
.room-task-card-stage{font-size:11px;color:var(--brand);letter-spacing:.02em}
.room-task-card b{font-size:15px;line-height:1.35;font-weight:600}
.room-task-card span,.room-task-card em{font-size:12px;line-height:1.4;color:var(--label-2);font-style:normal}
.room-milestone-plan{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s12);margin-top:var(--s24)}
.room-milestone-card{padding:var(--s16);border:1px solid var(--hair);border-radius:var(--r-lg);background:var(--card)}
.room-milestone-card--accepted{border-color:color-mix(in srgb,var(--brand) 32%,var(--hair));background:var(--brand-0)}
.room-milestone-card--rejected{border-style:dashed}
.room-milestone-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s8)}
.room-milestone-head b{font-size:15px;line-height:1.35;font-weight:600}
.room-milestone-card p{margin-top:var(--s8);font-size:13px;color:var(--label-2)}
.room-milestone-card>small{display:block;margin-top:var(--s8);font-size:12px;color:var(--label-2)}
.room-quality-review .pill.is-ready{background:var(--brand-0);color:var(--brand)}
.room-quality-review .pill.is-missing{color:var(--label-2)}
.room-quality-summary{display:grid;gap:var(--s8);margin-top:var(--s16)}
.room-quality-headline{display:flex;align-items:baseline;gap:var(--s12)}
.room-quality-headline b{font-size:32px;line-height:1;font-weight:600;letter-spacing:-.03em}
.room-quality-headline small{font-size:12px;color:var(--label-2)}
.room-quality-milestone{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:var(--s12);padding:var(--s8) 0;border-top:1px solid var(--hair);font-size:13px}
.room-quality-milestone b{font-weight:500}
.room-quality-milestone small{color:var(--label-2)}
.room-timeline-filter{min-height:44px;border:1px solid var(--hair);border-radius:999px;padding:0 var(--s12);background:var(--card);color:var(--label);font:inherit;font-size:12px}
.room-timeline{margin-top:var(--s12)}
.room-timeline-item{padding:var(--s12) 0;border-top:1px solid var(--hair)}
.room-timeline-item small{display:block;font-size:11px;color:var(--label-2)}
.room-timeline-item p{margin-top:var(--s4);font-size:13px;line-height:1.45}
.room-timeline-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--s8);margin-top:var(--s8)}
.room-timeline-actions button{min-height:36px;border:0;background:transparent;padding:0;color:var(--brand);font:inherit;font-size:12px;cursor:pointer}

@media (max-width:900px){
  .room-hero{align-items:flex-start;flex-direction:column}
  .room-workspace{grid-template-columns:1fr}
  .room-rail{position:static;grid-template-columns:1fr 1fr}
  .room-resource-filters{grid-template-columns:1fr 1fr}
  .room-resource-filters button{justify-self:start}
  .room-tabs{display:flex;width:max-content;min-width:100%}
  .room-detail-grid{grid-template-columns:1fr}
  .room-team-grid{grid-template-columns:1fr}
  .room-rule-sections{grid-template-columns:1fr}
  .room-start-coverage{grid-template-columns:repeat(2,minmax(0,1fr))}
  .room-milestone-plan{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Native selects must use the same rounded control language as text fields. */
.room-workspace select:not([multiple]),
.room-task-dialog select:not([multiple]),
.room-resource-filters select:not([multiple]){
  -webkit-appearance:none;
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5.5 7.5 4.5 4.5 4.5-4.5' fill='none' stroke='%236e6e73' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
  background-size:16px 16px;
  padding-right:38px;
}
@media (max-width:600px){
  .room-panel-head{align-items:flex-start;flex-direction:column}
  .room-form-grid,.room-rail,.room-resource-filters{grid-template-columns:1fr}
  .room-item{grid-template-columns:1fr}
  .room-item-actions{justify-content:flex-start}
  .room-form{padding:var(--s16)}
  .room-task-dialog{width:100%;max-height:calc(100vh - 16px);margin:auto 8px}
  .room-dialog-body{padding:var(--s24)}
  .room-inline-form{flex-direction:column}
  .room-inline-form .btn{width:100%}
  .room-chat-log{max-height:320px}
  .room-ops-controls{grid-template-columns:minmax(0,1fr)}
  .room-start-coverage{grid-template-columns:1fr}
  .room-opening-tiers .actions{align-items:stretch;flex-direction:column}
  .room-opening-tiers .btn{width:100%}
  .room-start-actions .btn{width:100%}
  .room-task-toolbar{align-items:stretch}
  .room-task-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s8);width:100%}
  .room-task-board{grid-auto-columns:minmax(82vw,1fr)}
  .room-milestone-plan{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .room-item-actions a,.room-item-actions button{transition:none}
}
@media print{
  .room-md-preview.is-collapsed{max-height:none;overflow:visible}
  .room-md-code-copy,[data-room-doc-expand]{display:none!important}
}
