:root{--gold:#b8860b;--gold-light:#d4a017;--gold-pale:#fdf8ec;--gold-border:#e8d48a;--bg-page:#f5f6f8;--bg-card:#fff;--bg-card-alt:#f9fafb;--bg-input:#fff;--bg-sidebar:#1a1f2e;--bg-topbar:#1a1f2e;--bg-hover:#f0f2f5;--bg-table-head:#f1f3f5;--bg-table-alt:#fafbfc;--text-primary:#111827;--text-secondary:#374151;--text-muted:#6b7280;--text-placeholder:#9ca3af;--text-on-dark:#f9fafb;--text-on-gold:#1a1100;--border-light:#e5e7eb;--border-medium:#d1d5db;--border-focus:#b8860b;--status-draft:#6b7280;--status-review:#2563eb;--status-approved:#16a34a;--status-won:#0891b2;--status-lost:#dc2626;--status-complete:#7c3aed;--status-archived:#9ca3af;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014, 0 2px 4px #0000000a;--shadow-lg:0 8px 24px #0000001a, 0 4px 8px #0000000f;--btn-secondary-bg:#f3f4f6;--btn-secondary-hover:#e5e7eb;--btn-danger-bg:#fee2e2;--btn-danger-color:#dc2626;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--sidebar-width:240px}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{background-color:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin-top:0}button{background-color:var(--gold);color:var(--text-on-gold);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background-color .15s,box-shadow .15s,transform .1s}button:hover{background-color:var(--gold-light);box-shadow:var(--shadow-sm)}button:active{transform:translateY(1px)}button.btn-secondary{background-color:var(--btn-secondary-bg);color:var(--text-secondary);border:1px solid var(--border-light)}button.btn-secondary:hover{background-color:var(--btn-secondary-hover)}button.btn-danger{background-color:var(--btn-danger-bg);color:var(--btn-danger-color);border:1px solid #fecaca}button.btn-danger:hover{background-color:#fecaca}button:disabled{opacity:.5;cursor:not-allowed;transform:none}input,select,textarea{border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--bg-input);width:100%;max-width:360px;color:var(--text-primary);margin-top:4px;margin-bottom:12px;padding:8px 12px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 3px #b8860b1f}input::placeholder,textarea::placeholder{color:var(--text-placeholder)}label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:12px;font-weight:600;display:block}table{border-collapse:collapse;background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-light);width:100%;margin-top:12px;overflow:hidden}th{background-color:var(--bg-table-head);color:var(--text-secondary);text-align:left;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-medium);padding:10px 14px;font-size:12px;font-weight:600}td{border-top:1px solid var(--border-light);vertical-align:middle;color:var(--text-primary);padding:11px 14px;font-size:13px}tr:hover td{background-color:var(--bg-hover)}td input,td select{max-width:100%;margin:0;padding:6px 10px;font-size:13px}td button{margin-bottom:0;padding:6px 12px;font-size:12px}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background-color:var(--bg-sidebar);border-right:1px solid #ffffff0f;flex-direction:column;flex-shrink:0;padding:0;display:flex}.sidebar-brand{border-bottom:1px solid #ffffff0f;padding:20px 18px 16px}.sidebar-brand h2{color:var(--gold-light);letter-spacing:.02em;margin:0 0 2px;font-size:15px;font-weight:700}.sidebar-brand p{color:#ffffff59;letter-spacing:.03em;margin:0;font-size:11px}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 10px;display:flex}.sidebar-nav a{color:#ffffffa6;border-radius:var(--radius-sm);padding:8px 12px;font-size:13px;font-weight:500;transition:background-color .15s,color .15s;display:block}.sidebar-nav a:hover{color:#fff;background-color:#ffffff12}.sidebar-nav a.active{color:var(--gold-light);background-color:#b8860b2e;font-weight:600}.sidebar-version{color:#ffffff40;letter-spacing:.03em;border-top:1px solid #ffffff0f;padding:12px 18px;font-size:11px}.main-area{background:var(--bg-page);flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--bg-topbar);z-index:40;border-bottom:1px solid #ffffff0f;align-items:center;height:56px;padding:0 24px;display:flex;position:sticky;top:0}.topbar h1{color:var(--text-on-dark);letter-spacing:.01em;margin:0;font-size:15px;font-weight:600}.page-content{padding:0 24px}.card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);margin-bottom:20px;padding:20px 24px}.form-card{background:var(--bg-card-alt);border-radius:var(--radius-md);border:1px solid var(--border-light);margin-bottom:16px;padding:16px 20px}.phase-card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);margin-bottom:12px;padding:16px 20px}.task-items-card{background:var(--bg-card-alt);border-radius:var(--radius-sm);border:1px solid var(--border-light);margin-top:8px;padding:12px 16px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-header h2,.page-header h3{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.summary-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:20px;display:grid}.summary-box{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:14px 16px}.summary-box h4{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 6px;font-size:11px;font-weight:600}.summary-box p{color:var(--text-primary);margin:0;font-size:20px;font-weight:700}.status-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.phase-header-row{border-bottom:2px solid var(--gold-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:10px 0;display:flex}.phase-title{color:var(--text-primary);font-size:15px;font-weight:700}.phase-total{color:var(--gold);font-size:15px;font-weight:700}.task-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.task-row-title{color:var(--text-primary);font-size:14px;font-weight:600}.task-row-subtitle{color:var(--text-muted);margin-top:2px;font-size:12px}.task-row-total{color:var(--gold);font-size:14px;font-weight:700}.inline-actions{flex-wrap:wrap;gap:6px;display:flex}.inline-actions button{width:auto;padding:5px 10px;font-size:12px}.inline-edit-row{background:var(--gold-pale);border-left:3px solid var(--gold)}.inline-edit-total{color:var(--gold);white-space:nowrap;font-weight:700}.section-divider{background:var(--border-light);height:1px;margin:16px 0}.empty-state{border:1px dashed var(--border-medium);border-radius:var(--radius-md);color:var(--text-muted);background:var(--bg-card-alt);text-align:center;padding:20px;font-size:13px}.muted-text{color:var(--text-muted)}.estimate-summary-row{border-bottom:1px solid var(--border-light);justify-content:space-between;padding:10px 0;font-size:14px;display:flex}.estimate-summary-row:last-child{color:var(--gold);border-bottom:none;padding-top:14px;font-size:16px;font-weight:700}@media (width<=900px){.app-shell{flex-direction:column}.sidebar{border-bottom:1px solid #ffffff0f;border-right:none;width:100%}.page-content{padding:16px}.summary-grid{grid-template-columns:1fr 1fr}input,select,textarea{max-width:100%}}@media (width<=640px){.topbar{padding:0 16px}.card,.form-card,.phase-card,.task-items-card{padding:14px 16px}th,td{padding:9px 10px;font-size:12px}button{width:100%}.inline-actions{flex-direction:column}.inline-actions button{width:100%}.summary-grid{grid-template-columns:1fr}}
