@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans+Thai:wght@400;500;600&display=swap";@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Regular.otf) format("opentype");font-weight:400;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Medium.otf) format("opentype");font-weight:500;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Bold.otf) format("opentype");font-weight:700;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Black.otf) format("opentype");font-weight:900;font-display:swap}:root{--bg: #FFFFFF;--bg-sunken: #F7F7F5;--bg-hover: #F1F1EF;--bg-active: #E9E9E6;--border: #E6E6E3;--border-strong: #D5D5D1;--text: #1F1F1E;--text-secondary: #6B6B66;--text-tertiary: #9C9C96;--accent: #2F4BFF;--accent-hover: #2740E0;--accent-soft: #EBEEFF;--status-accepted-text: #1F6F4E;--status-accepted-bg: #E7F3EC;--status-submitted-text: #2B5FA8;--status-submitted-bg: #E8EFF9;--status-flagged-text: #8A5A08;--status-flagged-bg: #FCF2E0;--status-overdue-text: #A93B31;--status-overdue-bg: #FBEBE9;--status-neutral-text: #6B6B66;--status-neutral-bg: #F1F1EF;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 8px 24px rgba(0,0,0,.1);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-pill: 999px;--font-sans: "Satoshi", -apple-system, BlinkMacSystemFont, sans-serif;--font-thai: "IBM Plex Sans Thai", "Noto Sans Thai", var(--font-sans);--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", monospace}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);background:var(--bg-sunken);color:var(--text);font-size:14px;line-height:1.5}a{color:var(--accent)}.mono{font-family:var(--font-mono)}.thai{font-family:var(--font-thai)}.muted{color:var(--text-secondary)}.faint{color:var(--text-tertiary)}.sm{font-size:12px}.topbar{height:52px;background:var(--bg);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px}.brand-logo{height:22px;width:auto}.container{max-width:1000px;margin:0 auto;padding:28px 24px 64px}.row{display:flex;gap:12px;align-items:center}.spread{display:flex;align-items:center;justify-content:space-between;gap:12px}.stack{display:flex;flex-direction:column;gap:12px}.grow{flex:1;min-width:0}.wrap{flex-wrap:wrap}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 20px}.card.hover{cursor:pointer}.card.hover:hover{border-color:var(--border-strong)}.card+.card{margin-top:12px}h1{font-size:20px;font-weight:700;margin:0 0 16px}h2{font-size:15px;font-weight:700;margin:0 0 10px}button{font:inherit;cursor:pointer;border-radius:var(--radius-md);padding:7px 14px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);font-weight:500}button:hover{background:var(--bg-hover)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover{background:var(--accent-hover)}button.sm{padding:5px 12px;font-size:12px}button.ghost{border:none;background:none;color:var(--text-secondary)}button.ghost:hover{background:none;color:var(--text)}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{font:inherit;padding:8px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-md);width:100%;outline-color:var(--accent);background:var(--bg);color:var(--text)}textarea{resize:vertical}label{font-size:13px;font-weight:500;display:block;margin-bottom:4px}.field{margin-bottom:12px}.chip{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:500;white-space:nowrap}.chip .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.chip.blue{color:var(--accent);background:var(--accent-soft)}.chip.green{color:var(--status-accepted-text);background:var(--status-accepted-bg)}.chip.amber{color:var(--status-flagged-text);background:var(--status-flagged-bg)}.chip.red{color:var(--status-overdue-text);background:var(--status-overdue-bg)}.chip.gray{color:var(--status-neutral-text);background:var(--status-neutral-bg)}.badge{font-size:11px;font-weight:500;color:var(--text-secondary);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:1px 6px}.pill-tag{display:inline-block;padding:5px 14px;border-radius:12px;background:var(--bg-hover);color:var(--text-secondary);font-size:11.5px;font-weight:500}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--text-secondary);font-weight:500;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--bg-sunken)}td{padding:8px 10px;border-bottom:1px solid #F1F1EF;vertical-align:middle}.bar{height:6px;border-radius:var(--radius-pill);background:var(--bg-active);overflow:hidden;flex:1;min-width:0}.bar>div{height:100%;border-radius:var(--radius-pill);background:var(--status-accepted-text)}.thread{display:flex;flex-direction:column;gap:10px;padding:16px;flex:1;min-height:0;overflow:auto}.msg{max-width:82%;padding:10px 14px;border-radius:var(--radius-lg);line-height:1.5;font-size:14.5px}.msg.ai{align-self:flex-start;background:var(--accent-soft);border-bottom-left-radius:2px}.msg.member{align-self:flex-end;background:var(--bg);border:1px solid var(--border-strong)}.msg.admin{align-self:flex-start;background:var(--status-flagged-bg)}.extract{align-self:flex-start;width:300px;max-width:82%;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px}.error{color:var(--status-overdue-text);background:var(--status-overdue-bg);border:1px solid #F0D5D1;border-radius:var(--radius-md);padding:8px 12px;font-size:13px}.notice{background:var(--status-flagged-bg);border:1px solid #F0DFC0;color:var(--status-flagged-text);border-radius:var(--radius-lg);padding:12px 16px;font-size:13.5px}.center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.list-item{padding:12px 0;border-bottom:1px solid #F1F1EF}.list-item:last-child{border-bottom:none}.tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.divider{display:flex;align-items:center;gap:12px;color:var(--text-tertiary);font-size:12px;margin:4px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}
