:root{color-scheme:light;--border: #d8d2c2;--bg: #f6f4ef;--ink: #151f3a;--ink-soft: #5c6478;--primary: #3563e6;--primary-dark: #1c3f9e;--teal: #12897d;--amber: #8a4f10;--danger: #c53030;--warn: #8a4f10;--ok: #0d5f55;--font-display: "Unbounded", system-ui, sans-serif;--font-body: "IBM Plex Sans", -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;font-family:var(--font-body)}body{margin:0;background:var(--bg);color:var(--ink)}.app{max-width:1100px;margin:0 auto;padding:32px 24px 64px}.app__header h1{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;font-size:22px;letter-spacing:-.01em;margin-bottom:4px}.app__logo{display:block;width:28px;height:28px;border-radius:7px;flex:none}.app__subtitle{color:var(--ink-soft);font-size:14px;max-width:720px;line-height:1.5}.account-float{position:fixed;right:20px;bottom:20px;display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:var(--ink);box-shadow:0 1px 3px #151f3a26,0 8px 20px -8px #151f3a8c;opacity:.5;transition:opacity .15s;white-space:nowrap;z-index:40}.account-float:hover,.account-float:focus-within{opacity:1}.account-float__name{font-family:var(--font-display);font-size:15px;font-weight:700;color:#fff;padding:0 2px}.account-float .btn{padding:5px 10px;font-size:12px}.account-float .btn--secondary{background:#ffffff1a;border-color:#ffffff2e;color:#cdd6f5}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login__card{background:#fff;border-radius:4px 20px;box-shadow:0 1px 3px #151f3a0f,0 10px 26px -14px #151f3a40;padding:32px;width:100%;max-width:360px;display:flex;flex-direction:column;gap:14px}.login__card h1{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;font-size:20px;margin:0}.login__subtitle{color:var(--ink-soft);font-size:13px;margin:-8px 0 4px}.login__card label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:var(--ink-soft)}.login__card .cell-input{border:1px solid var(--border);border-radius:6px;padding:9px 10px;font-size:14px}.login__card .btn{margin-top:6px}.dropzone{margin-top:24px;border:2px dashed var(--border);border-radius:4px 20px;padding:64px 24px;text-align:center;cursor:pointer;background:#fff;transition:border-color .15s,background .15s}.mode-toggle__hint{margin-top:20px;max-width:520px}.dropzone--over{border-color:var(--primary);background:#eef3fd}.dropzone--disabled{cursor:default;opacity:.6}.dropzone__title{font-family:var(--font-display);font-size:15px;font-weight:700;margin:0 0 4px}.dropzone__hint{font-size:13px;color:var(--ink-soft);margin:0}.tasks-table{width:100%;border-collapse:collapse;margin-top:24px;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #151f3a0f}.tasks-table th,.tasks-table td{padding:10px 12px;border-bottom:1px solid #eee8dc;text-align:left;vertical-align:top;font-size:13px}.tasks-table th{background:var(--ink);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:#cdd6f5;border-bottom:none}.row--needs-clarification{background:#faf1e2}.cell-task{min-width:280px}.cell-source-file{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted, #7a7466);font-size:12.5px}.cell-input{width:100%;box-sizing:border-box;border:1px solid transparent;padding:4px 6px;border-radius:4px;font-size:13px;background:transparent}.autogrow-textarea{display:block;width:100%;box-sizing:border-box;border:1px solid transparent;padding:4px 6px;border-radius:4px;font-family:inherit;font-size:13px;line-height:1.4;background:transparent;resize:none;overflow-y:auto;min-height:30px;max-height:140px}.autogrow-textarea:hover,.autogrow-textarea:focus{border-color:var(--border);background:#fff}.cell-input:hover,.cell-input:focus{border-color:var(--border);background:#fff}.cell-input--narrow{width:140px}details{margin-top:6px;font-size:12px;color:var(--ink-soft)}.quote{font-style:italic}.details-field{display:block;margin-top:10px;font-size:12px;font-weight:600;color:var(--ink-soft)}.details-field .combobox{margin-top:4px;font-weight:400}.badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:700;font-family:var(--font-mono)}.badge--ready{background:#d6ece8;color:var(--ok)}.badge--warn{background:#f4e3cf;color:var(--warn)}.actions{margin-top:20px;display:flex;gap:12px;justify-content:flex-end}.btn{border:none;border-radius:6px;padding:10px 18px;font-size:14px;font-weight:700;cursor:pointer;font-family:var(--font-body)}.btn--primary{background:var(--primary);color:#fff;clip-path:polygon(10px 0,100% 0,100% 100%,0 100%,0 10px)}.btn--primary:disabled{background:#aebde0;cursor:default}.btn--secondary{background:transparent;border:1px solid var(--border);color:var(--ink)}.alert{margin-top:16px;padding:10px 14px;border-radius:6px;font-size:13px}.alert--error{background:#fdeceb;color:var(--danger);border:1px solid #f5c6c2}.loading{margin-top:16px;color:var(--ink-soft);font-size:14px}.results-list{list-style:none;padding:0;margin-top:24px;display:flex;flex-direction:column;gap:8px}.results-list__item{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:10px 14px;border-radius:6px;border:1px solid var(--border);font-size:13px}.results-list__item--failed{border-color:#f5c6c2}.results-list__title{font-weight:600}.error-text{color:var(--danger)}.alert--ok{background:#d6ece8;color:var(--ok);border:1px solid #b7ddd4}.alert--warn{background:#f4e3cf;color:var(--warn);border:1px solid #e6cba6}.tabs{display:flex;gap:4px;margin-top:16px;border-bottom:1px solid var(--border)}.tab{border:none;background:transparent;padding:10px 14px;font-size:13px;font-weight:700;color:var(--ink-soft);cursor:pointer;border-bottom:3px solid transparent}.tab--active{color:var(--ink);border-bottom-color:var(--primary)}.review-queue{margin-top:24px;display:flex;flex-direction:column;gap:16px}.review-card{background:#fff;border-radius:4px 18px;padding:16px;box-shadow:0 1px 3px #151f3a0f}.review-card__fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;font-size:12px;color:var(--ink-soft)}.review-card__fields label{display:flex;flex-direction:column;gap:4px}.review-card__field--full{grid-column:1 / -1}.review-card__fields input,.review-card__fields select,.review-card__fields .autogrow-textarea{border:1px solid var(--border);border-radius:4px;padding:6px 8px;font-size:13px;color:var(--ink)}.combobox{position:relative}.combobox__input{width:100%;box-sizing:border-box}.combobox__hint{display:block;margin-top:3px;font-size:11px;color:var(--warn)}.combobox__list{position:absolute;z-index:20;top:calc(100% + 2px);left:0;right:0;max-height:220px;overflow-y:auto;margin:0;padding:4px 0;list-style:none;background:#fff;border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #151f3a24;text-align:left}.combobox__list li{padding:6px 10px;font-size:13px;cursor:pointer;white-space:nowrap}.combobox__list li:hover,.combobox__item--active{background:#e7edf9}.combobox__empty{color:#a29c8c;cursor:default!important}.combobox__empty:hover{background:transparent!important}.multiselect__chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.chip{display:inline-flex;align-items:center;gap:4px;background:#d6ece8;color:var(--ok);border-radius:999px;padding:3px 6px 3px 10px;font-size:12px;white-space:nowrap}.chip__remove{border:none;background:transparent;color:inherit;cursor:pointer;font-size:14px;line-height:1;padding:2px}.checklist-editor__list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:4px}.checklist-editor__list li{display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--bg);border-radius:4px;padding:5px 8px;font-size:13px}.checklist-editor__list li button{border:none;background:transparent;color:var(--danger);cursor:pointer;font-size:15px;line-height:1;padding:0 2px}.checklist-editor__add{display:flex;gap:6px}.checklist-editor__add .cell-input{border:1px solid var(--border);border-radius:4px;flex:1}.popover-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#151f3a66;display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.popover{background:#fff;border-radius:4px 20px;box-shadow:0 8px 24px -12px #151f3a66;padding:28px;width:100%;max-width:340px;display:flex;flex-direction:column;gap:14px}.popover h2{font-family:var(--font-display);font-weight:700;font-size:17px;margin:0}.popover label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:var(--ink-soft)}.popover .cell-input{border:1px solid var(--border);border-radius:6px;padding:9px 10px;font-size:14px}.popover .actions{margin-top:4px}.meetings{display:flex;flex-direction:column;gap:16px}.meet-card{background:var(--surface, #fff);border:1px solid var(--line, #d9d6cc);border-radius:4px 20px;padding:18px 22px}.meet-card__row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.meet-card__title{margin:0 0 8px;font-size:1.05rem;font-family:var(--font-display, inherit)}.meet-card__hint{margin:4px 0 0;font-size:.85rem;color:var(--muted, #6a6f7c)}.meet-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.meet-list li{display:block}.meet-dot{display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:50%}.meet-dot--ok{background:#1f9d6b}.meet-dot--warn{background:#e0a100}.meet-dot--bad{background:#d64545}.meet-actions{margin-left:12px}.meet-actions .btn{padding:4px 14px;text-decoration:none;display:inline-block}.meet-switch{display:inline-flex;align-items:center;gap:10px;font-weight:600;cursor:pointer}.meet-switch input{width:20px;height:20px}.meet-period{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-top:16px}.meet-period label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}.meet-period input[type=date]{font:inherit;padding:7px 10px;border:1px solid #d6d3cb;border-radius:8px;background:#fff}.meet-table{width:100%;border-collapse:collapse}.meet-table th,.meet-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line, #e4e1d8);vertical-align:top}
