:root{--bg: #fafaf9;--surface: #ffffff;--border: #e7e5e4;--border-light: #f5f5f4;--text: #1c1917;--text-secondary: #57534e;--text-muted: #a8a29e;--green: #16a34a;--green-bg: #dcfce7;--green-light: #f0fdf4;--blue: #2563eb;--blue-bg: #dbeafe;--blue-light: #eff6ff;--amber: #d97706;--amber-bg: #fef3c7;--amber-light: #fffbeb;--red: #dc2626;--red-bg: #fee2e2;--red-light: #fef2f2;--purple: #7c3aed;--purple-bg: #ede9fe;--purple-light: #f5f3ff;--rose: #e11d48;--rose-bg: #ffe4e6;--rose-light: #fff1f2;--radius: 14px;--radius-sm: 10px}*{margin:0;padding:0;box-sizing:border-box}body,html{font-family:-apple-system,SF Pro Display,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}.app-container{display:flex;flex-direction:column;min-height:100vh}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg)}.auth-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:40px;max-width:400px;text-align:center}.auth-box h1{font-size:28px;font-weight:700;margin-bottom:12px}.auth-box p{font-size:14px;color:var(--text-secondary);margin-bottom:24px}.auth-button{width:100%;padding:12px 16px;background:var(--text);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.auth-button:hover{background:var(--text-secondary)}.auth-note{font-size:12px;color:var(--text-muted);margin-top:16px}.topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:18px 40px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100}.topbar h1{font-size:20px;font-weight:700}.topbar h1 span{color:var(--green)}.topbar-right{display:flex;align-items:center;gap:12px}.filter-btn{padding:6px 16px;border-radius:20px;border:1px solid var(--border);background:var(--surface);font-size:13px;cursor:pointer;transition:all .15s;font-weight:500}.filter-btn:hover{border-color:var(--text)}.filter-btn.active{background:var(--text);color:#fff;border-color:var(--text)}.filter-btn.icon-btn{padding:6px 10px;display:flex;align-items:center;justify-content:center}.date-badge{font-size:13px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);padding:6px 14px;border-radius:20px}.container{max-width:1200px;margin:0 auto;padding:28px 24px 60px;flex:1}.spotlight{background:linear-gradient(135deg,#1a5c2e,#166534,#14532d);color:#fff;border-radius:var(--radius);padding:24px 32px;display:flex;align-items:center;gap:20px;margin-bottom:24px;cursor:pointer;transition:transform .2s}.spotlight:hover{transform:translateY(-2px)}.spotlight-icon{font-size:32px;flex-shrink:0;background:#ffffff26;width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center}.spotlight-text{flex:1}.spotlight-text h2{font-size:16px;font-weight:600;margin-bottom:6px}.spotlight-text p{font-size:13px;opacity:.85;line-height:1.5}.spotlight-days{text-align:center;flex-shrink:0}.spotlight-days .num{font-size:36px;font-weight:800}.spotlight-days .label{font-size:11px;text-transform:uppercase;letter-spacing:1px;opacity:.7}.spotlight-edit-form{background:var(--surface);border:2px solid var(--green);border-radius:var(--radius);padding:24px;margin-bottom:24px;display:flex;flex-direction:column;gap:12px}.spotlight-edit-form .edit-input,.spotlight-edit-form .edit-textarea,.spotlight-edit-form .edit-input-small{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:14px}.spotlight-edit-form .edit-input-small{width:80px}.spotlight-edit-form .edit-textarea{min-height:80px;resize:none}.form-buttons{display:flex;gap:8px;margin-top:8px}.stats-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:24px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 18px;text-align:center}.stat .label{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:6px}.stat .value{font-size:28px;font-weight:800}.stat .value.blue{color:var(--blue)}.stat .value.amber{color:var(--amber)}.stat .value.red{color:var(--red)}.stat .value.green{color:var(--green)}.stat .sub{font-size:11px;color:var(--text-muted);margin-top:4px}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:20px}.full-card{margin-bottom:20px}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s}.project-card:hover{border-color:var(--text-secondary)}.project-card.highlight{border-color:var(--amber);box-shadow:0 0 0 1px var(--amber-bg)}.card-top{margin-bottom:16px}.card-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.card-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.card-info{flex:1}.card-info h3{font-size:17px;font-weight:700;cursor:pointer}.card-info h3:hover{opacity:.7}.card-info .subtitle{font-size:12px;color:var(--text-muted);margin-top:2px}.stage-dropdown{position:relative}.stage-badge{font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border:none;cursor:pointer;background:none;display:flex;align-items:center;gap:4px;transition:opacity .2s}.stage-badge:hover{opacity:.7}.stage-operating{background:var(--green-bg);color:var(--green)}.stage-prelaunch{background:var(--amber-bg);color:var(--amber)}.stage-closing{background:var(--blue-bg);color:var(--blue)}.stage-shutdown{background:var(--red-bg);color:var(--red)}.stage-acquisition{background:var(--rose-bg);color:var(--rose)}.stage-planning{background:var(--purple-bg);color:var(--purple)}.stage-menu{position:absolute;top:100%;right:0;background:var(--surface);border:1px solid var(--border);border-radius:6px;z-index:10;min-width:120px;box-shadow:0 4px 12px #0000001a}.stage-menu-item{display:block;width:100%;padding:8px 12px;border:none;background:none;font-size:13px;text-align:left;cursor:pointer;color:var(--text);transition:background .2s}.stage-menu-item:hover{background:var(--bg)}.stage-menu-item:first-child{border-radius:6px 6px 0 0}.stage-menu-item:last-child{border-radius:0 0 6px 6px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--border-light);border-radius:var(--radius-sm);overflow:hidden}.metric-box{padding:12px;text-align:center;border-right:1px solid var(--border-light);cursor:pointer;transition:background .2s}.metric-box:hover{background:var(--bg)}.metric-box:last-child{border-right:none}.metric-box .num{font-size:20px;font-weight:800}.metric-box .lbl{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-top:2px}.metric-edit-input{width:100%;padding:4px;border:1px solid var(--green);border-radius:4px;font-size:14px;font-weight:800;text-align:center}.inline-edit-input{font-size:17px;font-weight:700;padding:2px 4px;border:1px solid var(--green);border-radius:4px;font-family:inherit}.task-list{list-style:none;flex:1;margin-bottom:16px}.task-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-light);font-size:13px;position:relative}.task-item:hover .task-delete{opacity:1}.task-item:last-child{border-bottom:none}.task-item.completed .task-label{text-decoration:line-through;color:var(--text-muted)}.task-check{width:20px;height:20px;border-radius:6px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;font-size:11px;transition:all .15s}.task-check:hover{border-color:var(--green)}.task-check.done{background:var(--green);border-color:var(--green);color:#fff}.task-label{flex:1;line-height:1.4;cursor:pointer}.task-label:hover{opacity:.7}.task-edit-input{flex:1;padding:4px 8px;border:1px solid var(--green);border-radius:4px;font-size:13px;font-family:inherit}.source-icon{flex-shrink:0;opacity:.5}.source-icon.inbound{color:var(--blue)}.source-icon.outbound{color:var(--amber)}.source-icon.calendar{color:var(--purple)}.task-priority{font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.tp-high{background:var(--red-bg);color:var(--red)}.tp-med{background:var(--amber-bg);color:var(--amber)}.tp-done{background:var(--green-bg);color:var(--green)}.task-delete{opacity:0;background:none;border:none;color:var(--red);cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;transition:opacity .2s,color .2s}.task-delete:hover{color:var(--red);opacity:1}.add-task-btn{width:100%;padding:8px;border:1px dashed var(--border);background:transparent;border-radius:6px;font-size:13px;color:var(--text-muted);cursor:pointer;transition:all .2s;font-weight:500}.add-task-btn:hover{border-color:var(--text);color:var(--text)}.add-task-form{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-top:1px solid var(--border-light);margin-top:8px}.task-input{padding:8px;border:1px solid var(--border);border-radius:6px;font-size:13px;font-family:inherit}.priority-select,.date-input{padding:6px 8px;border:1px solid var(--border);border-radius:6px;font-size:12px;font-family:inherit}.deadline-callout{font-size:12px;color:var(--red);font-weight:600;padding:8px 12px;background:var(--red-light);border-radius:8px}.progress-track{height:6px;background:var(--border-light);border-radius:3px;overflow:hidden}.progress-fill{height:100%;border-radius:3px;transition:width .3s}.pf-green{background:var(--green)}.pf-amber{background:var(--amber)}.pf-blue{background:var(--blue)}.pf-purple{background:var(--purple)}.pf-rose{background:var(--rose)}.progress-meta{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;color:var(--text-muted)}.pct{font-weight:700}.timeline-section{margin-top:32px}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.timeline-section h2{font-size:13px;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);font-weight:700}.btn-small{padding:6px 12px;border:1px solid var(--border);background:var(--surface);border-radius:6px;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:4px;transition:all .2s}.btn-small:hover{border-color:var(--green);color:var(--green)}.timeline{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.tl-row{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--border-light);position:relative}.tl-row:hover .milestone-action{opacity:1}.tl-row:last-child{border-bottom:none}.tl-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.tl-content{flex:1}.tl-content .name{font-size:14px;font-weight:600}.tl-content .desc{font-size:12px;color:var(--text-muted);margin-top:2px}.tl-tag{font-size:10px;font-weight:600;padding:3px 8px;border-radius:5px;white-space:nowrap}.tl-date{font-size:13px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.tl-date.urgent{color:var(--red)}.tl-date.soon{color:var(--amber)}.milestone-action{opacity:0;background:none;border:none;color:var(--red);cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.milestone-action:hover{opacity:1}.milestone-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px;display:flex;flex-direction:column;gap:10px}.form-input,.form-textarea,.form-select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:13px}.form-textarea{min-height:80px;resize:none}.activity-feed{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-top:20px}.activity-feed h3{font-size:14px;font-weight:600;margin-bottom:12px}.activity-empty{font-size:12px;color:var(--text-muted);text-align:center;padding:20px}.activity-list{list-style:none;max-height:300px;overflow-y:auto}.activity-item{display:flex;align-items:flex-start;gap:8px;padding:8px;border-bottom:1px solid var(--border-light);font-size:12px}.activity-item:last-child{border-bottom:none}.activity-time{flex-shrink:0;color:var(--text-muted);font-weight:500;min-width:50px}.activity-icon-wrapper{flex-shrink:0;display:flex;align-items:center;justify-content:center}.activity-icon{color:var(--text-secondary)}.activity-venture{flex-shrink:0;font-weight:600;color:var(--text);min-width:80px}.activity-summary{flex:1;color:var(--text-secondary);line-height:1.4}.footer{text-align:center;padding:32px 0;font-size:12px;color:var(--text-muted)}.btn-primary{padding:8px 16px;background:var(--green);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.btn-primary:hover{background:var(--text)}.btn-secondary{padding:8px 16px;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{border-color:var(--text);background:var(--bg)}@media (max-width: 768px){.topbar{padding:14px 16px;flex-wrap:wrap;gap:10px}.topbar h1{font-size:18px}.topbar-right{width:100%;justify-content:space-between}.container{padding:16px 12px 40px}.stats-row{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:12px}.stat .value{font-size:20px}.project-grid{grid-template-columns:1fr;gap:16px}.spotlight{flex-direction:column;text-align:center;padding:20px;gap:16px}.spotlight-days{order:2}.tl-row{flex-wrap:wrap;gap:8px}.tl-tag{order:3}.tl-date{order:4}.card-header{flex-wrap:wrap}.stage-dropdown{order:3;width:100%}.metrics{grid-template-columns:1fr}.metric-box{border-right:none;border-bottom:1px solid var(--border-light)}.metric-box:last-child{border-bottom:none}}.editable{cursor:pointer}.editable-field{cursor:pointer;padding:2px 4px;border-radius:2px;transition:background .2s}.editable-field:hover{background:var(--bg)}.placeholder{color:var(--text-muted);font-style:italic}.editable-input,.editable-textarea{padding:4px 8px;border:1px solid var(--green);border-radius:4px;font-family:inherit;font-size:inherit}
