:root{color-scheme:light;--bg: #eef2f5;--surface: #ffffff;--surface-muted: #f6f8fa;--surface-strong: #e8eef1;--border: #d8e0e6;--border-strong: #b8c6cf;--text: #17212b;--muted: #637282;--soft: #8c9aa6;--teal: #0d7f79;--teal-strong: #075f5b;--indigo: #304f9f;--amber: #b46a03;--red: #bf2f2f;--green: #19845f;--shadow: 0 18px 48px rgba(32, 45, 57, .12);--radius: 8px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans KR,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0;color:var(--text);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}.app-shell{min-height:100vh;padding:18px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1840px;margin:0 auto 14px;padding:14px 18px;border:1px solid var(--border);border-radius:var(--radius);background:#fffffff0;box-shadow:var(--shadow)}.brand,.topbar-actions,.panel-head,.panel-actions,.toolbar,.selection-summary,.detail-head,.result-head{display:flex;align-items:center}.brand{min-width:0;gap:12px}.brand-logo{width:42px;height:42px;object-fit:contain}.brand h1,.panel h2{margin:0;letter-spacing:0}.brand h1{font-size:22px;line-height:1.1}.eyebrow{margin:0 0 4px;color:var(--teal);font-size:11px;font-weight:800;letter-spacing:0;text-transform:uppercase}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.icon-button,.user-pill button{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text)}.primary-link,.secondary-button,.run-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;border-radius:var(--radius);text-decoration:none;white-space:nowrap}.primary-link,.run-button{border:1px solid var(--teal-strong);background:var(--teal);color:#fff;font-weight:800}.primary-link{padding:0 12px}.secondary-button{padding:0 12px;border:1px solid var(--border-strong);background:var(--surface-muted);color:var(--text);font-weight:700}.user-pill{display:flex;max-width:360px;min-height:38px;align-items:center;gap:9px;padding:3px 4px 3px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted)}.user-pill img{width:28px;height:28px;border-radius:50%}.user-pill span{min-width:0;overflow:hidden;color:var(--muted);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.notice{display:flex;max-width:1840px;align-items:center;gap:10px;margin:0 auto 14px;padding:11px 13px;border:1px solid #e6b3b3;border-radius:var(--radius);background:#fff4f4;color:#8a1f1f}.workspace-grid{display:grid;max-width:1840px;margin:0 auto;grid-template-columns:minmax(280px,330px) minmax(520px,1fr) minmax(360px,440px);gap:14px}.panel{min-width:0;border:1px solid var(--border);border-radius:var(--radius);background:#fffffff5;box-shadow:var(--shadow)}.panel-head{justify-content:space-between;gap:12px;padding:16px 16px 12px}.panel-head h2{font-size:17px}.with-actions{align-items:flex-start}.panel-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.meeting-panel{position:sticky;top:18px;align-self:start;max-height:calc(100vh - 36px);overflow:hidden}.run-column{position:sticky;top:18px;align-self:start;max-height:calc(100vh - 36px);overflow-y:auto;display:flex;flex-direction:column;gap:14px;min-width:0}.segmented,.filter-row,.folder-tabs{display:flex;gap:6px;padding:0 16px 12px}.wg-picker{display:grid;gap:8px;padding:0 16px 12px}.wg-picker .segmented{padding:0}.past-meeting-add{display:grid;gap:8px;padding:0 16px 12px}.past-meeting-add>.secondary-button{width:100%}.past-meeting-picker{display:grid;gap:8px;min-width:0;padding:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);overflow:hidden}.past-meeting-row{display:flex;gap:8px;align-items:center;min-width:0}.past-meeting-row select{width:calc(100% - 44px);min-width:0;max-width:calc(100% - 44px);flex:1 1 auto;height:36px;padding:0 10px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:13px;font-weight:700;outline:0;text-overflow:ellipsis;white-space:nowrap}.past-meeting-row .icon-button{flex:0 0 36px}.past-meeting-empty{color:var(--soft);font-size:12px;font-weight:700;text-align:center}.segmented button,.filter-row button,.folder-tabs button{min-height:34px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);color:var(--muted);font-size:13px;font-weight:800}.segmented button,.filter-row button{flex:1}.segmented.wide{padding:0 0 12px}.segmented button.is-active,.filter-row button.is-active,.folder-tabs button.is-active{border-color:#0d7f796b;background:#e8f5f4;color:var(--teal-strong)}.filter-row{flex-wrap:wrap}.filter-row button{flex:1 1 72px}.meeting-list,.job-list{padding:0 10px 12px}.is-loading,.is-loading *{cursor:progress}.is-spinning svg{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.meeting-card,.job-card{display:block;width:100%;min-width:0;margin-bottom:8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);text-align:left}.meeting-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.meeting-card.is-upcoming-meeting{border-color:#b46a035c;background:#fffdf8}.meeting-card.is-focus-meeting{border-color:#0d7f79b8;box-shadow:0 0 0 2px #0d7f791f}.meeting-card.is-selected,.job-card.is-selected{border-color:#304f9f8c;box-shadow:inset 3px 0 0 var(--indigo)}.meeting-card.is-focus-meeting.is-selected{border-color:#0d7f79b8;box-shadow:inset 3px 0 0 var(--indigo),0 0 0 2px #0d7f7929}.meeting-title,.meeting-meta,.meeting-foot{display:block;min-width:0}.meeting-title{overflow:hidden;color:var(--text);font-size:20px;font-weight:900;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.meeting-meta,.meeting-foot{color:var(--muted);font-size:15px}.meeting-meta{margin-top:8px}.meeting-foot{display:flex;justify-content:space-between;gap:8px;margin-top:10px}.meeting-skeleton{display:grid;gap:9px;margin-bottom:8px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.meeting-skeleton span{display:block;height:12px;border-radius:999px;background:linear-gradient(90deg,#edf1f4,#f8fafb,#edf1f4);background-size:220% 100%;animation:shimmer 1.2s ease-in-out infinite}.meeting-skeleton span:nth-child(1){width:78%}.meeting-skeleton span:nth-child(2){width:56%}.meeting-skeleton span:nth-child(3){width:88%}@keyframes shimmer{to{background-position:-220% 0}}.main-column{display:grid;min-width:0;gap:14px}.folder-tabs{flex-wrap:wrap}.folder-tabs button{flex:1 1 145px;padding:0 10px}.toolbar{justify-content:space-between;gap:12px;padding:0 16px 12px}.search-box{display:flex;min-width:220px;max-width:520px;flex:1;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted)}.search-box input,.field input{width:100%;min-width:0;border:0;background:transparent;color:var(--text);outline:0}.search-box input{height:36px}.folder-id{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px;font-weight:700;white-space:nowrap}.file-table{margin:0 16px 16px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;max-height:min(880px,74vh);overflow-y:auto}.file-row{display:grid;min-height:42px;align-items:center;grid-template-columns:36px minmax(260px,1fr) 110px 82px 92px;gap:10px;padding:0 12px;border-top:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:13px}.file-row:first-child{border-top:0}.file-head{position:sticky;top:0;z-index:1;min-height:36px;background:var(--surface-muted);color:var(--text);font-size:12px;font-weight:900}.file-row-skeleton{pointer-events:none}.file-row-skeleton span{display:block;height:12px;border-radius:999px;background:linear-gradient(90deg,#edf1f4,#f8fafb,#edf1f4);background-size:220% 100%;animation:shimmer 1.2s ease-in-out infinite}.file-row-skeleton span:nth-child(1){width:16px}.file-row-skeleton span:nth-child(2){width:72%}.file-row-skeleton span:nth-child(3){width:64%}.file-row-skeleton span:nth-child(4){width:50%}.file-row-skeleton span:nth-child(5){width:70%}.file-name{display:flex;min-width:0;align-items:center;gap:8px;color:var(--text);font-weight:700}.file-name a,.file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kind-badge{display:inline-flex;min-width:0;justify-content:center;padding:4px 7px;border:1px solid var(--border);border-radius:999px;background:var(--surface-muted);color:var(--muted);font-size:12px;font-weight:800}.analysis-strip{display:block}.run-panel,.ingest-panel{padding:0 16px 16px}.run-panel .panel-head,.ingest-panel .panel-head{padding-right:0;padding-left:0}.field{display:grid;gap:6px;margin-bottom:12px}.field span{color:var(--muted);font-size:12px;font-weight:800}.field input{height:40px;padding:0 11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted)}.selection-summary{display:grid;gap:8px;margin-bottom:12px}.selection-summary span{display:flex;min-width:0;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);color:var(--muted);font-size:13px;font-weight:800;overflow-wrap:anywhere}.run-button{width:100%;height:44px}.job-card{display:grid;align-items:center;grid-template-columns:12px minmax(0,1fr) auto;gap:10px;padding:10px}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--soft)}.job-main{display:grid;min-width:0;gap:2px}.job-main span:first-child{font-weight:900}.job-main span:last-child{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.job-status{padding:4px 7px;border-radius:999px;background:var(--surface-muted);font-size:12px;font-weight:900}.status-running,.status-queued{color:var(--amber)}.status-running.status-dot,.status-queued.status-dot{background:var(--amber)}.status-completed{color:var(--green)}.status-completed.status-dot{background:var(--green)}.status-failed{color:var(--red)}.status-failed.status-dot{background:var(--red)}.status-muted.status-dot{background:var(--soft)}.job-detail{padding:0 16px 16px}.detail-head{min-width:0;gap:8px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;overflow-wrap:anywhere}.job-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}.job-facts div{min-width:0;padding:9px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.job-facts dt{color:var(--muted);font-size:11px;font-weight:800}.job-facts dd{margin:4px 0 0;font-weight:900;overflow-wrap:anywhere}.error-box{display:flex;gap:8px;margin-bottom:10px;padding:10px;border:1px solid #e6b3b3;border-radius:var(--radius);background:#fff4f4;color:#8a1f1f;font-size:13px}.event-stream{display:grid;gap:8px;max-height:280px;overflow:auto}.event-line{display:grid;gap:4px;padding:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.event-line span{color:var(--indigo);font-size:12px;font-weight:900}.event-line p{margin:0;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.result-list{display:grid;gap:8px;margin-top:12px}.result-head{gap:8px;color:var(--green);font-size:13px;font-weight:900}.result-list a{display:flex;min-width:0;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);color:var(--text);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;text-decoration:none;overflow-wrap:anywhere}.empty-state{margin:10px;padding:18px;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-muted);color:var(--muted);font-size:13px;text-align:center;overflow-wrap:anywhere}.drive-lock{margin:0 16px 16px}.hidden-input{display:none}.muted-text{color:var(--muted);font-size:13px}@media(max-width:1320px){.workspace-grid{grid-template-columns:minmax(260px,320px) minmax(520px,1fr)}.meeting-panel{position:static;max-height:none;overflow:visible}.run-column{position:static;grid-column:1 / -1;max-height:none;overflow:visible}.job-list{display:grid;max-height:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}@media(max-width:920px){.app-shell{padding:10px}.topbar,.workspace-grid,.analysis-strip{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.meeting-panel,.run-column{position:static;max-height:none;overflow:visible}.meeting-list,.job-list{max-height:none}.file-table{overflow-x:auto}.file-row{min-width:760px}}@media(max-width:560px){.brand h1{font-size:19px}.topbar-actions,.toolbar,.panel-head.with-actions{align-items:stretch;flex-direction:column}.panel-actions{justify-content:stretch}.secondary-button,.primary-link,.run-button{width:100%}.folder-tabs button{flex-basis:100%}.job-facts{grid-template-columns:1fr}}.agenda-picker{display:flex;flex-direction:column;gap:8px}.field-label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.agenda-hint{margin:0;font-size:13px;color:var(--soft);padding:10px 12px;background:var(--surface-muted);border:1px dashed var(--border);border-radius:var(--radius)}.agenda-list{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);padding:4px;background:var(--surface)}.agenda-row{display:grid;grid-template-columns:auto 58px 1fr auto;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:13px}.agenda-row:hover{background:var(--surface-muted)}.agenda-row.is-selected{background:#0d7f791a}.agenda-row.is-disabled{opacity:.45;cursor:not-allowed}.agenda-num{font-weight:600;color:var(--teal-strong);font-variant-numeric:tabular-nums}.agenda-desc{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-count{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.meeting-main{min-width:0}.meeting-tags{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.ingest-tag{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;border:1px solid var(--border);background:var(--surface-muted);color:var(--soft);font-size:11px;font-weight:700;white-space:nowrap}.ingest-tag.is-running{color:var(--indigo);border-color:#304f9f66;background:#304f9f14}.ingest-tag.is-done{color:var(--green);border-color:#19845f66;background:#19845f14}.ingest-tag.is-failed{color:var(--red);border-color:#bf2f2f66;background:#bf2f2f14}.ingest-tag.is-partial{color:var(--amber, #b26a00);border-color:#b26a0066;background:#b26a0014}.schedule-box{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.schedule-hint{margin:0;font-size:11px;line-height:1.5;color:var(--soft)}.schedule-list{display:flex;flex-direction:column;gap:6px;margin-top:4px}.schedule-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface-muted)}.schedule-info{display:flex;flex-direction:column;gap:2px;min-width:0}.schedule-main{font-size:12px;font-weight:600}.schedule-agendas{font-size:11px;color:var(--soft)}.agenda-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.mode-badge{padding:2px 9px;border-radius:999px;border:1px solid rgba(13,127,121,.4);background:#0d7f791a;color:var(--teal-strong);font-size:11px;font-weight:800}.agenda-warn{margin:0;padding:8px 10px;border-radius:var(--radius);border:1px solid rgba(180,106,3,.36);background:#fffdf8;color:var(--amber);font-size:12px;font-weight:600}.help-button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;font-weight:600;cursor:pointer}.help-button:hover{background:var(--surface-muted);border-color:var(--border-strong)}.guide-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:#17212b8c}.guide-modal{width:min(680px,100%);max-height:85vh;overflow-y:auto;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 60px #17212b4d}.guide-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface)}.guide-modal-head h2{margin:0;font-size:17px}.guide-modal-body{padding:18px 20px 22px}.guide-lead{margin:0 0 16px;color:var(--muted);font-size:14px;line-height:1.65}.guide-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:12px}.guide-steps li{font-size:14px;line-height:1.65}.guide-steps strong{font-weight:700}.guide-steps em{font-style:normal;font-weight:600;color:var(--text);background:var(--surface-strong);padding:0 4px;border-radius:4px}.guide-note{margin:18px 0 0;font-size:13px;color:var(--muted)}.file-select-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;margin-bottom:6px;border-radius:var(--radius);background:var(--surface-strong);font-size:13px;font-weight:600}.select-download-button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:13px;font-weight:600;cursor:pointer}.select-download-button:hover:not(:disabled){background:var(--surface-muted)}.select-download-button:disabled{opacity:.6;cursor:default}@keyframes astra-spin{to{transform:rotate(360deg)}}.spin{animation:astra-spin .8s linear infinite;flex-shrink:0}.mini-bar{display:block;width:100%;height:5px;border-radius:3px;background:var(--surface-strong);overflow:hidden;margin-top:4px}.mini-bar-fill{display:block;height:100%;background:#0f766e;transition:width .3s ease}.progress-inline{display:flex;flex-direction:column;gap:4px;font-size:13px}.progress-inline .mini-bar{width:100%;margin-top:0}
