:root {
  color-scheme: light;
  --bg: #f5f5f7;
  --surface: rgba(255,255,255,.86);
  --panel: #ffffff;
  --panel-2: #f5f5f7;
  --panel-3: #ededf0;
  --line: #e3e3e7;
  --line-2: #d3d3d8;
  --text: #1d1d1f;
  --muted: #6e6e73;
  --dim: #96969b;
  --accent: #087cf0;
  --accent-2: #0066cc;
  --ok: #248a3d;
  --run: #087cf0;
  --warn: #b25000;
  --bad: #d70015;
  --mono: ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, monospace;
  --sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "PingFang SC", "Helvetica Neue", "Microsoft YaHei", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { margin: 0; padding: 0; }
body { background: var(--bg); color: var(--text); font-family: var(--sans); font-size: 14px; line-height: 1.55; -webkit-font-smoothing: antialiased; min-height: 100vh; }
button, input, textarea, select { font: inherit; }
a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--accent-2); }
button, a { -webkit-tap-highlight-color: transparent; }
code, pre { font-family: var(--mono); }
svg { display: block; }
.wrap { width: min(1240px,100%); margin: 0 auto; padding: 56px 32px 64px; }
.topbar { height: 58px; position: sticky; top: 0; z-index: 30; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 max(24px,calc((100vw - 1240px)/2 + 32px)); background: rgba(250,250,252,.78); backdrop-filter: saturate(180%) blur(20px); -webkit-backdrop-filter: saturate(180%) blur(20px); border-bottom: 1px solid rgba(0,0,0,.055); }
.brand { display: flex; align-items: center; gap: 10px; min-width: 0; color: inherit; }
.logo { width: 29px; height: 29px; border-radius: 9px; display: grid; place-items: center; flex: none; background: #1d1d1f; color: #fff; font-size: 13px; font-weight: 650; box-shadow: none; }
.brand-copy { display: flex; align-items: baseline; gap: 9px; white-space: nowrap; }
.brand-copy strong { font-size: 14px; letter-spacing: -.01em; font-weight: 650; }
.brand-copy span { color: var(--dim); font-size: 10px; letter-spacing: .025em; }
.server { display: flex; align-items: center; gap: 12px; font-size: 11px; color: var(--muted); white-space: nowrap; }
.service-status { display: inline-flex; align-items: center; gap: 7px; }
.server-divider { width: 1px; height: 12px; background: var(--line-2); }
.server-label { color: var(--dim); }
.navlink { color: var(--text); padding: 5px 10px; border: 0; border-radius: 7px; }
.navlink:hover { color: var(--accent); background: rgba(0,0,0,.035); }
.dot { width: 6px; height: 6px; border-radius: 50%; background: var(--dim); display: inline-block; flex: none; }
.dot.ok { background: #30a46c; box-shadow: none; }.dot.bad { background: var(--bad); }
.page-heading { position: relative; display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin: 0 0 38px; padding: 6px 0 0; }
.eyebrow { color: var(--accent); font-size: 12px; line-height: 1; font-weight: 650; letter-spacing: 0; text-transform: none; margin-bottom: 15px; }
.page-heading h1 { font-size: clamp(38px,4.6vw,58px); line-height: 1.06; letter-spacing: -.055em; margin: 0 0 15px; font-weight: 680; }
.page-heading p { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.5; letter-spacing: -.015em; }
.heading-actions { display: flex; align-items: center; gap: 10px; flex: none; padding-bottom: 4px; }
.icon { width: 16px; height: 16px; flex: none; }
.card { background: var(--panel); border: 1px solid rgba(0,0,0,.045); border-radius: 22px; padding: 26px; box-shadow: 0 2px 8px rgba(0,0,0,.025),0 14px 36px rgba(0,0,0,.025); }
.card + .card { margin-top: 18px; }
.card h2 { margin: 0 0 6px; font-size: 20px; font-weight: 650; letter-spacing: -.025em; }
.card h3 { margin: 0 0 16px; font-size: 12px; font-weight: 650; color: var(--text); text-transform: none; letter-spacing: -.01em; }
.sub { color: var(--muted); font-size: 13px; margin: 0 0 22px; }
.row { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.spread { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.grid-2 { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(280px,.78fr); gap: 20px; align-items: start; }
.grid-detail { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(300px,.75fr); gap: 20px; align-items: start; }
.overview { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-bottom: 20px; }
.overview-card { position: relative; text-align: left; padding: 20px 22px; border-radius: 18px; color: var(--text); background: rgba(255,255,255,.75); border: 1px solid rgba(0,0,0,.045); cursor: pointer; transition: transform .2s,box-shadow .2s,background .2s; box-shadow: 0 2px 8px rgba(0,0,0,.018); }
.overview-card:hover { background: #fff; box-shadow: 0 8px 24px rgba(0,0,0,.06); transform: translateY(-2px); }
.overview-card.active { border-color: rgba(8,124,240,.38); box-shadow: 0 0 0 3px rgba(8,124,240,.08); }
.overview-top { display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 12px; }
.overview-icon { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: #f0f0f2; color: #7d7d82; }
.overview-icon .icon { width: 14px; height: 14px; }
.overview-card .n { margin-top: 8px; font-size: 31px; line-height: 1.2; font-weight: 620; letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.overview-card.run .n,.overview-card.run .overview-icon { color: var(--run); }.overview-card.run .overview-icon { background: #eaf3fd; }
.overview-card.wait .n,.overview-card.wait .overview-icon { color: var(--warn); }.overview-card.wait .overview-icon { background: #fff3e5; }
.overview-card.ok .n,.overview-card.ok .overview-icon { color: var(--ok); }.overview-card.ok .overview-icon { background: #eaf6ee; }
.create-card { scroll-margin-top: 78px; }
.section-index { color: var(--dim); font-family: var(--sans); font-size: 11px; }
.field { margin-bottom: 18px; }
.field > label { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 12px; color: var(--text); margin-bottom: 8px; font-weight: 550; }
.field .req { color: var(--accent); font-size: 10px; font-weight: 500; }.field .hint { color: var(--dim); font-size: 11px; text-align: right; font-weight: 400; }
input[type=text],input[type=search],input[type=password],textarea,select { width: 100%; background: var(--panel-2); color: var(--text); border: 1px solid transparent; border-radius: 12px; padding: 11px 13px; font-family: var(--sans); font-size: 13px; line-height: 1.55; outline: none; transition: border-color .18s,box-shadow .18s,background .18s; }
input::placeholder,textarea::placeholder { color: #98989d; }
input[type=text]:focus,input[type=search]:focus,input[type=password]:focus,textarea:focus,select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(8,124,240,.12); background: #fff; }
.title-input { font-size: 15px !important; padding: 13px 14px !important; }
textarea { resize: vertical; min-height: 88px; }
select { appearance: none; padding-right: 32px; background-image: linear-gradient(45deg,transparent 50%,#86868b 50%),linear-gradient(135deg,#86868b 50%,transparent 50%); background-position: calc(100% - 17px) 50%,calc(100% - 12px) 50%; background-size: 5px 5px,5px 5px; background-repeat: no-repeat; }
.two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.advanced-fields { margin: 2px 0 18px; border: 0; border-radius: 12px; background: var(--panel-2); }
.advanced-fields summary { list-style: none; cursor: pointer; padding: 12px 14px; color: var(--accent); font-size: 12px; display: flex; align-items: center; justify-content: space-between; }
.advanced-fields summary::-webkit-details-marker { display: none; }.advanced-fields summary::after { content: "+"; color: var(--accent); font-size: 18px; line-height: 1; }.advanced-fields[open] summary::after { content: "−"; }.advanced-fields[open] summary { border-bottom: 1px solid var(--line); }
.advanced-body { padding: 17px 15px 0; }
.form-footer { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-top: 3px; }
.form-tip { color: var(--dim); font-size: 10px; }
kbd { font-family: var(--sans); font-size: 10px; padding: 1px 5px; border: 1px solid var(--line-2); border-radius: 4px; color: var(--muted); background: #fff; }
.btn { display: inline-flex; align-items: center; gap: 7px; justify-content: center; border: 0; background: var(--panel-3); color: var(--text); padding: 9px 15px; border-radius: 999px; font-size: 12.5px; font-weight: 550; cursor: pointer; transition: background .16s,transform .16s,opacity .16s; font-family: var(--sans); white-space: nowrap; }
.btn:hover { color: var(--text); background: #e4e4e8; }.btn:active { transform: scale(.98); }.btn:focus-visible,.chip:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }.btn:disabled { opacity: .38; cursor: not-allowed; }.btn[aria-disabled="true"] { opacity: .35; pointer-events: none; }
.btn.primary { background: var(--accent); border-color: var(--accent); color: #fff; font-weight: 550; box-shadow: none; padding-left: 18px; padding-right: 18px; }.btn.primary:hover { filter: none; color: #fff; background: #0877e6; }.btn.ghost { background: transparent; color: var(--accent); }.btn.ghost:hover { background: #edf5fd; }.btn.danger { color: var(--bad); }.btn.danger:hover { color: var(--bad); background: #fff0f1; }.btn.sm { padding: 6px 10px; font-size: 11px; border-radius: 999px; }.btn.refreshing .icon { animation: spin .8s linear infinite; }
.runtime-card .kv { margin-top: 20px; }.runtime-head { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; }.runtime-symbol { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; background: #edf5fd; color: var(--accent); }.runtime-head h2 { margin: 0; font-size: 17px; }.runtime-head p { margin: 1px 0 0; font-size: 11px; color: var(--dim); }
.capacity { margin: 20px 0; }.capacity-label { display: flex; justify-content: space-between; color: var(--muted); font-size: 11px; margin-bottom: 8px; }.capacity-track { height: 5px; background: #e9e9ed; border-radius: 99px; overflow: hidden; }.capacity-track i { display: block; height: 100%; border-radius: inherit; background: var(--accent); transition: width .3s; }
.flow-list { list-style: none; padding: 0; margin: 0; }.flow-list li { position: relative; display: flex; gap: 12px; padding-bottom: 19px; color: var(--muted); font-size: 11px; }.flow-list li:last-child { padding-bottom: 0; }.flow-list li::before { content: ""; width: 7px; height: 7px; margin-top: 6px; border-radius: 50%; background: var(--accent); flex: none; box-shadow: 0 0 0 4px #edf5fd; }.flow-list li:not(:last-child)::after { content: ""; position: absolute; left: 3px; top: 18px; bottom: 5px; width: 1px; background: var(--line); }.flow-list b { display: block; color: var(--text); font-weight: 550; font-size: 12px; margin-bottom: 3px; }
.task-section { margin-top: 20px; padding: 0; overflow: hidden; }.task-header { padding: 24px 26px 18px; }.task-header h2 { display: flex; align-items: center; gap: 9px; }.count-badge { min-width: 22px; height: 20px; display: inline-grid; place-items: center; padding: 0 6px; border-radius: 999px; background: var(--panel-3); color: var(--muted); font-size: 10px; font-family: var(--sans); }
.task-toolbar { display: grid; grid-template-columns: minmax(200px,1fr) 140px 150px auto; gap: 9px; padding: 0 26px 20px; }.search-wrap { position: relative; }.search-wrap .icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--dim); pointer-events: none; }.search-wrap input { padding-left: 36px; }.task-toolbar select,.task-toolbar input { padding-top: 9px; padding-bottom: 9px; font-size: 12px; }
.job-list { border-top: 1px solid var(--line); }.job-row { display: grid; grid-template-columns: minmax(240px,1.8fr) 88px minmax(140px,.8fr) 72px 92px auto; align-items: center; gap: 14px; padding: 20px 26px; border-bottom: 1px solid var(--line); transition: background .15s; }.job-row:last-child { border-bottom: 0; }.job-row:hover { background: #fafafa; }.job-main { min-width: 0; }.job-title { display: block; color: var(--text); font-weight: 570; font-size: 14px; line-height: 1.45; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; letter-spacing: -.01em; }.job-title:hover { color: var(--accent); }.job-sub { display: flex; gap: 8px; align-items: center; color: var(--dim); font-size: 10px; margin-top: 6px; font-family: var(--mono); }.job-progress { min-width: 0; }.progress-meta { display: flex; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 10px; margin-bottom: 8px; }.progress-meta b { color: var(--text); font-weight: 550; }.bar { width: 100%; height: 4px; border-radius: 99px; background: #e7e7eb; overflow: hidden; }.bar > i { display: block; height: 100%; border-radius: inherit; background: var(--accent); transition: width .3s; }.job-stats { color: var(--muted); font-size: 10.5px; }.job-time { color: var(--dim); font-size: 10.5px; }.job-actions { display: flex; justify-content: flex-end; gap: 3px; }.job-actions .icon { width: 14px; height: 14px; }.job-mobile-meta { display: none; }
.empty { color: var(--dim); font-size: 12.5px; padding: 28px 16px; text-align: center; border: 1px dashed var(--line-2); border-radius: 12px; }.job-list > .empty,.task-section > .empty { border: 0; border-radius: 0; padding: 48px 20px; }.empty strong { display: block; color: var(--text); font-size: 15px; font-weight: 550; margin-bottom: 5px; }
.pill { display: inline-flex; align-items: center; gap: 5px; width: fit-content; padding: 4px 9px; border-radius: 999px; font-size: 10.5px; font-weight: 550; border: 0; color: var(--muted); background: var(--panel-3); white-space: nowrap; }.pill .dot { width: 5px; height: 5px; }.pill.running { color: var(--run); background: #eaf3fd; }.pill.running .dot { background: var(--run); animation: pulse 1.6s infinite; }.pill.done { color: var(--ok); background: #eaf6ee; }.pill.done .dot { background: var(--ok); }.pill.queued { color: var(--warn); background: #fff3e5; }.pill.queued .dot { background: var(--warn); }.pill.failed,.pill.blocked,.pill.interrupted { color: var(--bad); background: #fff0f1; }.pill.failed .dot,.pill.blocked .dot,.pill.interrupted .dot { background: var(--bad); }.pill.cancelled { color: var(--dim); }@keyframes pulse { 0%,100%{opacity:1}50%{opacity:.35} }
.metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: 9px; }.metric { background: var(--panel-2); border: 0; border-radius: 12px; padding: 12px; }.metric .n { font-size: 22px; font-weight: 620; font-variant-numeric: tabular-nums; }.metric .k { font-size: 10px; color: var(--dim); }.metric .n.run { color: var(--run); }.metric .n.ok { color: var(--ok); }.metric .n.warn { color: var(--warn); }
.existing-section { margin-top: 20px; }.existing { display: grid; grid-template-columns: repeat(auto-fill,minmax(280px,1fr)); gap: 12px; margin-top: 18px; }.proj { padding: 18px; border: 0; border-radius: 14px; background: var(--panel-2); display: flex; flex-direction: column; gap: 10px; }.proj .pt { font-size: 13px; font-weight: 570; line-height: 1.5; }.proj .pm { font-size: 10.5px; color: var(--dim); display: flex; gap: 7px; flex-wrap: wrap; }.proj .pf { display: flex; gap: 5px; flex-wrap: wrap; }
.note { font-size: 12px; color: var(--muted); background: #f0f4ff; border: 0; padding: 12px 14px; border-radius: 12px; }.note.warn { background: #fff6e9; border: 0; color: #8a520f; }.kv { display: grid; grid-template-columns: 76px minmax(0,1fr); gap: 11px 10px; font-size: 11.5px; margin: 0; }.kv dt { color: var(--dim); }.kv dd { margin: 0; color: var(--text); word-break: break-word; }
.crumbs { font-size: 12px; color: var(--dim); margin-bottom: 22px; }.crumbs a { color: var(--muted); }.detail-title { font-size: clamp(26px,3vw,38px); line-height: 1.22; margin: 5px 0 15px; font-weight: 660; letter-spacing: -.04em; }.meta { display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: 11px; color: var(--muted); margin-bottom: 4px; }.meta b { color: var(--text); font-weight: 500; }.meta code { color: var(--accent); font-size: 10px; }
.timeline { display: grid; grid-template-columns: repeat(7,1fr); gap: 4px; margin: 18px 0 0; }.step { position: relative; padding-top: 25px; font-size: 10.5px; color: var(--dim); }.step::before { content: ""; position: absolute; top: 7px; left: 0; right: 0; height: 2px; background: #e5e5e9; }.step:first-child::before { left: 50%; }.step:last-child::before { right: 50%; }.step .knob { position: absolute; top: 1px; left: 50%; transform: translateX(-50%); width: 14px; height: 14px; border-radius: 50%; border: 2px solid #d4d4d8; background: #fff; z-index: 1; }.step.done { color: var(--ok); }.step.done::before { background: #a8dfba; }.step.done .knob { background: var(--ok); border-color: var(--ok); }.step.doing { color: var(--run); font-weight: 600; }.step.doing .knob { background: #fff; border-color: var(--run); box-shadow: 0 0 0 4px #eaf3fd; animation: pulse 1.6s infinite; }.step.doing::before { background: #b9d9f8; }.step.human { color: var(--warn); }.step.human .knob { background: #fff; border-color: var(--warn); }.step .nm { display: block; text-align: center; }
.logbox { height: 560px; overflow-y: auto; background: #f7f7f9; border: 1px solid var(--line); border-radius: 13px; padding: 13px 15px; font-family: var(--mono); font-size: 11px; line-height: 1.65; }.ev { display: grid; grid-template-columns: 58px 65px minmax(0,1fr); gap: 6px; padding: 5px 0; border-bottom: 1px dashed #e7e7ea; }.ev:last-child { border-bottom: none; }.ev .ts { color: #9a9aa0; }.ev .tag { font-size: 9.5px; text-transform: uppercase; letter-spacing: .04em; }.ev .body { white-space: pre-wrap; word-break: break-word; color: #48484d; }.ev.assistant .tag { color: var(--text); }.ev.tool .tag { color: #6c63ce; }.ev.tool .body { color: #655da9; }.ev.tool_result .tag { color: var(--dim); }.ev.tool_result .body { color: #7b7b81; }.ev.stage .tag,.ev.gate .tag { color: var(--accent); }.ev.stage .body,.ev.gate .body { color: var(--accent); font-weight: 600; }.ev.system .tag { color: var(--dim); }.ev.system .body { color: var(--muted); }.ev.stderr .body,.ev.error .body { color: var(--bad); }.ev.final .body { color: var(--ok); font-weight: 600; }.ev details summary { cursor: pointer; color: var(--dim); }.ev details pre { margin: 4px 0 0; white-space: pre-wrap; word-break: break-word; color: #77777d; max-height: 260px; overflow: auto; }
.logtools { display: flex; gap: 5px; align-items: center; flex-wrap: wrap; }.chip { font-size: 10px; padding: 5px 9px; border-radius: 999px; border: 0; color: var(--muted); cursor: pointer; user-select: none; background: var(--panel-3); }.chip.on { color: var(--accent); background: #eaf3fd; }.log-search { max-width: 250px; margin: 15px 0 11px; }
.files { display: flex; flex-direction: column; gap: 9px; }.file { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px; background: var(--panel-2); border: 0; border-radius: 12px; }.file .fn { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.file .ft { flex: none; display: flex; align-items: center; gap: 8px; }.file .nm { font-size: 11.5px; }.file .sz { font-size: 10px; color: var(--dim); font-family: var(--mono); }.file .kind { font-size: 9px; font-weight: 650; letter-spacing: .04em; padding: 3px 6px; border-radius: 5px; background: #e8f2fd; color: var(--accent); margin-right: 7px; }.brief { white-space: pre-wrap; font-size: 12px; color: var(--muted); background: var(--panel-2); border: 0; border-radius: 12px; padding: 14px; max-height: 260px; overflow: auto; }
.toast { position: fixed; right: 22px; bottom: 22px; max-width: min(400px,calc(100vw - 32px)); background: rgba(29,29,31,.92); backdrop-filter: blur(16px); border: 0; color: #fff; padding: 12px 18px; border-radius: 14px; font-size: 12px; box-shadow: 0 12px 36px rgba(0,0,0,.18); opacity: 0; transform: translateY(10px); transition: .22s; z-index: 99; pointer-events: none; }.toast.show { opacity: 1; transform: none; }.toast.err { background: rgba(215,0,21,.92); }
.spinner { width: 13px; height: 13px; border-radius: 50%; border: 2px solid rgba(255,255,255,.35); border-top-color: #fff; animation: spin .7s linear infinite; display: inline-block; }@keyframes spin { to { transform: rotate(360deg); } }.footer { display: flex; justify-content: space-between; gap: 16px; color: var(--dim); font-size: 10.5px; margin-top: 30px; padding: 0 4px; }.mono { font-family: var(--mono); }.muted { color: var(--muted); }.dim { color: var(--dim); }.small { font-size: 12px; }
/* account and workspace chrome */
.user-chip { display:flex;align-items:center;gap:7px;color:var(--text);font-size:11px; }
.avatar { width:26px;height:26px;display:inline-grid;place-items:center;border-radius:50%;background:#e9e9ee;color:#5e5e64;font-size:11px;font-weight:650;flex:none; }
.owner-tag { color:var(--accent);font-family:var(--sans); }
.admin-heading h1 { font-size:clamp(34px,4vw,50px); }
.admin-insights { display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-bottom:20px; }
.admin-insights>div { background:rgba(255,255,255,.8);padding:18px 22px;display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px 12px; }
.admin-insights span { color:var(--muted);font-size:11px; }.admin-insights b { grid-row:1/3;grid-column:2;font-size:25px;font-weight:620;letter-spacing:-.04em; }.admin-insights small { color:var(--dim);font-size:10px; }
.admin-users { margin-top:20px; }.admin-leads { margin-top:20px; }.lead-list { margin-top:16px;border-top:1px solid var(--line); }.lead-row { display:grid;grid-template-columns:minmax(140px,1fr) minmax(160px,1.4fr) 100px;gap:6px 16px;align-items:baseline;padding:14px 4px;border-bottom:1px solid var(--line);font-size:12px; }.lead-row:last-child { border-bottom:0; }.lead-name { grid-column:1;grid-row:1; }.lead-name b { font-size:13px;font-weight:600; }.lead-role { color:var(--dim);font-size:10px;margin-left:8px; }.lead-contact { grid-column:2;grid-row:1;font-family:var(--mono);font-size:11px;color:var(--accent-2);word-break:break-all; }.lead-contact a { color:inherit;text-decoration:none; }.lead-time { grid-column:3;grid-row:1;color:var(--dim);font-size:10.5px;text-align:right; }.lead-note { grid-column:1/-1;grid-row:2;margin:2px 0 0;color:var(--muted);font-size:11.5px;line-height:1.65;white-space:pre-wrap; }@media (max-width:680px) { .lead-scope { display:none; }.lead-row { grid-template-columns:1fr auto;gap:3px 10px; }.lead-name { grid-column:1;grid-row:1; }.lead-time { grid-column:2;grid-row:1; }.lead-contact { grid-column:1/-1;grid-row:2; }.lead-note { grid-column:1/-1;grid-row:3; } }.admin-user-create { margin:18px 0 4px; }.admin-user-form { display:grid;grid-template-columns:1fr 1fr 1.2fr 130px auto;gap:9px;padding-bottom:16px; }
.user-table { margin-top:16px;border-top:1px solid var(--line); }.user-row { display:grid;grid-template-columns:minmax(180px,1.4fr) 90px minmax(120px,.8fr) 120px minmax(140px,.8fr);align-items:center;gap:14px;padding:14px 4px;border-bottom:1px solid var(--line);font-size:12px; }.user-row:last-child { border-bottom:0; }.user-labels { color:var(--dim);font-size:10px;padding-top:12px;padding-bottom:8px; }.user-identity { display:flex;align-items:center;gap:10px;min-width:0; }.user-identity b { display:block;font-weight:570; }.user-identity small { display:block;color:var(--dim);font-size:10px; }.user-status { display:flex;align-items:center;gap:8px;flex-wrap:wrap; }
/* sign in */
.auth-body { background:#fff; }.auth-layout { min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr); }.auth-intro { background:var(--bg);padding:42px clamp(36px,6vw,88px);display:flex;flex-direction:column;justify-content:space-between; }.auth-intro h1 { font-size:clamp(44px,5.3vw,72px);line-height:1.08;letter-spacing:-.06em;margin:0 0 24px; }.auth-intro>div>p { color:var(--muted);font-size:17px;line-height:1.65;max-width:470px; }.auth-privacy { color:var(--dim);font-size:11px; }.auth-panel { display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px; }.auth-card { width:min(380px,100%); }.auth-home { display:inline-flex;margin:0 0 16px;color:var(--muted);font-size:12px;text-decoration:none; }.auth-home:hover { color:var(--text); }.auth-card h2 { font-size:28px;letter-spacing:-.04em;margin:0 0 7px; }.auth-card .sub { margin-bottom:24px; }.auth-tabs { display:grid;grid-template-columns:1fr 1fr;background:var(--panel-2);padding:3px;border-radius:10px;margin-bottom:24px; }.auth-tabs button { border:0;background:transparent;color:var(--muted);padding:7px;border-radius:8px;font-size:12px;cursor:pointer; }.auth-tabs button.active { background:#fff;color:var(--text);box-shadow:0 1px 5px rgba(0,0,0,.08); }.auth-form[hidden] { display:none; }.auth-submit { width:100%;padding:11px 18px;margin-top:4px; }.auth-error { min-height:20px;color:var(--bad);font-size:12px;text-align:center;margin:14px 0 0; }.auth-help { color:var(--dim);font-size:10px;margin-top:26px; }
@media (max-width: 900px) { .admin-insights { grid-template-columns:repeat(2,1fr); }.admin-user-form { grid-template-columns:1fr 1fr; }.user-row { grid-template-columns:minmax(170px,1.4fr) 80px minmax(120px,.8fr) minmax(130px,.8fr); }.user-row>*:nth-child(4) { display:none; }.auth-layout { grid-template-columns:1fr; }.auth-intro { min-height:300px;padding:28px;gap:60px; }.auth-intro h1 { font-size:44px; }.auth-intro>div>p,.auth-privacy { display:none; }.auth-panel { padding:42px 24px; } }
@media (max-width: 680px) { .user-chip>span:last-child { display:none; }.server .navlink { display:none; }.admin-heading .heading-actions { width:100%;padding-top:0; }.admin-heading .heading-actions .btn { width:auto; }.admin-insights>div { padding:15px; }.admin-insights b { font-size:21px; }.admin-user-form { grid-template-columns:1fr; }.user-labels { display:none; }.user-row { grid-template-columns:1fr auto;gap:10px;padding:16px 2px; }.user-row>*:nth-child(3),.user-row>*:nth-child(4) { display:none; }.user-status { justify-content:flex-end; }.auth-intro { min-height:240px;padding:22px;gap:45px; }.auth-intro h1 { font-size:38px; }.auth-intro .eyebrow { display:none; }.auth-panel { padding:34px 22px; }.auth-card h2 { font-size:25px; } }
@media (max-width: 1100px) { .job-row { grid-template-columns: minmax(220px,1.5fr) 82px minmax(120px,.7fr) auto; }.job-time,.job-stats { display: none; }.job-title { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }.job-sub { flex-wrap: wrap; row-gap: 2px; }.job-sub > span { white-space: nowrap; }.job-session { display: none; }.task-toolbar { grid-template-columns: minmax(180px,1fr) 130px 140px auto; } }
@media (max-width: 900px) { .wrap { padding: 40px 22px 50px; }.grid-2,.grid-detail { grid-template-columns: 1fr; }.overview { grid-template-columns: repeat(2,1fr); }.runtime-side { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.runtime-side .card + .card { margin-top: 0; }.task-toolbar { grid-template-columns: 1fr 130px 140px auto; }.job-row { grid-template-columns: minmax(210px,1.5fr) 82px minmax(120px,.7fr) auto; }.job-stats { display: none; } }
@media (max-width: 680px) { .topbar { height: 54px; padding: 0 16px; }.brand-copy span,.server-label,.server-divider { display: none; }.server { gap: 8px; }.service-status > span:last-child { display: none; }.navlink { padding: 5px 8px; }.wrap { padding: 34px 15px 42px; }.page-heading { flex-direction: column; align-items: stretch; gap: 16px; margin-bottom: 28px; }.page-heading h1 { font-size: 38px; max-width: none; }.admin-heading .heading-actions { width: auto; padding-top: 0; justify-content: flex-start; }.page-heading p { font-size: 14px; max-width: 270px; }.eyebrow { font-size: 11px; }.heading-actions { padding-top: 27px; }.heading-actions .btn { width: 38px; height: 38px; padding: 0; }.heading-actions .btn .button-label { display: none; }.overview { gap: 10px; margin-bottom: 14px; }.overview-card { padding: 16px; border-radius: 16px; }.overview-card .n { font-size: 28px; }.card { padding: 20px; border-radius: 18px; }.card h2 { font-size: 19px; }.two { grid-template-columns: 1fr; gap: 0; }.form-footer { align-items: stretch; flex-direction: column; }.form-footer .btn { width: 100%; min-height: 42px; }.form-tip { display: none; }.runtime-side { display: block; }.runtime-side .card + .card { margin-top: 16px; }.task-section { padding: 0; }.task-header { padding: 20px 20px 15px; }.task-toolbar { grid-template-columns: 1fr 1fr; padding: 0 20px 16px; }.task-toolbar .search-wrap { grid-column: 1/-1; }.task-toolbar .btn { display: none; }.job-row { display: grid; grid-template-columns: 1fr auto; gap: 13px 12px; padding: 19px 20px; }.job-main { grid-column: 1/-1; }.job-title { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }.job-progress { grid-column: 1/-1; grid-row: 3; }.job-stats,.job-time { display: none; }.job-actions { grid-column: 2; grid-row: 2; }.job-mobile-meta { display: flex; gap: 10px; color: var(--dim); font-size: 10px; margin-top: 8px; }.existing { grid-template-columns: 1fr; }.footer { flex-direction: column; gap: 5px; }.timeline { overflow-x: auto; grid-template-columns: repeat(7,minmax(72px,1fr)); padding-bottom: 6px; }.detail-title { font-size: 27px; }.meta { gap: 7px 12px; }.logbox { height: 480px; padding: 10px; }.ev { grid-template-columns: 48px 52px minmax(0,1fr); gap: 4px; font-size: 10px; }.log-search { max-width: none; }.file { align-items: flex-start; flex-direction: column; }.file .ft { width: 100%; justify-content: flex-end; } }
/* consumer product experience */
:root { --dim:#6e6e73; --accent:#0071e3; --accent-2:#0066cc; }
[hidden] { display:none !important; }
button,a,input,textarea,select,summary { outline-offset:3px; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline:2px solid var(--accent); }
.skip-link { position:fixed;top:8px;left:12px;z-index:200;padding:10px 16px;border-radius:10px;background:#fff;color:var(--text);box-shadow:0 4px 20px rgba(0,0,0,.16);transform:translateY(-150%); }
.skip-link:focus { transform:none; }
.page-loading { min-height:45vh;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted); }
.spinner.dark { border-color:rgba(0,0,0,.15);border-top-color:var(--accent); }
.error-state { max-width:560px;margin:12vh auto;text-align:center;padding:40px 24px; }
.error-state h1 { font-size:32px;letter-spacing:-.04em; }.error-state p { color:var(--muted); }.error-state .btn { margin-top:14px; }
.btn { min-height:38px; }.btn.large { min-height:48px;padding:12px 22px;font-size:14px; }.btn.full { width:100%;margin-top:10px; }
.icon-button { width:40px;height:40px;display:inline-grid;place-items:center;flex:none;border:0;border-radius:50%;background:var(--panel-3);color:var(--text);cursor:pointer;transition:background .18s,transform .18s; }
.icon-button:hover { background:#e4e4e8; }.icon-button:active { transform:scale(.96); }.icon-button.subtle { background:transparent;color:var(--muted); }.icon-button.subtle:hover { background:var(--panel-3);color:var(--text); }
.consumer-hero { display:flex;justify-content:space-between;align-items:flex-end;gap:32px;padding:24px 0 44px; }
.consumer-hero h1 { font-size:clamp(44px,5.6vw,64px);line-height:1.04;letter-spacing:-.055em;margin:0 0 16px;font-weight:680; }
.consumer-hero p { font-size:16px;color:var(--muted);margin:0;max-width:570px;line-height:1.65; }.consumer-hero .eyebrow { margin-bottom:16px; }
.hero-actions { display:flex;align-items:center;gap:10px;flex:none;padding-bottom:4px; }.notification-button { position:relative; }
.notification-badge { position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--bad);color:#fff;font-size:10px;display:grid;place-items:center;border:2px solid var(--bg); }
.draft-banner { display:flex;align-items:center;gap:15px;background:#fff;border:1px solid rgba(0,0,0,.055);border-radius:20px;padding:17px 18px;margin-bottom:18px;box-shadow:0 4px 20px rgba(0,0,0,.025); }
.draft-icon { width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#eaf3fd;color:var(--accent);flex:none; }.draft-banner>div { flex:1;min-width:0; }.draft-banner b,.draft-banner span { display:block; }.draft-banner b { font-size:13px; }.draft-banner>div>span { color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px; }
.attention-banner { width:100%;display:flex;align-items:center;gap:14px;text-align:left;border:1px solid #f0dfc2;background:#fff8ed;border-radius:20px;padding:17px 20px;margin-bottom:20px;color:#704613;cursor:pointer; }
.attention-banner>span:nth-child(2) { flex:1; }.attention-banner b,.attention-banner small { display:block; }.attention-banner small { margin-top:3px;color:#8a6841; }.attention-symbol { width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#ffedcc; }
.consumer-papers { scroll-margin-top:72px; }.section-heading { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px; }.section-heading h2 { margin:0;font-size:23px;line-height:1.3;letter-spacing:-.03em; }.section-heading p { margin:5px 0 0;color:var(--muted);font-size:12px; }.section-heading h3 { margin:0; }
.consumer-toolbar { display:flex;align-items:center;gap:10px;margin-bottom:26px; }.segmented { display:flex;gap:3px;background:#e8e8ed;padding:3px;border-radius:11px; }.segmented button { min-height:34px;padding:6px 14px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:12px;cursor:pointer;white-space:nowrap; }.segmented button.active { color:var(--text);background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.08); }
.consumer-search { flex:1;max-width:250px;margin-left:auto; }.consumer-search input { min-height:40px;background:#fff; }
.project-group { margin:0 0 36px; }.project-group-title { display:flex;align-items:baseline;gap:14px;margin-bottom:14px; }.project-group-title h3 { font-size:16px;margin:0;letter-spacing:-.02em; }.project-group-title h3 span { display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#e8e8ed;color:var(--muted);font-size:10px;margin-left:7px;vertical-align:2px; }.project-group-title p { margin:0;color:var(--dim);font-size:11px; }
.paper-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }.paper-card { display:flex;flex-direction:column;min-height:238px;padding:21px 22px 17px;background:#fff;border:1px solid rgba(0,0,0,.055);border-radius:20px;box-shadow:0 3px 14px rgba(0,0,0,.02);transition:transform .2s,box-shadow .2s,border-color .2s; }.paper-card:hover { transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.055);border-color:rgba(0,0,0,.08); }.paper-card-top { display:flex;align-items:center;justify-content:space-between;margin-bottom:13px; }.paper-title { color:var(--text);font-size:18px;line-height:1.42;font-weight:620;letter-spacing:-.02em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }.paper-title:hover { color:var(--accent); }.paper-description { color:var(--muted);font-size:12px;line-height:1.65;margin:9px 0 18px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }.paper-progress { display:flex;justify-content:space-between;gap:12px;color:var(--dim);font-size:10.5px;margin-top:auto;padding-bottom:13px; }.paper-card-footer { display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:9px;min-height:44px; }.text-link { display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:550;min-height:36px; }.text-link .icon { width:14px; }
.consumer-pill { font-size:11px;padding:5px 10px; }.consumer-pill.success { color:var(--ok);background:#eaf6ee; }.consumer-pill.success .dot { background:var(--ok); }.consumer-pill.warning { color:#8a520f;background:#fff1dc; }.consumer-pill.warning .dot { background:#c47b13; }.consumer-pill.running { color:var(--run);background:#eaf3fd; }.consumer-pill.danger { color:var(--bad);background:#fff0f1; }.consumer-pill.danger .dot { background:var(--bad); }.consumer-pill.neutral { color:var(--muted);background:var(--panel-3); }
.consumer-empty { padding:64px 24px;text-align:center;background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:22px; }.consumer-empty.compact { padding:38px 22px; }.consumer-empty h3 { font-size:19px;margin:12px 0 7px;letter-spacing:-.02em; }.consumer-empty p { color:var(--muted);font-size:13px;margin:0 0 20px; }.empty-illustration { width:58px;height:58px;border-radius:18px;background:#eaf3fd;color:var(--accent);display:grid;place-items:center;margin:auto; }.empty-illustration .icon { width:26px;height:26px; }
.modal { width:min(620px,calc(100vw - 32px));max-height:min(88vh,900px);padding:0;border:1px solid rgba(0,0,0,.08);border-radius:24px;background:#fff;color:var(--text);box-shadow:0 28px 90px rgba(0,0,0,.22);overflow:auto; }.modal::backdrop { background:rgba(0,0,0,.32);backdrop-filter:blur(8px); }.modal-head { display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:26px 28px 18px; }.modal-head h2 { font-size:24px;letter-spacing:-.035em;margin:0 0 5px; }.modal-head p { font-size:12px;color:var(--muted);margin:0; }.modal-head .eyebrow { margin-bottom:10px; }
.create-modal { width:min(720px,calc(100vw - 32px)); }.create-modal form { position:relative;min-height:100%; }.create-head { padding-bottom:14px; }.create-steps { list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 28px 22px;margin:0;border-bottom:1px solid var(--line); }.create-steps li { display:flex;align-items:center;gap:7px;font-size:11px;color:var(--dim); }.create-steps li span { width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--panel-3);font-size:10px; }.create-steps li.active { color:var(--accent);font-weight:600; }.create-steps li.active span { background:var(--accent);color:#fff; }.create-steps li.done { color:var(--ok); }.create-steps li.done span { background:#e6f4ea;color:var(--ok); }
.create-page { padding:28px;min-height:310px;animation:page-in .2s ease-out; }.create-page .field { margin-bottom:20px; }.create-page input,.create-page select { min-height:48px;font-size:14px; }.create-page textarea { font-size:14px; }.title-field input { font-size:17px !important;min-height:58px;background:var(--panel-2); }.field-help { color:var(--muted);font-size:11px;margin:8px 0 0; }.field-error,.form-alert { color:var(--bad);font-size:12px; }.field-error { margin:8px 0 0; }.form-alert { margin:18px 28px 0;padding:12px 14px;background:#fff0f1;border-radius:12px;line-height:1.6; }.creation-promise { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px; }.creation-promise>div { display:flex;align-items:flex-start;gap:10px;background:var(--panel-2);border-radius:14px;padding:15px; }.creation-promise .icon { color:var(--ok);margin-top:2px; }.creation-promise b,.creation-promise small { display:block; }.creation-promise b { font-size:12px; }.creation-promise small { color:var(--muted);font-size:10.5px;margin-top:4px;line-height:1.5; }
.create-footer { position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 28px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-top:1px solid var(--line);z-index:2; }.create-footer>div { display:flex;gap:9px; }.create-footer .btn { min-height:42px; }.recent-template { width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:0;background:#f0f6fd;color:var(--text);border-radius:14px;padding:13px 15px;margin-bottom:20px;cursor:pointer; }.recent-template>span:nth-child(2) { flex:1; }.recent-template b,.recent-template small { display:block; }.recent-template b { font-size:12px; }.recent-template small { color:var(--muted);font-size:10px;margin-top:3px; }
.confirm-intro { text-align:center;margin-bottom:24px; }.confirm-icon { width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#e9f6ed;color:var(--ok);margin:0 auto 12px; }.confirm-intro h3 { margin:0 0 5px;font-size:20px; }.confirm-intro p { margin:0;color:var(--muted);font-size:12px; }.create-summary { display:grid;grid-template-columns:100px 1fr;gap:12px 16px;background:var(--panel-2);padding:20px;border-radius:16px;margin:0;font-size:12px; }.create-summary dt { color:var(--muted); }.create-summary dd { margin:0;white-space:pre-wrap;word-break:break-word;max-height:120px;overflow:auto; }.deliverable-preview { display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:18px 0 12px;font-size:11px; }.deliverable-preview b { margin-right:4px; }.deliverable-preview span { background:#eaf3fd;color:var(--accent);border-radius:8px;padding:5px 8px; }.fine-print { color:var(--muted);font-size:11px;line-height:1.6; }
.notification-modal { width:min(520px,calc(100vw - 32px)); }.notification-list { padding:0 16px; }.notification-item { display:flex;align-items:flex-start;gap:12px;padding:16px 12px;border-top:1px solid var(--line);color:var(--text); }.notification-item>div { flex:1; }.notification-item b { font-size:12px; }.notification-item p { color:var(--muted);font-size:11px;margin:4px 0; }.notification-item small { color:var(--dim);font-size:10px; }.notification-item>.icon { width:14px;margin-top:10px;color:var(--dim); }.notification-dot { width:7px;height:7px;border-radius:50%;background:transparent;margin-top:6px; }.notification-item.unread .notification-dot { background:var(--accent); }.notification-settings { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 28px 24px; }
.account-card { display:flex;align-items:center;gap:14px;margin:0 28px 20px;padding:18px;background:var(--panel-2);border-radius:16px; }.large-avatar { width:46px;height:46px;font-size:18px; }.account-card b,.account-card span { display:block; }.account-card .avatar { display:inline-grid; }.account-card span { color:var(--muted);font-size:11px;margin-top:2px; }.account-details { display:grid;grid-template-columns:1fr auto;gap:12px;margin:0 28px 22px;font-size:12px; }.account-details dt { color:var(--muted); }.account-details dd { margin:0; }.account-modal>.btn { width:calc(100% - 56px);margin:8px 28px; }.account-modal>.btn:last-child { margin-bottom:28px; }
.consumer-mobile-nav { display:none; }
/* project detail */
.project-header { display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px; }.project-header .detail-title { margin:12px 0 12px;max-width:900px; }.project-header .meta { font-size:12px; }.subtle-danger { background:transparent; }
.connection-banner { padding:12px 16px;margin-bottom:14px;border-radius:12px;background:#fff3df;color:#7a4d10;font-size:12px; }.project-status-card { display:flex;align-items:center;justify-content:space-between;gap:28px;padding:27px 28px;border:1px solid rgba(0,0,0,.05);border-radius:22px;background:#fff;margin-bottom:20px; }.project-status-card.warning { background:#fffaf1;border-color:#f1e2c7; }.project-status-card.running { background:#f5faff;border-color:#dceafb; }.project-status-card.danger { background:#fff8f8;border-color:#f3d8da; }.status-kicker { display:block;color:var(--muted);font-size:10px;margin-bottom:6px; }.project-status-card h2 { font-size:22px;letter-spacing:-.03em;margin:0 0 6px; }.project-status-card p { color:var(--muted);font-size:12px;margin:0 0 8px;max-width:680px; }.project-status-card small { color:var(--dim);font-size:10px; }.status-actions { flex:none; }
.detail-tabs { position:sticky;top:58px;z-index:20;display:flex;gap:26px;border-bottom:1px solid var(--line);background:rgba(245,245,247,.9);backdrop-filter:blur(18px);margin-bottom:22px;overflow-x:auto;scrollbar-width:none; }.detail-tabs::-webkit-scrollbar { display:none; }.detail-tabs button { position:relative;min-height:48px;padding:0 2px;border:0;background:transparent;color:var(--muted);font-size:12px;white-space:nowrap;cursor:pointer; }.detail-tabs button[aria-selected="true"] { color:var(--text);font-weight:600; }.detail-tabs button[aria-selected="true"]::after { content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--text);border-radius:2px; }
.detail-panel { animation:page-in .18s ease-out; }.detail-section { background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:22px;padding:25px 26px;margin-bottom:18px; }.detail-section .section-heading h2 { font-size:19px; }.deliverable-empty { background:var(--panel-2);border:0; }.files { display:flex;flex-direction:column;gap:10px; }.deliverable-card { display:flex;align-items:center;gap:14px;padding:15px;background:var(--panel-2);border-radius:15px; }.deliverable-icon { width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#fff;color:var(--accent);flex:none; }.deliverable-info { flex:1;min-width:0; }.deliverable-info .kind { color:var(--accent);font-size:9px;font-weight:700;letter-spacing:.04em; }.deliverable-info h3 { font-size:12px;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }.deliverable-info p { color:var(--muted);font-size:10px;margin:0; }.deliverable-actions { display:flex;gap:6px;flex:none; }.delivery-grid .deliverable-card { padding:20px; }.delivery-grid .deliverable-info h3 { font-size:14px; }
.consumer-timeline { grid-template-columns:repeat(4,1fr);overflow:visible;margin-top:28px;padding:0 0 6px; }.consumer-timeline .step { font-size:11px; }.consumer-timeline .step.todo { color:var(--dim); }.technical-timeline { grid-template-columns:repeat(7,1fr); }.project-metrics { display:grid;grid-template-columns:repeat(3,1fr);gap:12px; }.project-metrics>div { background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:16px;padding:17px 20px; }.project-metrics b,.project-metrics span { display:block; }.project-metrics b { font-size:23px;letter-spacing:-.03em; }.project-metrics span { color:var(--muted);font-size:10px;margin-top:3px; }
.todo-panel { background:#fff7e9;border:1px solid #efdfc0;border-radius:22px;padding:26px;margin-bottom:18px; }.todo-panel h2 { font-size:22px;margin:0 0 7px; }.todo-panel p { color:#765a34;font-size:12px; }.todo-checklist { list-style:none;padding:0;margin:20px 0;display:grid;gap:10px; }.todo-checklist li { display:flex;align-items:center;gap:10px;font-size:12px;color:#5e481f; }.todo-checklist li span { width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#ffebca;font-size:10px; }
.requirement-meta { display:grid;grid-template-columns:120px 1fr;gap:12px;background:#fff;border:1px solid rgba(0,0,0,.05);padding:22px;border-radius:18px;margin:0 0 18px;font-size:12px; }.requirement-meta dt { color:var(--muted); }.requirement-meta dd { margin:0; }.detail-panel>h3 { margin:22px 0 8px;font-size:14px; }.detail-panel>.brief { max-height:none;font-size:13px;line-height:1.8; }
.activity-list { background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:22px;padding:8px 24px; }.activity-item { display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--line); }.activity-item:last-child { border:0; }.activity-marker { width:8px;height:8px;border-radius:50%;background:var(--accent);margin-top:7px;flex:none;box-shadow:0 0 0 4px #eaf3fd; }.activity-item>div { flex:1; }.activity-meta { display:flex;justify-content:space-between;gap:14px; }.activity-meta b { font-size:12px; }.activity-meta time { color:var(--dim);font-size:10px; }.activity-item p { color:var(--muted);font-size:11px;white-space:pre-wrap;word-break:break-word;margin:5px 0 0; }.activity-item.error .activity-marker { background:var(--bad);box-shadow:0 0 0 4px #fff0f1; }
.technical-notice { background:#ececf0;color:var(--muted);padding:13px 16px;border-radius:12px;font-size:11px;margin-bottom:16px; }.session-row { display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px;font-size:11px; }.session-row code { flex:1;min-width:240px;word-break:break-all;color:var(--accent);background:var(--panel-2);padding:10px;border-radius:9px; }.error-text { color:var(--bad); }
.preview-modal { width:min(1100px,calc(100vw - 32px));height:min(90vh,900px);max-height:90vh;overflow:hidden; }.preview-modal[open] { display:flex;flex-direction:column; }.preview-modal .modal-head { flex:none;padding:18px 22px; }.preview-modal .modal-head h2 { font-size:16px;max-width:75vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }.preview-modal iframe { flex:1;width:100%;min-height:0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f5f5f7; }.preview-footer { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;color:var(--muted);font-size:10px;flex:none; }
@keyframes page-in { from { opacity:0;transform:translateY(4px) } to { opacity:1;transform:none } }
@media (min-width:1500px) { .paper-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:900px) { .consumer-hero { padding-top:12px; }.paper-grid { grid-template-columns:1fr; }.paper-card { min-height:220px; }.project-group-title { display:block; }.project-group-title p { margin-top:4px; }.deliverable-card { flex-wrap:wrap; }.deliverable-info { min-width:180px; }.detail-tabs { top:58px; }.technical-timeline { overflow-x:auto;grid-template-columns:repeat(7,minmax(78px,1fr));padding-bottom:8px; } }
@media (max-width:680px) {
  body { font-size:16px; }.wrap { padding:24px 15px calc(98px + env(safe-area-inset-bottom)); }.topbar { padding-left:16px;padding-right:12px; }.topbar .btn { min-height:34px; }.server .user-chip { display:none; }
  .consumer-hero { display:block;padding:14px 0 28px; }.consumer-hero h1 { font-size:43px; }.consumer-hero p { font-size:14px; }.hero-actions { margin-top:22px; }.hero-actions .btn { flex:1; }.hero-actions .notification-button { width:46px;height:46px; }
  .draft-banner { display:grid;grid-template-columns:40px 1fr auto;gap:10px;padding:15px; }.draft-banner>.btn { grid-column:1/-1;width:100%; }.draft-banner>.icon-button { grid-column:3;grid-row:1; }.attention-banner { padding:15px; }.consumer-toolbar { flex-wrap:wrap; }.segmented { order:1;width:100%;overflow-x:auto; }.segmented button { flex:1;min-height:40px;padding:6px 11px; }.consumer-search { order:2;max-width:none; }.consumer-toolbar>.icon-button { order:3; }
  .section-heading { align-items:flex-start; flex-wrap:wrap; gap:6px 12px; }.section-heading>div { flex:1 1 220px; min-width:0; }#last-refresh { white-space:nowrap; flex:none; margin-top:5px; }.section-heading h2 { font-size:21px; }.section-heading p { max-width:260px; }.paper-card { padding:19px;min-height:225px; }.paper-title { font-size:17px; }.paper-progress { flex-wrap:wrap;gap:4px; }.project-group { margin-bottom:28px; }
  .modal { width:100%;max-width:none;max-height:88vh;margin:auto 0 0;border-radius:24px 24px 0 0; }.create-modal { height:100%;max-height:100%;border-radius:0;margin:0; }.modal-head { padding:22px 20px 16px; }.create-steps { padding:0 20px 18px;gap:4px; }.create-steps li { font-size:10px;gap:5px; }.create-page { padding:24px 20px;min-height:calc(100vh - 260px); }.create-page input,.create-page select,.create-page textarea { font-size:16px; }.creation-promise { grid-template-columns:1fr; }.create-footer { padding:13px 16px calc(13px + env(safe-area-inset-bottom));align-items:flex-end; }.create-footer>span { max-width:110px;font-size:9px; }.create-footer .btn { min-height:44px;padding-left:14px;padding-right:14px; }.create-summary { grid-template-columns:82px 1fr;padding:16px; }.form-alert { margin:16px 20px 0; }.notification-settings { padding:16px 20px 22px;align-items:flex-start;flex-direction:column; }
  .consumer-mobile-nav { position:fixed;left:0;right:0;bottom:0;z-index:35;display:grid;grid-template-columns:repeat(3,1fr);padding:5px 18px calc(5px + env(safe-area-inset-bottom));background:rgba(250,250,252,.9);backdrop-filter:saturate(180%) blur(20px);border-top:1px solid rgba(0,0,0,.07); }.consumer-mobile-nav a,.consumer-mobile-nav button { min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:transparent;color:var(--muted);font-size:10px;cursor:pointer; }.consumer-mobile-nav .icon { width:20px;height:20px; }.consumer-mobile-nav a:nth-child(2),.consumer-mobile-nav button:nth-child(2) { color:var(--accent); }
  .project-header { display:block; }.project-header .detail-title { font-size:29px; }.project-header .subtle-danger { margin-top:12px; }.project-status-card { display:block;padding:22px; }.project-status-card h2 { font-size:21px; }.status-actions { margin-top:18px; }.status-actions .btn { width:100%;min-height:44px; }.detail-tabs { top:54px;gap:23px;margin-left:-15px;margin-right:-15px;padding:0 15px; }.detail-tabs button { min-height:46px; }.detail-section { padding:20px 18px;border-radius:18px; }.deliverable-card { display:grid;grid-template-columns:40px 1fr;gap:12px;padding:14px; }.deliverable-info { min-width:0; }.deliverable-actions { grid-column:1/-1;width:100%; }.deliverable-actions .btn { flex:1;min-height:42px; }.deliverable-info h3 { white-space:normal;word-break:break-word; }.consumer-timeline { grid-template-columns:repeat(4,1fr);margin-top:25px; }.consumer-timeline .step { font-size:9px; }.consumer-timeline .step .nm { line-height:1.35; }.project-metrics { gap:8px; }.project-metrics>div { padding:14px; }.project-metrics b { font-size:20px; }.todo-panel { padding:22px 19px; }.todo-panel h2 { font-size:20px; }.requirement-meta { grid-template-columns:86px 1fr; }.activity-list { padding:6px 17px; }.activity-meta { display:block; }.activity-meta time { display:block;margin-top:3px; }.preview-modal { height:100%;max-height:100%;border-radius:0; }.preview-modal .modal-head { padding-top:calc(16px + env(safe-area-inset-top)); }.preview-footer>span { display:none; }.preview-footer { justify-content:flex-end;padding-bottom:calc(12px + env(safe-area-inset-bottom)); }.session-row code { min-width:100%; }.footer { margin-top:24px; }
}
/* trusted checkpoints, advisor feedback and immutable revisions */
input[type=date],input[type=file] { width:100%;background:var(--panel-2);color:var(--text);border:1px solid transparent;border-radius:12px;padding:11px 13px;font-family:var(--sans);font-size:13px;line-height:1.55;outline:none; }
input[type=file] { padding:12px;min-height:48px; }
input[type=file]::file-selector-button { border:0;border-radius:999px;background:var(--panel-3);color:var(--text);padding:8px 13px;margin-right:12px;cursor:pointer; }
input[type=date]:focus,input[type=file]:focus { border-color:var(--accent);box-shadow:0 0 0 3px rgba(8,124,240,.12);background:#fff; }
.mode-selector { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px; }
.mode-selector label { display:flex;align-items:flex-start;gap:11px;padding:17px;border:1px solid var(--line);border-radius:16px;cursor:pointer;background:var(--panel-2); }
.mode-selector label:has(input:checked) { border-color:var(--accent);background:#f0f7ff;box-shadow:0 0 0 2px rgba(0,113,227,.08); }
.mode-selector input { margin-top:3px;accent-color:var(--accent); }
.mode-selector b,.mode-selector small { display:block; }.mode-selector b { font-size:13px; }.mode-selector small { color:var(--muted);font-size:11px;margin-top:5px;line-height:1.55; }
.checkpoint-panel,.feedback-form { background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:22px;padding:26px;margin-bottom:18px;box-shadow:0 3px 16px rgba(0,0,0,.025); }
.checkpoint-panel h2,.feedback-form h2 { font-size:22px;letter-spacing:-.03em;margin:0 0 8px; }.checkpoint-panel>p,.feedback-form>div>p { color:var(--muted);font-size:12px;line-height:1.7; }.checkpoint-panel>label { display:block;font-size:12px;font-weight:600;margin:20px 0 8px; }.checkpoint-panel textarea { width:100%;font-size:13px;line-height:1.75;min-height:280px; }
.checkpoint-actions { display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px; }.checkpoint-actions>span { color:var(--muted);font-size:11px; }
.quality-strip { display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 20px;border-radius:16px;background:#ececf0;margin-bottom:18px;color:var(--muted); }
.quality-strip>div>span { display:block;font-size:10px;margin-bottom:2px; }.quality-strip b { color:var(--text);font-size:13px; }.quality-strip p { margin:3px 0 0;font-size:11px; }.quality-strip>span { flex:none;font-size:11px;font-weight:600; }.quality-strip.success { background:#edf7ef;color:#4e6d56; }.quality-strip.warning { background:#fff5e5;color:#765a34; }
.feedback-form { padding:28px; }.feedback-form .eyebrow { margin-bottom:12px; }.feedback-form .btn[type=submit] { min-height:44px; }.muted-form { background:var(--panel-2);box-shadow:none; }.feedback-form .form-alert { margin:0 0 16px; }
.revision-history { margin-top:30px; }.revision-history>h2 { font-size:21px;letter-spacing:-.025em; }
.revision-card { background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:20px;padding:22px;margin-bottom:14px; }
.revision-head,.revision-head>div { display:flex;align-items:center;justify-content:space-between;gap:14px; }.revision-head>div { justify-content:flex-start; }.revision-number { width:46px;height:46px;display:grid;place-items:center;flex:none;border-radius:14px;background:#eaf3fd;color:var(--accent);font-size:15px;font-weight:650; }.revision-head h3 { margin:0;font-size:15px; }.revision-head p { margin:3px 0 0;color:var(--muted);font-size:10.5px; }
.advisor-source { display:flex;justify-content:space-between;gap:14px;background:var(--panel-2);border-radius:12px;padding:12px 14px;margin-top:18px;font-size:11px; }.advisor-source b { min-width:0;word-break:break-word; }.advisor-source span { color:var(--muted);flex:none; }
.comment-list { list-style:none;padding:0;margin:14px 0;display:grid;gap:9px; }.comment-list li { padding:14px 16px;border-left:3px solid #c98a35;background:#fffaf1;border-radius:4px 12px 12px 4px; }.comment-list b { font-size:11px;color:#79571e; }.comment-list p { font-size:12px;margin:5px 0;white-space:pre-wrap; }.comment-list blockquote { margin:8px 0 0;color:var(--muted);font-size:11px;border-left:1px solid #decba9;padding-left:10px;white-space:pre-wrap; }
.revision-quality { display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px;padding:13px 0;border-top:1px solid var(--line);margin-top:14px; }.revision-files { display:flex;gap:7px;flex-wrap:wrap; }.revision-diff { margin-top:15px;border-top:1px solid var(--line);padding-top:13px; }.revision-diff summary { cursor:pointer;color:var(--accent);font-size:11px; }.revision-diff pre { max-height:420px;overflow:auto;background:#f5f5f7;padding:15px;border-radius:12px;font-size:10px;line-height:1.65;white-space:pre-wrap;word-break:break-word; }
.admin-insights { grid-template-columns:repeat(3,1fr); }.job-stats b { color:var(--text);font-weight:550; } @media (min-width:1101px) { .job-row { grid-template-columns:minmax(240px,1.8fr) 88px minmax(140px,.8fr) 108px 92px auto; } }
@media (max-width:900px) { .admin-insights { grid-template-columns:repeat(2,1fr); } }
@media (max-width:680px) {
  .mode-selector { grid-template-columns:1fr; }.checkpoint-panel,.feedback-form { padding:21px 18px;border-radius:18px; }.checkpoint-panel h2,.feedback-form h2 { font-size:20px; }.checkpoint-panel textarea { min-height:330px;font-size:16px; }.checkpoint-actions { align-items:stretch;flex-direction:column; }.checkpoint-actions .btn { width:100%;min-height:44px; }
  .quality-strip { align-items:flex-start;padding:16px;gap:12px; }.quality-strip p { max-width:250px; }.revision-card { padding:18px 15px; }.revision-head { align-items:flex-start; }.revision-head>div { align-items:flex-start; }.revision-head .pill { padding:4px 7px; }.advisor-source,.revision-quality { flex-direction:column;gap:5px; }.advisor-source span { flex:auto; }.revision-files { display:grid;grid-template-columns:1fr; }.revision-files .btn { width:100%;min-height:42px; }.feedback-form input,.feedback-form textarea { font-size:16px; }
}
@media (max-width: 680px) { input[type=text],input[type=search],input[type=password],input[type=date],input[type=number],select,textarea { font-size:16px; } #status-filter,#job-sort { font-size:16px; } }
/* contrast: keep small text at WCAG AA (4.5:1) */
.eyebrow,.advanced-fields summary,#logout { color: var(--accent-2); }
.segmented button { color:#66666c; }
.pill.done { color:#1f7a35; }
@media (pointer: coarse) { input[type=text],input[type=search],input[type=password],input[type=date],input[type=number],select,textarea { font-size:16px; } #status-filter,#job-sort { font-size:16px; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto !important;animation-duration:.01ms !important;transition-duration:.01ms !important; } }
@media (prefers-contrast: more) { .paper-card,.detail-section,.project-status-card,.modal,.revision-card,.feedback-form,.checkpoint-panel { border-color:#86868b; }.consumer-pill { border:1px solid currentColor; } }

