:root{color-scheme:dark;font-family:Inter,SF Pro Display,Segoe UI,sans-serif;font-size:16px;line-height:1.6;font-weight:400;background-color:#0b0c0f;color:#f5f5f7;--bg: #0b0c0f;--bg-soft: #101118;--surface: rgba(15, 17, 24, .94);--surface-muted: rgba(18, 20, 28, .9);--surface-elevated: rgba(22, 24, 34, .96);--border: rgba(84, 96, 123, .52);--border-strong: rgba(120, 135, 163, .76);--divider: rgba(68, 79, 105, .58);--text: #f5f5f7;--text-muted: rgba(198, 199, 208, .78);--text-subtle: rgba(198, 201, 214, .55);--primary: #f5f5f7;--primary-glow: #dcdfff;--primary-contrast: #0d0e12;--accent: #4f7ff6;--accent-gradient: linear-gradient(135deg, rgb(37, 99, 235), rgb(29, 78, 216));--success: #34d399;--warning: #f0b429;--danger: #ff7d7d;--focus-ring: rgba(32, 212, 212, .26);--shadow-soft: 0 24px 58px rgba(0, 0, 0, .55);--shadow-card: 0 28px 64px rgba(5, 6, 10, .58)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:var(--bg);color:var(--text)}body{font-family:Inter,SF Pro Text,Segoe UI,sans-serif;font-size:15px;line-height:1.6;color:var(--text);letter-spacing:.01em;-webkit-font-smoothing:antialiased;background:radial-gradient(120% 120% at 18% 0%,#28334e6b,#0b0c0f00 62%),var(--bg)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}input,textarea{font:inherit;color:inherit}::selection{background:#20d4d447;color:var(--primary-contrast)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#7678848c;border-radius:999px}.app-shell{min-height:100vh;background:linear-gradient(135deg,#101118eb,#0a0b0fe0);color:var(--text);position:relative}.topbar{position:sticky;top:0;z-index:10;background:#0c0d12db;-webkit-backdrop-filter:blur(26px) saturate(140%);backdrop-filter:blur(26px) saturate(140%);border-bottom:1px solid rgba(255,255,255,.05)}.topbar-inner{margin:0 auto;max-width:1180px;padding:1.2rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand{display:inline-flex;align-items:center;gap:.6rem;padding:.4rem .8rem;border-radius:12px;transition:background .2s ease}.brand-title{font-weight:600;font-size:1.12rem;letter-spacing:.02em}.topbar-controls{display:flex;align-items:center;gap:1.4rem}.topbar-auth{display:inline-flex;align-items:center;gap:.6rem;background:#14161eb8;border:1px solid rgba(255,255,255,.05);border-radius:999px;padding:.35rem .8rem .35rem .9rem}.topbar-auth__email{font-size:.85rem;color:var(--text-muted)}.app-main{padding:2.2rem 1.6rem 3rem}.app-container{margin:0 auto;max-width:1180px;display:flex;flex-direction:column;gap:1.5rem}.section{display:flex;flex-direction:column;gap:1.4rem}.card{background:var(--surface);border-radius:18px;border:1px solid rgba(255,255,255,.04);padding:1.7rem;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.card h2,.card h3{margin:0}.muted{color:var(--text-muted)}.metrics-row{display:flex;gap:1.8rem;flex-wrap:wrap}.metric{min-width:150px}.metric-label{font-size:.72rem;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.06em}.metric-value{font-size:1.6rem;font-weight:600}.metric-subtitle{font-size:.85rem;color:var(--text-subtle)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border-radius:12px;border:1px solid transparent;padding:.55rem 1.1rem;font-weight:600;line-height:1.1;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}.button:disabled{opacity:.6;cursor:not-allowed}.button.primary{background:linear-gradient(135deg,var(--primary),var(--primary-glow));color:var(--primary-contrast);box-shadow:0 18px 32px #00000061}.button.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 22px 40px #00000073}.button.neutral{background:#1c1f28e0;border-color:#ffffff0f;color:var(--text)}.button.neutral:hover:not(:disabled){border-color:#ffffff24;transform:translateY(-1px)}.button.danger{background:#ff7d7d29;border-color:#ff7d7d73;color:var(--danger);box-shadow:0 14px 28px #00000052}.button.danger:hover:not(:disabled){background:#ff7d7d3d;border-color:#ff7d7da6;transform:translateY(-1px);box-shadow:0 20px 36px #0000006b}.button.light{background:#ffffffeb;border-color:#ffffffd9;color:var(--primary-contrast);box-shadow:0 14px 28px #00000047}.button.light:hover:not(:disabled){background:#fff;border-color:#fffffff2;transform:translateY(-1px);box-shadow:0 18px 34px #00000057}.button.ghost{background:#181a2280;border-color:#ffffff0f;color:var(--text-muted)}.button.ghost:hover:not(:disabled){color:var(--text);border-color:#ffffff2e;transform:translateY(-1px)}.button-compact{padding:.45rem .9rem;font-size:.85rem}.button-full{width:100%}.input{width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.06);padding:.65rem .85rem;font-size:.95rem;background:transparent;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.input:focus{outline:none;border-color:#20d4d473;box-shadow:0 0 0 3px var(--focus-ring);background:#141c24fa}.input-error{border-color:#ff7d7d8c;box-shadow:0 0 0 3px #ff7d7d33}textarea{font:inherit;border:1px solid rgba(255,255,255,.06);padding:.7rem .85rem;resize:vertical;min-height:100px;background:#121a20e6;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.thread-delete-button{position:fixed;top:1.4rem;right:1.4rem;z-index:50;min-width:2.6rem;min-height:2.6rem;padding:.4rem;border-radius:999px}.topbar-home-button{position:fixed;top:1.4rem;left:1.4rem;z-index:50;min-width:2.6rem;min-height:2.6rem;padding:.4rem;border-radius:999px}.data-table{width:100%;border-spacing:0;border-collapse:separate;border-radius:1rem}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll::-webkit-scrollbar{height:6px}.table-scroll::-webkit-scrollbar-thumb{background:#47556973;border-radius:999px}.data-table thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-subtle);padding:1rem;text-align:center;background:#14161ef0;border-bottom:1px solid rgba(255,255,255,.05);position:relative}.data-table thead th:first-child{border-top-left-radius:1rem}.data-table thead th:last-child{border-top-right-radius:1rem}.data-table thead th,.data-table tbody td{text-align:center}.data-table tbody td{padding:1rem;border-bottom:1px solid rgba(255,255,255,.04)}.data-table tbody tr{transition:background-color .18s ease}.data-table tbody tr:hover{background:#25d6e40d}.table-sort{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;position:relative;padding:0;border:none;background:none;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.table-sort:hover{color:var(--primary)}.table-sort__label{flex:0 0 auto;text-align:center;padding-right:1.1rem}.table-sort__label{padding-right:1rem}.sort-indicator{position:absolute;right:0;display:inline-flex;justify-content:center;align-items:center;width:.8rem;pointer-events:none;min-height:1rem;font-size:.85rem;opacity:.85;transition:opacity .2s ease}.table-sort:not(:hover) .sort-indicator{opacity:.7}.data-table thead th[aria-sort=ascending] .table-sort,.data-table thead th[aria-sort=descending] .table-sort{color:#fff}.data-table thead th[aria-sort=ascending] .sort-indicator,.data-table thead th[aria-sort=descending] .sort-indicator{color:#fff;opacity:1}.completion-inline{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;width:100%;min-width:180px}.completion-inline__track{position:relative;height:6px;flex:0 1 140px;width:140px;order:1;border-radius:999px;background:#1e293b8c;overflow:hidden}.completion-inline__fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(135deg,#2563eb,#1d4ed8);border-radius:999px;transition:width .3s ease}.completion-inline__percent{font-weight:600;font-size:.9rem;color:#e2e8fff2;min-width:3rem;text-align:right;padding-right:.5rem;order:2}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.page-heading__text p{margin:.35rem 0 0;max-width:560px}.thread-header-row{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.page-heading__actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.thread-action-row{display:flex;gap:.75rem;flex-wrap:wrap}.phase-root-card{position:relative;padding-bottom:2.75rem}.phase-root-card .phase-pill{font-size:1rem}.phase-root-card__badge{position:absolute;bottom:1.25rem;right:1.25rem}.phase-summary{font-weight:600}.phase-pill,.status-pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.35rem .75rem;font-size:.8rem;font-weight:600;background:#181c24d9;color:var(--text-muted)}.phase-pill.phase-1,.phase-pill.phase-2{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);border-radius:999px}.status-pill.completed{color:var(--success);background:#34d39924}.status-pill.in_progress{color:var(--warning);background:#f0b4292e}.status-pill.not_uploaded{color:var(--text-muted);background:#24283499}.checklist-group{border:1px solid rgba(255,255,255,.04);border-radius:14px;padding:1.35rem;background:#14161edb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.checklist-group+.checklist-group{margin-top:1.2rem}.checklist-group__header{display:flex;justify-content:center;align-items:flex-start;gap:1rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.06)}.checklist-group__title h4{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:.015em}.checklist-group__title p{margin:.45rem 0 0;font-size:.9rem}.checklist-group__counts{font-size:.8rem;font-weight:600;padding:.3rem .75rem;border-radius:999px;background:#181c24b8}.checklist-items{display:flex;flex-direction:column;gap:1.6rem}.checklist-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:1.6rem;padding:1.2rem 1.4rem;border-radius:18px;border:1px solid rgba(255,255,255,.05);background:linear-gradient(135deg,#161822c7,#10121aa8);box-shadow:0 14px 28px #00000040}.checklist-item-header{display:flex;flex-direction:column;gap:.55rem}.instruction-list{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.35rem;color:var(--text-muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#090a0dd1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;justify-content:center;align-items:center;padding:2rem;z-index:30}.modal-card{width:min(960px,100%);max-height:90vh;overflow-y:auto;background:#0e0f14f5;border-radius:20px;border:1px solid rgba(255,255,255,.05);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:1.3rem}.modal-header,.modal-footer{padding:1.6rem 1.9rem 0;display:flex;justify-content:center;align-items:center;gap:1rem}.modal-footer{padding:0 1.9rem 1.7rem;justify-content:flex-end}.modal-content{display:flex;flex-direction:column;gap:1.1rem;padding:0 1.9rem}.modal-field-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.1rem}.modal-field{display:flex;flex-direction:column;gap:.45rem;font-size:.92rem}.modal-field span{font-weight:600;color:var(--text-muted)}.modal-footer .button+.button{margin-left:.75rem}.alert{border-radius:12px;padding:.9rem 1rem;background:#ff7d7d1f;border:1px solid rgba(255,125,125,.32);color:var(--danger);font-size:.9rem}.empty-state{padding:2rem;text-align:center;color:var(--text-muted);background:#14161ec7;border-radius:14px}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#090a0dd1;display:flex;align-items:center;justify-content:center;z-index:60;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.auth-dialog{width:min(420px,92vw);background:#0f1118f2;border-radius:20px;border:1px solid rgba(255,255,255,.05);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;overflow:hidden}.auth-dialog__header{padding:1.9rem 2.2rem 1.1rem;border-bottom:1px solid rgba(255,255,255,.04)}.auth-dialog__header h2{margin:0 0 .55rem}.auth-dialog__header p{margin:0;color:var(--text-muted);font-size:.9rem}.auth-dialog__body{padding:1.9rem 2.2rem 2.1rem;display:flex;flex-direction:column;gap:1.1rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-form__field{display:flex;flex-direction:column;gap:.45rem;font-size:.92rem}.auth-form__field span{font-weight:600;color:var(--text-muted)}.auth-input{background:#121a20eb}.auth-alert{border-radius:12px;padding:.75rem .9rem;font-size:.85rem}.auth-alert--error{background:#ff7d7d1f;border:1px solid rgba(255,125,125,.32);color:var(--danger)}.auth-alert--message{background:#4f7ff629;border:1px solid rgba(79,127,246,.32);color:#fff;border-radius:999px;align:center}.auth-reset{background:none;border:none;color:var(--primary);font-size:.85rem;text-align:left;padding:0;transition:color .2s ease}.auth-reset:hover:not(:disabled){color:#20d4d4eb}.auth-reset:disabled{opacity:.6;cursor:not-allowed}.checklist-notes{display:flex;flex-direction:column;gap:.15rem;padding:.35rem 0 .4rem;border-bottom:1px solid rgba(255,255,255,.08);position:relative}.checklist-notes__textarea{min-height:40px;border:none;background:transparent;padding:0;color:var(--text);resize:none;line-height:40px;overflow:hidden}.checklist-notes__textarea--editing{min-height:40px;max-height:180px;border:none;background:transparent;padding:0;resize:none;line-height:1.4;color:var(--text);line-height:40px}.checklist-notes__textarea--editing:focus{outline:none;border:none;box-shadow:none}.checklist-notes__textarea:focus{outline:none;border:none;box-shadow:none}.checklist-notes__textarea::placeholder{color:#c6c9d66b}.checklist-notes__display{display:inline-flex;width:100%;text-align:left;background:transparent;border:none;padding:0;color:var(--text);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s ease;min-height:40px;align-items:center;line-height:40px}.saving-indicator--inline{position:absolute;right:0;bottom:-1.1rem;font-size:.7rem;opacity:.75;pointer-events:none}.checklist-notes__display:hover{color:#f5f5f7d1}.checklist-notes__display--placeholder{color:#c6c9d661}.checklist-upload-column{display:flex;flex-direction:column;gap:.7rem}.checklist-upload{position:relative;border-radius:18px;padding:1.3rem 1.4rem;display:flex;flex-direction:column;gap:.45rem;background:#14161ec2;border:1px solid rgba(32,212,212,.18);transition:border-color .2s ease,transform .18s ease,box-shadow .2s ease;cursor:pointer}.checklist-upload--pending{border-color:#fca5a561}.checklist-upload--pending:hover{border-color:#ff7d7d99;box-shadow:0 16px 30px #0000003d}.checklist-upload--complete{border-color:#6ee7b761}.checklist-upload--complete:hover{border-color:#34d39999;box-shadow:0 16px 36px #0000003d}.checklist-upload--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.checklist-upload__delete{position:absolute;top:.65rem;right:.7rem;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#0e1018cc;color:#ffffffbf;transition:transform .18s ease,border-color .18s ease,color .18s ease}.checklist-upload__delete:hover{transform:translateY(-1px);border-color:#ffffff2e;color:#fffffff2}.checklist-upload__delete:disabled{opacity:.5}.checklist-upload__view-icon{position:absolute;top:3.25rem;right:.7rem;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#0e1018bf;color:#ffffffbf;transition:transform .18s ease,border-color .18s ease,color .18s ease}.checklist-upload__view-icon:hover{transform:translateY(-1px);border-color:#ffffff2e;color:#fffffff2}.checklist-upload__view-icon:disabled{opacity:.5}.checklist-upload__title{font-weight:600;color:var(--text)}.checklist-upload__subtitle{font-size:.85rem;color:var(--text-subtle)}.checklist-upload__hint{font-size:.78rem;color:var(--text-subtle)}.checklist-upload__input{display:none}.saving-indicator{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;color:#c6c9d6ad}.saving-indicator__spinner{width:12px;height:12px;border-radius:50%;border:2px solid rgba(198,201,214,.25);border-top-color:var(--accent);animation:saving-spin .8s linear infinite}@keyframes saving-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 960px){.phase-pill{align-self:flex-start}.phase-root-card{padding-bottom:3.25rem}.phase-root-card .phase-pill{font-size:1rem}.phase-root-card__badge{right:1rem;bottom:1rem}.topbar-inner{padding:1rem 1.25rem;flex-direction:column;align-items:center;gap:1rem}.topbar-controls{width:100%;justify-content:center}.app-main{padding:1.6rem 1.1rem 2.4rem}.thread-header-row{flex-direction:column;align-items:stretch;gap:1.25rem}.thread-action-row{justify-content:flex-start;width:100%}.thread-action-row .button{flex:1;min-width:140px}.checklist-item{grid-template-columns:1fr;padding:1.1rem 1.2rem}.modal-card{padding-bottom:1rem}.modal-header,.modal-footer{flex-direction:column;align-items:flex-start;gap:.75rem;padding-left:1.2rem;padding-right:1.2rem}.modal-footer,.modal-footer .button{width:100%}.modal-content{padding:0 1.2rem}}@media (max-width: 768px){.table-scroll{margin:0 -.4rem}.data-table{min-width:640px}.page-heading{flex-direction:column;align-items:stretch;gap:1.25rem}.page-heading__text p{max-width:none}.page-heading__actions{width:100%;justify-content:stretch;gap:.6rem}.page-heading__actions .button{flex:1;min-width:150px}.modal-card{max-width:100%;width:calc(100% - 2rem);margin:0 1rem}.modal-header,.modal-footer{align-items:stretch}.modal-footer .button{width:100%}.modal-field-grid{grid-template-columns:1fr}}.data-table tbody td strong{display:block;text-align:center}
