:root{--ink-strong:#11233b;--ink:#1f3c5d;--ink-soft:#64748b;--surface:#f7fbff;--surface-strong:#fff;--surface-muted:#edf4fc;--border:#00000014;--shadow:0 4px 24px #0000000f;--brand:#1677ff;--brand-soft:#1677ff1a;--brand-strong:#005ad9;--warning:#d97706;--ok:#16a34a;--danger:#ef4444;--muted:#9ca3af;--accent:#ff7a00;--accent-soft:#ff7a001f}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 20% -10%,#1677ff29,#0000 36%),radial-gradient(circle at 90% 0,#ff7a001f,#0000 34%),#eef4fb;margin:0;font-family:PingFang SC,Microsoft YaHei,Noto Sans SC,Segoe UI,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}#root{min-height:100vh}.shell{flex-direction:column;gap:24px;width:min(1460px,100% - 40px);margin:24px auto 40px;display:flex}.session-bar{box-shadow:var(--shadow);background:#ffffffc7;border:1px solid #1677ff24;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.session-actions{align-items:center;gap:12px;display:flex}.role-badge{color:#fff;border-radius:8px;padding:3px 10px;font-size:.75rem;font-weight:600}.logout-button{border:1px solid var(--border);color:var(--ink-soft);cursor:pointer;background:#f1f5f9;border-radius:8px;padding:6px 16px;font-size:.8rem;transition:all .2s}.logout-button:hover{color:#991b1b;background:#fee2e2;border-color:#fecaca}.session-bar strong{color:var(--ink-strong);display:block}.session-bar label{min-width:240px}.hero-panel{border:1px solid var(--border);box-shadow:var(--shadow);background:#fffdf8eb;border-radius:28px;grid-template-columns:2.2fr 1fr;gap:24px;padding:32px;display:grid}.eyebrow{background:var(--brand-soft);color:var(--brand);letter-spacing:.04em;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;display:inline-flex}.hero-copy h1{color:var(--ink-strong);margin:16px 0 14px;font-size:clamp(2rem,3.5vw,3.6rem);line-height:1.15}.hero-copy p,.hero-card p,.metric-card p,.panel p,.task-card p,.delivery-card p,.submit-card p,.empty-state,.screen-card p,.room-card p{margin:0;line-height:1.7}.hero-card{background:linear-gradient(#0f766e1f,#ffffffc7);border:1px solid #0f766e2e;border-radius:24px;gap:14px;padding:22px;display:grid}.hero-metrics{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.hero-metrics div,.metric-card,.form-block,.review-card,.submit-card,.delivery-card,.step-card,.room-card,.mock-hotel-card,.task-card,.hotel-row,.screen-card,.alert-card,.empty-state{background:var(--surface-strong);border:1px solid #39463e14;border-radius:20px}.hero-metrics div{padding:12px}.hero-metrics small,.metric-card p,.panel-heading span,.form-block small,.step-topline span,.room-card small,.mock-hotel-footer small,.task-card span,.hotel-row span,.signal,label span,.code-block pre{color:var(--ink-soft)}.hero-metrics strong,.metric-value,.panel-heading h2,.form-block h3,.task-card strong,.hotel-row strong,.step-topline strong,.room-topline strong,.mock-hotel-topline strong,.screen-card h3,.submit-card strong,.metric-label{color:var(--ink-strong)}.signal{letter-spacing:.04em;font-size:12px;font-weight:700}.tab-bar{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.tab,.primary-button,.secondary-button,.chip,.hotel-row,.task-card{transition:transform .18s,border-color .18s,background .18s}.tab{border:1px solid var(--border);color:var(--ink);text-align:left;cursor:pointer;background:#fffcf6c2;border-radius:20px;flex-direction:column;gap:8px;padding:16px;display:flex}.tab:hover,.tab.active,.hotel-row.active,.task-card.active{background:#fffffff5;border-color:#0f766e57;transform:translateY(-2px)}.tab span{color:var(--ink-strong);font-weight:700}.tab small{color:var(--ink-soft);line-height:1.4}.page-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;display:grid}.panel{border:1px solid var(--border);box-shadow:var(--shadow);background:#fffcf6e6;border-radius:26px;min-width:0;padding:24px}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-12{grid-column:span 12}.span-full{grid-column:1/-1}.panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.timeline,.metrics-panel,.hotel-list,.task-stack,.delivery-list,.collector-stack{gap:12px;display:grid}.timeline-step{background:var(--surface-strong);border:1px solid #39463e14;border-radius:18px;grid-template-columns:58px 1fr;align-items:center;gap:16px;padding:16px;display:grid}.timeline-index,.format-pill,.status,.pill,.filter-strip span{border-radius:999px;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.timeline-index{width:58px;height:58px;color:var(--brand);background:var(--brand-soft)}.metric-card,.form-block,.delivery-card,.step-card,.room-card,.submit-card,.screen-card,.alert-card,.empty-state{padding:16px}.metric-value{font-size:1.8rem;font-weight:800}.check-list,.risk-list,.plain-list{gap:10px;margin:0;padding-left:18px;display:grid}.check-list.compact,.plain-list.compact{gap:8px}.hotel-row,.task-card{text-align:left;cursor:pointer;width:100%;color:inherit;padding:14px 16px}.hotel-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.hotel-row div,.task-card{gap:6px;display:grid}.status{padding:6px 10px;font-size:12px}.status-published,.status-approved{color:var(--ok);background:#15803d1f}.status-review_pending,.status-needs_revision{color:var(--warning);background:#b453091f}.status-draft,.status-rejected{color:#991b1b;background:#dc26261f}.studio-layout,.mock-layout,.review-grid,.split-list,.field-grid,.room-grid,.action-row{gap:16px;display:grid}.review-detail-stack,.review-step-list{gap:12px;display:grid}.review-detail-card,.review-step-card{background:#f8fbff;border:1px solid #deebfb;border-radius:16px;padding:14px}.review-detail-card strong,.review-step-card strong{color:var(--ink-strong);margin-bottom:6px;display:block}.review-step-header,.review-step-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.review-step-header{margin-bottom:12px}.review-step-meta{color:var(--ink-soft);margin-top:12px;font-size:12px}.review-issue-block{border-top:1px dashed #d7e5f8;gap:10px;margin-top:14px;padding-top:14px;display:grid}.review-issue-card{background:#fff7ed;border:1px solid #ffd8b0;border-radius:14px;gap:10px;padding:12px;display:grid}.studio-layout,.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid label,.form-block>label{gap:8px;display:grid}label span{letter-spacing:.02em;font-size:12px;font-weight:600}input,select,textarea{width:100%;color:var(--ink-strong);background:#fffdf9;border:1px solid #39463e24;border-radius:14px;padding:12px 14px;font-size:14px}textarea{resize:vertical}.toggle-row,.action-row,.pill-row,.filter-strip,.search-strip{flex-wrap:wrap;gap:10px;display:flex}.toggle-pill{color:var(--brand);background:#0f766e14;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;display:inline-flex}.toggle-pill input{flex:none;width:auto;margin:0}.toggle-pill span{white-space:nowrap;color:inherit}.primary-button,.secondary-button,.chip{cursor:pointer;border:1px solid #0000;font-weight:700}.primary-button,.secondary-button{border-radius:14px;padding:12px 16px}.primary-button{background:var(--brand);color:#fff}.primary-button.small{padding:10px 12px}.secondary-button{color:var(--brand);background:#0f766e14;border-color:#0f766e29}.primary-button:hover,.secondary-button:hover,.chip:hover{transform:translateY(-1px)}.primary-button:disabled{opacity:.55;cursor:not-allowed}.chip{color:var(--brand);background:#0f766e14;border-radius:999px;padding:8px 12px}.chip.active{background:var(--brand);color:#fff}.pill,.format-pill,.filter-strip span{color:var(--brand);background:#0f766e1a;padding:6px 10px;font-size:12px}.pill.subtle{color:var(--ink);background:#4a594f14}.mini-toolbar{background:#ffffffb8;border:1px dashed #39463e29;border-radius:16px;margin-bottom:12px;padding:12px 14px}.workflow-card{background:linear-gradient(#1677ff14,#fffffff5);border:1px solid #1677ff29;border-radius:16px;gap:10px;margin-bottom:16px;padding:14px 16px;display:grid}.workflow-card strong{color:var(--ink-strong)}.hero-bubble{max-width:760px;margin-top:14px}.mock-layout{grid-template-columns:minmax(340px,400px) 1fr}.mock-guided-layout{align-items:start}.mock-preview-panel{place-items:center;display:grid}.mock-side-card{border:1px solid var(--border);background:#f8fbff;border-radius:16px;gap:10px;margin-top:12px;padding:16px;display:grid}.collector-workspace{grid-template-columns:380px 1fr;gap:18px;display:grid}.collector-left{align-self:start;gap:12px;display:grid;position:sticky;top:24px}.collector-phone-wrapper{width:380px}.collector-three-col{grid-template-columns:1fr 320px;gap:18px;min-height:0;display:grid}.collector-mid{align-content:start;gap:16px;max-height:calc(100vh - 200px);display:grid;overflow-y:auto}.collector-right{align-content:start;gap:14px;max-height:calc(100vh - 200px);display:grid;overflow-y:auto}.collector-task-card{background:var(--surface-strong);border:1px solid var(--border);border-radius:18px;padding:18px}.collector-task-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.collector-task-header h3{color:var(--ink-strong);margin:0}.difficulty-badge{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.difficulty-badge.easy{color:var(--ok);background:#15803d1f}.difficulty-badge.medium{color:var(--warning);background:#b453091f}.difficulty-badge.hard{color:#991b1b;background:#dc26261f}.collector-task-body{gap:10px;display:grid}.task-field label{color:var(--ink-soft);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.task-field p{margin:0;line-height:1.5}.task-field ul{gap:4px;margin:0;padding-left:0;list-style:none;display:grid}.task-field ul li{font-size:13px;line-height:1.4}.collector-current-step{background:var(--surface-strong);border:1px solid var(--border);border-radius:18px;padding:18px}.collector-current-step h3{color:var(--ink-strong);margin:0 0 14px}.step-form{gap:12px;display:grid}.step-form-row{gap:6px;display:grid}.step-form-row label{color:var(--ink);font-size:13px;font-weight:600}.step-form-row .required{color:#dc2626}.step-form-row textarea,.step-form-row input,.step-form-row select{width:100%;color:var(--ink-strong);background:#fffdf9;border:1px solid #39463e24;border-radius:12px;padding:10px 12px;font-size:13px}.step-form-row.inline{align-items:center;gap:12px;display:flex}.checkbox-label{cursor:pointer;align-items:center;gap:6px;display:flex}.checkbox-label input[type=checkbox]{width:18px;height:18px}.range-labels{color:var(--ink-soft);justify-content:space-between;font-size:11px;display:flex}.collector-empty{text-align:center;color:var(--ink-soft);border:1px dashed var(--border);background:#ffffff80;border-radius:14px;padding:24px}.collector-hints{background:#0f766e0f;border:1px solid #0f766e24;border-radius:16px;padding:14px}.collector-hints h3{color:var(--brand);margin:0 0 10px;font-size:14px}.collector-hints ul{gap:8px;margin:0;padding-left:16px;display:grid}.collector-hints ul li{color:var(--ink);font-size:13px;line-height:1.5}.hint-card{background:#fff}.collector-example{background:var(--surface-strong);border:1px solid var(--border);border-radius:16px;padding:14px}.collector-example h3{color:var(--ink-strong);margin:0 0 10px;font-size:14px}.example-box{background:#15803d0f;border-radius:12px;padding:12px}.example-label{color:var(--ok);margin-bottom:6px;font-size:12px;font-weight:700}.example-box p{color:var(--ink);margin:0;font-size:13px;line-height:1.6}.collector-check{background:#b4530914;border:1px solid #b4530929;border-radius:16px;padding:14px}.collector-check h3{color:var(--warning);margin:0 0 8px;font-size:14px}.collector-check ul{gap:4px;margin:0;padding-left:16px;display:grid}.collector-check ul li{color:var(--warning);font-size:13px}.step-screenshot-card{background:#f8fbff;border:1px solid #dbe7f8;border-radius:12px;gap:10px;padding:12px;display:grid}.step-screenshot-preview{object-fit:contain;background:#fff;border:1px solid #dbe7f8;border-radius:12px;width:100%;max-height:280px}.collector-submit-area{background:var(--surface-strong);border:1px solid var(--border);border-radius:16px;gap:10px;padding:14px;display:grid}.submit-status{color:var(--ink-soft);justify-content:space-between;font-size:13px;display:flex}.collector-timeline{background:var(--surface-strong);border:1px solid var(--border);border-radius:16px;padding:14px}.collector-timeline h3{color:var(--ink-strong);margin:0 0 10px;font-size:14px}.timeline-bar{flex-wrap:wrap;gap:6px;display:flex}.timeline-dot{width:28px;height:28px;color:var(--ink-soft);cursor:pointer;background:#39463e1a;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.timeline-dot.active{background:var(--brand);color:#fff}.phone-frame{background:linear-gradient(#f5f9ff,#fff);border:8px solid #1a1a1a;border-radius:32px;gap:0;width:380px;min-height:720px;padding:0;display:grid;overflow:hidden}.phone-status-bar{color:#fff;background:#1a1a1a;justify-content:space-between;padding:8px 18px;font-size:12px;font-weight:600;display:flex}.phone-nav-bar{background:linear-gradient(#fff,#f8fbff);border-bottom:1px solid #e4eefb;align-items:center;gap:8px;padding:10px 16px;display:flex}.back-btn{color:var(--brand);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:14px;font-weight:600}.phone-nav-title{color:var(--ink-strong);font-size:16px;font-weight:700}.phone-body{align-content:start;gap:10px;max-height:580px;padding:12px;display:grid;overflow-y:auto}.search-page{gap:12px;display:grid}.ota-search-banner{background:linear-gradient(135deg,#1677ff24,#ff7a0024);border:1px solid #1677ff33;border-radius:12px;gap:4px;padding:12px;display:grid}.ota-search-banner strong{color:#0f4aa8}.ota-search-banner span{color:#355a8c;font-size:12px}.search-field{background:#f4f8ff;border-radius:12px;padding:12px}.search-field label{color:#999;margin-bottom:4px;font-size:12px;display:block}.search-value{color:var(--ink-strong);font-size:15px;font-weight:600}.search-field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.search-field.half{background:#f4f8ff;border-radius:12px;padding:12px}.ota-hot-keywords{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ota-hot-title{color:#35629d;font-size:12px;font-weight:700}.ota-hot-pill{color:#215fae;background:#e8f1ff;border:1px solid #d4e7ff;border-radius:999px;padding:3px 8px;font-size:11px}.ota-primary-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1677ff,#318fff);border:none;border-radius:24px;width:100%;padding:14px;font-size:16px;font-weight:700;transition:opacity .15s}.ota-primary-btn:hover{opacity:.9}.ota-secondary-btn{color:var(--brand);cursor:pointer;background:#1677ff14;border:1px solid #1677ff33;border-radius:20px;padding:10px 16px;font-size:14px;font-weight:600}.ota-list-toolbar{background:#f2f8ff;border:1px solid #dcecff;border-radius:10px;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.ota-list-toolbar strong{color:#164a95;font-size:13px}.ota-list-toolbar span{color:#5f82b4;font-size:11px}.filter-bar{flex-wrap:wrap;gap:8px;display:flex}.price-filter-bar,.sort-bar{color:var(--ink-soft);align-items:center;gap:6px;font-size:13px;display:flex}.ota-chip{cursor:pointer;color:var(--ink);background:#f1f6fe;border:1px solid #dae8fa;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .15s}.ota-chip.active{background:var(--brand);color:#fff;border-color:var(--brand)}.hotel-list-scroll{gap:10px;display:grid}.ota-empty{text-align:center;color:var(--ink-soft);padding:32px;font-size:14px}.ota-hotel-card{background:#fff;border:1px solid #e4ecf7;border-radius:14px;gap:8px;padding:14px;display:grid;box-shadow:0 1px 6px #143f780f}.ota-hotel-header{justify-content:space-between;align-items:center;display:flex}.ota-hotel-name{color:var(--ink-strong);font-size:15px;font-weight:700}.ota-hotel-score{color:var(--ok);background:#15803d1a;border-radius:8px;padding:3px 8px;font-size:13px;font-weight:700}.ota-hotel-line{color:var(--ink-soft);gap:4px;font-size:12px;display:flex}.ota-hotel-tags{flex-wrap:wrap;gap:6px;display:flex}.ota-tag{color:var(--ink);background:#edf3fb;border-radius:6px;padding:2px 8px;font-size:11px}.ota-tag.green{color:var(--ok);background:#15803d1a}.ota-tag.blue{color:#2563eb;background:#2563eb1a}.ota-hotel-footer{justify-content:space-between;align-items:center;display:flex}.ota-price-val{color:#dc2626;font-size:18px;font-weight:800}.ota-price-unit{color:var(--ink-soft);font-size:12px}.ota-fit{color:var(--brand);font-size:12px;font-weight:600}.ota-detail-btn{color:var(--brand);cursor:pointer;background:#1677ff14;border:1px solid #1677ff29;border-radius:10px;padding:8px;font-size:13px;font-weight:600}.ota-detail-page{gap:14px;display:grid}.ota-detail-header h3{color:var(--ink-strong);margin:0;font-size:18px}.ota-detail-score{color:var(--ok);font-size:14px;font-weight:600}.ota-detail-info{gap:6px;font-size:14px;display:grid}.ota-detail-section{border-top:1px solid #ebf1fb;padding-top:12px}.ota-detail-section h4{color:var(--ink-strong);margin:0 0 8px;font-size:14px}.ota-review-summary{color:var(--ink);font-size:14px;line-height:1.6}.ota-review-items{gap:4px;display:grid}.ota-review-item{padding:4px 0;font-size:13px}.ota-review-item.good{color:var(--ok)}.ota-review-item.bad{color:var(--warning)}.ota-room-list{gap:10px;display:grid}.ota-room-card{background:#fff;border:1px solid #e4ecf7;border-radius:12px;gap:6px;padding:12px;display:grid}.ota-room-header{justify-content:space-between;align-items:center;display:flex}.ota-room-name{font-size:14px;font-weight:700}.ota-room-price{color:#dc2626;font-size:16px;font-weight:800}.ota-room-price small{color:var(--ink-soft);font-size:12px;font-weight:400}.ota-room-info{color:var(--ink-soft);gap:4px;font-size:12px;display:flex}.ota-room-footer{justify-content:space-between;align-items:center;display:flex}.ota-room-inventory{color:var(--ink-soft);font-size:12px}.ota-select-btn{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:16px;padding:6px 16px;font-size:13px;font-weight:600}.ota-sticky-action{background:#fff7ed;border:1px solid #ffd8b0;border-radius:12px;gap:8px;margin-top:8px;padding:10px;display:grid}.ota-sticky-action .ota-primary-btn{border-radius:12px;padding:10px}.ota-alert-box{background:#b453091a;border:1px solid #b4530933;border-radius:12px;gap:8px;padding:14px;display:grid}.ota-alert-title{color:var(--warning);font-weight:700}.ota-alert-box p{margin:0;font-size:13px}.ota-confirm-page{gap:14px;display:grid}.ota-confirm-page h3{margin:0;font-size:18px}.ota-confirm-section{gap:8px;display:grid}.ota-confirm-row{border-bottom:1px solid #edf2fb;justify-content:space-between;padding:8px 0;font-size:14px;display:flex}.ota-confirm-row span:first-child{color:var(--ink-soft)}.ota-confirm-total{border-top:2px solid #cadcf5;justify-content:space-between;align-items:center;padding:12px 0;display:flex}.ota-total-price{color:#dc2626;font-size:22px;font-weight:800}.ota-contact-card{background:#f7fbff;border:1px solid #deebfb;border-radius:10px;gap:8px;padding:10px;display:grid}.ota-contact-card label{gap:4px;display:grid}.ota-contact-card span{color:#4f6d92;font-size:12px}.ota-contact-card input{border:1px solid #d5e3f6;border-radius:10px;padding:10px}.ota-result-page{text-align:center;gap:12px;padding:24px 0;display:grid}.ota-result-icon{font-size:48px}.ota-result-icon.success{color:var(--ok)}.ota-result-icon.fail{color:#dc2626}.form-block-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.form-block-header h3{margin:0}.primary-button.saved{background:var(--ok)}.alert-card.warning{background:#b453091a;border:1px solid #b4530933;border-radius:16px;gap:8px;padding:14px;display:grid}.span-all{grid-column:1/-1}.code-block{background:#202721}.asset-inline{flex-wrap:wrap;gap:12px;margin:8px 0 14px;display:flex}.code-block pre{white-space:pre-wrap;word-break:break-word;margin:0;font-size:12px}.alert-card.warning{background:#b453091f;border-color:#b4530933}.empty-state{color:var(--ink-soft)}.submit-card.accent{background:linear-gradient(#0f766e1f,#ffffffeb)}.compact-top{margin-top:12px}.format-pill{min-width:72px}.step-form-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.step-form-header h3{color:var(--ink-strong);margin:0}.ai-fill-btn{background:linear-gradient(135deg, var(--accent), #ff9d4d);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:8px 14px;font-size:13px;font-weight:700;transition:opacity .15s}.ai-fill-btn:hover{opacity:.9}.ai-accept-btn{background:var(--accent-soft);color:var(--accent);cursor:pointer;border:1px solid #ff7a0040;border-radius:8px;margin-top:4px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.search-date-input,.search-select{width:100%;color:var(--ink-strong);background:#fff;border:1px solid #ddd;border-radius:8px;padding:6px 8px;font-size:14px;font-weight:600}.ota-section-header{cursor:pointer;justify-content:space-between;align-items:center;padding:4px 0;display:flex}.ota-section-header h4{margin:0}.ota-expand-icon{color:var(--brand);font-size:12px}.ota-reviews-list{gap:10px;margin-top:10px;display:grid}.ota-review-filter{gap:6px;margin-bottom:8px;display:flex}.ota-guest-review{background:#f9fafb;border-radius:10px;gap:6px;padding:10px;display:grid}.ota-guest-review-header{align-items:center;gap:8px;display:flex}.ota-guest-user{color:var(--ink-strong);font-size:13px;font-weight:700}.ota-guest-level{color:var(--brand);background:var(--brand-soft);border-radius:6px;padding:2px 6px;font-size:11px}.ota-guest-rating{color:#f59e0b;font-size:12px}.ota-guest-content{color:var(--ink);margin:0;font-size:13px;line-height:1.6}.ota-guest-date{color:var(--ink-soft);font-size:11px}.ota-room-tags{flex-wrap:wrap;gap:4px;display:flex}.hero-panel{color:#fff;background:linear-gradient(125deg,#0c2d57,#1677ff);border:none}.hero-copy h1{color:#fff}.hero-copy p{color:#ffffffd9}.hero-card{color:#fff;background:#ffffff1f;border:1px solid #fff3}.hero-card strong,.hero-card p{color:#fffffff2}.hero-metrics small{color:#ffffffb3}.hero-metrics strong{color:#fff}.eyebrow{color:#fff;background:#fff3}.signal{color:#fffc}.tab.active{background:var(--brand);color:#fff;border-color:var(--brand)}.tab.active span,.tab.active small{color:#fff}.panel{border:1px solid var(--border);background:#fff;border-radius:16px;padding:20px;box-shadow:0 1px 3px #0000000a}.primary-button{background:var(--brand)}.primary-button:hover{background:var(--brand-strong)}.ota-primary-btn{background:linear-gradient(135deg,#1677ff,#3a97ff)}@media (width<=1200px){.tab-bar,.page-grid,.studio-layout,.field-grid,.mock-layout,.room-grid,.split-list,.hero-panel,.hero-metrics{grid-template-columns:1fr}.span-3,.span-4,.span-5,.span-6,.span-7,.span-8,.span-12{grid-column:1/-1}.collector-workspace,.collector-three-col{grid-template-columns:1fr}.collector-left{position:static}.collector-phone-wrapper,.phone-frame{width:100%;max-width:380px}}@media (width<=720px){.shell{width:min(100% - 20px,1460px);margin:12px auto 24px}.hero-panel,.panel{border-radius:22px;padding:18px}.phone-frame{border-width:6px;border-radius:24px;min-height:auto}.phone-body{max-height:none}}.highlight-panel{border:2px solid var(--brand);background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);box-shadow:0 4px 12px #10b98126}.highlight-panel .panel-heading h2{color:var(--brand-strong);font-size:1.25rem}.batch-list,.assignment-list{flex-direction:column;gap:12px;display:flex}.batch-card,.assignment-card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:16px;transition:all .2s}.batch-card:hover,.assignment-card:hover{border-color:var(--brand);box-shadow:0 2px 8px #00000014}.batch-header,.assignment-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.batch-name,.assignee-name{color:var(--ink-strong);font-size:1rem}.batch-desc,.assignment-notes{color:var(--ink-soft);margin:8px 0;font-size:.875rem}.batch-meta{color:var(--ink-soft);gap:16px;font-size:.75rem;display:flex}.assignment-detail{color:var(--ink-soft);gap:12px;font-size:.8rem;display:flex}.status-badge{border-radius:12px;padding:4px 10px;font-size:.75rem;font-weight:600}.status-draft,.status-queued{color:#92400e;background:#fef3c7}.status-active,.status-in_progress{color:#1e40af;background:#dbeafe}.status-submitted{color:#9d174d;background:#fce7f3}.status-approved,.status-published{color:#065f46;background:#d1fae5}.status-exported{color:#3730a3;background:#e0e7ff}.status-needs_revision{color:#991b1b;background:#fee2e2}.empty-state{text-align:center;color:var(--ink-soft);padding:24px}.stats-panel{background:#fff}.stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px;display:grid}.stat-card{text-align:center;border:1px solid var(--border);background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-radius:12px;padding:20px}.stat-value{color:var(--brand);margin-bottom:4px;font-size:2rem;font-weight:700}.stat-label{color:var(--ink-soft);font-size:.875rem}@media (width<=720px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.collector-revision-issues{background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);border:2px solid #ef4444;border-radius:12px;margin-bottom:16px;padding:16px}.collector-revision-issues h3{color:#991b1b;margin-bottom:12px;font-size:1rem}.revision-issues-list{flex-direction:column;gap:12px;display:flex}.revision-issue-card{background:#fff;border:1px solid #fecaca;border-radius:8px;padding:12px}.issue-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.issue-number{color:#991b1b;font-size:.875rem;font-weight:600}.issue-status{color:#92400e;background:#fef3c7;border-radius:8px;padding:2px 8px;font-size:.75rem}.issue-title{color:var(--ink-strong);margin-bottom:4px;font-weight:600}.issue-detail{color:var(--ink-soft);font-size:.875rem}.issue-locate{color:var(--brand);margin-top:8px;font-size:.75rem;font-weight:500}.clickable-card{cursor:pointer;border:2px solid #0000;transition:all .2s}.clickable-card:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:0 4px 12px #10b98133}.clickable-card:active{transform:translateY(0)}.clickable-card{text-align:left;background:#fff;width:100%}.issue-locate{color:var(--brand);margin-top:8px;font-size:.8rem}.revision-hint{color:#991b1b;margin-top:12px;font-size:.875rem;font-style:italic}.revision-hint-bubble{margin-top:12px}.task-title{color:var(--ink-strong);margin:8px 0;font-size:1.125rem;font-weight:600}.task-desc{color:var(--ink);font-size:.9rem}.task-constraints{margin-top:12px}.constraint-tag{color:#92400e;background:#fef3c7;border-radius:8px;margin-bottom:4px;margin-right:8px;padding:4px 10px;font-size:.8rem;display:inline-block}.queue-summary{color:var(--ink);font-size:1rem}.revision-alert{color:#dc2626}.hint-bubble{border:1px solid var(--brand);color:var(--ink-soft);background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border-radius:12px;margin:12px 0;padding:12px 16px;font-size:.875rem;position:relative}.hint-bubble:before{content:"💡";margin-right:8px}.hint-bubble.info{border-color:var(--brand);background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%)}.hint-bubble.warning{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);border-color:#f59e0b}.hint-bubble.success{background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%);border-color:#22c55e}.review-page-layout{grid-template-columns:280px 1fr 320px;align-items:start}.task-summary-card{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border-radius:12px;margin-bottom:16px;padding:12px 16px}.task-summary-card h3{margin-bottom:8px;font-size:.95rem}.task-constraints-inline{flex-wrap:wrap;gap:6px;display:flex}.step-key-info{color:var(--ink);margin:8px 0;font-size:.85rem}.step-key-info div{margin:4px 0}.step-issues-indicator{color:#991b1b;background:#fef2f2;border-radius:8px;margin-top:8px;padding:6px 12px;font-size:.8rem}.review-action-panel{flex-direction:column;gap:16px;display:flex;position:sticky;top:24px}.review-status-section{background:#f8fafc;border-radius:12px;padding:16px}.current-status{align-items:center;gap:12px;margin-bottom:12px;display:flex}.current-status .label{color:var(--ink-soft);font-size:.875rem}.action-buttons{flex-wrap:wrap;gap:8px;display:flex}.action-buttons button{flex:1;min-width:80px}.review-scores-section h3{margin-bottom:12px;font-size:.95rem}.score-grid{gap:12px;display:grid}.score-grid label{align-items:center;gap:12px;display:flex}.score-grid label>span{min-width:80px;font-size:.85rem}.score-input{flex:1;align-items:center;gap:8px;display:flex}.score-input input[type=range]{flex:1}.score-input>span{text-align:center;min-width:20px;color:var(--brand);font-weight:600}.average-score{text-align:right;margin-top:12px;font-size:.9rem}.average-score strong{color:var(--brand);font-size:1.25rem}.review-notes-section label{flex-direction:column;gap:8px;display:flex}.review-notes-section textarea{resize:vertical}.review-issues-section h3{margin-bottom:12px;font-size:.95rem}.step-issue-editor{background:#f8fafc;border-radius:8px;margin-bottom:8px;padding:12px}.review-step-shot{gap:8px;margin-top:12px;display:grid}.review-shot-preview{object-fit:contain;background:#fff;border:1px solid #dbe7f8;border-radius:12px;width:100%;max-height:220px}.step-issue-header{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.85rem;display:flex}.small-button{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:4px 10px;font-size:.75rem}.small-button:hover{opacity:.9}.issue-edit-card{border:1px solid var(--border);background:#fff;border-radius:8px;margin-top:8px;padding:12px}.issue-edit-card input,.issue-edit-card textarea,.issue-edit-card select{margin-bottom:8px}.issue-edit-card input,.issue-edit-card textarea{width:100%}.save-section{border-top:1px solid var(--border);padding-top:16px}.save-section button{width:100%}@media (width<=1200px){.review-page-layout{grid-template-columns:1fr 1fr}}@media (width<=720px){.review-page-layout{grid-template-columns:1fr}}.field-with-ai{align-items:flex-start;gap:4px;display:flex;position:relative}.field-with-ai textarea,.field-with-ai input{flex:1}.ai-accept-mini{cursor:pointer;background:#fef3c7;border:1px solid #e5e7eb;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-top:2px;font-size:.75rem;transition:all .15s;display:flex}.ai-accept-mini:hover{background:#fde68a;border-color:#f59e0b}.api-settings-toggle{justify-content:flex-end;display:flex}.api-settings-card{border:1px solid var(--border);background:#f8fafc;border-radius:12px;gap:10px;padding:14px;display:grid}.content-editor-page{grid-template-columns:280px 1fr;align-items:start;gap:16px;display:grid}.content-editor-sidebar{border:1px solid var(--border);background:#fff;border-radius:16px;max-height:calc(100vh - 200px);padding:18px;position:sticky;top:24px;overflow-y:auto;box-shadow:0 1px 3px #0000000a}.hotel-list-editor{gap:8px;margin-top:12px;display:grid}.hotel-editor-card{border:1px solid var(--border);cursor:pointer;border-radius:10px;padding:10px 12px;transition:all .15s}.hotel-editor-card.active{border-color:var(--brand);background:#eff6ff}.hotel-editor-card:hover{border-color:var(--brand)}.hotel-editor-card-top{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.hotel-editor-card-top strong{color:var(--ink-strong);font-size:.85rem}.hotel-editor-card-meta{color:var(--ink-soft);gap:10px;margin-bottom:6px;font-size:.75rem;display:flex}.hotel-editor-card-actions{gap:4px;display:flex}.content-editor-main{border:1px solid var(--border);background:#fff;border-radius:16px;min-height:400px;padding:24px;box-shadow:0 1px 3px #0000000a}.hotel-edit-form h2,.hotel-view-detail h2{color:var(--ink-strong);margin:0 0 20px;font-size:1.2rem}.edit-section{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.edit-section h3{color:var(--ink-strong);margin:0 0 12px;font-size:1rem}.room-editor-card{background:#f8fafc;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:8px 12px;font-size:.85rem;display:flex}.review-editor-card{border:1px solid var(--border);background:#f8fafc;border-radius:10px;margin-bottom:8px;padding:12px}.review-editor-header{align-items:center;gap:6px;margin-bottom:8px;display:flex}.review-add-form{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;gap:8px;margin-top:10px;padding:14px;display:grid}.img-desc-tag{color:var(--ink);background:#eff6ff;border-radius:6px;align-items:center;gap:4px;margin:2px;padding:3px 8px;font-size:.75rem;display:inline-flex}.review-img-descs{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.review-view-card{border-bottom:1px solid var(--border);padding:10px 0}.review-view-header{align-items:center;gap:10px;margin-bottom:4px;font-size:.85rem;display:flex}.review-view-card p{color:var(--ink);margin:4px 0;font-size:.85rem}.hotel-view-meta{color:var(--ink-soft);flex-wrap:wrap;gap:12px;margin-bottom:12px;font-size:.85rem;display:flex}.hotel-view-narrative{color:var(--ink);margin-bottom:12px;font-size:.9rem;line-height:1.6}.hotel-view-tags{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.room-view-card{background:#f8fafc;border-radius:8px;margin-bottom:6px;padding:8px 12px;font-size:.85rem}.ota-review-images{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.ota-review-img-tag{color:var(--ink);background:#eff6ff;border-radius:4px;align-items:center;gap:3px;padding:2px 6px;font-size:.7rem;display:inline-flex}@media (width<=900px){.content-editor-page{grid-template-columns:1fr}.content-editor-sidebar{max-height:none;position:static}}.alignment-page{grid-template-columns:280px 1fr;gap:20px;min-height:0;display:grid}.login-page{background:linear-gradient(135deg,#0f172a 0%,#1e3a5f 50%,#0f766e 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-container{background:#fff;border-radius:20px;width:min(440px,100%);padding:40px;box-shadow:0 20px 60px #0000004d}.login-header{text-align:center;margin-bottom:32px}.login-logo{margin-bottom:12px;font-size:3rem}.login-header h1{color:var(--ink-strong);margin-bottom:8px;font-size:1.5rem}.login-header p{color:var(--ink-soft);font-size:.875rem}.login-form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--ink);font-size:.875rem;font-weight:600}.form-group input{border:2px solid var(--border);border-radius:10px;padding:12px 16px;font-size:1rem;transition:border-color .2s}.form-group input:focus{border-color:var(--brand);outline:none}.login-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 16px;font-size:.875rem}.login-button{background:linear-gradient(135deg, var(--brand) 0%, var(--brand-strong) 100%);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:14px;font-size:1rem;font-weight:600;transition:opacity .2s}.login-button:hover{opacity:.9}.login-divider{text-align:center;margin:24px 0 16px;position:relative}.login-divider:before{content:"";background:var(--border);height:1px;position:absolute;top:50%;left:0;right:0}.login-divider span{color:var(--ink-soft);background:#fff;padding:0 16px;font-size:.8rem;position:relative}.toggle-accounts-btn{border:1px solid var(--border);width:100%;color:var(--ink);cursor:pointer;background:#f8fafc;border-radius:10px;padding:10px;font-size:.875rem;transition:all .2s}.toggle-accounts-btn:hover{background:#f1f5f9}.accounts-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.account-card{border:1px solid var(--border);cursor:pointer;text-align:left;background:#f8fafc;border-radius:10px;align-items:center;gap:12px;padding:12px 16px;transition:all .2s;display:flex;position:relative;overflow:hidden}.account-card:hover{border-color:var(--brand);box-shadow:0 2px 8px #10b98126}.account-info{flex:1}.account-info strong{color:var(--ink-strong);font-size:.9rem;display:block}.account-info span{color:var(--ink-soft);font-size:.75rem}.account-credentials code{color:var(--ink-soft);background:#fff;border-radius:4px;padding:2px 8px;font-size:.75rem}.role-indicator{width:4px;position:absolute;top:0;bottom:0;left:0}.login-footer{text-align:center;margin-top:24px}.login-footer p{color:var(--ink-soft);font-size:.75rem}.alignment-sidebar{border:1px solid var(--border);background:#fff;border-radius:16px;max-height:calc(100vh - 220px);padding:20px;overflow-y:auto}.alignment-stats{gap:8px;margin-top:8px;display:flex}.stat-chip{color:#1e40af;background:#dbeafe;border-radius:8px;padding:4px 10px;font-size:.75rem}.stat-chip.success{color:#065f46;background:#d1fae5}.alignment-main{border:1px solid var(--border);background:#fff;border-radius:16px;max-height:calc(100vh - 220px);padding:24px;overflow-y:auto}.alignment-top-bar{border-bottom:2px solid var(--border);justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;display:flex}.alignment-title-area h2{margin-bottom:4px}.alignment-title-area p{color:var(--ink-soft);font-size:.875rem}.alignment-actions{align-items:center;gap:10px;display:flex}.alignment-body{grid-template-columns:1fr 1fr;gap:16px;display:grid}.alignment-card{border:1px solid var(--border);background:#f8fafc;border-radius:12px;padding:16px}.alignment-card.full-width{grid-column:1/-1}.alignment-card h3{color:var(--ink-strong);margin-bottom:12px;font-size:.95rem}.alignment-card p{color:var(--ink);font-size:.875rem;line-height:1.6}.checklist{flex-direction:column;gap:10px;display:flex}.checklist-item{border:1px solid var(--border);background:#fff;border-radius:8px;align-items:flex-start;gap:12px;padding:8px 12px;font-size:.85rem;display:flex}.check-num{background:var(--brand);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;min-width:24px;height:24px;font-size:.75rem;font-weight:600;display:flex}.decision-flow{flex-direction:column;gap:8px;display:flex}.flow-step{border:1px solid var(--border);background:#fff;border-radius:8px;align-items:flex-start;gap:12px;padding:10px;display:flex}.flow-index{background:var(--brand);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;min-width:24px;height:24px;font-size:.75rem;font-weight:600;display:flex}.flow-content{color:var(--ink);font-size:.85rem}.score-display{flex-direction:column;align-items:center;padding:20px;display:flex}.score-circle{background:linear-gradient(135deg, var(--brand) 0%, var(--brand-strong) 100%);border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;margin-bottom:12px;display:flex}.score-value{color:#fff;font-size:1.5rem;font-weight:700}.score-label{color:var(--ink-soft);text-align:center;font-size:.85rem}@media (width<=900px){.alignment-page,.alignment-body{grid-template-columns:1fr}}.student-workspace{grid-template-columns:280px 1fr 360px;align-items:start;gap:16px;display:grid}.workspace-left{gap:12px;max-height:calc(100vh - 200px);display:grid;position:sticky;top:24px;overflow-y:auto}.workflow-panel{border:1px solid var(--border);background:#fff;border-radius:16px;padding:18px;box-shadow:0 1px 3px #0000000a}.workflow-panel h2{color:var(--ink-strong);margin:0;font-size:1rem}.workflow-form{gap:12px;margin-top:12px;display:grid}.workflow-steps-list{gap:6px;margin-bottom:8px;display:grid}.workflow-step-item{border:1px solid var(--border);background:#f8fafc;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;display:flex}.workflow-step-num{background:var(--brand);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;min-width:22px;height:22px;font-size:.7rem;font-weight:700;display:flex}.workflow-step-text{color:var(--ink);flex:1;font-size:.85rem}.remove-step-btn{color:#ef4444;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:.85rem;transition:background .15s}.remove-step-btn:hover{background:#fef2f2}.add-step-row{align-items:center;gap:8px;display:flex}.add-step-row input{border:1px solid var(--border);border-radius:8px;flex:1;padding:8px 12px;font-size:.85rem}.workspace-center{justify-content:center;display:flex;position:sticky;top:24px}.workspace-right{gap:12px;max-height:calc(100vh - 200px);display:grid;position:sticky;top:24px;overflow-y:auto}.differences-list{gap:10px;margin-top:8px;display:grid}.difference-card{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:12px;position:relative}.difference-card.impact-minor{border-left:3px solid #f59e0b}.difference-card.impact-major{border-left:3px solid #f97316}.difference-card.impact-critical{background:#fef2f2;border-color:#fecaca;border-left-style:solid;border-left-width:3px}.diff-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.diff-step{color:var(--ink-strong);font-size:.85rem;font-weight:600}.diff-impact{border-radius:6px;padding:2px 8px;font-size:.7rem;font-weight:600}.diff-impact.impact-minor{color:#92400e;background:#fef3c7}.diff-impact.impact-major{color:#9a3412;background:#ffedd5}.diff-impact.impact-critical{color:#991b1b;background:#fee2e2}.diff-compare{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;display:grid}.diff-compare label{color:var(--ink-soft);margin-bottom:2px;font-size:.75rem;font-weight:600;display:block}.diff-compare p{color:var(--ink);margin:0;font-size:.8rem;line-height:1.5}.diff-real{background:#15803d0f;border-radius:8px;padding:8px}.diff-sim{background:#dc26260f;border-radius:8px;padding:8px}.diff-suggestion{border-top:1px dashed #e5e7eb;margin-top:8px;padding-top:8px}.diff-suggestion label{color:var(--ink-soft);margin-bottom:2px;font-size:.75rem;font-weight:600;display:block}.diff-suggestion p{color:var(--ink);margin:0;font-size:.8rem}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:20px;width:min(520px,100%);max-height:90vh;padding:24px;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-header h3{color:var(--ink-strong);margin:0}.modal-body{gap:12px;display:grid}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;margin-top:16px;padding-top:16px;display:flex}.review-tabs-bar{gap:8px;margin-bottom:16px;display:flex}.review-tab{border:1px solid var(--border);cursor:pointer;color:var(--ink);background:#fff;border-radius:12px;padding:10px 20px;font-size:.9rem;font-weight:600;transition:all .2s;position:relative}.review-tab.active{background:var(--brand);color:#fff;border-color:var(--brand)}.review-tab:hover:not(.active){border-color:var(--brand);color:var(--brand)}.review-tab-badge{color:#fff;background:#ef4444;border-radius:10px;padding:2px 6px;font-size:.7rem;font-weight:700;position:absolute;top:-6px;right:-6px}.review-queue-stats{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.queue-stat{border-radius:6px;padding:3px 8px;font-size:.75rem;font-weight:600}.queue-stat.pending{color:#92400e;background:#fef3c7}.queue-stat.approved{color:#065f46;background:#d1fae5}.queue-stat.issues{color:#9a3412;background:#ffedd5}.queue-stat.rejected{color:#991b1b;background:#fee2e2}.task-card-wf,.task-card-diff{margin-top:4px;font-size:.75rem}.task-card-diff{color:#f59e0b}.workflow-review-card{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:1px solid #bae6fd;border-radius:12px;margin-bottom:14px;padding:14px}.workflow-review-card h3{color:var(--ink-strong);margin:0 0 10px;font-size:.95rem}.wf-meta{color:var(--ink-soft);gap:16px;margin-bottom:10px;font-size:.8rem;display:flex}.wf-steps ol{color:var(--ink);margin:4px 0 0;padding-left:20px;font-size:.85rem}.wf-diffs{border-top:1px dashed #93c5fd;margin-top:10px;padding-top:10px}.diff-summary-card{border-radius:8px;align-items:center;gap:8px;margin-top:6px;padding:6px 10px;font-size:.8rem;display:flex}.diff-summary-card.impact-minor{background:#fffbeb;border:1px solid #fde68a}.diff-summary-card.impact-major{background:#ffedd5;border:1px solid #fed7aa}.diff-summary-card.impact-critical{background:#fef2f2;border:1px solid #fecaca}.diff-impact-badge{background:#fff9;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:600}.step-diff-note{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-top:8px;padding:8px 10px;font-size:.8rem}.review-action-btn{cursor:pointer;text-align:center;border:2px solid #0000;border-radius:12px;padding:12px 16px;font-size:.9rem;font-weight:700;transition:all .2s}.review-action-btn.approved{color:#065f46;background:#d1fae5;border-color:#6ee7b7}.review-action-btn.approved:hover{background:#a7f3d0}.review-action-btn.has_issues{color:#9a3412;background:#ffedd5;border-color:#fdba74}.review-action-btn.has_issues:hover{background:#fed7aa}.review-action-btn.rejected{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.review-action-btn.rejected:hover{background:#fecaca}.three-tier{gap:8px;display:grid}.student-stats-table{margin-top:16px}.student-stats-table table{border-collapse:collapse;width:100%;font-size:.9rem}.student-stats-table th,.student-stats-table td{text-align:center;border-bottom:1px solid var(--border);padding:10px 14px}.student-stats-table th{color:var(--ink-soft);background:#f8fafc;font-size:.8rem;font-weight:600}.student-stats-table td:first-child{text-align:left}.admin-form-card{border:1px solid var(--border);background:#f8fafc;border-radius:12px;margin-bottom:16px;padding:18px}.admin-form-card h3{color:var(--ink-strong);margin:0 0 14px;font-size:1rem}.admin-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.admin-form-actions{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.admin-users-table{margin-top:16px;overflow-x:auto}.admin-users-table table{border-collapse:collapse;width:100%;font-size:.85rem}.admin-users-table th,.admin-users-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 14px}.admin-users-table th{color:var(--ink-soft);background:#f8fafc;font-size:.8rem;font-weight:600}.admin-actions{gap:6px;display:flex}.small-button.secondary{color:var(--ink);background:#f1f5f9}.small-button.danger{color:#991b1b;background:#fee2e2}.guide-content{line-height:1.8}.guide-section{margin-bottom:28px}.guide-section h3{color:var(--ink-strong);border-bottom:2px solid var(--brand);margin-bottom:12px;padding-bottom:8px;font-size:1.1rem;display:inline-block}.guide-section p{color:var(--ink);margin:8px 0;font-size:.9rem}.guide-role-cards{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:12px;display:grid}.guide-role-card{border-left:4px solid var(--brand);background:#f8fafc;border-radius:12px;padding:16px}.guide-role-card h4{margin:0 0 10px;font-size:1rem}.guide-role-card ul{gap:6px;margin:0;padding-left:18px;display:grid}.guide-role-card li{color:var(--ink);font-size:.85rem;line-height:1.5}.guide-steps{padding-left:20px}.guide-steps li{color:var(--ink);margin-bottom:10px;font-size:.9rem;line-height:1.6}.guide-table{border-collapse:collapse;width:100%;margin-top:12px}.guide-table th,.guide-table td{text-align:left;border:1px solid var(--border);padding:8px 14px;font-size:.85rem}.guide-table th{background:#f8fafc;font-weight:600}.task-selector{align-items:center;gap:8px;display:flex}.task-selector select{border:1px solid var(--border);border-radius:8px;width:auto;padding:6px 12px;font-size:.85rem;font-weight:600}@media (width<=1200px){.student-workspace{grid-template-columns:1fr 1fr}.workspace-left{max-height:none;position:static}.workspace-center{position:static}.workspace-right{max-height:none;position:static}.guide-role-cards{grid-template-columns:1fr}}@media (width<=720px){.student-workspace,.admin-form-grid{grid-template-columns:1fr}}
