@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap');

:root{
  --bg:#eef2f4;
  --paper:#fff;
  --ink:#333;
  --muted:#828b95;
  --purple:#2fc6f6;
  --purple-dark:#2066b0;
  --purple-light:#e5f5fb;
  --line:#dfe3e6;
  font-family:'Open Sans',Helvetica,Arial,sans-serif;
}
body{background:#eef2f4;color:#333}
.sidebar{background:#fff;border-right-color:#dfe3e6}
.brand{color:#333}
.brand-dot{color:#2fc6f6}
.brand-mark,.new-task,.primary-button{background:#2fc6f6}
.primary-button:hover,.new-task:hover{background:#1ebce4}
.new-task,.primary-button,.secondary-button,.wish-row,.card,.gate-card,.person-button,.bubble,.banner,.pill{border-radius:2px}
.new-task{box-shadow:none}
.nav-item{color:#525c69}
.nav-item:hover{background:#f5f7f8}
.nav-item.active{background:#e5f5fb;color:#2066b0}
a,.install-link,.task-link,.text-button{color:#2066b0}
.text-button:hover{color:#1b4f86}
.card,.wish-row,.gate-card{border-color:#dfe3e6}
.mode-pill{background:#fff;border-color:#dfe3e6;color:#525c69}
.toast{background:#333}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:#2fc6f6}
h1,h2,h3{color:#333}
.page-heading p,.muted{color:#828b95}

.gate{position:fixed;inset:0;z-index:40;background:#eef2f4;display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto}
.gate-card{width:min(560px,100%);background:#fff;border:1px solid #dfe3e6;padding:28px;box-shadow:0 8px 30px #3333330d}
.gate-card h1{font-size:28px;letter-spacing:-.4px;margin:0 0 8px}
.person-list{display:flex;flex-direction:column;gap:8px;margin-top:18px}
.person-button{display:flex;justify-content:space-between;gap:12px;width:100%;text-align:left;background:#fff;border:1px solid #dfe3e6;padding:12px 14px}
.person-button:hover{border-color:#2fc6f6;background:#f4fbfe}
.person-button strong{display:block;font-size:14px;color:#333}
.person-button small{color:#828b95}
.who{font-size:12px;color:#525c69;margin:0 0 8px;line-height:1.5}
.install-link{display:inline-block;margin-top:8px;font-size:11px}
.desk-error{margin-bottom:14px}
.wish-list{display:flex;flex-direction:column;gap:10px}
.wish-row{display:block;width:100%;text-align:left;background:#fff;border:1px solid #dfe3e6;padding:16px 18px}
.wish-row strong{display:block;font-size:15px;line-height:1.45;color:#333}
.wish-meta,.card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;color:#828b95;font-size:12px}
.pill{padding:3px 8px;background:#eef2f4;color:#525c69}
.pill.high{background:#ffe8e8;color:#d0021b}
.pill.low{background:#f1f8d8;color:#688800}
.field{display:block;margin:0 0 14px}
.field span{display:block;font-size:12px;font-weight:600;margin-bottom:6px;color:#525c69}
.field input,.field textarea,.field select{width:100%;border:1px solid #c6cdd3;border-radius:2px;padding:12px;background:#fff;color:#333}
.field textarea{min-height:120px;resize:vertical}
.split{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.actions .primary-button,.actions .secondary-button{width:auto;padding:12px 16px}
.secondary-button{background:#fff;color:#2066b0;border:1px solid #c6cdd3;padding:12px 16px}
.secondary-button:hover{border-color:#2fc6f6;color:#1b4f86}
.secondary-button.recording{background:#2fc6f6;color:#fff;border-color:#2fc6f6}
.queue{list-style:none;padding:0;margin:8px 0 0}
.queue li{padding:8px 0;border-top:1px solid #eef2f4;font-size:13px;color:#525c69}
.queue .current{color:#2066b0;font-weight:600}
.thread{display:flex;flex-direction:column;gap:10px;margin:12px 0}
.bubble{border:1px solid #dfe3e6;padding:10px 12px;background:#fff}
.bubble.system{background:#f5f7f8;color:#525c69}
.bubble.reject{background:#fff6f6}
.bubble header{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#828b95;margin-bottom:4px}
.bubble p{margin:0;white-space:pre-wrap;line-height:1.55}
.brief p,.brief li{white-space:pre-wrap}
.brief h3{font-size:22px;letter-spacing:-.2px;line-height:1.35;margin:0 0 8px}
.brief h4{margin:16px 0 6px;color:#525c69}
.task-link{font-weight:600}
.banner{background:#fff8e6;border:1px solid #f3e2b0;padding:12px 14px;margin-bottom:14px;color:#8a6a1d}
.banner.ok{background:#f1f8d8;border-color:#d7e8a4;color:#4d6600}
.banner ul{margin:6px 0 6px 18px;padding:0}
.pill.ready,.pill.published{background:#f1f8d8;color:#4d6600}
.pill.partial{background:#fff8e6;color:#8a6a1d}
.hint-line{margin:-6px 0 14px;font-size:13px;color:#525c69}
.split.three{grid-template-columns:1fr 1fr auto;align-items:end}
.actions.inline{margin:-8px 0 14px}
.check{display:block;margin:0 0 10px;font-size:14px;line-height:1.5}
.item{border-left:3px solid #2fc6f6}
.item.child{border-left-color:#c6cdd3;margin-left:22px}
.item-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.item-head h2{margin:0 0 12px}
.section{margin:0 0 12px;padding:8px 10px;border:1px solid transparent;border-radius:2px}
.section.red{background:#fff6f6;border-color:#f4c7c7}
.section.yellow{background:#fffbea;border-color:#f3e2b0}
.section.na{background:#f5f7f8}
.section.na p{margin:4px 0 0}
.section-head{display:flex;justify-content:space-between;gap:8px;font-size:12px;font-weight:600;color:#525c69;margin-bottom:6px}
.section textarea,.section select{width:100%;border:1px solid #dfe3e6;border-radius:2px;padding:8px 10px;background:#fff;color:#333;font:inherit;resize:vertical}
.section textarea:focus{border-color:#2fc6f6}
.note{display:block;margin-top:4px;font-size:12px;line-height:1.4}
.note.red{color:#b0303a}
.note.yellow{color:#8a6a1d}
.sub{font-size:14px;margin:18px 0 8px;color:#525c69}
.assign{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid #eef2f4;font-size:13px}
.assign .label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:#828b95;margin-bottom:4px}
.assign small{display:block;color:#828b95;margin-top:4px;line-height:1.4}
.assign select{width:100%;border:1px solid #c6cdd3;border-radius:2px;padding:6px 8px;background:#fff}
.assign .red select{border-color:#e08a92;background:#fff6f6}
.assign .bad,.steps .bad{color:#b0303a}
.steps .ok{color:#4d6600}
.steps,.links,.deps,.similar,.history,.rules{list-style:none;padding:0;margin:8px 0}
.steps li,.links li,.deps li,.similar li,.history li,.rules li{padding:8px 0;border-top:1px solid #eef2f4;line-height:1.5}
.history p{margin:2px 0 0;white-space:pre-wrap}
.proposal{border-color:#9fdcf3;background:#f4fbfe}
.proposal-inline{background:#f4fbfe;border:1px solid #9fdcf3;padding:10px 12px;margin:0 0 12px}
.proposal-inline small{display:block;color:#525c69}
.proposal-inline ul{margin:6px 0 0 18px;padding:0}
details.card>summary{cursor:pointer;list-style:none}
details.card>summary h2{display:inline;margin:0}
details.card>summary::before{content:'▸ ';color:#828b95}
details.card[open]>summary::before{content:'▾ '}
details.card[open]>summary{margin-bottom:12px}
.question .text-button{margin-top:4px}
.file-button{display:inline-block;cursor:pointer;padding:8px 14px}
.rule-form{margin:10px 0 6px;padding:12px;border:1px solid #dfe3e6;background:#fafbfc}
.publish{border-top:3px solid #2fc6f6}
.primary-button:disabled{opacity:.45;cursor:not-allowed}
.busy-note{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#2066b0;color:#fff;padding:10px 16px;border-radius:2px;font-size:13px;z-index:50;box-shadow:0 6px 20px #2066b033}
@media(max-width:700px){.split,.split.three,.assign{grid-template-columns:1fr}.gate-card{padding:18px}.item.child{margin-left:0}}
