:root{--bg: #faf5e9;--bg-elevated: #f0e8d0;--bg-sunken: #f3ecda;--card: #fffcf2;--ink: #1a1a0f;--ink-muted: #6b6b55;--ink-faint: #9a977f;--ink-brand: #1e3a0f;--ink-brand-mid: #2d5016;--accent: #d4a843;--accent-soft: #efe1b8;--accent-deep-text: #8a6d1f;--brand-soft: #e5eeda;--pear: #356943;--border: #d8cfb0;--border-strong: #cbc09c;--hairline: #e3dac1;--scrim: rgba(20, 22, 12, .48);--danger: #a04a2e;--danger-soft: #f2ded2;--success: #4e7a3c;--shadow-sm: 0 2px 10px rgba(36, 31, 14, .05);--shadow-md: 0 10px 24px rgba(36, 31, 14, .08);--shadow-lg: 0 18px 38px rgba(36, 31, 14, .11)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100%}.app-header{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--hairline)}.wordmark{margin:0;font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:700;letter-spacing:-.3px;color:var(--ink-brand)}.wordmark span{color:var(--accent);font-style:italic;font-weight:400}.app-header-right{display:flex;align-items:center;gap:12px}.app-header-email{font-size:13px;color:var(--ink-faint)}.btn{font-family:inherit;font-size:14px;font-weight:600;border-radius:999px;padding:9px 16px;border:1px solid transparent;cursor:pointer;transition:transform .14s ease,background .14s ease,border-color .14s ease}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--ink-brand);color:var(--bg)}.btn-primary:hover:enabled{background:var(--ink-brand-mid)}.btn-ghost{background:transparent;color:var(--ink-brand);border-color:var(--border)}.btn-ghost:hover:enabled{border-color:var(--border-strong);background:var(--bg-sunken)}.btn-danger{background:transparent;color:var(--danger);border-color:var(--danger)}.btn-danger:hover:enabled{background:var(--danger-soft)}.board-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 24px 0}.board-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.board-tab{display:inline-flex;align-items:center;gap:7px;font-family:inherit;font-size:14px;font-weight:600;color:var(--ink-brand);background:var(--bg-sunken);border:1px solid var(--border);border-radius:999px;padding:7px 14px;cursor:pointer;transition:background .14s ease,border-color .14s ease}.board-tab:hover{border-color:var(--border-strong)}.board-tab-active{background:var(--ink-brand);border-color:var(--ink-brand);color:var(--bg)}.board-tab-add{color:var(--ink-muted);background:transparent;border-style:dashed}.tab-action{opacity:.6;font-size:12px;line-height:1}.tab-action:hover{opacity:1}.board-filters{display:flex;align-items:center;gap:8px;margin-left:auto}.filter-select{font-family:inherit;font-size:13px;color:var(--ink);background:var(--bg-sunken);border:1px solid var(--border);border-radius:999px;padding:7px 12px;outline:none}.filter-select:focus{border-color:var(--accent)}.board{flex:1;min-height:0;display:flex;align-items:flex-start;gap:16px;padding:20px 24px 24px;overflow-x:auto}.board-status{padding:48px;text-align:center;color:var(--ink-muted)}.board-error{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 24px 0;padding:10px 14px;background:var(--danger-soft);border:1px solid var(--danger);border-radius:14px;color:var(--danger);font-size:14px}.column{flex:0 0 300px;display:flex;flex-direction:column;max-height:100%;background:var(--bg-sunken);border:1px solid var(--hairline);border-radius:22px;padding:12px;transition:border-color .14s ease,background .14s ease}.column-over{border-color:var(--accent);background:#f6eedc}.column-header{display:flex;align-items:center;gap:8px;padding:2px 6px 10px}.column-title{font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-brand-mid)}.column-count{font-size:11px;font-weight:700;background:var(--bg-elevated);color:var(--ink-muted);border-radius:999px;padding:2px 8px}.column-add{margin-left:auto;border:none;background:transparent;color:var(--ink-muted);font-size:16px;line-height:1;cursor:pointer;border-radius:8px;padding:4px 8px}.column-add:hover{background:var(--bg-elevated);color:var(--ink-brand)}.column-body{display:flex;flex-direction:column;gap:10px;overflow-y:auto;min-height:40px;padding:2px}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow-sm);cursor:grab;transition:border-color .14s ease,box-shadow .14s ease}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.card-dragging{opacity:.35}.card-overlay{box-shadow:var(--shadow-lg);cursor:grabbing;transform:rotate(2deg)}.card-done{opacity:.65}.card-done .card-title{text-decoration:line-through;text-decoration-color:var(--ink-faint)}.card-top{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.card-title{margin:0;font-size:15px;font-weight:600;color:var(--ink)}.card-desc{margin:6px 0 0;font-size:13px;line-height:1.4;color:var(--ink-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.chip{font-size:11px;font-weight:600;border-radius:999px;padding:3px 9px;text-transform:capitalize}.chip-high{background:var(--danger-soft);color:var(--danger)}.chip-medium{background:var(--accent-soft);color:var(--accent-deep-text)}.chip-low{background:var(--brand-soft);color:var(--success)}.chip-label{background:var(--bg-elevated);color:var(--ink-muted);text-transform:none}.gate{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.gate-card{width:min(400px,100%);background:var(--card);border:1px solid var(--border);border-radius:22px;padding:32px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:16px}.gate-card .wordmark{font-size:30px}.gate-card p{margin:0;font-size:15px;color:var(--ink-muted)}.gate-sub{margin-top:-8px}.gate-card code{background:var(--bg-sunken);border:1px solid var(--hairline);padding:1px 5px;border-radius:6px;font-size:13px}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:13px;font-weight:500;color:var(--ink-muted)}.field em{font-style:normal;font-weight:400;color:var(--ink-faint)}.field input,.field textarea,.field select{font-family:inherit;font-size:15px;color:var(--ink);background:var(--bg-sunken);border:1px solid var(--border);border-radius:10px;padding:10px 12px;outline:none;transition:border-color .14s ease,background .14s ease}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);background:var(--card)}.field textarea{resize:vertical}.field-row{display:flex;gap:12px}.field-row .field{flex:1}.form-error{margin:0;font-size:13px;color:var(--danger)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;padding:24px;z-index:10}.modal{width:min(540px,100%);max-height:calc(100vh - 48px);overflow-y:auto;background:var(--bg);border-radius:22px;padding:24px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:14px}.modal h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:20px;color:var(--ink-brand)}.modal-actions{display:flex;align-items:center;gap:10px;margin-top:4px}.modal-actions-spacer{flex:1}.modal-sub{margin:-6px 0 0;font-size:13px;color:var(--ink-muted)}.modal-section{margin:10px 0 0;font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-brand-mid)}.row-main{flex:1;display:flex;flex-direction:column;min-width:0}.row-name{font-size:14px;font-weight:600;color:var(--ink)}.row-sub{font-size:12px;color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis}.add-row{display:flex;gap:10px}.text-input,.add-row input{flex:1;font-family:inherit;font-size:15px;color:var(--ink);background:var(--bg-sunken);border:1px solid var(--border);border-radius:10px;padding:10px 12px;outline:none}.text-input:focus,.add-row input:focus{border-color:var(--accent);background:var(--card)}.admin-list{display:flex;flex-direction:column}.admin-row{display:flex;align-items:center;gap:10px;padding:10px 2px;border-bottom:1px solid var(--hairline)}.admin-row:last-child{border-bottom:none}.admin-email{flex:1;font-size:15px}.chip-you{background:var(--brand-soft);color:var(--ink-brand-mid);text-transform:none}.btn-small{padding:5px 12px;font-size:13px}.form-notice{margin:0;font-size:13px;color:var(--success)}.link-btn{background:none;border:none;padding:0;font-family:inherit;font-size:13px;color:var(--ink-brand);text-decoration:underline;cursor:pointer;align-self:center}.avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:var(--brand-soft);color:var(--ink-brand);font-size:12px;font-weight:700;flex-shrink:0}.avatar-sm{width:18px;height:18px;font-size:10px}.card-meta{display:flex;align-items:center;gap:8px;margin-top:8px}.card-assignee{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--ink-brand-mid);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-meta-spacer{flex:1}.card-count{font-size:11px;color:var(--ink-muted);white-space:nowrap}.detail-section{border-top:1px solid var(--hairline);padding-top:12px;display:flex;flex-direction:column;gap:8px}.detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-brand-mid)}.detail-empty{margin:0;font-size:13px;font-style:italic;color:var(--ink-faint)}.btn-small{padding:5px 12px;font-size:12px}.attachment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.attachment{position:relative;border-radius:12px;overflow:hidden;background:var(--bg-elevated);border:1px solid var(--hairline);aspect-ratio:4 / 3}.attachment img,.attachment video{width:100%;height:100%;object-fit:cover;display:block}.attachment-remove{position:absolute;top:5px;right:5px;width:22px;height:22px;border-radius:999px;border:none;background:#14160c99;color:var(--bg);font-size:14px;line-height:1;cursor:pointer}.attachment-remove:hover{background:var(--danger)}.comment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.comment{display:flex;gap:8px;align-items:flex-start}.comment-main{flex:1;min-width:0}.comment-head{display:flex;align-items:baseline;gap:8px}.comment-head strong{font-size:13px;color:var(--ink-brand)}.comment-head time{font-size:11px;color:var(--ink-faint)}.comment-remove{margin-left:auto;border:none;background:none;color:var(--ink-faint);font-size:14px;line-height:1;cursor:pointer;padding:0 2px}.comment-remove:hover{color:var(--danger)}.comment-main p{margin:2px 0 0;font-size:13px;line-height:1.45;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}.comment-composer{display:flex;gap:8px;align-items:flex-end}.comment-composer textarea{flex:1;resize:vertical}
