.layout{display:flex;min-height:100vh}.sidebar{width:220px;background:#2c3e50;color:#fff;display:flex;flex-direction:column;transition:width .3s ease;position:relative}.sidebar.collapsed{width:60px}.collapse-btn{position:absolute;top:10px;right:-12px;width:24px;height:24px;border-radius:50%;background:#2c3e50;border:2px solid #34495e;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;z-index:10;transition:all .2s ease}.collapse-btn:hover{background:#34495e}.sidebar-nav{flex:1;padding:40px 10px 10px;display:flex;flex-direction:column;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 15px;border-radius:8px;color:#ffffffb3;text-decoration:none;transition:all .2s ease}.nav-item:hover{background:#ffffff1a;color:#fff}.nav-item.active{background:#667eea;color:#fff}.nav-icon{font-size:1.3rem;min-width:24px;text-align:center}.nav-label{font-size:.95rem;white-space:nowrap}.sidebar.collapsed .nav-item{justify-content:center;padding:12px}.sidebar.collapsed .nav-icon{min-width:auto}.sidebar.collapsed .sidebar-user{justify-content:center}.sidebar-user{display:flex;align-items:center;gap:10px;padding:15px;background:#0003;border-top:1px solid rgba(255,255,255,.1)}.user-avatar{width:36px;height:36px;border-radius:50%;background:#667eea;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0}.user-name{flex:1;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-btn{width:30px;height:30px;border-radius:6px;background:transparent;border:none;color:#ffffffb3;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.logout-btn:hover{background:#ffffff1a;color:#fff}.main-content{flex:1;background:#f5f5f5;overflow:auto}.admin-entry-btn{background:transparent;border:none;color:#fff6;font-size:12px;cursor:pointer;padding:4px 15px;text-align:left;transition:color .2s ease}.admin-entry-btn:hover{color:#ffffffe6}@media (max-width: 768px){.sidebar{width:60px}.sidebar .nav-label,.sidebar .user-name{display:none}.sidebar.collapsed{width:60px}}.admin-layout{display:flex;min-height:100vh;background:#f5f5f5}.admin-sidebar{width:220px;background:#1a1a2e;color:#fff;display:flex;flex-direction:column;transition:width .2s ease;flex-shrink:0}.admin-sidebar.collapsed{width:60px}.admin-sidebar-header{padding:20px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.1)}.admin-logo{font-size:20px;flex-shrink:0}.admin-title{font-size:16px;font-weight:600;white-space:nowrap}.admin-nav{flex:1;padding:12px 8px;display:flex;flex-direction:column;gap:4px}.admin-nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:6px;color:#ffffffb3;text-decoration:none;transition:all .15s ease;white-space:nowrap}.admin-nav-item:hover{background:#ffffff14;color:#fff}.admin-nav-item.active{background:#ffffff1f;color:#fff}.admin-nav-icon{font-size:16px;flex-shrink:0;width:20px;text-align:center}.admin-nav-label{font-size:14px}.admin-sidebar-footer{padding:12px 8px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:8px}.admin-collapse-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff9;border-radius:4px;padding:4px;cursor:pointer;font-size:14px;align-self:flex-end}.admin-collapse-btn:hover{color:#fff;border-color:#fff6}.admin-user{display:flex;align-items:center;justify-content:space-between;padding:0 4px}.admin-user-name{font-size:13px;color:#fffc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-logout-btn{background:transparent;border:none;color:#ffffff80;cursor:pointer;font-size:16px}.admin-logout-btn:hover{color:#ff6b6b}.admin-back-btn{background:#ffffff14;border:none;color:#ffffffb3;border-radius:4px;padding:8px;cursor:pointer;font-size:12px;text-align:center}.admin-back-btn:hover{background:#ffffff26;color:#fff}.admin-main{flex:1;padding:24px 32px;overflow-y:auto}.admin-page h1{font-size:24px;margin-bottom:16px;color:#1a1a2e}.admin-page p{color:#666}@media (max-width: 768px){.admin-sidebar{position:fixed;z-index:100;height:100vh}.admin-sidebar.collapsed{transform:translate(-100%);width:220px}}.stat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 1px 3px #00000014;display:flex;flex-direction:column;align-items:flex-start}.stat-icon{font-size:24px;margin-bottom:8px}.stat-value{font-size:32px;font-weight:700;color:#1a1a2e;line-height:1}.stat-label{font-size:13px;color:#888;margin-top:6px}.dashboard-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;margin-bottom:20px}.chart-panel{background:#fff;border-radius:10px;padding:20px;box-shadow:0 1px 3px #00000014}.chart-panel h2{font-size:15px;font-weight:600;color:#555;margin-bottom:16px}.chart-empty{color:#999;font-size:14px;padding:40px 0;text-align:center}.line-chart{width:100%;height:auto}.bar-chart{display:flex;flex-direction:column;gap:12px}.bar-item{display:flex;align-items:center;gap:10px}.bar-label{width:60px;font-size:12px;font-weight:600;color:#666;text-transform:capitalize;text-align:right;flex-shrink:0}.bar-track{flex:1;background:#f5f5f5;border-radius:4px;height:28px;overflow:hidden}.bar-fill{height:100%;border-radius:4px;display:flex;align-items:center;justify-content:flex-end;padding-right:10px;font-size:12px;font-weight:600;transition:width .3s ease;min-width:28px}.top-users-table{width:100%;border-collapse:collapse;font-size:14px}.top-users-table th{text-align:left;padding:10px 8px;color:#888;font-weight:600;font-size:12px;text-transform:uppercase;border-bottom:1px solid #eee}.top-users-table td{padding:10px 8px;border-bottom:1px solid #f5f5f5}.top-users-table tr:last-child td{border-bottom:none}.tier-badge{padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:capitalize}@media (max-width: 768px){.dashboard-charts{grid-template-columns:1fr}.stat-cards{grid-template-columns:repeat(2,1fr)}}.admin-page{max-width:1200px}.admin-page h1{font-size:24px;margin-bottom:20px;color:#1a1a2e}.admin-loading{color:#888;font-size:14px;margin-bottom:12px}.admin-error{background:#fee;color:#c33;padding:10px 14px;border-radius:6px;margin-bottom:16px}.tier-stats{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.tier-stat{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:12px 16px;min-width:80px;text-align:center;cursor:pointer;transition:all .15s ease}.tier-stat:hover{border-color:#667eea}.tier-stat.active{border-color:#667eea;background:#f0f2ff}.tier-stat-label{display:block;font-size:12px;color:#888;text-transform:uppercase}.tier-stat-count{display:block;font-size:22px;font-weight:700;color:#1a1a2e;margin-top:4px}.user-search{display:flex;gap:8px;margin-bottom:16px}.user-search input{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px}.user-search button{padding:8px 16px;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px}.user-search button:hover{background:#5a6fd6}.user-table-wrapper{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #00000014}.user-table{width:100%;border-collapse:collapse;font-size:14px}.user-table th{background:#f8f9fa;padding:12px 16px;text-align:left;font-weight:600;color:#555;border-bottom:1px solid #eee}.user-table td{padding:12px 16px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.user-table tr.inactive td{opacity:.5;background:#fafafa}.user-table tr:hover td{background:#f8f9ff}.tier-badge{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600;border:none;cursor:pointer}.tier-badge.tier-normal{background:#e8e8e8;color:#555}.tier-badge.tier-pro{background:#dbeafe;color:#2563eb}.tier-badge.tier-max{background:#fce7f3;color:#db2777}.tier-badge.tier-pilot{background:#fef3c7;color:#d97706}.tier-badge.tier-admin{background:#1a1a2e;color:#fff}.status-badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.status-badge.active{background:#d1fae5;color:#059669}.status-badge.inactive{background:#fee2e2;color:#dc2626}.total-used{font-size:11px;color:#999;margin-top:2px}.action-btn{padding:6px 12px;border-radius:4px;font-size:12px;border:none;cursor:pointer;transition:all .15s ease}.action-btn.primary{background:#d1fae5;color:#059669}.action-btn.primary:hover{background:#a7f3d0}.action-btn.danger{background:#fee2e2;color:#dc2626}.action-btn.danger:hover{background:#fecaca}.user-link{color:#667eea;cursor:pointer;font-weight:500}.user-link:hover{text-decoration:underline}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}.pagination button{padding:8px 16px;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px}.pagination button:hover:not(:disabled){border-color:#667eea;color:#667eea}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination span{font-size:14px;color:#666}.user-detail-page{max-width:1200px}.detail-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.back-btn{padding:6px 12px;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:13px;color:#666}.back-btn:hover{border-color:#667eea;color:#667eea}.detail-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:24px}.detail-card{background:#fff;border-radius:10px;padding:16px;box-shadow:0 1px 3px #00000014}.card-label{font-size:12px;color:#888;text-transform:uppercase;margin-bottom:8px}.card-value{font-size:20px;font-weight:600;color:#1a1a2e}.card-sublabel{font-size:12px;color:#999;margin-top:4px}.status-toggle{margin-top:10px}.detail-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:20px;margin-bottom:20px}.detail-panel{background:#fff;border-radius:10px;padding:20px;box-shadow:0 1px 3px #00000014}.detail-panel.full-width{grid-column:1 / -1}.detail-panel h2{font-size:15px;font-weight:600;color:#555;margin-bottom:16px}.panel-empty{color:#999;font-size:14px;padding:20px 0;text-align:center}.timeline{display:flex;flex-direction:column;gap:12px}.timeline-item{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:6px;background:#f8f9fa}.timeline-dot{font-size:16px;flex-shrink:0;margin-top:2px}.timeline-content{flex:1;min-width:0}.timeline-title{font-size:14px;font-weight:500;color:#333;margin-bottom:2px}.timeline-meta{font-size:12px;color:#888}.timeline-detail{color:#667eea}.detail-table{width:100%;border-collapse:collapse;font-size:13px}.detail-table th{text-align:left;padding:10px 8px;color:#888;font-weight:600;font-size:11px;text-transform:uppercase;border-bottom:1px solid #eee}.detail-table td{padding:10px 8px;border-bottom:1px solid #f5f5f5}.detail-table tr:last-child td{border-bottom:none}.detail-table tr.failed td{background:#fff5f5}.settings-page .settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:24px;margin-top:24px}.settings-page .setting-card{background:#fff;border-radius:12px;padding:24px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d}.settings-page .setting-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.settings-page .setting-header h2{font-size:18px;font-weight:600;margin:0;color:#1f2937}.settings-page .mode-badge{font-size:12px;font-weight:600;padding:4px 12px;border-radius:999px;text-transform:uppercase;letter-spacing:.5px}.settings-page .mode-badge.invite{background:#fef3c7;color:#92400e}.settings-page .mode-badge.open{background:#d1fae5;color:#065f46}.settings-page .mode-badge:not(.invite):not(.open){background:#f3f4f6;color:#374151}.settings-page .setting-description{color:#6b7280;font-size:14px;line-height:1.5;margin:0 0 20px}.settings-page .setting-actions{display:flex;gap:12px}@media (max-width: 640px){.settings-page .settings-grid{grid-template-columns:1fr}}.invite-codes-page .invite-generate-form{background:#f8f9fa;border-radius:8px;padding:16px 20px;margin-bottom:24px}.invite-codes-page .form-row{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.invite-codes-page .form-group{display:flex;flex-direction:column;gap:6px}.invite-codes-page .form-group.flex-grow{flex:1;min-width:200px}.invite-codes-page .form-group label{font-size:13px;font-weight:500;color:#555}.invite-codes-page .form-group input,.invite-codes-page .form-group select{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;background:#fff}.invite-codes-page .form-actions{min-width:120px}.invite-codes-page .invite-code-text{background:#eef2ff;color:#4f46e5;padding:4px 8px;border-radius:4px;font-size:13px;font-weight:600;letter-spacing:.5px}.invite-codes-page .user-table td{vertical-align:middle}.invite-codes-page .action-btn{margin-right:6px}.invite-codes-page .action-btn:disabled{opacity:.5;cursor:not-allowed}.login-logs-page .logs-summary{color:#666;font-size:14px;margin-bottom:16px}.logs-table td{font-size:13px}.logs-table tr.failed td{background:#fff5f5}.logs-table tr.failed:hover td{background:#ffe0e0}.bug-reports-page{max-width:1280px}.bug-page-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.bug-page-heading h1{margin:0 0 6px;letter-spacing:-.02em}.bug-page-heading p{margin:0;font-size:14px}.bug-status-tabs{display:flex;gap:4px;width:fit-content;margin-bottom:18px;padding:4px;border:1px solid #e2e5eb;border-radius:10px;background:#eef0f4}.bug-status-tabs button{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;border:0;border-radius:7px;background:transparent;color:#687185;cursor:pointer;font-size:13px;font-weight:700}.bug-status-tabs button.active{background:#fff;color:#20293b;box-shadow:0 1px 3px #0f172a17}.bug-status-tabs button span{min-width:22px;padding:2px 7px;border-radius:999px;background:#dfe3ea;color:#687185;font-size:11px;text-align:center}.bug-status-tabs button.active span{background:#e9edff;color:#586fd4}.bug-admin-feedback{margin-bottom:14px;padding:10px 13px;border:1px solid #bce8cf;border-radius:8px;background:#edf9f2;color:#187248;font-size:13px}.bug-table-card{overflow:hidden;border:1px solid #e2e5eb;border-radius:12px;background:#fff;box-shadow:0 1px 3px #0f172a0a}.bug-table-scroll{overflow-x:auto}.bug-reports-table{width:100%;border-collapse:collapse;font-size:13px}.bug-reports-table th{padding:12px 16px;border-bottom:1px solid #e7e9ee;background:#f8f9fb;color:#71798a;font-size:11px;font-weight:700;letter-spacing:.045em;text-align:left;text-transform:uppercase;white-space:nowrap}.bug-reports-table td{min-width:120px;padding:15px 16px;border-bottom:1px solid #eef0f3;color:#4e586c;vertical-align:middle}.bug-reports-table td:first-child{min-width:260px}.bug-reports-table tr:last-child td{border-bottom:0}.bug-reports-table tbody tr:hover td{background:#fafbff}.bug-title-link{display:block;max-width:360px;overflow:hidden;padding:0;border:0;background:transparent;color:#405bc7;cursor:pointer;font-size:13px;font-weight:700;text-align:left;text-overflow:ellipsis;white-space:nowrap}.bug-title-link:hover{color:#2d45ab;text-decoration:underline}.bug-report-number{display:block;margin-top:3px;color:#a0a7b5;font-size:11px}.bug-reporter-avatar{width:25px;height:25px;display:inline-grid;place-items:center;margin-right:8px;border-radius:50%;background:#e9edff;color:#5268cb;font-size:10px;font-weight:800}.bug-screenshot-chip{display:inline-block;padding:4px 8px;border-radius:999px;background:#f0f1f4;color:#828a99;font-size:10px;font-weight:700;text-transform:uppercase}.bug-screenshot-chip.attached{background:#e9edff;color:#5268cb}.bug-date-primary,.bug-date-secondary{display:block;white-space:nowrap}.bug-date-primary{color:#4e586c}.bug-date-secondary{margin-top:3px;color:#949baa;font-size:11px}.bug-table-state{padding:48px 24px;color:#7c8494;font-size:14px;text-align:center}.bug-table-state.empty{display:flex;flex-direction:column;align-items:center}.bug-table-state.empty>span{width:44px;height:44px;display:grid;place-items:center;margin-bottom:12px;border-radius:50%;background:#e9f7ef;color:#218657;font-size:20px}.bug-table-state.empty strong{margin-bottom:4px;color:#3b4558;font-size:15px}.bug-table-state.empty p{margin:0;font-size:13px}.bug-pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:18px}.bug-pagination button{padding:8px 13px;border:1px solid #d9dde5;border-radius:7px;background:#fff;color:#4f5a6e;cursor:pointer;font-size:12px}.bug-pagination button:disabled{cursor:not-allowed;opacity:.45}.bug-pagination span{color:#7c8494;font-size:12px}.bug-detail-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;justify-content:flex-end;background:#0f172a66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:bug-admin-backdrop-in .16s ease-out}.bug-detail-drawer{width:min(580px,100vw);height:100%;display:flex;flex-direction:column;background:#fff;box-shadow:-20px 0 60px #0f172a33;animation:bug-admin-drawer-in .22s ease-out}.bug-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:25px 28px 22px;border-bottom:1px solid #e5e8ee}.bug-detail-eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:9px;color:#8a92a1;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.bug-detail-status{padding:3px 8px;border-radius:999px}.bug-detail-status.open{background:#fff0e3;color:#b85a16}.bug-detail-status.fixed{background:#e4f6ec;color:#197548}.bug-detail-header h2{margin:0;color:#20293b;font-size:21px;line-height:1.3}.bug-detail-close{width:34px;height:34px;flex-shrink:0;border:0;border-radius:9px;background:#f0f2f5;color:#687185;cursor:pointer;font-size:23px}.bug-detail-content{flex:1;overflow-y:auto;padding:4px 28px 28px}.bug-detail-loading{margin-top:18px;padding:9px 11px;border-radius:7px;background:#f2f4ff;color:#5a6fc8;font-size:12px}.bug-detail-section{padding:22px 0;border-bottom:1px solid #eceef2}.bug-detail-section:last-child{border-bottom:0}.bug-detail-section h3{margin:0 0 11px;color:#596377;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.bug-detail-section-heading{display:flex;align-items:center;justify-content:space-between}.bug-detail-section-heading>span{color:#939baa;font-size:11px}.bug-description{margin:0;color:#374155!important;font-size:14px;line-height:1.65;white-space:pre-wrap}.bug-detail-screenshot{display:block;overflow:hidden;border:1px solid #dfe3e9;border-radius:10px;background:#f0f2f5}.bug-detail-screenshot img{width:100%;max-height:420px;display:block;object-fit:contain}.bug-screenshot-loading,.bug-screenshot-error{padding:30px;border-radius:9px;background:#f4f5f7;color:#7d8595;font-size:12px;text-align:center}.bug-screenshot-error{background:#fff0f1;color:#b13643}.bug-context-list{margin:0}.bug-context-list>div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;padding:9px 0;border-bottom:1px solid #f0f1f4;font-size:12px}.bug-context-list>div:last-child{border-bottom:0}.bug-context-list dt{color:#9098a7}.bug-context-list dd{min-width:0;margin:0;overflow-wrap:anywhere;color:#424d61}.bug-context-list a{color:#4b62c7}.bug-detail-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 28px;border-top:1px solid #e5e8ee;background:#fafbfc}.bug-detail-actions button{min-width:112px;height:40px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:700}.bug-detail-cancel{border:1px solid #d7dce5;background:#fff;color:#596377}.bug-detail-fixed{border:1px solid #1f8a59;background:#1f8a59;color:#fff}.bug-detail-fixed:hover:not(:disabled){background:#18754b}.bug-detail-actions button:disabled,.bug-detail-close:disabled{cursor:not-allowed;opacity:.55}@keyframes bug-admin-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes bug-admin-drawer-in{0%{opacity:.7;transform:translate(32px)}to{opacity:1;transform:translate(0)}}@media (max-width: 700px){.bug-detail-drawer{width:100vw}.bug-detail-header,.bug-detail-actions,.bug-detail-content{padding-left:20px;padding-right:20px}}@media (prefers-reduced-motion: reduce){.bug-detail-backdrop,.bug-detail-drawer{animation:none}}:root{--bg-primary: #faf9f7;--bg-secondary: #f5f4f2;--bg-tertiary: #eeedeb;--text-primary: #1a1a1a;--text-secondary: #4a4a4a;--text-muted: #8a8a8a;--accent: #6b5b7a;--accent-hover: #5a4a69;--accent-light: #9b8ba8;--accent-bg: #f3f0f5;--space-xs: .5rem;--space-sm: 1rem;--space-md: 2rem;--space-lg: 4rem;--space-xl: 6rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--transition-base: all .3s ease;--transition-slow: all .5s ease}.homepage{min-height:100vh;background:var(--bg-primary);font-family:var(--font-sans);color:var(--text-primary);line-height:1.6}.nav{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);max-width:1200px;margin:0 auto}.nav-brand{display:flex;align-items:center;gap:var(--space-xs);text-decoration:none;color:var(--text-primary)}.nav-logo{font-size:1.5rem;line-height:1}.nav-name{font-size:1.25rem;font-weight:600;letter-spacing:-.02em}.nav-link{color:var(--text-secondary);text-decoration:none;font-size:.95rem;padding:.5rem 1rem;border-radius:6px;transition:var(--transition-base)}.nav-link:hover{color:var(--text-primary);background:var(--bg-secondary)}.hero{display:flex;align-items:center;justify-content:center;padding:var(--space-xl) var(--space-md);min-height:60vh;opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease;background:linear-gradient(180deg,#faf9f7,#f5f0eb);position:relative}.hero:after{content:"";position:absolute;bottom:3rem;left:50%;transform:translate(-50%);width:280px;height:1px;background:var(--accent-light);opacity:.6}.hero.visible{opacity:1;transform:translateY(0)}.hero-content{text-align:center;max-width:640px}.hero-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:700;line-height:1.1;letter-spacing:-.03em;margin-bottom:var(--space-md)}.title-line{display:block}.hero-subtitle{font-size:clamp(1.1rem,2.5vw,1.35rem);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-lg);max-width:520px;margin-left:auto;margin-right:auto}.hero-actions{display:flex;gap:var(--space-sm);justify-content:center;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-size:1rem;font-weight:500;text-decoration:none;border-radius:8px;transition:var(--transition-base);cursor:pointer;border:none}.btn-primary{background:var(--accent);color:#faf9f7}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-arrow{transition:transform .2s ease}.btn-primary:hover .btn-arrow{transform:translate(3px)}.btn-text{color:var(--text-secondary);background:transparent;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--text-muted)}.btn-text:hover{color:var(--text-primary);text-decoration-color:var(--accent)}.preview-section{padding:var(--space-lg) var(--space-md);opacity:0;transform:translateY(20px);transition:opacity .8s ease .2s,transform .8s ease .2s}.preview-section.visible{opacity:1;transform:translateY(0)}.preview-container{max-width:900px;margin:0 auto}.preview-placeholder{background:var(--bg-secondary);border:2px dashed var(--bg-tertiary);border-radius:16px;height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);transition:var(--transition-base)}.preview-placeholder:hover{border-color:var(--accent-light);background:var(--accent-bg)}.preview-cross{font-size:3rem;color:var(--text-muted);font-weight:300}.preview-label{font-size:.875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.features-section{padding:var(--space-xl) var(--space-md);opacity:0;transform:translateY(20px);transition:opacity .8s ease .4s,transform .8s ease .4s}.features-section.visible{opacity:1;transform:translateY(0)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-lg);max-width:1000px;margin:0 auto}.feature-item{text-align:center;padding:var(--space-sm)}.feature-icon{font-size:1.75rem;margin-bottom:var(--space-sm);line-height:1}.feature-title{font-size:1.1rem;font-weight:600;margin-bottom:var(--space-xs);color:var(--text-primary)}.feature-desc{font-size:.95rem;color:var(--text-secondary);line-height:1.5}.footer{padding:var(--space-lg) var(--space-md);border-top:1px solid var(--bg-tertiary)}.footer-content{text-align:center;max-width:1200px;margin:0 auto}.footer-copyright{font-size:.9rem;color:var(--text-secondary);margin-bottom:var(--space-xs)}.footer-tagline{font-size:.85rem;color:var(--text-muted);font-style:italic}@media (max-width: 768px){.nav{padding:var(--space-sm)}.hero{padding:var(--space-lg) var(--space-sm);min-height:50vh}.hero-title{font-size:2.25rem}.hero-subtitle{font-size:1.1rem}.preview-section{padding:var(--space-md) var(--space-sm)}.preview-placeholder{height:280px}.features-section{padding:var(--space-lg) var(--space-sm)}.features-grid{grid-template-columns:1fr;gap:var(--space-md)}.hero-actions{flex-direction:column;width:100%}.btn{width:100%;justify-content:center}}@media (prefers-reduced-motion: reduce){.hero,.preview-section,.features-section{opacity:1;transform:none;transition:none}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:400px;box-shadow:0 10px 40px #0003;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #e0e0e0}.modal-header h3{font-size:1.1rem;color:#333;margin:0}.modal-close{width:28px;height:28px;border:none;background:transparent;font-size:1.5rem;color:#666;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#f0f0f0}.modal-body{padding:1.25rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.85rem;color:#666;margin-bottom:.4rem;font-weight:500}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.6rem .75rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;font-family:inherit;background:#fff}.form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem}.form-group select:hover{border-color:#667eea}.form-group select:focus{outline:none;border-color:#667eea}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.form-group textarea{resize:none}.form-row{display:flex;gap:1rem}.duration-options{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem;margin-bottom:.5rem}.duration-btn{padding:.35rem .25rem;border:1px solid #ddd;background:#fff;border-radius:6px;font-size:.7rem;cursor:pointer;transition:all .2s;text-align:center}.duration-btn:hover{background:#f5f5f5}.duration-btn.selected{background:#667eea;color:#fff;border-color:#667eea}.duration-custom-label{font-size:.75rem;color:#666;white-space:nowrap;align-self:center}.duration-custom{grid-column:span 7;padding:.35rem .5rem!important;font-size:.8rem!important;border:1px solid #ddd;border-radius:6px}.timezone-info{font-size:.75rem;color:#888;margin-bottom:1rem;padding:.5rem;background:#f9f9f9;border-radius:4px}.form-row .form-group{flex:1}.color-options{display:flex;gap:.5rem}.color-btn{width:28px;height:28px;border:2px solid transparent;border-radius:50%;cursor:pointer;transition:all .2s}.color-btn:hover{transform:scale(1.1)}.color-btn.selected{border-color:#333;box-shadow:0 0 0 2px #fff,0 0 0 4px #333}.modal-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-top:1px solid #e0e0e0;background:#f9f9f9}.modal-actions{display:flex;gap:.5rem}.btn-cancel,.btn-save,.btn-delete{padding:.5rem 1rem;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s}.btn-cancel{background:transparent;border:1px solid #ddd;color:#666}.btn-cancel:hover{background:#f0f0f0}.btn-save{background:#667eea;border:none;color:#fff}.btn-save:hover{background:#5a6fd6}.btn-delete{background:transparent;border:none;color:#e74c3c;font-weight:500}.btn-delete:hover{text-decoration:underline}.bug-report-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;justify-content:flex-end;background:#0f172a61;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:bug-backdrop-in .16s ease-out}.bug-report-drawer{width:min(440px,100vw);height:100%;display:flex;flex-direction:column;background:#fff;color:#172033;box-shadow:-20px 0 60px #0f172a2e;animation:bug-drawer-in .22s ease-out}.bug-report-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 26px 20px;border-bottom:1px solid #e8ebf1}.bug-report-kicker{display:block;margin-bottom:5px;color:#667eea;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.bug-report-drawer-header h2{margin:0;font-size:23px;letter-spacing:-.02em}.bug-report-close{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:9px;background:#f3f5f8;color:#5d6677;cursor:pointer;font-size:24px;line-height:1}.bug-report-close:hover:not(:disabled){background:#e8ebf1;color:#172033}.bug-report-form{flex:1;overflow-y:auto;padding:22px 26px 26px}.bug-report-intro{margin-bottom:22px;padding:12px 14px;border-radius:10px;background:#f6f7ff;color:#535f76;font-size:13px;line-height:1.5}.bug-report-field{display:flex;flex-direction:column;margin-bottom:20px}.bug-report-field>span{margin-bottom:8px;color:#30394d;font-size:13px;font-weight:700}.bug-report-field em{margin-left:5px;color:#98a0af;font-size:10px;font-style:normal;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.bug-report-field input,.bug-report-field textarea{width:100%;border:1px solid #d9dee8;border-radius:10px;outline:none;background:#fff;color:#172033;font:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.bug-report-field input{height:43px;padding:0 12px}.bug-report-field textarea{min-height:140px;padding:11px 12px;line-height:1.5;resize:vertical}.bug-report-field input:focus,.bug-report-field textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea21}.bug-report-field>small{align-self:flex-end;margin-top:5px;color:#98a0af;font-size:11px}.bug-screenshot-input{display:none}.bug-screenshot-picker{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px dashed #b8c0d0;border-radius:12px;background:#fafbfc;color:#465168;cursor:pointer}.bug-screenshot-picker:hover:not(:disabled){border-color:#667eea;background:#f7f8ff}.bug-screenshot-picker-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#e9edff;color:#586fd4;font-size:18px}.bug-screenshot-picker strong{font-size:13px}.bug-screenshot-picker small{color:#8a93a3;font-size:11px}.bug-screenshot-preview{overflow:hidden;border:1px solid #dfe3eb;border-radius:12px;background:#f8f9fb}.bug-screenshot-preview img{width:100%;max-height:230px;display:block;object-fit:contain;background:#eef0f4}.bug-screenshot-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;font-size:12px}.bug-screenshot-meta span{min-width:0;overflow:hidden;color:#5d6677;text-overflow:ellipsis;white-space:nowrap}.bug-screenshot-meta button{border:0;background:transparent;color:#c2414b;cursor:pointer;font-size:12px;font-weight:700}.bug-report-privacy{display:flex;gap:9px;margin-bottom:18px;padding:11px 12px;border:1px solid #f3ddaa;border-radius:10px;background:#fffbeb;color:#795c1b}.bug-report-privacy p{margin:0;font-size:11px;line-height:1.45}.bug-report-error{margin-bottom:16px;padding:10px 12px;border-radius:9px;background:#fef0f1;color:#b42332;font-size:12px}.bug-report-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:18px;border-top:1px solid #eceef3}.bug-report-actions button,.bug-report-success button{min-width:105px;height:40px;border-radius:9px;cursor:pointer;font-size:13px;font-weight:700}.bug-report-secondary{border:1px solid #d7dce5;background:#fff;color:#505b70}.bug-report-primary,.bug-report-success button{border:1px solid #667eea;background:#667eea;color:#fff}.bug-report-primary:hover:not(:disabled),.bug-report-success button:hover{background:#566dda}.bug-report-actions button:disabled,.bug-report-close:disabled,.bug-screenshot-picker:disabled{cursor:not-allowed;opacity:.55}.bug-report-success{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center}.bug-report-success-icon{width:58px;height:58px;display:grid;place-items:center;margin-bottom:18px;border-radius:50%;background:#dff7ea;color:#168653;font-size:28px;font-weight:700}.bug-report-success h3{margin:0 0 8px;font-size:21px}.bug-report-success p{max-width:300px;margin:0 0 24px;color:#657086;font-size:14px;line-height:1.5}@keyframes bug-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes bug-drawer-in{0%{transform:translate(30px);opacity:.7}to{transform:translate(0);opacity:1}}@media (max-width: 540px){.bug-report-drawer{width:100vw}.bug-report-drawer-header,.bug-report-form{padding-left:20px;padding-right:20px}}@media (prefers-reduced-motion: reduce){.bug-report-backdrop,.bug-report-drawer{animation:none}}.todo-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:24px;background:#181d2b7a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.todo-modal{width:min(560px,100%);max-height:min(760px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;color:#272a38;background:#fff;border:1px solid rgba(255,255,255,.7);border-radius:18px;box-shadow:0 28px 80px #151b2d42}.todo-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 18px;border-bottom:1px solid #eceef4}.todo-modal-heading{min-width:0;display:flex;align-items:center;gap:13px}.todo-modal-status-icon{width:28px;height:28px;flex:0 0 auto;display:grid;place-items:center;color:#fff;font-size:.8rem;font-weight:800;background:#fff;border:2px solid #cfd3df;border-radius:8px}.todo-modal-status-icon.is-completed{background:#2aa775;border-color:#2aa775}.todo-modal-eyebrow{margin:0 0 3px;color:#7c8191;font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.todo-modal-header h2{max-width:420px;margin:0;overflow:hidden;color:#252837;font-size:1.2rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.todo-modal-close{width:32px;height:32px;flex:0 0 auto;display:grid;place-items:center;padding:0;color:#717687;background:transparent;border:0;border-radius:9px;font-size:1.45rem;line-height:1;cursor:pointer}.todo-modal-close:hover,.todo-modal-close:focus-visible{color:#303444;background:#f0f1f5;outline:none}.todo-modal-body{min-height:0;padding:22px 24px;overflow-y:auto}.todo-modal-error{margin-bottom:16px;padding:10px 12px;color:#a73737;background:#fff1f1;border:1px solid #f1caca;border-radius:9px;font-size:.82rem}.todo-modal-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.todo-modal-status-badge,.todo-modal-priority{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;font-size:.72rem;font-weight:700}.todo-modal-status-badge{color:#495064;background:#f0f2f6}.todo-modal-status-badge.is-completed{color:#166b4b;background:#ddf5ea}.todo-modal-priority-high{color:#b43d3d;background:#ffebeb}.todo-modal-priority-medium{color:#9a6712;background:#fff3cf}.todo-modal-priority-low{color:#287150;background:#e6f5ec}.todo-modal-description{margin-bottom:22px}.todo-modal-description h3{margin:0 0 8px;color:#6d7282;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.todo-modal-description p{margin:0;color:#363a49;font-size:.92rem;line-height:1.6;white-space:pre-wrap}.todo-modal-description p.is-empty,.todo-modal-muted{color:#9296a4}.todo-modal-metadata{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;overflow:hidden;background:#e7e9f0;border:1px solid #e7e9f0;border-radius:12px}.todo-modal-metadata>div{min-width:0;min-height:78px;padding:14px;background:#fafafd}.todo-modal-metadata>.todo-modal-metadata-wide{grid-column:1 / -1;min-height:68px}.todo-modal-metadata dt{margin-bottom:6px;color:#808595;font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.todo-modal-metadata dd{min-width:0;margin:0;color:#343847;font-size:.85rem;font-weight:600;line-height:1.4}.todo-modal-project-link{display:inline-flex;align-items:center;gap:6px;max-width:100%;color:#5267c8;text-decoration:none}.todo-modal-project-link span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-modal-project-link:hover{text-decoration:underline}.todo-modal-form,.todo-modal-form-grid{display:grid;gap:16px}.todo-modal-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.todo-modal-field{min-width:0;display:grid;gap:7px}.todo-modal-field>span{color:#5e6374;font-size:.78rem;font-weight:700}.todo-modal-field input,.todo-modal-field textarea,.todo-modal-field select{width:100%;box-sizing:border-box;padding:10px 11px;color:#303442;background:#fff;border:1px solid #d9dce5;border-radius:9px;font:inherit;font-size:.88rem}.todo-modal-field textarea{resize:vertical;min-height:96px}.todo-modal-field input:focus,.todo-modal-field textarea:focus,.todo-modal-field select:focus{border-color:#697bdb;box-shadow:0 0 0 3px #697bdb1f;outline:none}.todo-modal-completion-control{display:flex;align-items:center;gap:11px;padding:12px 13px;background:#f7f8fb;border:1px solid #e6e8ef;border-radius:10px;cursor:pointer}.todo-modal-completion-control input{width:18px;height:18px;margin:0;accent-color:#2aa775}.todo-modal-completion-control span{display:grid;gap:2px;color:#777c8b;font-size:.75rem}.todo-modal-completion-control strong{color:#373b4b;font-size:.84rem}.todo-modal-footer{display:flex;justify-content:flex-end;gap:9px;padding:16px 24px;background:#fafafd;border-top:1px solid #eceef4}.todo-modal-button{min-height:38px;padding:8px 15px;border-radius:9px;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.todo-modal-button.secondary{color:#5e6373;background:#fff;border:1px solid #d9dce5}.todo-modal-button.primary{color:#fff;background:#6476d8;border:1px solid #6476d8}.todo-modal-button:hover:not(:disabled){transform:translateY(-1px)}.todo-modal-button.primary:hover:not(:disabled){background:#5669ce}.todo-modal-button:focus-visible{box-shadow:0 0 0 3px #697bdb2e;outline:none}.todo-modal-button:disabled,.todo-modal-close:disabled{cursor:not-allowed;opacity:.55}@media (max-width: 600px){.todo-modal-overlay{align-items:flex-end;padding:0}.todo-modal{width:100%;max-height:92vh;border-radius:18px 18px 0 0}.todo-modal-header,.todo-modal-body,.todo-modal-footer{padding-left:18px;padding-right:18px}.todo-modal-form-grid,.todo-modal-metadata{grid-template-columns:1fr}.todo-modal-metadata>.todo-modal-metadata-wide{grid-column:auto}}.calendar-page{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:2fr 1fr;height:100vh;background:#fff;overflow:hidden}.calendar-section,.ai-section,.ddl-section,.todo-section{padding:1rem;display:flex;flex-direction:column;overflow:hidden;min-height:0}.section-header{margin-bottom:.5rem;flex-shrink:0}.section-header h2{font-size:1.1rem;color:#333;font-weight:600}.calendar-section{border-right:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;overflow:hidden;min-height:0}.calendar-grid{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;height:100%}.calendar-controls{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap;position:relative;flex-shrink:0}.calendar-nav{display:flex;align-items:center;gap:.5rem;position:absolute;left:50%;transform:translate(-50%)}.nav-btn{width:30px;height:30px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center}.nav-btn:hover{background:#f5f5f5}.current-month{font-size:1rem;font-weight:600;color:#333;min-width:140px;text-align:center}.today-btn{padding:.4rem .75rem;background:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem}.today-btn:hover{background:#5a6fd6}.add-event-btn{padding:.4rem .75rem;background:#27ae60;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem}.add-event-btn:hover{background:#219a52}.left-controls{display:flex;gap:.5rem}.view-toggle{display:flex;border:1px solid #ddd;border-radius:4px;overflow:hidden}.view-btn{padding:.4rem .75rem;background:#fff;border:none;cursor:pointer;font-size:.85rem;color:#666}.view-btn:hover{background:#f5f5f5}.view-btn.active{background:#667eea;color:#fff}.calendar-days-header{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;padding:.25rem 0;background:#f8f9fa;border-bottom:1px solid #e0e0e0;flex-shrink:0}.calendar-days-header span{font-size:.75rem;color:#666;font-weight:500}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:1fr;flex:1;min-height:0;overflow:hidden;height:100%;align-items:stretch}.calendar-days .day-cell{min-height:0}.day-cell{border-right:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0;padding:4px;min-height:0;height:100%;overflow:hidden;display:flex;flex-direction:column}.day-cell:nth-child(7n){border-right:none}.day-cell.empty{background:#f9f9f9}.day-cell.today{background:#f0f7ff}.day-number{font-size:.8rem;color:#333;display:block;margin-bottom:2px}.day-number.today-number{background:#667eea;color:#fff;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:600}.day-cell.empty .day-number{color:#ccc}.events-list{display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto;min-height:0}.event-item{font-size:.7rem;padding:2px 4px;border-radius:3px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;flex-shrink:0}.event-item:hover{opacity:.9}.todo-item-calendar{font-size:.7rem;padding:2px 4px;border-radius:3px;background:#9b59b6;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;flex-shrink:0;display:flex;align-items:center;gap:4px}.todo-item-calendar:hover{opacity:.9}.todo-item-calendar:focus-visible{box-shadow:inset 0 0 0 2px #d7dcff;outline:none}.todo-checkbox-icon{font-size:.65rem;opacity:.9}.week-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.week-grid{display:grid;grid-template-columns:50px repeat(7,1fr);grid-template-rows:auto 1fr;flex:1;overflow:auto;min-height:0}.week-header-time-spacer{grid-row:1;grid-column:1;background:#f8f9fa;border-right:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.week-header-day{grid-row:1;display:flex;flex-direction:column;align-items:center;padding:8px 0;border-right:1px solid #f0f0f0;border-bottom:1px solid #e0e0e0;background:#f8f9fa}.week-header-day.today{background:#e8f4fc}.week-header-name{font-size:.7rem;color:#666;margin-bottom:2px}.week-header-num{font-size:1rem;font-weight:600;color:#333}.week-header-num.today-number{background:#667eea;color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}.week-time-column{grid-row:2;grid-column:1;background:#f8f9fa;border-right:1px solid #e0e0e0;display:flex;flex-direction:column}.week-time-slot{height:50px;font-size:.65rem;color:#999;text-align:right;padding-right:8px;box-sizing:border-box;border-bottom:1px solid #f0f0f0;display:flex;align-items:flex-start;padding-top:2px}.week-day-column{grid-row:2;border-right:1px solid #f0f0f0;position:relative;display:flex;flex-direction:column}.week-day-column.today{background:#f8fcff}.week-hour-line{height:50px;border-bottom:1px solid #f0f0f0;box-sizing:border-box;flex-shrink:0}.week-event-block{position:absolute;left:2px;right:2px;border-radius:4px;padding:4px 6px;overflow:hidden;cursor:pointer;transition:opacity .2s}.week-event-block:hover{opacity:.9}.week-event-time-label{display:block;font-size:.65rem;font-weight:600;color:#ffffffe6}.week-event-title-label{display:block;font-size:.7rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-day-cell{border-right:1px solid #f0f0f0;display:flex;flex-direction:column;min-height:200px;min-width:0;overflow:hidden}.week-day-cell:last-child{border-right:none}.week-day-cell.today{background:#f0f7ff}.week-day-header{padding:.5rem;text-align:center;border-bottom:1px solid #f0f0f0;background:#f8f9fa}.week-day-name{display:block;font-size:.7rem;color:#666;margin-bottom:2px}.week-day-number{font-size:1.2rem;font-weight:600;color:#333}.week-day-number.today-number{background:#667eea;color:#fff;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.week-events{flex:1;padding:4px;display:flex;flex-direction:column;gap:2px}.week-event-item{padding:4px 6px;border-radius:4px;color:#fff;font-size:.75rem;cursor:pointer}.week-event-time{font-weight:600;margin-right:4px}.ai-section{border-bottom:1px solid #e0e0e0}.ai-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.report-bug-trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #d8ddec;border-radius:7px;background:#fff;color:#5b6578;cursor:pointer;font-size:12px;font-weight:600;transition:border-color .15s,background .15s,color .15s}.report-bug-trigger:hover{border-color:#667eea;background:#f7f8ff;color:#5268cb}.chat-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding:.5rem;min-height:0}.chat-message{display:flex;max-width:80%}.chat-message.ai{align-self:flex-start}.chat-message.user{align-self:flex-end}.message-bubble{padding:.6rem .8rem;border-radius:12px;max-width:100%;position:relative}.chat-message.ai .message-bubble{background:#f0f0f0;color:#333;border-bottom-left-radius:4px}.chat-message.user .message-bubble{background:#667eea;color:#fff;border-bottom-right-radius:4px}.message-bubble p{font-size:.85rem;margin:0;line-height:1.4}.message-time{display:block;font-size:.65rem;opacity:.7;margin-top:4px}.chat-message.user .message-time{text-align:right}.message-bubble.typing{display:flex;gap:4px;padding:.8rem 1rem}.message-bubble.typing span{width:8px;height:8px;background:#999;border-radius:50%;animation:typing 1.4s infinite}.message-bubble.typing span:nth-child(2){animation-delay:.2s}.message-bubble.typing span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.chat-input-area{display:flex;gap:.5rem;padding-top:.75rem;border-top:1px solid #e0e0e0;margin-top:.5rem;align-items:center;flex-shrink:0}.message-image{display:flex;justify-content:center}.message-image img{object-fit:contain;box-shadow:0 2px 8px #0000001a;border:1px solid rgba(0,0,0,.1)}.chat-action-btn{width:36px;height:36px;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:all .2s;flex-shrink:0}.chat-action-btn:hover{background:#5a6fd6}.chat-send-btn{background:#667eea;color:#fff}.image-upload-input{display:none}.chat-action-btn.upload-btn{background:#fff;color:#667eea;border:1px solid #667eea}.chat-action-btn.upload-btn:hover{background:#f0f7ff}.uploaded-image-preview{position:relative;margin-top:.5rem;display:inline-block;align-self:flex-start}.uploaded-image-preview img{max-width:150px;max-height:100px;border-radius:8px;border:1px solid #ddd}.remove-image-btn{position:absolute;top:-8px;right:-8px;width:20px;height:20px;border-radius:50%;background:#e74c3c;color:#fff;border:none;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.remove-image-btn:hover{background:#c0392b}.chat-input{flex:1;padding:.6rem .8rem;border:1px solid #ddd;border-radius:16px;font-size:.85rem;outline:none;resize:none;min-height:36px;max-height:90px;overflow-y:auto;font-family:inherit;line-height:1.4;align-self:center}.chat-input:focus{border-color:#667eea}.chat-send-btn{width:36px;height:36px;border:none;background:#667eea;color:#fff;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background .2s}.chat-send-btn:hover{background:#5a6fd6}.follow-up-load-state{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;padding:10px 12px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#1e3a8a;font-size:13px}.follow-up-load-state.error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.follow-up-load-state button{border:1px solid currentColor;border-radius:6px;background:transparent;color:inherit;cursor:pointer;font:inherit;padding:4px 8px}.follow-up-card{margin-top:.25rem;background:#fff;border:1px solid #b9dfd8;border-radius:10px;overflow:hidden;min-width:300px;max-width:420px;box-shadow:0 1px 5px #207e741f}.follow-up-card.dismissed,.follow-up-card.snoozed,.follow-up-card.completed{opacity:.68;border-color:#d8d8d8;box-shadow:none}.follow-up-card.failed{border-color:#f1b6b6}.follow-up-header{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem;background:#eefaf8;border-bottom:1px solid #d8efeb}.follow-up-card.dismissed .follow-up-header,.follow-up-card.snoozed .follow-up-header,.follow-up-card.completed .follow-up-header{background:#f4f4f4;border-bottom-color:#e4e4e4}.follow-up-icon{width:28px;height:28px;border-radius:50%;background:#1f9d8a;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.follow-up-title-group{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.follow-up-kicker{font-size:.82rem;font-weight:700;color:#1e5f58}.follow-up-title{font-size:.76rem;color:#65706e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.follow-up-status{max-width:120px;font-size:.68rem;font-weight:600;color:#68716f;background:#ffffffb8;border-radius:999px;padding:.18rem .5rem;line-height:1.2}.follow-up-card.failed .follow-up-status{color:#b42318;background:#fff1f1}.follow-up-card.completed .follow-up-status{color:#155724;background:#d4edda}.follow-up-body{padding:.75rem}.follow-up-body p{margin:.5rem 0 0;color:#333;font-size:.82rem;line-height:1.4}.follow-up-meta{color:#6b7280;font-size:.74rem;line-height:1.4;margin-bottom:.2rem}.follow-up-actions{display:flex;gap:.45rem;padding:.65rem .75rem;border-top:1px solid #e5efed;background:#fbfdfd}.follow-up-btn{flex:1;border:1px solid #d9e3e1;border-radius:7px;background:#fff;color:#33413f;font-size:.74rem;font-weight:600;padding:.45rem .55rem;cursor:pointer;transition:all .18s}.follow-up-btn:hover{background:#eefaf8;border-color:#9fd2c9}.follow-up-btn.primary{color:#fff;background:#1f9d8a;border-color:#1f9d8a}.follow-up-btn.primary:hover{background:#168876}.follow-up-btn.secondary{color:#6b7280}.ddl-section{border-right:1px solid #e0e0e0}.ddl-empty{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;border:1px dashed #d8dde6;border-radius:8px;color:#8a94a6;font-size:.9rem;background:#fafbfc}.todo-header{display:flex;justify-content:space-between;align-items:center}.todo-tabs{display:flex;gap:.5rem}.todo-tabs button{padding:.3rem .8rem;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:.8rem;color:#666;transition:all .2s}.todo-tabs button:hover{background:#f5f5f5}.todo-tabs button.active{background:#667eea;color:#fff;border-color:#667eea}.todo-divider{text-align:center;font-size:.7rem;color:#999;padding:.5rem 0;position:relative}.todo-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#eee}.todo-divider span{background:#fff;padding:0 .5rem;position:relative}.todo-item.completed-today{opacity:.6;background:#f9f9f9}.todo-list{flex:1;display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;min-height:0}.todo-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;background:#f8f9fa;border-radius:6px;cursor:pointer;transition:all .2s ease}.todo-item:hover{background:#f0f0f0}.todo-item.completed{opacity:.6}.todo-item.completed .todo-title{text-decoration:line-through;color:#999}.todo-checkbox{width:20px;height:20px;padding:0;border:2px solid #ddd;background:#fff;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#fff;flex-shrink:0;transition:all .2s ease;cursor:pointer}.todo-checkbox:hover{border-color:#8793d8}.todo-checkbox:focus-visible{box-shadow:0 0 0 3px #667eea2e;outline:none}.todo-checkbox.checked{background:#27ae60;border-color:#27ae60}.todo-title{flex:1;font-size:.9rem;color:#333}.todo-open-button{min-width:0;padding:0;overflow:hidden;background:transparent;border:0;font-family:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.todo-open-button:focus-visible{border-radius:3px;box-shadow:0 0 0 3px #667eea2e;outline:none}.todo-priority{font-size:.7rem;font-weight:600;padding:2px 6px;border-radius:4px}.priority-high{background:#fee;color:#e74c3c}.priority-medium{background:#ffeaa7;color:#f39c12}.priority-low{background:#e8f5e9;color:#27ae60}@media (max-width: 768px){.calendar-page{grid-template-columns:1fr;grid-template-rows:auto;height:auto;overflow:auto}.calendar-section,.ai-section,.ddl-section,.todo-section{border-right:none;border-bottom:1px solid #e0e0e0;height:auto;min-height:400px}.week-view{grid-template-columns:1fr}.week-day-cell{min-height:auto;border-bottom:1px solid #f0f0f0}}.confirmation-card{margin-top:.75rem;background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px #00000014;transition:all .3s ease}.confirmation-card.cancelled{opacity:.6;border-color:#d0d0d0;background:#f5f5f5}.confirmation-card.failed{border-color:#ef9a9a;background:#fff4f4}.confirmation-card.failed .card-header,.confirmation-card.failed .card-status-label{color:#b42318}.confirmation-card.cancelled .card-header{background:#e0e0e0;color:#888}.confirmation-card.cancelled .card-fields{opacity:.5}.confirmation-card.confirmed{border-color:#27ae60;background:#f0fff4}.confirmation-card.confirmed .card-header{background:#d4edda;color:#155724}.confirmation-card.pending{border-color:#667eea}.confirmation-card.pending .card-header{background:#f0f4ff;color:#333}.card-header{padding:.6rem .75rem;background:#f8f9fa;font-size:.85rem;font-weight:600;color:#333;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;gap:.4rem}.card-status-icon{font-size:.9rem}.card-title-text{flex:1}.card-status-label{font-size:.7rem;padding:2px 8px;border-radius:4px;background:#0000001a;font-weight:500}.confirmation-card.cancelled .card-status-label{background:#bbb;color:#fff}.confirmation-card.confirmed .card-status-label{background:#27ae60;color:#fff}.card-fields{padding:.75rem;display:flex;flex-direction:column;gap:.5rem;transition:opacity .3s ease}.card-fields.disabled{opacity:.5}.card-field{display:flex;font-size:.8rem}.field-label{color:#666;min-width:60px;flex-shrink:0}.field-value{color:#333;font-weight:500}.card-actions{display:flex;gap:.5rem;padding:.6rem .75rem;border-top:1px solid #e0e0e0;background:#fafafa}.card-btn{flex:1;padding:.5rem 1rem;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.card-btn.confirm{background:#667eea;color:#fff}.card-btn.confirm:hover{background:#5a6fd6}.card-btn.cancel{background:#fff;color:#666;border:1px solid #ddd}.card-btn.cancel:hover{background:#f5f5f5}.card-btn:disabled{opacity:.5;cursor:not-allowed}.update-card{max-width:100%}.update-card-comparison{display:flex;align-items:stretch;gap:.5rem;padding:.75rem;background:#fafafa}.original-card,.new-card{flex:1;background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.original-card{border:1px solid #ddd;opacity:.7}.original-card .card-subheader{background:#e0e0e0;color:#666;font-size:.75rem;padding:.4rem .6rem;font-weight:500}.new-card{border:1px solid #667eea;border-left:3px solid #667eea}.new-card .card-subheader{background:#f0f4ff;color:#667eea;font-size:.75rem;padding:.4rem .6rem;font-weight:600}.new-card.delete-card{border-color:#e74c3c;border-left-color:#e74c3c}.new-card.delete-card .card-subheader{background:#fee;color:#c0392b}.update-arrow{display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#999;padding:0 .25rem}.field-value.strikethrough{text-decoration:line-through;color:#999;font-style:italic}.field-value.highlight{color:#667eea;font-weight:600}.field-value.delete-action{color:#e74c3c;font-weight:600;font-size:1rem}.update-card.confirmed{border-color:#27ae60}.update-card.confirmed .new-card{border-color:#27ae60;border-left-color:#27ae60}.update-card.cancelled{opacity:.6}.update-card.cancelled .new-card{border-color:#bbb;border-left-color:#bbb}.persons-page{display:flex;flex-direction:column;height:100%;background:#f8f9fa;padding:2rem;box-sizing:border-box}.persons-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.page-title{font-size:1.5rem;font-weight:600;color:#1a1a1a;margin:0}.data-source{margin-top:.35rem;font-size:.82rem;color:#747474}.add-person-btn{padding:.6rem 1.25rem;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.add-person-btn:hover{background:#5a6fd6;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.search-container{display:flex;justify-content:center;margin-bottom:1.5rem}.search-box{display:flex;align-items:center;gap:.75rem;padding:.6rem 1.25rem;background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.5);border-radius:50px;width:100%;max-width:480px;transition:all .3s ease;box-shadow:0 2px 8px #0000000a,0 1px 2px #00000005,inset 0 1px #fffc}.search-box:hover{background:#ffffffd9;box-shadow:0 4px 12px #0000000f,0 1px 3px #00000008,inset 0 1px #ffffffe6}.search-box:focus-within{background:#fffffff2;border-color:#667eea4d;box-shadow:0 4px 16px #667eea1f,0 1px 3px #0000000a,inset 0 1px #fff}.search-icon{font-size:.95rem;color:#a0a0a0;transition:color .2s}.search-box:focus-within .search-icon{color:#667eea}.search-input{flex:1;border:none;outline:none;font-size:.9rem;color:#444;background:transparent}.search-input::placeholder{color:#aaa;font-weight:400}.table-container{flex:1;background:#fff;border-radius:12px;border:1px solid #e8e8e8;overflow:hidden;box-shadow:0 1px 3px #00000005}.table-header{display:grid;grid-template-columns:60px 120px 140px 1fr 120px 140px;align-items:center;padding:1rem 1.5rem;background:#fafafa;border-bottom:1px solid #e8e8e8;font-size:.8rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.table-body{overflow-y:auto;max-height:calc(100vh - 280px)}.table-row{display:grid;grid-template-columns:60px 120px 140px 1fr 120px 140px;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #f0f0f0;transition:all .15s ease;font-size:.9rem;color:#333}.table-row:hover{background:#f8f9ff}.table-row:last-child{border-bottom:none}.col-avatar{display:flex;justify-content:center}.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600}.col-name{font-weight:500}.name-text{color:#1a1a1a}.col-title{display:flex;align-items:center}.tag{display:inline-block;padding:.25rem .6rem;background:#f0f4ff;color:#667eea;border-radius:4px;font-size:.8rem;font-weight:500}.col-company{color:#555}.col-contact{display:flex;align-items:center}.contact-time{color:#888;font-size:.85rem}.col-actions{display:flex;gap:.75rem;justify-content:flex-end}.btn-text{padding:.4rem .75rem;background:transparent;border:none;color:#666;font-size:.85rem;cursor:pointer;border-radius:4px;transition:all .2s}.btn-text:hover{background:#f0f0f0;color:#333}.btn-primary{color:#667eea}.btn-primary:hover{background:#f0f4ff}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#999}.empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state p{font-size:.95rem;margin:0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:800px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #00000026;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #f0f0f0;background:#fff}.modal-title{font-size:1.1rem;font-weight:600;color:#333;margin:0}.modal-close{width:32px;height:32px;border:none;background:#f5f5f5;color:#666;font-size:1.5rem;line-height:1;border-radius:50%;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#e8e8e8;color:#333;transform:rotate(90deg)}.modal-body{padding:2rem 2.5rem;overflow-y:auto;max-height:calc(90vh - 70px)}.modal-upper-section{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-bottom:2rem}.modal-left-section{display:flex;flex-direction:column;gap:1.5rem}.modal-name-section{display:flex;align-items:center;gap:1.25rem}.modal-avatar-large{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:600;box-shadow:0 4px 12px #667eea40}.modal-name-info{display:flex;flex-direction:column;gap:.35rem}.modal-person-name{font-size:1.5rem;font-weight:600;color:#1a1a1a;margin:0}.modal-person-title-company{font-size:.95rem;color:#667eea;font-weight:500}.modal-bio-box{background:#f8f9fa;padding:1.25rem 1.5rem;border-radius:10px;border-left:3px solid #667eea}.section-label{font-size:.75rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:1px;margin:0 0 .75rem}.bio-text{font-size:.9rem;line-height:1.8;color:#444;margin:0}.modal-ai-box{background:linear-gradient(135deg,#fff9f0,#fff5e6);padding:1.5rem;border-radius:12px;border:1px solid #ffe4c4;display:flex;flex-direction:column}.ai-label{display:flex;align-items:center;gap:.5rem;color:#e6a23c;margin-bottom:1rem}.ai-icon{font-size:1rem}.ai-summary-content{background:#fff;padding:1.25rem;border-radius:8px;border:1px solid #f0e6d2;flex:1}.ai-summary-content p{font-size:.9rem;line-height:1.9;color:#555;margin:0}.modal-lower-section{border-top:1px solid #f0f0f0;padding-top:1.5rem}.meetings-label{font-size:1rem;font-weight:600;color:#333;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.context-status{padding:.75rem 1rem;margin-bottom:.75rem;background:#f5f7ff;border:1px solid #e2e8ff;border-radius:8px;color:#5365c9;font-size:.85rem}.context-status.error{background:#fff5f5;border-color:#ffd7d7;color:#b94a48}.context-empty{padding:1rem 1.25rem;color:#888;font-size:.88rem;line-height:1.6}.meetings-table{border:1px solid #e8e8e8;border-radius:10px;overflow:hidden}.meetings-table-header{display:grid;grid-template-columns:120px 100px 1fr;padding:.875rem 1.25rem;background:#f8f9fa;font-size:.8rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e8e8e8}.meetings-table-body{max-height:200px;overflow-y:auto}.meetings-table-row{display:grid;grid-template-columns:120px 100px 1fr;padding:1rem 1.25rem;border-bottom:1px solid #f5f5f5;font-size:.9rem;color:#444;transition:background .15s}.meetings-table-row:hover{background:#fafafa}.meetings-table-row:last-child{border-bottom:none}.meeting-col-date{color:#666;font-weight:500}.meeting-type-tag{display:inline-block;padding:.25rem .6rem;border-radius:4px;font-size:.75rem;font-weight:500}.type-线下会议{background:#e3f2fd;color:#1976d2}.type-电话{background:#f3e5f5;color:#7b1fa2}.type-视频会议{background:#e8f5e9;color:#388e3c}.type-邮件{background:#fff3e0;color:#f57c00}.meeting-col-topics{color:#555;line-height:1.5}.artifact-context{margin-top:1.5rem}.artifact-list{display:flex;flex-direction:column;gap:.75rem}.artifact-row{padding:1rem 1.15rem;border:1px solid #e8e8e8;border-radius:10px;background:#fbfbfd}.artifact-row-main{display:flex;align-items:center;gap:.6rem;margin-bottom:.55rem}.artifact-type{flex:0 0 auto;padding:.2rem .5rem;background:#eef5f2;color:#2f7a5f;border-radius:4px;font-size:.72rem;font-weight:600;text-transform:uppercase}.artifact-title{min-width:0;font-weight:600;color:#2a2a2a;overflow-wrap:anywhere}.artifact-preview{color:#555;font-size:.88rem;line-height:1.6}.artifact-meta{margin-top:.55rem;color:#8a8a8a;font-size:.78rem}@media (max-width: 1024px){.persons-page{padding:1rem}.table-header,.table-row{grid-template-columns:50px 100px 120px 1fr 100px 120px;padding:.875rem 1rem}.modal-body{padding:1.75rem}.modal-upper-section{grid-template-columns:1fr;gap:1.5rem}.modal-ai-box{min-height:auto}}@media (max-width: 768px){.table-header{display:none}.table-row{display:flex;flex-direction:column;gap:.5rem;padding:1rem}.col-actions{justify-content:flex-start;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #f0f0f0}.modal-overlay{padding:1rem}.modal-header{padding:1.25rem 1.5rem}.modal-body{padding:1.5rem}.modal-upper-section{gap:1.25rem}.modal-avatar-large{width:56px;height:56px;font-size:1.5rem}.modal-person-name{font-size:1.25rem}.meetings-table-header,.meetings-table-row{grid-template-columns:100px 80px 1fr;padding:.75rem 1rem}}.project-drawer-backdrop{position:fixed;z-index:1200;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;background:#1c1b2b57;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);animation:project-drawer-fade-in .16s ease-out}.project-drawer{width:min(560px,calc(100vw - 32px));height:100%;display:flex;flex-direction:column;border-left:1px solid #dddde7;background:#f8f8fb;color:#292c3d;box-shadow:-18px 0 48px #1a173529;outline:0;animation:project-drawer-slide-in .18s ease-out}@keyframes project-drawer-fade-in{0%{opacity:0}}@keyframes project-drawer-slide-in{0%{transform:translate(24px)}}.project-drawer-header{flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px 16px;border-bottom:1px solid #e4e4eb;background:#fff}.project-drawer-eyebrow{display:block;margin-bottom:4px;color:#6d5bd0;font-size:.68rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.project-drawer-header h2{max-width:450px;margin:0;overflow-wrap:anywhere;color:#242738;font-size:1.18rem;font-weight:720;line-height:1.35}.project-drawer-close{width:36px;height:36px;flex-shrink:0;border:1px solid #dedee7;border-radius:9px;background:#fff;color:#686b7b;font:inherit;font-size:1.45rem;line-height:1;cursor:pointer}.project-drawer-close:hover{background:#f5f4fa;color:#3d4051}.project-drawer-tabs{flex-shrink:0;display:flex;gap:4px;padding:8px 14px 0;border-bottom:1px solid #e4e4eb;background:#fff}.project-drawer-tabs button{position:relative;display:inline-flex;align-items:center;gap:7px;padding:11px 12px 12px;border:0;background:transparent;color:#747686;font:inherit;font-size:.8rem;font-weight:680;cursor:pointer}.project-drawer-tabs button:after{position:absolute;right:9px;bottom:-1px;left:9px;height:2px;border-radius:999px 999px 0 0;background:transparent;content:""}.project-drawer-tabs button.is-active{color:#5847b4}.project-drawer-tabs button.is-active:after{background:#6d5bd0}.project-drawer-tabs button span{min-width:20px;padding:1px 6px;border-radius:999px;background:#eeebfb;color:#6251bd;font-size:.66rem;text-align:center}.project-drawer-body{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain}.project-drawer-panel{padding:22px}.project-drawer-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.project-drawer-section-heading h3,.project-drawer-subheading h4,.project-drawer-todo-section-title h4,.project-drawer-todo-card h4{margin:0;color:#292c3d}.project-drawer-section-heading h3{font-size:1rem;font-weight:720}.project-drawer-section-heading p{margin:5px 0 0;color:#787b8b;font-size:.78rem;line-height:1.5}.project-drawer-field{min-width:0;display:flex;flex-direction:column;gap:7px;margin-bottom:17px}.project-drawer-field>span,.project-drawer-focus-control>label{color:#545768;font-size:.75rem;font-style:normal;font-weight:680}.project-drawer-field em{margin-left:5px;color:#8b8d99;font-size:.62rem;font-style:normal;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.project-drawer-field input,.project-drawer-field textarea,.project-drawer-field select,.project-drawer-focus-control select{width:100%;min-width:0;border:1px solid #d9d9e3;border-radius:9px;background:#fff;color:#303344;font:inherit;font-size:.84rem;line-height:1.45}.project-drawer-field input,.project-drawer-field select,.project-drawer-focus-control select{min-height:42px;padding:9px 11px}.project-drawer-field textarea{resize:vertical;padding:10px 11px}.project-drawer-field small{align-self:flex-end;margin-top:-2px;color:#989aa6;font-size:.65rem;font-variant-numeric:tabular-nums}.project-drawer-field input:focus,.project-drawer-field textarea:focus,.project-drawer-field select:focus,.project-drawer-focus-control select:focus{border-color:#8678da;outline:3px solid rgba(109,91,208,.13);outline-offset:0}.project-drawer-button,.project-drawer-text-button,.project-drawer-inline-warning button,.project-drawer-load-error button{font:inherit;cursor:pointer}.project-drawer-button{min-height:38px;padding:8px 13px;border:1px solid transparent;border-radius:9px;font-size:.78rem;font-weight:680}.project-drawer-button--primary{border-color:#6655c4;background:#6d5bd0;color:#fff;box-shadow:0 2px 6px #5443b229}.project-drawer-button--primary:hover:not(:disabled){background:#5f4cbe}.project-drawer-button--secondary,.project-drawer-button--quiet{border-color:#d9d6eb;background:#fff;color:#5d4db5}.project-drawer-button--quiet{color:#656878}.project-drawer-button--secondary:hover:not(:disabled),.project-drawer-button--quiet:hover:not(:disabled){background:#f5f3fc}.project-drawer-button--danger{border-color:#c8474e;background:#c8474e;color:#fff}.project-drawer-button--danger:hover:not(:disabled){background:#b43d44}.project-drawer-button:disabled,.project-drawer-text-button:disabled,.project-drawer-close:disabled,.project-drawer-tabs button:disabled{cursor:not-allowed;opacity:.55}.project-drawer-button:focus-visible,.project-drawer-text-button:focus-visible,.project-drawer-close:focus-visible,.project-drawer-tabs button:focus-visible,.project-drawer-inline-warning button:focus-visible,.project-drawer-load-error button:focus-visible{outline:3px solid rgba(102,86,198,.24);outline-offset:2px}.project-drawer-sticky-actions{position:sticky;bottom:-22px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:26px -22px -22px;padding:13px 22px;border-top:1px solid #e3e3eb;background:#fffffff5;box-shadow:0 -6px 18px #1f1c370b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.project-drawer-sticky-actions>span{color:#858795;font-size:.7rem}.project-drawer-error,.project-drawer-success{margin:12px 0;padding:9px 11px;border-radius:8px;font-size:.75rem;line-height:1.45}.project-drawer-error{border:1px solid #efcaca;background:#fff3f3;color:#9f3940}.project-drawer-success{border:1px solid #cfe4d9;background:#f0f8f4;color:#31705a}.project-drawer-calm-warning{margin:4px 0 16px;padding:11px 12px;border:1px solid #ead9b5;border-radius:9px;background:#fff9eb;color:#805c1d;font-size:.75rem;line-height:1.5}.project-drawer-loading,.project-drawer-load-error{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px;text-align:center}.project-drawer-loading strong,.project-drawer-load-error strong{color:#353849;font-size:.92rem}.project-drawer-loading p,.project-drawer-load-error p{max-width:370px;margin:6px 0 0;color:#7c7f8e;font-size:.78rem;line-height:1.5}.project-drawer-load-error button{margin-top:16px;padding:8px 13px;border:1px solid #d7d2f5;border-radius:9px;background:#fff;color:#5748b3;font-weight:680}.project-drawer-spinner{width:26px;height:26px;margin-bottom:14px;border:3px solid #e4e0f6;border-top-color:#6d5bd0;border-radius:50%;animation:project-drawer-spin .8s linear infinite}@keyframes project-drawer-spin{to{transform:rotate(360deg)}}.project-drawer-refreshing{position:sticky;z-index:2;top:0;padding:6px 14px;background:#eeeafd;color:#6250ba;font-size:.68rem;font-weight:680;text-align:center}.project-drawer-operation-notice{position:sticky;z-index:3;top:0;padding:8px 14px;border-bottom:1px solid #ded8f5;background:#f1eefc;color:#5f4db7;font-size:.7rem;font-weight:680;line-height:1.4;text-align:center}.project-drawer-inline-warning{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 22px 0;padding:10px 12px;border:1px solid #ead9b5;border-radius:9px;background:#fff9eb;color:#805c1d;font-size:.73rem}.project-drawer-inline-warning button{flex-shrink:0;border:0;background:transparent;color:#6652bf;font-size:.72rem;font-weight:700}.project-drawer-focus-control,.project-drawer-add-form{margin-bottom:20px;padding:15px;border:1px solid #e0e0e8;border-radius:12px;background:#fff;box-shadow:0 2px 9px #1d1b3206}.project-drawer-focus-control{display:flex;flex-direction:column;gap:7px}.project-drawer-focus-control small{color:#8c8e9b;font-size:.67rem}.project-drawer-focus-control .project-drawer-error{margin-bottom:0}.project-drawer-subheading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:15px}.project-drawer-subheading h4{font-size:.86rem}.project-drawer-subheading span{color:#898b99;font-size:.66rem}.project-drawer-todo-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:12px}.project-drawer-todo-form-grid .project-drawer-field{margin-bottom:13px}.project-drawer-field--wide{grid-column:1 / -1}.project-drawer-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.project-drawer-todo-section+.project-drawer-todo-section{margin-top:24px}.project-drawer-todo-section-title{display:flex;align-items:center;gap:8px;margin-bottom:10px}.project-drawer-todo-section-title h4{font-size:.78rem;font-weight:720;letter-spacing:.035em;text-transform:uppercase}.project-drawer-todo-section-title span{min-width:21px;padding:2px 6px;border-radius:999px;background:#eae9ef;color:#6c6f7d;font-size:.65rem;font-weight:700;text-align:center}.project-drawer-todo-list{display:flex;flex-direction:column;gap:9px}.project-drawer-todo-card{padding:14px;border:1px solid #e1e1e9;border-radius:11px;background:#fff;box-shadow:0 2px 9px #1d1b3206}.project-drawer-todo-card.is-current-focus{border-color:#bcb3eb;box-shadow:inset 3px 0 #7260cf,0 2px 9px #1d1b3206}.project-drawer-todo-heading,.project-drawer-todo-title-row,.project-drawer-todo-meta,.project-drawer-todo-actions{display:flex;align-items:center}.project-drawer-todo-heading{align-items:flex-start;justify-content:space-between;gap:12px}.project-drawer-todo-heading>div{min-width:0}.project-drawer-todo-title-row{min-width:0;flex-wrap:wrap;gap:7px}.project-drawer-todo-card h4{overflow-wrap:anywhere;font-size:.83rem;font-weight:690;line-height:1.4}.project-drawer-todo-heading p{margin:5px 0 0;color:#777a8a;font-size:.72rem;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}.project-drawer-focus-badge,.project-drawer-priority{display:inline-flex;flex-shrink:0;padding:2px 6px;border-radius:999px;font-size:.59rem;font-weight:750;line-height:1.45}.project-drawer-focus-badge{background:#eeeafd;color:#5e4bb9}.project-drawer-priority{border:1px solid #dcdee7;background:#f6f6f9;color:#666977}.project-drawer-priority--high{border-color:#efc8ca;background:#fff2f2;color:#a33d44}.project-drawer-priority--medium{border-color:#ecd7ad;background:#fff7e7;color:#8f6117}.project-drawer-priority--low{border-color:#cde0d8;background:#f0f8f4;color:#377159}.project-drawer-todo-meta{gap:13px;margin-top:10px;color:#858795;font-size:.67rem}.project-drawer-todo-meta span+span:before{margin-right:13px;color:#c4c5cd;content:"•"}.project-drawer-todo-actions{justify-content:flex-end;gap:13px;margin-top:11px;padding-top:10px;border-top:1px solid #efeff3}.project-drawer-text-button{padding:2px 0;border:0;background:transparent;color:#6251bb;font-size:.7rem;font-weight:680}.project-drawer-text-button:hover:not(:disabled){color:#44338f;text-decoration:underline}.project-drawer-text-button--danger{color:#aa454b}.project-drawer-empty-list{margin:0;padding:17px;border:1px dashed #dadbe3;border-radius:10px;color:#8b8d9a;font-size:.73rem;text-align:center}.project-drawer-confirm-layer{position:fixed;z-index:1210;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#1b192847}.project-drawer-confirm{width:min(410px,100%);padding:20px;border:1px solid #dddde7;border-radius:14px;background:#fff;box-shadow:0 22px 60px #1b183540;outline:0}.project-drawer-confirm h3{margin:0;color:#292c3d;font-size:1rem}.project-drawer-confirm p{margin:8px 0 18px;color:#707383;font-size:.78rem;line-height:1.55}@media (prefers-reduced-motion: reduce){.project-drawer-backdrop,.project-drawer,.project-drawer-spinner{animation:none}}@media (max-width: 620px){.project-drawer{width:100%;border-left:0}.project-drawer-header{position:sticky;z-index:4;top:0;padding:16px}.project-drawer-tabs{padding-right:8px;padding-left:8px}.project-drawer-panel{padding:17px 16px 24px}.project-drawer-sticky-actions{bottom:-24px;margin:24px -16px -24px;padding:12px 16px}.project-drawer-inline-warning{margin-right:16px;margin-left:16px}}@media (max-width: 430px){.project-drawer-section-heading{align-items:stretch;flex-direction:column}.project-drawer-section-heading .project-drawer-button{align-self:flex-start}.project-drawer-todo-form-grid{grid-template-columns:minmax(0,1fr)}.project-drawer-field--wide{grid-column:auto}.project-drawer-subheading{align-items:flex-start;flex-direction:column}.project-drawer-sticky-actions>span{display:none}.project-drawer-sticky-actions{justify-content:flex-end}.project-drawer-todo-actions{flex-wrap:wrap}}.projects-page{min-height:100%;display:flex;flex-direction:column;gap:20px;background:#f6f7fb;color:#202335}.projects-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.projects-page .projects-eyebrow{margin:0 0 5px;color:#6d5bd0;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.projects-page h1{margin:0;color:#202335;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:720;letter-spacing:-.035em;line-height:1.12}.projects-page .projects-subtitle{max-width:640px;margin:8px 0 0;color:#686b7d;font-size:.95rem;line-height:1.55}.projects-refresh-button,.projects-state button,.projects-error-banner button,.projects-edit-button,.projects-view-link{border:1px solid #d7d2f5;border-radius:10px;background:#fff;color:#5748b3;font:inherit;font-size:.875rem;font-weight:650;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.projects-refresh-button{min-width:112px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 14px;box-shadow:0 1px 2px #1c19370a}.projects-refresh-button:hover:not(:disabled),.projects-state button:hover:not(:disabled),.projects-error-banner button:hover:not(:disabled),.projects-edit-button:hover:not(:disabled),.projects-view-link:hover{border-color:#9d8fe8;background:#f8f6ff}.projects-refresh-button:disabled,.projects-state button:disabled,.projects-error-banner button:disabled{cursor:wait;opacity:.65}.projects-refresh-button:focus-visible,.projects-state button:focus-visible,.projects-error-banner button:focus-visible,.projects-edit-button:focus-visible,.projects-view-link:focus-visible,.projects-project-name:focus-visible,.projects-control input:focus-visible,.projects-control select:focus-visible{outline:3px solid rgba(102,86,198,.22);outline-offset:2px}.projects-refresh-icon{display:inline-block;font-size:1.1rem;line-height:1}.projects-refresh-icon.is-spinning{animation:projects-spin .9s linear infinite}@keyframes projects-spin{to{transform:rotate(360deg)}}.projects-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.projects-summary-card{position:relative;min-height:126px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:19px 20px;border:1px solid #e4e5ec;border-radius:14px;background:#fff;box-shadow:0 4px 16px #1c193709}.projects-summary-card:before{position:absolute;top:18px;right:18px;width:8px;height:8px;border-radius:50%;background:#7465d1;content:""}.projects-summary-card--attention:before{background:#d04f55}.projects-summary-card--open:before{background:#4c78c8}.projects-summary-card--due:before{background:#d59228}.projects-summary-label{color:#686b7d;font-size:.78rem;font-weight:650;letter-spacing:.015em}.projects-summary-card strong{margin-top:5px;color:#202335;font-size:1.8rem;font-variant-numeric:tabular-nums;line-height:1.15}.projects-summary-card small{margin-top:7px;color:#8a8c99;font-size:.75rem;line-height:1.3}.projects-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(150px,190px) minmax(180px,220px);align-items:end;gap:12px;padding:15px;border:1px solid #e3e4eb;border-radius:14px;background:#fff;box-shadow:0 2px 10px #1c193706}.projects-control{min-width:0;display:flex;flex-direction:column;gap:7px}.projects-control label{color:#575a6c;font-size:.75rem;font-weight:650}.projects-search-field{min-width:0;display:flex;align-items:center;gap:8px;border:1px solid #dcdde5;border-radius:9px;background:#fbfbfd;color:#9294a0}.projects-search-field:focus-within{border-color:#8e80de;background:#fff;box-shadow:0 0 0 3px #6656c61f}.projects-search-field>span{padding-left:12px;font-size:1rem}.projects-control input,.projects-control select{width:100%;min-height:42px;border:1px solid #dcdde5;border-radius:9px;background:#fbfbfd;color:#2f3243;font:inherit;font-size:.875rem}.projects-control input{min-width:0;border:0;background:transparent;padding:9px 12px 9px 0;outline:none}.projects-control input:focus-visible{outline:none}.projects-control input::placeholder{color:#9a9ca7}.projects-control select{padding:9px 32px 9px 11px}.projects-results-meta{margin:-5px 2px -6px;color:#7b7e8e;font-size:.78rem}.projects-results-meta strong{color:#4c4f60;font-variant-numeric:tabular-nums}.projects-error-banner,.projects-state{border-radius:14px;background:#fff}.projects-error-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;border:1px solid #efc9cb;border-left:4px solid #c94a51;background:snow;color:#782b31}.projects-error-banner strong{font-size:.875rem}.projects-error-banner p,.projects-page .projects-error-banner p{margin:3px 0 0;color:#915156;font-size:.8rem}.projects-error-banner button,.projects-state button{flex-shrink:0;padding:8px 12px}.projects-state{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px;border:1px dashed #d4d5de;color:#727584;text-align:center}.projects-state-icon{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px;border-radius:50%;background:#f0eefb;color:#6959c5;font-size:1.35rem}.projects-page .projects-state h2{margin:0;color:#303344;font-size:1rem;font-weight:680}.projects-page .projects-state p{max-width:440px;margin:7px 0 0;color:#7b7e8e;font-size:.875rem;line-height:1.5}.projects-state button{margin-top:17px}.projects-state--error{min-height:220px;border-style:solid;border-color:#efc9cb;background:snow}.projects-state--error strong{color:#782b31}.projects-page .projects-state--error p{color:#915156}.projects-table-shell{overflow-x:auto;border:1px solid #e1e2e9;border-radius:14px;background:#fff;box-shadow:0 4px 18px #1c193709}.projects-table{width:100%;min-width:1100px;border-collapse:collapse;table-layout:fixed}.projects-col-project{width:19%}.projects-col-focus{width:17%}.projects-col-deadline{width:11%}.projects-col-progress{width:13%}.projects-col-updated{width:19%}.projects-col-status{width:10%}.projects-col-actions{width:11%}.projects-table th{padding:12px 15px;border-bottom:1px solid #e5e6ec;background:#fafafd;color:#717484;font-size:.7rem;font-weight:700;letter-spacing:.045em;text-align:left;text-transform:uppercase}.projects-table td{min-width:0;padding:16px 15px;border-bottom:1px solid #ececf1;color:#373a4b;font-size:.82rem;line-height:1.4;vertical-align:middle}.projects-table tbody tr:last-child td{border-bottom:0}.projects-table tbody tr{transition:background .14s ease}.projects-table tbody tr:hover{background:#faf9ff}.projects-project-row--overdue td:first-child{box-shadow:inset 3px 0 #cd5359}.projects-project-row--due-soon td:first-child{box-shadow:inset 3px 0 #d99a38}.projects-project-row--focus-needed td:first-child{box-shadow:inset 3px 0 #7c6bd2}.projects-project-name,.projects-description,.projects-focus-title{display:block;min-width:0;overflow-wrap:anywhere;word-break:break-word}.projects-project-name{width:fit-content;color:#242738;font-size:.9rem;font-weight:680;line-height:1.35;text-decoration:none}.projects-project-name:hover{color:#5847b4;text-decoration:underline}.projects-description{display:-webkit-box;overflow:hidden;margin-top:5px;color:#858795;font-size:.75rem;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.projects-focus{display:flex;align-items:flex-start;gap:7px}.projects-focus-title{display:-webkit-box;flex:1;overflow:hidden;color:#3b3e4f;-webkit-box-orient:vertical;-webkit-line-clamp:2}.projects-priority{flex-shrink:0;display:inline-flex;padding:2px 6px;border:1px solid #dedfea;border-radius:999px;background:#f7f7fa;color:#676a79;font-size:.61rem;font-weight:700;letter-spacing:.015em;line-height:1.35}.projects-priority--urgent,.projects-priority--high{border-color:#f0ced0;background:#fff3f3;color:#a43e45}.projects-priority--medium{border-color:#efdcb8;background:#fff8e9;color:#946313}.projects-priority--low{border-color:#cfe2da;background:#f1f8f5;color:#377159}.projects-focus-warning{display:inline-flex;align-items:center;gap:6px;color:#6652bf;font-weight:650}.projects-focus-warning>span{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#efecff;font-size:.7rem}.projects-muted-state{color:#9698a4}.projects-deadline-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.projects-deadline{display:inline-flex;padding:3px 7px;border-radius:6px;background:#f4f4f7;color:#555867;font-size:.76rem;font-weight:650;font-variant-numeric:tabular-nums}.projects-deadline--overdue{background:#fff0f0;color:#ad3e45}.projects-deadline--due-soon{background:#fff5df;color:#8b5b0e}.projects-deadline-note{color:#777a88;font-size:.66rem;font-weight:680}.projects-deadline-note--overdue{color:#b2444a}.projects-deadline-note--due-soon{color:#966515}.projects-progress{display:flex;flex-direction:column;gap:7px;color:#525565;font-size:.76rem;font-variant-numeric:tabular-nums}.projects-progress-track{width:100%;max-width:130px;height:5px;overflow:hidden;border-radius:999px;background:#ebeaf1}.projects-progress-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6d5bd0,#8879dd)}.projects-updated{color:#5c5f6e;font-size:.78rem;white-space:nowrap}.projects-latest-activity{min-width:0;display:flex;flex-direction:column;gap:3px}.projects-latest-activity-title{overflow:hidden;color:#424555;font-size:.76rem;font-weight:680;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.projects-latest-activity-summary{display:-webkit-box;overflow:hidden;color:#7d7f8d;font-size:.68rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.projects-latest-activity-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px;color:#8b8d99;font-size:.62rem}.projects-latest-activity--fallback{color:#8a8c98;font-size:.68rem}.projects-latest-activity--fallback>span:first-child{font-weight:650}.projects-status{width:fit-content;display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid transparent;border-radius:999px;font-size:.69rem;font-weight:700;white-space:nowrap}.projects-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.projects-status--active{border-color:#c9e2d8;background:#eff8f4;color:#2f775b}.projects-status--paused{border-color:#ebd8ad;background:#fff7e6;color:#8a6117}.projects-status--completed{border-color:#d4cff0;background:#f2effd;color:#6151b4}.projects-status--archived,.projects-status--unknown{border-color:#dbdce2;background:#f3f3f5;color:#666977}.projects-actions-cell{text-align:right}.projects-row-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:7px}.projects-edit-button,.projects-view-link{min-height:34px;display:inline-flex;align-items:center;justify-content:center;padding:6px 11px;line-height:1.2;text-decoration:none;white-space:nowrap}.projects-loading{display:flex;flex-direction:column;gap:18px}.projects-summary-card--skeleton:before{display:none}.projects-summary-card--skeleton span,.projects-summary-card--skeleton strong,.projects-summary-card--skeleton small,.projects-loading-line{display:block;border-radius:999px;background:linear-gradient(90deg,#eeeef3 25%,#f7f7fa,#eeeef3 75%);background-size:200% 100%;animation:projects-shimmer 1.5s ease-in-out infinite}.projects-summary-card--skeleton span{width:55%;height:10px}.projects-summary-card--skeleton strong{width:24%;height:26px;margin-top:11px}.projects-summary-card--skeleton small{width:72%;height:8px;margin-top:11px}.projects-loading-panel{min-height:250px;display:flex;flex-direction:column;gap:16px;padding:25px;border:1px solid #e4e5eb;border-radius:14px;background:#fff}.projects-loading-line{width:100%;height:12px}.projects-loading-line--short{width:36%}@keyframes projects-shimmer{to{background-position:-200% 0}}.projects-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}@media (prefers-reduced-motion: reduce){.projects-refresh-icon.is-spinning,.projects-summary-card--skeleton span,.projects-summary-card--skeleton strong,.projects-summary-card--skeleton small,.projects-loading-line{animation:none}}@media (max-width: 1050px){.projects-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.projects-page{gap:16px;padding:22px 16px}.projects-header{align-items:center}.projects-page .projects-subtitle{font-size:.875rem}.projects-refresh-button{min-width:auto;padding:9px 11px}.projects-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-search-control{grid-column:1 / -1}.projects-table-shell{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.projects-table,.projects-table tbody,.projects-table tr,.projects-table td{display:block;width:100%}.projects-table{min-width:0;table-layout:auto}.projects-table colgroup,.projects-table thead{display:none}.projects-table tbody{display:flex;flex-direction:column;gap:12px}.projects-table tr{overflow:hidden;border:1px solid #e1e2e9;border-radius:14px;background:#fff;box-shadow:0 3px 14px #1c193709}.projects-table td{display:grid;grid-template-columns:minmax(100px,34%) minmax(0,1fr);align-items:start;gap:12px;padding:11px 15px;border-bottom:1px solid #efeff3}.projects-table td:before{color:#888a97;content:attr(data-label);font-size:.68rem;font-weight:700;letter-spacing:.035em;text-transform:uppercase}.projects-table .projects-project-cell{display:block;padding:17px 15px;background:#fcfcfe}.projects-table .projects-project-cell:before{display:none}.projects-table .projects-actions-cell{align-items:center;text-align:left}.projects-row-actions{justify-self:start}.projects-project-name{font-size:.95rem}.projects-description{max-width:100%}.projects-progress-track{max-width:180px}.projects-table tbody tr:hover{background:#fff}}@media (max-width: 520px){.projects-header{align-items:flex-start;gap:12px}.projects-page .projects-eyebrow{font-size:.68rem}.projects-refresh-button{font-size:0}.projects-refresh-icon{font-size:1.2rem}.projects-summary{gap:9px}.projects-summary-card{min-height:112px;padding:16px}.projects-summary-card strong{font-size:1.55rem}.projects-summary-card small{font-size:.67rem}.projects-summary-card:before{top:15px;right:15px}.projects-toolbar{grid-template-columns:1fr;padding:13px}.projects-search-control{grid-column:auto}.projects-error-banner{align-items:flex-start;flex-direction:column}}@media (max-width: 400px){.projects-summary{grid-template-columns:1fr}}.project-activity{padding:22px;border:1px solid #e1e2e9;border-radius:14px;background:#fff;box-shadow:0 4px 18px #1c193708}.project-activity *,.project-activity *:before,.project-activity *:after{box-sizing:border-box}.project-activity-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.project-activity-eyebrow{margin:0;color:#777a89;font-size:.68rem;font-weight:730;letter-spacing:.065em;text-transform:uppercase}.project-activity-toolbar h2{margin:5px 0 0;color:#292c3d;font-size:1.08rem}.project-activity-toolbar>div:first-child>p:last-child{margin:6px 0 0;color:#858795;font-size:.75rem}.project-activity-toolbar-actions,.project-activity-composer-actions{display:flex;flex-shrink:0;gap:8px}.project-activity button{font:inherit;cursor:pointer}.project-activity-primary-button,.project-activity-quiet-button{min-height:38px;padding:7px 12px;border-radius:9px;font-size:.76rem;font-weight:700}.project-activity-primary-button{border:1px solid #6655c4;background:#6d5bd0;color:#fff}.project-activity-quiet-button{border:1px solid #d9d6eb;background:#fff;color:#5d4db5}.project-activity button:disabled{cursor:wait;opacity:.6}.project-activity-announcement{min-height:1px;margin:3px 0 0;color:#397158;font-size:.72rem}.project-activity-composer{margin-top:14px;padding:15px;border:1px solid #dcd9ee;border-radius:11px;background:#faf9ff}.project-activity-composer label{display:block;margin-bottom:7px;color:#444758;font-size:.75rem;font-weight:700}.project-activity-composer textarea{width:100%;resize:vertical;padding:10px 11px;border:1px solid #d8d8e3;border-radius:8px;background:#fff;color:#303344;font:inherit;font-size:.82rem;line-height:1.5}.project-activity-composer-meta{min-height:24px;display:flex;justify-content:space-between;gap:15px;padding-top:5px;color:#858795;font-size:.67rem}.project-activity-composer-meta [role=alert]{color:#a13d44}.project-activity-composer-actions{justify-content:flex-end}.project-activity-filters{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px;padding-bottom:14px;border-bottom:1px solid #ececf1}.project-activity-filters button{min-height:31px;padding:5px 10px;border:1px solid #e1e1e8;border-radius:999px;background:#f8f8fa;color:#6f7281;font-size:.68rem;font-weight:690}.project-activity-filters button.is-active{border-color:#c9c1ed;background:#efecfc;color:#5947b4}.project-activity-error{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:14px;padding:11px 13px;border:1px solid #efc9cb;border-radius:9px;background:snow;color:#8b343a;font-size:.73rem}.project-activity-error button{flex-shrink:0;border:0;background:transparent;color:#7948a8;font-weight:700}.project-activity-loading,.project-activity-empty{margin-top:16px;padding:34px 20px;border:1px dashed #d9dae2;border-radius:10px;color:#858795;font-size:.78rem;text-align:center}.project-activity-empty h3{margin:0;color:#4a4d5d;font-size:.88rem}.project-activity-empty p{margin:7px 0 0}.project-activity-groups{transition:opacity .12s ease}.project-activity-groups.is-refreshing{opacity:.65}.project-activity-date-group{margin-top:20px}.project-activity-date-group>h3{margin:0 0 10px;color:#6d7080;font-size:.7rem;font-weight:750;letter-spacing:.045em;text-transform:uppercase}.project-activity-date-list{position:relative;display:flex;flex-direction:column;gap:9px;padding-left:20px}.project-activity-date-list:before{position:absolute;top:8px;bottom:8px;left:5px;width:1px;background:#e2e0ed;content:""}.project-activity-entry{position:relative}.project-activity-marker{position:absolute;z-index:1;top:17px;left:-20px;width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:#7664cf;box-shadow:0 0 0 1px #c6bfee}.project-activity-entry--todo .project-activity-marker{background:#4f839e;box-shadow:0 0 0 1px #bfdae6}.project-activity-entry--manual .project-activity-marker{background:#3f8a6c;box-shadow:0 0 0 1px #b9dbcd}.project-activity-entry--context .project-activity-marker{background:#a26737;box-shadow:0 0 0 1px #e4c9ae}.project-activity-card{padding:13px 14px;border:1px solid #e5e5ec;border-radius:10px;background:#fcfcfe}.project-activity-entry-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.project-activity-entry-heading>div{min-width:0}.project-activity-entry-labels{display:flex;flex-wrap:wrap;gap:6px;color:#777a89;font-size:.61rem;font-weight:720;letter-spacing:.04em;text-transform:uppercase}.project-activity-operation{color:#6653bd}.project-activity-entry-heading h3{margin:5px 0 0;color:#303344;font-size:.86rem;line-height:1.4;overflow-wrap:anywhere}.project-activity-entry-heading>time{flex-shrink:0;color:#858795;font-size:.68rem}.project-activity-summary{margin:7px 0 0;color:#5e6171;font-size:.78rem;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.project-activity-object{margin:6px 0 0;color:#797c8a;font-size:.68rem;overflow-wrap:anywhere}.project-activity-context-object{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:9px;padding:8px 9px;border:1px solid #e7dfd5;border-radius:8px;background:#fffaf5;color:#7d6b5d;font-size:.65rem}.project-activity-context-object>span{padding:2px 6px;border-radius:999px;background:#f3e9df}.project-activity-context-object strong{color:#55483f;font-size:.71rem;overflow-wrap:anywhere}.project-activity-context-object p{width:100%;margin:1px 0 0;color:#766b63;line-height:1.45}.project-activity-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:9px;color:#8a8c99;font-size:.64rem}.project-activity-changes{margin-top:10px;border-top:1px solid #ededf2;padding-top:8px}.project-activity-changes summary{width:fit-content;color:#6250b9;font-size:.67rem;font-weight:700;cursor:pointer}.project-activity-changes dl{display:flex;flex-direction:column;gap:7px;margin:9px 0 0}.project-activity-changes dl>div{display:grid;grid-template-columns:minmax(90px,140px) minmax(0,1fr);gap:9px}.project-activity-changes dt{color:#707382;font-size:.68rem;font-weight:700}.project-activity-changes dd{min-width:0;display:flex;align-items:baseline;gap:7px;margin:0;color:#555868;font-size:.7rem}.project-activity-changes dd span:not([aria-hidden]){max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-activity-load-more{display:flex;justify-content:center;margin-top:18px}.project-activity button:focus-visible,.project-activity textarea:focus-visible,.project-activity summary:focus-visible{outline:3px solid rgba(102,86,198,.24);outline-offset:2px}@media (max-width: 660px){.project-activity{padding:15px}.project-activity-toolbar{flex-direction:column}.project-activity-toolbar-actions{width:100%}.project-activity-toolbar-actions button{flex:1}.project-activity-entry-heading{flex-direction:column;gap:6px}.project-activity-changes dl>div{grid-template-columns:minmax(0,1fr);gap:3px}.project-activity-changes dd span:not([aria-hidden]){max-width:44%}.project-activity-error{align-items:flex-start;flex-direction:column}}.project-context{padding:22px;border:1px solid #e1e2e9;border-radius:14px;background:#fff;box-shadow:0 4px 18px #1c193708}.project-context *,.project-context *:before,.project-context *:after{box-sizing:border-box}.project-context-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.project-context-eyebrow{margin:0;color:#777a89;font-size:.68rem;font-weight:730;letter-spacing:.065em;text-transform:uppercase}.project-context-toolbar h2,.project-context-summary h3{margin:5px 0 0;color:#292c3d;font-size:1.08rem}.project-context-toolbar>div>p:last-child,.project-context-summary>div>p:last-child{max-width:690px;margin:6px 0 0;color:#858795;font-size:.75rem;line-height:1.5}.project-context button{font:inherit;cursor:pointer}.project-context-toolbar>button{min-height:38px;padding:7px 12px;border:1px solid #d9d6eb;border-radius:9px;background:#fff;color:#5d4db5;font-size:.76rem;font-weight:700}.project-context button:disabled{cursor:wait;opacity:.6}.project-context-announcement{min-height:1px;margin:3px 0 0;color:#397158;font-size:.72rem}.project-context-content{transition:opacity .12s ease}.project-context-content.is-refreshing{opacity:.65}.project-context-summary{display:grid;grid-template-columns:minmax(220px,1fr) minmax(360px,1.4fr);gap:18px 28px;margin-top:17px;padding:17px;border:1px solid #ddd9ef;border-radius:12px;background:#faf9ff}.project-context-summary dl{display:grid;grid-template-columns:repeat(5,minmax(62px,1fr));gap:7px;margin:0}.project-context-summary dl>div{min-width:0;padding:9px;border:1px solid #e7e3f4;border-radius:9px;background:#fff;text-align:center}.project-context-summary dt{color:#797b89;font-size:.6rem;line-height:1.25}.project-context-summary dd{margin:5px 0 0;color:#4f409c;font-size:1.08rem;font-weight:760}.project-context-latest{grid-column:1 / -1;margin:0;color:#747786;font-size:.69rem}.project-context-section{margin-top:25px}.project-context-section-heading{display:flex;align-items:center;gap:8px;margin-bottom:10px}.project-context-section-heading h3{margin:0;color:#414454;font-size:.88rem}.project-context-section-heading>span{min-width:22px;padding:2px 6px;border-radius:999px;background:#eae9ef;color:#6c6f7d;font-size:.62rem;font-weight:700;text-align:center}.project-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.project-context-touchpoints,.project-context-memory-list{display:flex;flex-direction:column;gap:9px}.project-context-item{min-width:0;padding:14px;border:1px solid #e3e3ea;border-radius:11px;background:#fcfcfe}.project-context-item h4{margin:0;color:#303344;font-size:.85rem;line-height:1.45;overflow-wrap:anywhere}.project-context-item-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.project-context-item-heading>div{min-width:0}.project-context-type{display:block;margin-bottom:4px;color:#777a89;font-size:.59rem;font-weight:740;letter-spacing:.05em;text-transform:uppercase}.project-context-company{margin:4px 0 0;color:#666978;font-size:.73rem}.project-context-preview{margin:8px 0 0;color:#666978;font-size:.75rem;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.project-context-source,.project-context-validity,.project-context-muted{margin:7px 0 0;color:#858795;font-size:.67rem;line-height:1.45}.project-context-time{display:inline-flex;flex-wrap:wrap;gap:3px;margin-top:7px;color:#858795;font-size:.64rem}.project-context-item-heading .project-context-time{flex-shrink:0;justify-content:flex-end;margin-top:0;text-align:right}.project-context-relationship{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:10px}.project-context-badge{padding:2px 7px;border-radius:999px;font-size:.59rem;font-weight:730}.project-context-badge--direct{background:#eeeafd;color:#5e4bb9}.project-context-badge--via_artifact{background:#f7eadf;color:#8a5a32}.project-context-provenance{color:#80828f;font-size:.64rem}.project-context-relationship>button{padding:2px 0;border:0;background:transparent;color:#5e4bb9;font-size:.64rem;font-weight:700}.project-context-why{width:100%;padding:8px 9px;border:1px solid #e6e2f2;border-radius:8px;background:#faf9ff}.project-context-why p{margin:0;color:#6c6e7c;font-size:.66rem;line-height:1.45}.project-context-why p+p{margin-top:3px}.project-context-evidence-link{display:inline-flex;gap:4px;margin-top:10px;color:#5e4bb9;font-size:.68rem;font-weight:700;text-decoration:none}.project-context-evidence-link:hover{text-decoration:underline}.project-context-memory-labels{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:7px}.project-context-memory-labels>span{padding:2px 6px;border-radius:999px;background:#f0f0f4;color:#707281;font-size:.58rem;font-weight:710}.project-context-importance--high{background:#fff0f0!important;color:#a33f46!important}.project-context-importance--low{background:#eff7f3!important;color:#3c725d!important}.project-context-error{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:14px;padding:11px 13px;border:1px solid #efc9cb;border-radius:9px;background:snow;color:#8b343a;font-size:.73rem}.project-context-error button{flex-shrink:0;border:0;background:transparent;color:#7948a8;font-weight:700}.project-context-loading,.project-context-empty,.project-context-section-empty{padding:34px 20px;border:1px dashed #d9dae2;border-radius:10px;color:#858795;font-size:.78rem;text-align:center}.project-context-loading,.project-context-empty{margin-top:16px}.project-context-empty h3{margin:0;color:#4a4d5d;font-size:.88rem}.project-context-empty p{margin:7px 0 0}.project-context-section-empty{margin:0;padding:20px}.project-context button:focus-visible,.project-context a:focus-visible{outline:3px solid rgba(102,86,198,.24);outline-offset:2px}@media (max-width: 850px){.project-context-summary{grid-template-columns:minmax(0,1fr)}.project-context-summary dl{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 660px){.project-context{padding:15px}.project-context-toolbar{flex-direction:column}.project-context-toolbar>button{width:100%}.project-context-grid{grid-template-columns:minmax(0,1fr)}.project-context-item-heading{flex-direction:column;gap:7px}.project-context-item-heading .project-context-time{justify-content:flex-start;text-align:left}.project-context-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}.project-context-error{align-items:flex-start;flex-direction:column}}.project-assistant{display:grid;gap:1rem;min-width:0}.project-assistant-header{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start;padding:1.25rem;border:1px solid #dce3ea;border-radius:18px;background:linear-gradient(135deg,#f7fbff,#fff)}.project-assistant-header h2{margin:.15rem 0 .45rem;overflow-wrap:anywhere}.project-assistant-header p{margin:0;color:#52606d;max-width:64rem}.project-assistant-eyebrow{color:#1b6f76!important;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.project-assistant-grounding{flex:0 0 auto;padding:.4rem .65rem;border-radius:999px;background:#e5f4f1;color:#17675f;font-size:.78rem;font-weight:750}.project-assistant-suggestions{display:flex;flex-wrap:wrap;gap:.5rem}.project-assistant-suggestions button{border:1px solid #cbd7e3;border-radius:999px;background:#fff;padding:.55rem .8rem;color:#28445a;cursor:pointer}.project-assistant-suggestions button:hover{background:#f2f7fa}.project-assistant-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.project-assistant-error{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;border:1px solid #efb4b4;border-radius:12px;color:#8f2828;background:#fff4f4}.project-assistant-error button{border:1px solid currentColor;border-radius:8px;background:transparent;padding:.35rem .65rem}.project-assistant-conversation{min-height:22rem;max-height:42rem;overflow:auto;display:flex;flex-direction:column;gap:.75rem;padding:1rem;border:1px solid #dce3ea;border-radius:18px;background:#f8fafc}.project-assistant-message{max-width:min(82%,52rem);padding:.8rem 1rem;border-radius:14px;overflow-wrap:anywhere;white-space:pre-wrap}.project-assistant-message>span{display:block;margin-bottom:.25rem;color:#687782;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.project-assistant-message p{margin:0}.project-assistant-message--user{align-self:flex-end;background:#1b6f76;color:#fff;border-bottom-right-radius:4px}.project-assistant-message--user>span{color:#c9ece8}.project-assistant-message--assistant{align-self:flex-start;border:1px solid #d9e2ea;background:#fff;border-bottom-left-radius:4px}.project-assistant-state,.project-assistant-empty{color:#667784;text-align:center;margin:auto;padding:2rem}.project-assistant-empty h3{color:#21313d;margin:0 0 .4rem}.project-assistant-card{align-self:stretch;padding:1rem;border:1px solid #cbd7e3;border-left:4px solid #3f7f86;border-radius:14px;background:#fff;overflow:hidden}.project-assistant-card--confirmed{border-left-color:#2f855a;background:#f5fff9}.project-assistant-card--cancelled{border-left-color:#8a98a3;opacity:.78}.project-assistant-card--failed,.project-assistant-card--stale{border-left-color:#b45309;background:#fffaf0}.project-assistant-card-heading{display:flex;justify-content:space-between;gap:1rem}.project-assistant-card-heading span{color:#597080;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.project-assistant-card-heading h3{margin:.2rem 0 .75rem;overflow-wrap:anywhere}.project-assistant-card-heading strong{text-transform:capitalize;color:#46616f;font-size:.78rem}.project-assistant-card dl{display:grid;gap:.55rem;margin:0}.project-assistant-card dl>div{display:grid;grid-template-columns:minmax(8rem,11rem) minmax(0,1fr);gap:.75rem;padding-top:.55rem;border-top:1px solid #e7edf2}.project-assistant-card dt{font-weight:700;color:#526572}.project-assistant-card dd{margin:0;min-width:0;overflow-wrap:anywhere;white-space:pre-wrap}.project-assistant-card dd del{display:block;color:#8a5a5a;margin-bottom:.2rem}.project-assistant-card dd span{display:block}.project-assistant-card-actions{display:flex;gap:.6rem;justify-content:flex-end;margin-top:1rem}.project-assistant-card-actions button,.project-assistant-composer button{border:1px solid #aab9c6;border-radius:9px;background:#fff;padding:.55rem .9rem;cursor:pointer;font-weight:700}.project-assistant-card-actions .is-confirm,.project-assistant-composer button{border-color:#1b6f76;background:#1b6f76;color:#fff}.project-assistant-card-error{color:#9a3412}.project-assistant-card-status:empty{display:none}.project-assistant-card-status{display:block;margin-top:.7rem;color:#526572}.project-assistant-composer{display:grid;gap:.45rem;position:sticky;bottom:0;padding:.9rem;border:1px solid #dce3ea;border-radius:14px;background:#fffffff5}.project-assistant-composer label{font-size:.8rem;font-weight:750;color:#405461}.project-assistant-composer>div{display:flex;gap:.65rem;align-items:flex-end}.project-assistant-composer textarea{flex:1;min-width:0;resize:vertical;border:1px solid #aebdca;border-radius:10px;padding:.7rem .8rem;font:inherit}.project-assistant button:focus-visible,.project-assistant textarea:focus-visible{outline:3px solid #64b9c2;outline-offset:2px}.project-assistant button:disabled,.project-assistant textarea:disabled{cursor:not-allowed;opacity:.6}@media (max-width: 680px){.project-assistant-header{flex-direction:column}.project-assistant-message{max-width:94%}.project-assistant-card dl>div{grid-template-columns:1fr;gap:.2rem}.project-assistant-composer>div{flex-direction:column;align-items:stretch}.project-assistant-card-heading{align-items:flex-start}}.project-detail-page{min-height:100%;display:flex;flex-direction:column;gap:20px;background:#f6f7fb;color:#252839}.project-detail-page *,.project-detail-page *:before,.project-detail-page *:after{box-sizing:border-box}.project-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;padding-bottom:4px}.project-detail-header-copy{min-width:0}.project-detail-breadcrumb ol{display:flex;min-width:0;flex-wrap:wrap;gap:7px;margin:0 0 12px;padding:0;color:#7a7d8d;font-size:.76rem;list-style:none}.project-detail-breadcrumb li{min-width:0;overflow-wrap:anywhere}.project-detail-breadcrumb li+li:before{margin-right:7px;color:#bbbcc6;content:"/"}.project-detail-breadcrumb a{color:#6251b8;text-decoration:none}.project-detail-breadcrumb a:hover{text-decoration:underline}.project-detail-title-row{display:flex;min-width:0;align-items:center;flex-wrap:wrap;gap:12px}.project-detail-page h1{min-width:0;margin:0;color:#202335;font-size:clamp(1.75rem,3.5vw,2.45rem);font-weight:730;letter-spacing:-.035em;line-height:1.15;overflow-wrap:anywhere}.project-detail-status{display:inline-flex;flex-shrink:0;align-items:center;gap:6px;padding:4px 9px;border:1px solid transparent;border-radius:999px;font-size:.7rem;font-weight:720}.project-detail-status>span{width:6px;height:6px;border-radius:50%;background:currentColor}.project-detail-status--active{border-color:#c9e2d8;background:#eff8f4;color:#2f775b}.project-detail-status--paused{border-color:#ebd8ad;background:#fff7e6;color:#8a6117}.project-detail-status--completed{border-color:#d4cff0;background:#f2effd;color:#6151b4}.project-detail-status--archived{border-color:#dbdce2;background:#f3f3f5;color:#666977}.project-detail-description{max-width:760px;margin:10px 0 0;color:#666a7b;font-size:.94rem;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}.project-detail-updated{margin:9px 0 0;color:#9294a0;font-size:.71rem}.project-detail-updated time{color:#6f7281}.project-detail-header-actions,.project-detail-section-actions{display:flex;flex-shrink:0;align-items:center;gap:9px}.project-detail-button,.project-detail-text-action,.project-detail-state button,.project-detail-state a,.project-detail-error-banner button{font:inherit;cursor:pointer}.project-detail-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 13px;border:1px solid transparent;border-radius:9px;font-size:.8rem;font-weight:680}.project-detail-button--quiet{border-color:#d9d6eb;background:#fff;color:#5d4db5}.project-detail-button--primary{border-color:#6655c4;background:#6d5bd0;color:#fff;box-shadow:0 2px 6px #5443b226}.project-detail-button:hover:not(:disabled){filter:brightness(.97)}.project-detail-button:disabled{cursor:wait;opacity:.62}.project-detail-button .is-spinning{display:inline-block;animation:project-detail-spin .9s linear infinite}@keyframes project-detail-spin{to{transform:rotate(360deg)}}.project-detail-refresh-status{margin:-10px 0;color:#65b;font-size:.7rem;font-weight:650;text-align:right}.project-detail-error-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 15px;border:1px solid #efc9cb;border-left:4px solid #c94a51;border-radius:12px;background:snow;color:#782b31}.project-detail-error-banner strong{font-size:.82rem}.project-detail-error-banner p{margin:3px 0 0;color:#915156;font-size:.76rem}.project-detail-error-banner button{flex-shrink:0;padding:7px 11px;border:1px solid #e5bfc1;border-radius:8px;background:#fff;color:#8d353b}.project-detail-tabs{display:flex;gap:6px;border-bottom:1px solid #dedfe7}.project-detail-tabs button{position:relative;min-height:43px;display:inline-flex;align-items:center;gap:7px;padding:9px 14px 11px;border:0;background:transparent;color:#747686;font:inherit;font-size:.83rem;font-weight:680;cursor:pointer}.project-detail-tabs button:after{position:absolute;right:10px;bottom:-1px;left:10px;height:2px;border-radius:3px 3px 0 0;background:transparent;content:""}.project-detail-tabs button.is-active{color:#5847b4}.project-detail-tabs button.is-active:after{background:#6d5bd0}.project-detail-tabs button span{min-width:20px;padding:1px 6px;border-radius:999px;background:#eae7f9;font-size:.64rem;text-align:center}.project-detail-attention{display:flex;gap:13px;margin-bottom:17px;padding:14px 16px;border:1px solid #ead7ae;border-left:4px solid #ce8d2b;border-radius:12px;background:#fffaf0;color:#684a16}.project-detail-attention>div:first-child{width:25px;height:25px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f4dfb4;font-size:.75rem;font-weight:800}.project-detail-attention h2{margin:1px 0 5px;font-size:.84rem}.project-detail-attention ul{margin:0;padding-left:17px;font-size:.75rem;line-height:1.55}.project-detail-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.project-detail-overview-card{min-width:0;min-height:190px;padding:18px;border:1px solid #e2e3ea;border-radius:14px;background:#fff;box-shadow:0 4px 16px #1c193708}.project-detail-card-label,.project-detail-eyebrow{margin:0;color:#777a89;font-size:.68rem;font-weight:730;letter-spacing:.065em;text-transform:uppercase}.project-detail-overview-card h2{margin:13px 0 0;color:#292c3d;font-size:1.02rem;line-height:1.42;overflow-wrap:anywhere}.project-detail-overview-card>p:not(.project-detail-card-label):not(.project-detail-card-note){margin:9px 0 0;color:#777a89;font-size:.76rem;line-height:1.55}.project-detail-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}.project-detail-card-note{margin:10px 0 0;font-size:.71rem;line-height:1.45}.project-detail-card-note--warning{color:#a14349}.project-detail-progress{width:100%;height:7px;overflow:hidden;margin-top:16px;border-radius:999px;background:#ebeaf1}.project-detail-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6d5bd0,#8879dd)}.project-detail-context-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:12px;padding:16px 18px;border:1px solid #ddd9ef;border-radius:14px;background:#faf9ff}.project-detail-context-card>div{min-width:0}.project-detail-context-card h2{margin:5px 0 0;color:#292c3d;font-size:1rem}.project-detail-context-card>div>p:last-child{margin:7px 0 0;color:#777a89;font-size:.72rem}.project-detail-context-card dl{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 0}.project-detail-context-card dl>div{display:flex;align-items:baseline;gap:5px;padding:4px 8px;border:1px solid #e4e0f2;border-radius:999px;background:#fff}.project-detail-context-card dt{color:#777a89;font-size:.61rem}.project-detail-context-card dd{margin:0;color:#5947b4;font-size:.75rem;font-weight:760}.project-detail-deadline-wrap{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}.project-detail-deadline{display:inline-flex;color:#515464;font-size:.75rem;font-weight:680;font-variant-numeric:tabular-nums}.project-detail-deadline--overdue{color:#ad3e45}.project-detail-deadline--due-today,.project-detail-deadline--due-soon{color:#8b5b0e}.project-detail-deadline-state{padding:2px 6px;border-radius:999px;background:#f0f0f4;color:#707281;font-size:.58rem;font-weight:740}.project-detail-deadline-state--overdue{background:#fff0f0;color:#ad3e45}.project-detail-deadline-state--due-today,.project-detail-deadline-state--due-soon{background:#fff5df;color:#8b5b0e}.project-detail-muted{color:#9294a0;font-size:.75rem}.project-detail-priority{display:inline-flex;flex-shrink:0;padding:2px 7px;border:1px solid #dedfea;border-radius:999px;background:#f7f7fa;color:#676a79;font-size:.6rem;font-weight:720}.project-detail-priority--high,.project-detail-priority--urgent{border-color:#f0ced0;background:#fff3f3;color:#a43e45}.project-detail-priority--medium{border-color:#efdcb8;background:#fff8e9;color:#946313}.project-detail-priority--low{border-color:#cfe2da;background:#f1f8f5;color:#377159}.project-detail-text-action{margin-top:13px;padding:2px 0;border:0;background:transparent;color:#5f4db7;font-size:.75rem;font-weight:700}.project-detail-text-action:hover{text-decoration:underline}.project-detail-section{margin-top:18px;padding:20px;border:1px solid #e1e2e9;border-radius:14px;background:#fff;box-shadow:0 4px 18px #1c193708}.project-detail-all-todos{margin-top:0}.project-detail-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.project-detail-section-heading h2{margin:5px 0 0;color:#292c3d;font-size:1.08rem}.project-detail-section-heading>div>p:last-child:not(.project-detail-eyebrow){margin:5px 0 0;color:#858795;font-size:.74rem}.project-detail-todo-list{display:flex;flex-direction:column;gap:9px}.project-detail-todo{min-width:0;padding:14px;border:1px solid #e3e3ea;border-radius:11px;background:#fcfcfe}.project-detail-todo.is-current-focus{border-color:#bab1e8;box-shadow:inset 3px 0 #7260cf}.project-detail-todo-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.project-detail-todo-heading>div{min-width:0}.project-detail-todo-title-row{display:flex;min-width:0;align-items:center;flex-wrap:wrap;gap:7px}.project-detail-todo h3,.project-detail-todo h4{margin:0;color:#303344;font-size:.85rem;line-height:1.45;overflow-wrap:anywhere}.project-detail-todo-heading p{margin:5px 0 0;color:#767989;font-size:.73rem;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}.project-detail-focus-badge,.project-detail-completion-badge{padding:2px 6px;border-radius:999px;font-size:.57rem;font-weight:750}.project-detail-focus-badge{background:#eeeafd;color:#5e4bb9}.project-detail-completion-badge--open{background:#edf5fb;color:#416c93}.project-detail-completion-badge--completed{background:#eff7f3;color:#3c725d}.project-detail-todo-meta{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:10px;color:#7e818f;font-size:.68rem}.project-detail-empty{margin:0;padding:20px;border:1px dashed #d9dae2;border-radius:10px;color:#878996;font-size:.76rem;text-align:center}.project-detail-todo-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(140px,190px);gap:12px;padding:14px;border:1px solid #e4e4eb;border-radius:11px;background:#f9f9fc}.project-detail-todo-toolbar label{display:flex;flex-direction:column;gap:6px;color:#5c5f70;font-size:.7rem;font-weight:680}.project-detail-todo-toolbar input,.project-detail-todo-toolbar select{width:100%;min-height:40px;padding:8px 10px;border:1px solid #d9dae3;border-radius:8px;background:#fff;color:#343748;font:inherit;font-size:.8rem}.project-detail-results{margin:10px 2px 16px;color:#878a98;font-size:.7rem}.project-detail-todo-group+.project-detail-todo-group{margin-top:25px}.project-detail-todo-group-heading{display:flex;align-items:center;gap:8px;margin-bottom:10px}.project-detail-todo-group-heading h3{margin:0;color:#464958;font-size:.76rem;letter-spacing:.045em;text-transform:uppercase}.project-detail-todo-group-heading span{min-width:21px;padding:2px 6px;border-radius:999px;background:#eae9ef;color:#6c6f7d;font-size:.62rem;font-weight:700;text-align:center}.project-detail-state{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;border:1px dashed #d4d5de;border-radius:14px;background:#fff;color:#747786;text-align:center}.project-detail-state>span{width:46px;height:46px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;border-radius:50%;background:#efecfb;color:#6757c2;font-size:1.3rem}.project-detail-state h1{font-size:1.2rem}.project-detail-state p{max-width:470px;margin:8px 0 0;font-size:.85rem;line-height:1.55}.project-detail-state-actions{display:flex;align-items:center;gap:9px;margin-top:18px}.project-detail-state a,.project-detail-state button{min-height:38px;display:inline-flex;align-items:center;padding:8px 12px;border:1px solid #d7d2f5;border-radius:9px;background:#fff;color:#5748b3;font-size:.79rem;font-weight:680;text-decoration:none}.project-detail-state--error{border-style:solid;border-color:#efc9cb;background:snow}.project-detail-state--error>span{background:#fae5e6;color:#a64248}.project-detail-skeleton-header,.project-detail-skeleton-card{border:1px solid #e4e5eb;border-radius:14px;background:#fff}.project-detail-skeleton-header{min-height:170px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;padding:24px}.project-detail-skeleton-header span,.project-detail-skeleton-header strong,.project-detail-skeleton-tabs span,.project-detail-skeleton-card span,.project-detail-skeleton-card strong{display:block;border-radius:999px;background:linear-gradient(90deg,#eeeef3 25%,#f8f8fa,#eeeef3 75%);background-size:200% 100%;animation:project-detail-shimmer 1.5s ease-in-out infinite}.project-detail-skeleton-header span{width:36%;height:10px}.project-detail-skeleton-header strong{width:58%;height:28px}.project-detail-skeleton-header span:last-child{width:18%}.project-detail-skeleton-tabs{display:flex;gap:14px;padding-bottom:9px;border-bottom:1px solid #e3e4ea}.project-detail-skeleton-tabs span{width:90px;height:17px}.project-detail-skeleton-card{min-height:190px;display:flex;flex-direction:column;gap:14px;padding:20px}.project-detail-skeleton-card span{width:52%;height:10px}.project-detail-skeleton-card strong{width:76%;height:21px}@keyframes project-detail-shimmer{to{background-position:-200% 0}}.project-detail-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}.project-detail-button:focus-visible,.project-detail-text-action:focus-visible,.project-detail-tabs button:focus-visible,.project-detail-breadcrumb a:focus-visible,.project-detail-state a:focus-visible,.project-detail-state button:focus-visible,.project-detail-error-banner button:focus-visible,.project-detail-todo-toolbar input:focus-visible,.project-detail-todo-toolbar select:focus-visible{outline:3px solid rgba(102,86,198,.24);outline-offset:2px}@media (prefers-reduced-motion: reduce){.project-detail-button .is-spinning,.project-detail-skeleton-header span,.project-detail-skeleton-header strong,.project-detail-skeleton-tabs span,.project-detail-skeleton-card span,.project-detail-skeleton-card strong{animation:none}}@media (max-width: 1120px){.project-detail-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.project-detail-page{gap:16px;padding:22px 16px}.project-detail-header{flex-direction:column;gap:17px}.project-detail-header-actions{width:100%}.project-detail-header-actions .project-detail-button{flex:1}.project-detail-section-heading{flex-direction:column}.project-detail-section-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}}@media (max-width: 560px){.project-detail-card-grid{grid-template-columns:minmax(0,1fr)}.project-detail-overview-card{min-height:0}.project-detail-title-row{align-items:flex-start;flex-direction:column}.project-detail-tabs{overflow-x:auto}.project-detail-tabs button{flex-shrink:0}.project-detail-section{padding:15px}.project-detail-todo-toolbar{grid-template-columns:minmax(0,1fr)}.project-detail-todo-heading{flex-direction:column;gap:9px}.project-detail-error-banner{align-items:flex-start;flex-direction:column}.project-detail-state{min-height:300px;padding:28px 18px}.project-detail-state-actions{flex-direction:column}.project-detail-context-card{align-items:flex-start;flex-direction:column}.project-detail-context-card>button{width:100%}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.auth-container{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;padding:40px;width:100%;max-width:400px}.auth-header{text-align:center;margin-bottom:30px}.auth-header h1{font-size:1.8rem;color:#333;margin:0 0 8px}.auth-header p{color:#666;margin:0;font-size:.9rem}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-form .form-group{display:flex;flex-direction:column;gap:6px}.auth-form label{font-size:.85rem;font-weight:500;color:#555}.auth-form input{padding:12px 14px;border:1px solid #ddd;border-radius:8px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.auth-form input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.auth-form input::placeholder{color:#aaa}.auth-error{background:#fee;color:#e74c3c;padding:10px 14px;border-radius:8px;font-size:.85rem;border:1px solid #fcc}.auth-btn{padding:12px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s;margin-top:8px}.auth-btn:hover:not(:disabled){background:#5a6fd6}.auth-btn:disabled{background:#a0a0a0;cursor:not-allowed}.auth-footer{text-align:center;margin-top:24px;color:#666;font-size:.9rem}.auth-footer a{color:#667eea;text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}#root{min-height:100vh}.page-container{padding:2rem}.page-container h2{font-size:1.5rem;color:#333;margin-bottom:1rem}.page-container p{color:#666}
