:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}body{background:var(--tg-theme-bg-color,#fff);color:var(--tg-theme-text-color,#111);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#root{min-height:100vh}.app{max-width:640px;margin:0 auto;padding:16px}h1{margin:8px 0 16px;font-size:22px;font-weight:600}.state-message{color:var(--tg-theme-hint-color,#707579);text-align:center;padding:24px 0}.state-message--error{color:#d14343}.task-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.task-item{background:var(--tg-theme-secondary-bg-color,#f4f4f5);border-radius:12px;padding:12px 14px}.task-item--clickable,.project-item--clickable{cursor:pointer}.task-item--clickable:active,.project-item--clickable:active{opacity:.7}.task-item__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.task-item__title{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.task-item__project{color:var(--tg-theme-hint-color,#707579);margin-top:4px;font-size:13px}.status-badge{white-space:nowrap;color:#3a3a3c;background:#e5e5ea;border-radius:999px;flex-shrink:0;padding:3px 8px;font-size:12px;font-weight:600}.status-badge--todo{color:#3a3a3c;background:#e5e5ea}.status-badge--in_progress{color:#92400e;background:#fef3c7}.status-badge--in_review{color:#1e40af;background:#dbeafe}.status-badge--approved{color:#166534;background:#dcfce7}.status-badge--rejected,.status-badge--failed{color:#991b1b;background:#fee2e2}.status-badge--running{color:#92400e;background:#fef3c7}.status-badge--succeeded{color:#166534;background:#dcfce7}.project-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.project-item{background:var(--tg-theme-secondary-bg-color,#f4f4f5);border-radius:12px;padding:12px 14px}.project-item__name{font-weight:500}.project-item__repo{color:var(--tg-theme-hint-color,#707579);margin-top:4px;font-size:13px}.back-button{appearance:none;color:var(--tg-theme-link-color,#007aff);cursor:pointer;background:0 0;border:none;margin-bottom:8px;padding:0;font-size:15px}.task-detail{flex-direction:column;gap:16px;display:flex}.task-detail__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.task-detail__title{margin:0;font-size:19px;font-weight:600}.task-detail__description{white-space:pre-wrap;color:var(--tg-theme-text-color,#111);margin:0}.task-detail__meta{grid-template-columns:auto 1fr;gap:6px 12px;margin:0;display:grid}.task-detail__meta dt{color:var(--tg-theme-hint-color,#707579);font-size:13px}.task-detail__meta dd{word-break:break-word;margin:0;font-size:13px}.task-detail__actions{gap:10px;display:flex}.button{cursor:pointer;border:none;border-radius:10px;flex:1;padding:12px 16px;font-size:15px;font-weight:600}.button:disabled{opacity:.6;cursor:default}.button--approve{color:#fff;background:#34c759}.button--reject{color:#fff;background:#ff3b30}.task-detail__section-title{margin:0 0 8px;font-size:15px;font-weight:600}.run-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.run-item{background:var(--tg-theme-secondary-bg-color,#f4f4f5);border-radius:12px;padding:12px 14px}.run-item__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.run-item__started{color:var(--tg-theme-hint-color,#707579);font-size:13px}.run-item__meta{color:var(--tg-theme-hint-color,#707579);margin-top:6px;font-size:13px}.run-item__log-section{margin-top:8px}.run-item__log-toggle{appearance:none;color:var(--tg-theme-link-color,#007aff);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.run-item__log{white-space:pre-wrap;word-break:break-word;background:var(--tg-theme-bg-color,#fff);border-radius:8px;max-height:240px;margin:8px 0 0;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;overflow:auto}.button--primary{background:var(--tg-theme-button-color,#007aff);color:var(--tg-theme-button-text-color,#fff)}.button--secondary{background:var(--tg-theme-secondary-bg-color,#e5e5ea);color:var(--tg-theme-text-color,#111)}.fab{background:var(--tg-theme-button-color,#007aff);width:56px;height:56px;color:var(--tg-theme-button-text-color,#fff);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:28px;line-height:1;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 12px #0003}.fab:active{opacity:.85}.modal-overlay{z-index:10;background:#0006;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--tg-theme-bg-color,#fff);border-radius:14px;flex-direction:column;gap:14px;width:100%;max-width:360px;padding:20px;display:flex}.modal__title{margin:0;font-size:18px;font-weight:600}.modal__form{flex-direction:column;gap:14px;display:flex}.modal__actions{gap:10px;margin-top:4px;display:flex}.form-field{color:var(--tg-theme-hint-color,#707579);flex-direction:column;gap:6px;font-size:13px;display:flex}.form-field input,.form-field textarea{border:1px solid var(--tg-theme-hint-color,#d1d1d6);background:var(--tg-theme-secondary-bg-color,#f4f4f5);color:var(--tg-theme-text-color,#111);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:15px}.form-field textarea{resize:vertical;min-height:88px}
