*{margin:0;padding:0;box-sizing:border-box}:root{--color-bg-primary: #ffffff;--color-bg-secondary: #f5f5f7;--color-bg-tertiary: #fbfbfd;--color-bg-card: #ffffff;--color-bg-sidebar: #1d1d1f;--color-bg-sidebar-hover: #2d2d2f;--color-bg-sidebar-active: #0071e3;--color-text-primary: #1d1d1f;--color-text-secondary: #6e6e73;--color-text-tertiary: #86868b;--color-text-inverse: #f5f5f7;--color-accent: #0071e3;--color-accent-hover: #0077ed;--color-accent-light: rgba(0, 113, 227, .1);--color-success: #34c759;--color-warning: #ff9f0a;--color-danger: #ff3b30;--color-border: rgba(0, 0, 0, .08);--color-border-light: rgba(0, 0, 0, .04);--color-divider: rgba(0, 0, 0, .1);--font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", "Helvetica", "Arial", sans-serif;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-base: 15px;--font-size-lg: 17px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 32px;--font-size-4xl: 40px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.6;--letter-spacing-tight: -.02em;--letter-spacing-normal: -.01em;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .16);--shadow-card: 0 2px 8px rgba(0, 0, 0, .04), 0 0 1px rgba(0, 0, 0, .08);--shadow-card-hover: 0 4px 16px rgba(0, 0, 0, .08), 0 0 1px rgba(0, 0, 0, .08);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--transition-spring: .35s cubic-bezier(.175, .885, .32, 1.275)}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{min-height:100vh;background-color:var(--color-bg-secondary);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal)}#root{min-height:100vh}a{text-decoration:none;color:inherit}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit;font-size:inherit}table{border-collapse:collapse}img,svg{max-width:100%;display:block}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0003;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#0000004d}::selection{background:var(--color-accent-light);color:var(--color-text-primary)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sidebar{width:280px;min-width:280px;height:100vh;background-color:var(--color-bg-sidebar);color:var(--color-text-inverse);display:flex;flex-direction:column;position:fixed;left:0;top:0;z-index:100}.sidebar-brand{padding:var(--spacing-xl) var(--spacing-lg);border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center}.brand-logo-container{width:100%;display:flex;align-items:center;justify-content:center}.brand-logo{width:180px;height:auto;filter:brightness(0) invert(1);opacity:.95;transition:opacity var(--transition-fast)}.brand-logo:hover{opacity:1}.sidebar-nav{flex:1;padding:var(--spacing-lg) var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs);overflow-y:auto}.nav-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);color:#ffffffa6;text-decoration:none;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);letter-spacing:var(--letter-spacing-normal)}.nav-item:hover{background-color:var(--color-bg-sidebar-hover);color:#ffffffe6}.nav-item-active{background-color:var(--color-bg-sidebar-active);color:#fff}.nav-item-active:hover{background-color:var(--color-accent-hover);color:#fff}.nav-icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-icon svg{width:20px;height:20px}.nav-label{flex:1}.sidebar-footer{padding:var(--spacing-md);border-top:1px solid rgba(255,255,255,.08)}.user-info{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);background-color:#ffffff0d;transition:background-color var(--transition-fast)}.user-info:hover{background-color:#ffffff14}.user-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-accent) 0%,#0077ed 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);flex-shrink:0;letter-spacing:.5px}.user-details{display:flex;flex-direction:column;min-width:0}.user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#fffffff2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:var(--font-size-xs);color:#ffffff80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast{position:fixed;bottom:24px;right:24px;background-color:#065f46;color:#fff;padding:12px 20px;border-radius:8px;display:flex;align-items:center;gap:10px;box-shadow:0 4px 12px #00000026;z-index:1000;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.toast-icon{width:20px;height:20px;background-color:#10b981;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px}.toast-message{font-size:14px;font-weight:500}.layout{display:flex;min-height:100vh;background-color:var(--color-bg-secondary)}.main-content{flex:1;margin-left:280px;min-height:100vh;display:flex;flex-direction:column}.header{background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border);padding:var(--spacing-lg) var(--spacing-xl);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:100%}.header-titles{display:flex;flex-direction:column;gap:var(--spacing-xs)}.header-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight)}.header-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0;font-weight:var(--font-weight-regular)}.header-actions{display:flex;gap:var(--spacing-sm);align-items:center}.header-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);border:none;white-space:nowrap}.header-btn svg{width:18px;height:18px;flex-shrink:0}.header-btn-primary{background-color:var(--color-accent);color:#fff;padding:var(--spacing-sm) var(--spacing-lg)}.header-btn-primary:hover{background-color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0071e34d}.header-btn-primary:active{transform:translateY(0)}.header-btn-secondary{background-color:var(--color-bg-secondary);color:var(--color-text-secondary);padding:var(--spacing-sm);width:40px;height:40px}.header-btn-secondary:hover{background-color:var(--color-border);color:var(--color-text-primary)}.kpi-card{background-color:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-md);box-shadow:var(--shadow-card);transition:all var(--transition-normal);border:1px solid transparent}.kpi-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.kpi-card-alert{border-left:4px solid var(--color-warning)}.kpi-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background-color:var(--color-accent-light);border-radius:var(--radius-md);flex-shrink:0}.kpi-icon svg{width:26px;height:26px;stroke:var(--color-accent);stroke-width:1.5}.kpi-icon-alert{background-color:#ff9f0a1f}.kpi-icon-alert svg{stroke:var(--color-warning)}.kpi-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.kpi-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight)}.kpi-title{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.projects-table tbody tr{transition:background-color var(--transition-fast)}.projects-table tbody tr:hover{background-color:var(--color-bg-tertiary)}.milestones-list{display:flex;flex-direction:column;padding:var(--spacing-md)}.milestone-item{display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) 0}.milestone-item:last-child .milestone-line{display:none}.milestone-indicator{display:flex;flex-direction:column;align-items:center;padding-top:6px}.milestone-dot{width:10px;height:10px;background-color:var(--color-accent);border-radius:var(--radius-full);flex-shrink:0}.milestone-line{width:2px;flex:1;background-color:var(--color-border);margin-top:var(--spacing-xs)}.milestone-content{flex:1;min-width:0}.milestone-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.milestone-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.milestone-countdown{font-size:var(--font-size-xs);color:var(--color-accent);font-weight:var(--font-weight-semibold);background-color:var(--color-accent-light);padding:2px var(--spacing-sm);border-radius:var(--radius-sm);flex-shrink:0}.milestone-meta{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.milestone-divider{color:var(--color-border)}.milestone-project{color:var(--color-text-tertiary)}.activity-feed{display:flex;flex-direction:column;padding:var(--spacing-md)}.activity-item{display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-light)}.activity-item:last-child{border-bottom:none}.activity-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);flex-shrink:0}.activity-icon svg{width:18px;height:18px;stroke-width:1.5}.activity-icon-update{background-color:var(--color-accent-light)}.activity-icon-update svg{stroke:var(--color-accent)}.activity-icon-order{background-color:var(--color-bg-secondary)}.activity-icon-order svg{stroke:var(--color-text-secondary)}.activity-icon-invoice{background-color:#34c7591f}.activity-icon-invoice svg{stroke:var(--color-success)}.activity-icon-risk{background-color:#ff9f0a1f}.activity-icon-risk svg{stroke:var(--color-warning)}.activity-icon-team{background-color:#af52de1f}.activity-icon-team svg{stroke:#af52de}.activity-icon-milestone{background-color:#34c7591f}.activity-icon-milestone svg{stroke:var(--color-success)}.activity-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.activity-message{font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:var(--line-height-normal)}.activity-time{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.dashboard{flex:1;display:flex;flex-direction:column;background-color:var(--color-bg-secondary)}.dashboard-content{flex:1;padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-xl)}.dashboard-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.section-header{display:flex;justify-content:space-between;align-items:center}.section-action{background:none;border:none;color:var(--color-accent);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.section-action:hover{background-color:var(--color-accent-light)}.section-card{background-color:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;transition:box-shadow var(--transition-normal)}.section-card:hover{box-shadow:var(--shadow-card-hover)}.two-column-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl)}@media(max-width:1400px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:1200px){.two-column-grid{grid-template-columns:1fr}}@media(max-width:768px){.kpi-grid{grid-template-columns:1fr}.dashboard-content{padding:var(--spacing-md)}}.modal-overlay{position:fixed;inset:0;background-color:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding:60px 20px;z-index:1000;overflow-y:auto}.modal-content{background-color:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-height:calc(100vh - 120px);display:flex;flex-direction:column;animation:modalSlideIn .3s cubic-bezier(.175,.885,.32,1.275)}@keyframes modalSlideIn{0%{transform:translateY(-30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-small{width:440px}.modal-medium{width:560px}.modal-large{width:720px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border)}.modal-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;letter-spacing:var(--letter-spacing-tight)}.modal-close{background:none;border:none;font-size:20px;color:var(--color-text-tertiary);cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all var(--transition-fast)}.modal-close:hover{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.modal-body{padding:var(--spacing-xl);overflow-y:auto}.new-project-form{display:flex;flex-direction:column;gap:var(--spacing-xl)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.form-group-full{grid-column:1 / -1}.form-group select{cursor:pointer}.error-message{font-size:var(--font-size-xs);color:var(--color-danger)}.constraint-tag{padding:var(--spacing-xs) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--color-text-secondary);background-color:var(--color-bg-card);cursor:pointer;transition:all var(--transition-fast)}.form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.projects-page{flex:1;display:flex;flex-direction:column;background-color:var(--color-bg-secondary)}.projects-content{flex:1;padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-lg)}.projects-toolbar{display:flex;justify-content:space-between;align-items:center}.btn-new-project{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-new-project svg{width:18px;height:18px}.btn-new-project:hover{background-color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0071e34d}.projects-table-card{background-color:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.projects-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.projects-table thead{background-color:var(--color-bg-secondary)}.projects-table th{text-align:left;padding:var(--spacing-md);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border)}.projects-table td{padding:var(--spacing-md);border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary)}.projects-table tbody tr:last-child td{border-bottom:none}.project-name{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.budget{font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace;font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.status-badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap}.status-on-track{background-color:#34c7591f;color:#248a3d}.status-at-risk{background-color:#ff9f0a1f;color:#b25000}.status-delayed{background-color:#ff3b301f;color:#d70015}.status-completed{background-color:#0071e31f;color:#0055d4}.type-badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap}.type-residential{background-color:#af52de1f;color:#8944ab}.type-commercial{background-color:#0071e31f;color:#0055d4}.type-renovation{background-color:#ff2d551f;color:#d30f45}.type-infrastructure{background-color:#5856d61f;color:#5856d6}.project-details{min-height:100vh;background-color:var(--color-bg-secondary)}.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:var(--spacing-lg)}.not-found h2{color:var(--color-text-secondary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight)}.not-found button{padding:var(--spacing-sm) var(--spacing-xl);background-color:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.not-found button:hover{background-color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0071e34d}.details-header{background-color:var(--color-bg-card);border-bottom:1px solid var(--color-border);padding:var(--spacing-lg) var(--spacing-2xl) var(--spacing-xl)}.back-button{background:none;border:none;color:var(--color-accent);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;padding:0;margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-xs);transition:all var(--transition-fast)}.back-button:hover{color:var(--color-accent-hover)}.header-content{display:flex;justify-content:space-between;align-items:flex-start}.project-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0;letter-spacing:var(--letter-spacing-tight)}.project-meta{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.meta-item{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.meta-divider{color:var(--color-border)}.details-content{padding:var(--spacing-xl) var(--spacing-2xl)}.details-grid{display:grid;grid-template-columns:1fr 360px;gap:var(--spacing-xl)}.main-column,.side-column{display:flex;flex-direction:column;gap:var(--spacing-xl)}.details-section{background-color:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:var(--spacing-xl)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;letter-spacing:var(--letter-spacing-tight)}.btn-add{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-add:hover{background-color:var(--color-bg-tertiary);transform:translateY(-1px)}.btn-add-small{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.overview-card{display:flex;flex-direction:column;gap:var(--spacing-xl)}.overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-lg)}.overview-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.overview-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-weight:var(--font-weight-medium)}.overview-value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.budget-value{font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace;color:var(--color-success)}.scope-summary{padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.scope-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:var(--spacing-sm) 0 0 0}.constraints-section{padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.constraints-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.constraint-badge{padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-bg-secondary);color:var(--color-text-secondary);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.status-completed{background-color:#0071e31a;color:var(--color-accent)}.milestones-card,.risks-card,.documents-card{margin-top:calc(-1 * var(--spacing-xs))}.milestones-list{display:flex;flex-direction:column}.milestone-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) 0;border-bottom:1px solid var(--color-border-light);transition:background-color var(--transition-fast)}.milestone-row:last-child{border-bottom:none}.milestone-row:hover{background-color:var(--color-bg-tertiary);margin:0 calc(-1 * var(--spacing-md));padding-left:var(--spacing-md);padding-right:var(--spacing-md);border-radius:var(--radius-md)}.milestone-status-dot{width:10px;height:10px;border-radius:var(--radius-full);flex-shrink:0}.milestone-done{background-color:var(--color-success)}.milestone-in-progress{background-color:var(--color-accent)}.milestone-not-started{background-color:var(--color-border)}.milestone-info{flex:1;display:flex;flex-direction:column;gap:2px}.milestone-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.milestone-date{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.milestone-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.milestone-badge.milestone-done{background-color:#34c7591f;color:var(--color-success)}.milestone-badge.milestone-in-progress{background-color:#0071e31a;color:var(--color-accent)}.milestone-badge.milestone-not-started{background-color:var(--color-bg-secondary);color:var(--color-text-tertiary)}.risks-list{display:flex;flex-direction:column}.risk-row{padding:var(--spacing-md) 0;border-bottom:1px solid var(--color-border-light)}.risk-row:last-child{border-bottom:none}.risk-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.risk-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.severity-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.severity-high{background-color:#ff3b301f;color:var(--color-danger)}.severity-medium{background-color:#ff95001f;color:var(--color-warning)}.severity-low{background-color:#34c7591f;color:var(--color-success)}.risk-mitigation{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:var(--line-height-relaxed)}.risk-mitigation strong{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.documents-list{display:flex;flex-direction:column}.document-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-light);transition:background-color var(--transition-fast);cursor:pointer}.document-row:last-child{border-bottom:none}.document-row:hover{background-color:var(--color-bg-tertiary);margin:0 calc(-1 * var(--spacing-sm));padding-left:var(--spacing-sm);padding-right:var(--spacing-sm);border-radius:var(--radius-md)}.document-icon{font-size:var(--font-size-lg)}.document-name{font-size:var(--font-size-sm);color:var(--color-text-secondary);word-break:break-all}.empty-message{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0;padding:var(--spacing-sm) 0}.add-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.add-form .form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.add-form label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.add-form input,.add-form select,.add-form textarea{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);background-color:var(--color-bg-card);transition:all var(--transition-fast)}.add-form input:focus,.add-form select:focus,.add-form textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.add-form textarea{resize:vertical}.add-form .form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding-top:var(--spacing-sm)}.btn-primary:hover{background-color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0071e34d}@media(max-width:1024px){.details-grid{grid-template-columns:1fr}.overview-grid{grid-template-columns:repeat(2,1fr)}.details-content,.details-header{padding:var(--spacing-lg)}}.clients-page{flex:1;display:flex;flex-direction:column;background-color:var(--color-bg-secondary)}.clients-content{flex:1;padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-lg)}.clients-toolbar{display:flex;justify-content:space-between;align-items:center}.search-box{display:flex;align-items:center;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);width:380px;transition:all var(--transition-fast)}.btn-add-client{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-add-client svg{width:18px;height:18px}.btn-add-client:hover{background-color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0071e34d}.clients-table-card{background-color:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.clients-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.clients-table thead{background-color:var(--color-bg-secondary)}.clients-table th{text-align:left;padding:var(--spacing-md);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border)}.clients-table td{padding:var(--spacing-md);border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary)}.clients-table tbody tr:last-child td{border-bottom:none}.clickable-row{cursor:pointer;transition:background-color var(--transition-fast)}.clickable-row:hover{background-color:var(--color-bg-tertiary)}.client-name-cell{display:flex;align-items:center;gap:var(--spacing-md)}.client-avatar{width:40px;height:40px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-accent) 0%,#5856d6 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);flex-shrink:0}.client-name{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.industry-badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-bg-secondary);color:var(--color-text-secondary);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.project-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 var(--spacing-sm);background-color:var(--color-bg-secondary);color:var(--color-text-secondary);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.count-active{background-color:var(--color-accent-light);color:var(--color-accent)}.last-activity{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.no-results{padding:var(--spacing-3xl) var(--spacing-xl);text-align:center;color:var(--color-text-secondary)}.no-results p{margin:0;font-size:var(--font-size-sm)}.client-details{min-height:100vh;background-color:#f8fafc}.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:16px}.not-found h2{color:#6b7280}.not-found button{padding:10px 20px;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;cursor:pointer}.details-header{background-color:#fff;border-bottom:1px solid #e5e7eb;padding:16px 32px 24px}.back-button{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:#6b7280;font-size:14px;cursor:pointer;padding:0;margin-bottom:16px}.back-button svg{width:18px;height:18px}.back-button:hover{color:#3b82f6}.client-header-info{display:flex;align-items:center;gap:16px}.client-avatar-large{width:56px;height:56px;border-radius:12px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;flex-shrink:0}.client-header-text{display:flex;flex-direction:column;gap:4px}.client-title{font-size:24px;font-weight:700;color:#111827;margin:0}.client-industry{font-size:14px;color:#6b7280}.details-content{padding:24px 32px}.details-grid{display:grid;grid-template-columns:1fr 360px;gap:24px}.main-column,.side-column{display:flex;flex-direction:column;gap:24px}.details-section{background-color:#fff;border-radius:12px;border:1px solid #e5e7eb;padding:20px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title{font-size:15px;font-weight:600;color:#111827;margin:0 0 16px}.section-header .section-title{margin:0}.overview-card{display:flex;flex-direction:column;gap:16px}.overview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.overview-item{display:flex;flex-direction:column;gap:4px}.overview-label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.overview-value{font-size:14px;color:#111827;font-weight:500}.overview-email{color:#3b82f6}.client-notes{padding-top:16px;border-top:1px solid #f3f4f6}.notes-text{font-size:14px;color:#374151;line-height:1.6;margin:8px 0 0}.tab-buttons{display:flex;gap:4px;background-color:#f3f4f6;padding:4px;border-radius:8px}.tab-btn{padding:6px 12px;font-size:13px;font-weight:500;border:none;background:none;color:#6b7280;border-radius:6px;cursor:pointer;transition:all .15s ease}.tab-btn:hover{color:#374151}.tab-active{background-color:#fff;color:#111827;box-shadow:0 1px 2px #0000000d}.projects-card,.proposals-card{margin-top:-4px}.projects-list,.proposals-list{display:flex;flex-direction:column}.project-row{padding:14px 0;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:background-color .15s ease}.project-row:last-child{border-bottom:none}.project-row:hover{background-color:#fafafa;margin:0 -20px;padding:14px 20px}.project-main{display:flex;align-items:center;gap:10px;margin-bottom:6px}.project-name{font-size:14px;font-weight:600;color:#111827}.project-meta{font-size:12px;color:#6b7280;display:flex;align-items:center;gap:6px}.meta-divider{color:#d1d5db}.project-budget{font-weight:500;color:#374151}.status-badge{display:inline-block;padding:3px 8px;border-radius:20px;font-size:11px;font-weight:600}.status-on-track{background-color:#d1fae5;color:#065f46}.status-at-risk{background-color:#fef3c7;color:#92400e}.status-delayed{background-color:#fee2e2;color:#991b1b}.status-completed{background-color:#e0e7ff;color:#3730a3}.btn-new-proposal{padding:6px 12px;font-size:13px;font-weight:500;border:none;background-color:#3b82f6;color:#fff;border-radius:6px;cursor:pointer;transition:background-color .15s ease}.btn-new-proposal:hover{background-color:#2563eb}.proposal-row{padding:16px 0;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.proposal-row:last-child{border-bottom:none}.proposal-main{flex:1;min-width:0}.proposal-title{font-size:14px;font-weight:600;color:#111827;display:block;margin-bottom:6px}.proposal-stats{font-size:13px;color:#374151;display:flex;align-items:center;gap:6px;margin-bottom:4px}.stat-divider{color:#d1d5db}.confidence-badge{padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}.confidence-high{background-color:#d1fae5;color:#065f46}.confidence-medium{background-color:#fef3c7;color:#92400e}.confidence-low{background-color:#fee2e2;color:#991b1b}.proposal-meta{font-size:12px;color:#9ca3af;display:flex;align-items:center;gap:6px}.proposal-actions{display:flex;gap:8px;flex-shrink:0}.btn-action{padding:6px 12px;font-size:12px;font-weight:500;border:1px solid #e5e7eb;background-color:#fff;color:#374151;border-radius:6px;cursor:pointer;transition:all .15s ease}.btn-action:hover{background-color:#f9fafb;border-color:#d1d5db}.btn-action-danger:hover{background-color:#fef2f2;border-color:#fecaca;color:#dc2626}.empty-message{font-size:14px;color:#9ca3af;margin:0;padding:16px 0}.insights-section{background:linear-gradient(135deg,#fafafa,#f5f5f5)}.insights-card{display:flex;flex-direction:column;gap:16px}.insight-item{display:flex;flex-direction:column;gap:6px}.insight-label{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.insight-value{font-size:14px;color:#111827;font-weight:500}.insight-tags{display:flex;flex-wrap:wrap;gap:6px}.insight-tag{padding:4px 10px;background-color:#fff;border:1px solid #e5e7eb;color:#374151;border-radius:6px;font-size:12px;font-weight:500}.constraint-tag{background-color:#fef3c7;border-color:#fde68a;color:#92400e}.insight-approach{padding-top:12px;border-top:1px solid #e5e7eb}.insight-text{font-size:13px;color:#374151;line-height:1.5;margin:0}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-card{background-color:#f9fafb;border-radius:8px;padding:16px;text-align:center}.stat-value{display:block;font-size:28px;font-weight:700;color:#111827;line-height:1.2}.stat-label{font-size:12px;color:#6b7280;margin-top:4px}@media(max-width:1024px){.details-grid,.overview-grid{grid-template-columns:1fr}}.proposals-page{flex:1;display:flex;flex-direction:column;background-color:var(--color-bg-secondary)}.proposals-content{flex:1;padding:var(--spacing-xl)}.proposals-grid{display:grid;grid-template-columns:420px 1fr;gap:var(--spacing-xl);align-items:start}.left-column{display:flex;flex-direction:column;gap:var(--spacing-lg)}.request-card,.similar-projects-card{background-color:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:var(--spacing-xl)}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-lg) 0;letter-spacing:var(--letter-spacing-tight)}.card-subtitle{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:calc(-1 * var(--spacing-sm)) 0 var(--spacing-lg) 0}.request-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-group input,.form-group select,.form-group textarea{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);background-color:var(--color-bg-card);transition:all var(--transition-fast)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-tertiary)}.form-group textarea{resize:vertical;min-height:80px}.input-error{border-color:var(--color-danger)!important}.error-text{font-size:var(--font-size-xs);color:var(--color-danger)}.constraints-grid{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.constraint-tag{padding:var(--spacing-xs) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--color-text-secondary);background-color:var(--color-bg-card);cursor:pointer;transition:all var(--transition-fast)}.constraint-tag:hover{border-color:var(--color-accent);color:var(--color-accent)}.constraint-active{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}.constraint-active:hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover);color:#fff}.form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-sm)}.btn-primary,.btn-secondary{padding:var(--spacing-sm) var(--spacing-xl);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);border:none}.btn-primary{background-color:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0071e34d}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.btn-secondary{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.btn-secondary:hover{background-color:var(--color-bg-tertiary)}.btn-generate{display:flex;align-items:center;gap:var(--spacing-sm)}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.similar-projects-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.similar-project-item{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.similar-project-item:hover{border-color:var(--color-border);background-color:var(--color-bg-tertiary)}.project-linked{border-color:var(--color-accent);background-color:#0071e30d}.project-info{flex:1;min-width:0}.project-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.project-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.project-type-badge{font-size:var(--font-size-xs);padding:2px var(--spacing-sm);background-color:var(--color-bg-secondary);color:var(--color-text-tertiary);border-radius:var(--radius-full)}.project-stats{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-bottom:var(--spacing-xs)}.stat-divider{margin:0 var(--spacing-xs);color:var(--color-border)}.project-reason{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:0;font-style:italic}.btn-link-ref{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg-card);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-link-ref:hover{border-color:var(--color-accent);color:var(--color-accent)}.btn-linked{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn-linked:hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover);color:#fff}.right-column{min-height:500px}.proposal-placeholder{background-color:var(--color-bg-card);border:2px dashed var(--color-border);border-radius:var(--radius-xl);padding:80px var(--spacing-2xl);text-align:center}.placeholder-icon{width:64px;height:64px;margin:0 auto var(--spacing-lg) auto;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-secondary);border-radius:var(--radius-lg)}.placeholder-icon svg{width:32px;height:32px;stroke:var(--color-text-tertiary)}.proposal-placeholder h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0;letter-spacing:var(--letter-spacing-tight)}.proposal-placeholder p{font-size:var(--font-size-sm);color:var(--color-text-secondary);max-width:300px;margin:0 auto}.proposal-loading{background-color:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:80px var(--spacing-2xl);text-align:center}.loading-spinner{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--spacing-xl) auto}.proposal-loading h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.proposal-loading p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.proposal-draft{background-color:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:var(--spacing-xl)}.proposal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.proposal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;letter-spacing:var(--letter-spacing-tight)}.proposal-badge{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:#5856d61a;color:#5856d6;border-radius:var(--radius-full);font-weight:var(--font-weight-semibold)}.proposal-section{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-border-light)}.proposal-section:last-of-type{margin-bottom:0;padding-bottom:0;border-bottom:none}.proposal-section .section-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0;display:flex;align-items:center;gap:var(--spacing-sm)}.proposal-section .section-title:before{content:"";width:4px;height:16px;background-color:var(--color-accent);border-radius:2px}.summary-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}.scope-list{list-style:none;padding:0;margin:0}.scope-list li{position:relative;padding-left:var(--spacing-lg);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.scope-list li:before{content:"•";position:absolute;left:0;color:var(--color-accent);font-weight:700}.scope-list li:last-child{margin-bottom:0}.phases-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.phase-item{background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.phase-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.phase-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.phase-duration{font-size:var(--font-size-xs);color:var(--color-text-tertiary);background-color:var(--color-bg-card);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);border:1px solid var(--color-border-light)}.phase-activities{list-style:none;padding:0;margin:0}.phase-activities li{position:relative;padding-left:var(--spacing-lg);margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.phase-activities li:before{content:"–";position:absolute;left:0;color:var(--color-border)}.phase-activities li:last-child{margin-bottom:0}.timeline-summary{margin-bottom:var(--spacing-lg)}.total-duration{display:inline-flex;flex-direction:column;background-color:#0071e314;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-lg)}.duration-label{font-size:var(--font-size-xs);color:var(--color-accent);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.5px}.duration-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-accent-hover);letter-spacing:var(--letter-spacing-tight)}.timeline-details{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl)}.timeline-column h4{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.timeline-column ul{list-style:none;padding:0;margin:0}.timeline-column li{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-bottom:var(--spacing-sm);padding-left:var(--spacing-lg);position:relative}.timeline-column li:before{content:"→";position:absolute;left:0;color:var(--color-border);font-size:var(--font-size-xs)}.cost-summary{margin-bottom:var(--spacing-lg)}.total-cost{display:inline-flex;flex-direction:column;background-color:#34c75914;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-lg)}.cost-label{font-size:var(--font-size-xs);color:var(--color-success);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.5px}.cost-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:#065f46;font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace}.cost-breakdown{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.cost-item{display:flex;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-secondary);border-radius:var(--radius-md)}.cost-category{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.cost-amount{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace}.cost-note{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-style:italic;margin:0}.next-actions-list{padding-left:var(--spacing-lg);margin:0}.next-actions-list li{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);line-height:var(--line-height-normal)}.next-actions-list li:last-child{margin-bottom:0}.next-actions-list li::marker{color:var(--color-accent);font-weight:var(--font-weight-semibold)}.references-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.reference-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);border-left:3px solid var(--color-accent)}.ref-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.ref-details{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.ref-divider{margin:0 var(--spacing-xs);color:var(--color-border)}.proposal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light)}@media(max-width:1200px){.proposals-grid{grid-template-columns:1fr}.right-column{min-height:auto}}@media(max-width:600px){.form-row,.timeline-details,.cost-breakdown{grid-template-columns:1fr}}.resources-page{flex:1;display:flex;flex-direction:column;background-color:var(--color-bg-secondary)}.resources-content{flex:1;padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-lg)}.summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}.summary-card{background-color:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:var(--spacing-xl);display:flex;align-items:center;gap:var(--spacing-lg);transition:all var(--transition-fast)}.summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.summary-icon{width:56px;height:56px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.summary-icon svg{width:28px;height:28px}.team-icon{background-color:#0071e31a;color:var(--color-accent)}.equipment-icon{background-color:#ff95001f;color:var(--color-warning)}.materials-icon{background-color:#34c7591f;color:var(--color-success)}.summary-info{display:flex;flex-direction:column;gap:2px}.summary-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}.summary-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.summary-detail{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.resources-toolbar{display:flex;justify-content:space-between;align-items:center}.tab-buttons{display:flex;gap:var(--spacing-xs);background-color:var(--color-bg-tertiary);padding:var(--spacing-xs);border-radius:var(--radius-lg)}.tab-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:none;background:none;color:var(--color-text-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.tab-btn svg{width:18px;height:18px}.tab-btn:hover{color:var(--color-text-secondary)}.tab-active{background-color:var(--color-bg-card);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.search-box{display:flex;align-items:center;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);width:300px;transition:all var(--transition-fast)}.search-box:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.search-icon{width:18px;height:18px;margin-right:var(--spacing-sm);stroke:var(--color-text-tertiary);flex-shrink:0}.search-box input{border:none;outline:none;font-size:var(--font-size-sm);width:100%;color:var(--color-text-primary);background:transparent}.search-box input::placeholder{color:var(--color-text-tertiary)}.resources-table-card{background-color:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);overflow:hidden}.table-container{overflow-x:auto}.resources-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.resources-table thead{background-color:var(--color-bg-secondary)}.resources-table th{text-align:left;padding:var(--spacing-md);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border);white-space:nowrap}.resources-table td{padding:var(--spacing-md);border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);vertical-align:middle}.resources-table tbody tr:last-child td{border-bottom:none}.resources-table tbody tr{transition:background-color var(--transition-fast)}.resources-table tbody tr:hover{background-color:var(--color-bg-tertiary)}.member-cell{display:flex;align-items:center;gap:var(--spacing-md)}.member-avatar{width:44px;height:44px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-accent) 0%,#5856d6 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);flex-shrink:0}.member-info{display:flex;flex-direction:column;gap:2px}.member-name{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.member-email{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.department-badge,.category-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-bg-secondary);color:var(--color-text-secondary);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.status-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.status-active,.status-available{background-color:#34c7591f;color:var(--color-success)}.status-busy,.status-in-use{background-color:#0071e31a;color:var(--color-accent)}.status-away{background-color:#ff3b301f;color:var(--color-danger)}.status-maintenance{background-color:#ff95001f;color:var(--color-warning)}.availability-cell{display:flex;align-items:center;gap:var(--spacing-sm)}.availability-bar{width:80px;height:6px;background-color:var(--color-bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.availability-fill{height:100%;border-radius:var(--radius-full);transition:width .3s ease}.availability-high{background-color:var(--color-success)}.availability-medium{background-color:var(--color-warning)}.availability-low{background-color:var(--color-danger)}.availability-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);min-width:36px}.projects-cell{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);max-width:300px}.project-tag{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background-color:#5856d61a;color:#5856d6;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.no-projects{color:var(--color-text-tertiary);font-style:italic;font-size:var(--font-size-sm)}.equipment-name,.material-name{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.rate-cell{font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace;font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.supplier-cell{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.stock-value{font-weight:var(--font-weight-medium)}.stock-ok{color:var(--color-success)}.stock-medium{color:var(--color-warning)}.stock-low{color:#ea580c}.stock-empty{color:var(--color-danger);font-weight:var(--font-weight-semibold)}@media(max-width:1200px){.summary-cards{grid-template-columns:1fr}.resources-toolbar{flex-direction:column;gap:var(--spacing-lg);align-items:stretch}.tab-buttons{overflow-x:auto}.search-box{width:100%}}.analytics-page{flex:1;display:flex;flex-direction:column;background-color:var(--color-bg-secondary)}.analytics-content{flex:1;padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-lg)}.analytics-toolbar{display:flex;justify-content:space-between;align-items:center}.time-range-selector{display:flex;gap:var(--spacing-xs);background-color:var(--color-bg-tertiary);padding:var(--spacing-xs);border-radius:var(--radius-lg)}.range-btn{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:none;background:none;color:var(--color-text-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.range-btn:hover{color:var(--color-text-secondary)}.range-active{background-color:var(--color-bg-card);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.btn-export{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:1px solid var(--color-border);background-color:var(--color-bg-card);color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.btn-export:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-border);color:var(--color-text-primary)}.btn-export svg{width:18px;height:18px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-lg)}.kpi-card{background-color:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:var(--spacing-xl);transition:all var(--transition-fast)}.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.kpi-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.kpi-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.kpi-trend{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:2px var(--spacing-sm);border-radius:var(--radius-sm)}.trend-up{background-color:#34c7591f;color:var(--color-success)}.trend-down{background-color:#ff3b301f;color:var(--color-danger)}.kpi-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:2px var(--spacing-sm);background-color:#ff95001f;color:var(--color-warning);border-radius:var(--radius-sm)}.kpi-value{display:block;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs);letter-spacing:var(--letter-spacing-tight)}.kpi-comparison{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.charts-row{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--spacing-lg)}.chart-card{background-color:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:var(--spacing-xl)}.chart-large{grid-column:span 1}.chart-header{margin-bottom:var(--spacing-xl)}.chart-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0;letter-spacing:var(--letter-spacing-tight)}.chart-subtitle{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.bar-chart{display:flex;align-items:flex-end;justify-content:space-between;height:200px;padding-top:30px}.bar-item{display:flex;flex-direction:column;align-items:center;flex:1;height:100%}.bar-container{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;padding:0 var(--spacing-sm)}.bar-fill{width:100%;max-width:48px;background:linear-gradient(180deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);border-radius:var(--radius-sm) var(--radius-sm) 0 0;position:relative;min-height:20px;transition:height .3s ease}.bar-value{position:absolute;top:-24px;left:50%;transform:translate(-50%);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);white-space:nowrap}.bar-label{margin-top:var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary)}.donut-chart-container{display:flex;align-items:center;gap:var(--spacing-xl)}.donut-chart{width:140px;height:140px;flex-shrink:0}.donut-chart svg{width:100%;height:100%}.donut-legend{display:flex;flex-direction:column;gap:var(--spacing-sm)}.legend-item{display:flex;align-items:center;gap:var(--spacing-sm)}.legend-color{width:12px;height:12px;border-radius:var(--radius-xs);flex-shrink:0}.legend-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);flex:1}.legend-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.performance-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.performance-item{padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.performance-item:last-child{padding-bottom:0;border-bottom:none}.performance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.performance-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.performance-status{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full)}.status-on-track{background-color:#34c7591f;color:var(--color-success)}.status-at-risk{background-color:#ff95001f;color:var(--color-warning)}.status-delayed{background-color:#ff3b301f;color:var(--color-danger)}.performance-bars{display:flex;flex-direction:column;gap:var(--spacing-xs)}.perf-bar-row{display:flex;align-items:center;gap:var(--spacing-sm)}.perf-bar-label{width:50px;font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.perf-bar-track{flex:1;height:6px;background-color:var(--color-bg-tertiary);border-radius:var(--radius-full);overflow:visible;position:relative}.perf-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .3s ease}.perf-bar-overflow{position:absolute;right:0;top:0;height:100%;background-color:var(--color-danger);border-radius:0 var(--radius-full) var(--radius-full) 0;transform:translate(100%)}.perf-ok{background-color:var(--color-success)}.perf-warning{background-color:var(--color-warning)}.perf-danger{background-color:var(--color-danger)}.perf-bar-value{width:40px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-align:right}.clients-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.client-item{display:flex;align-items:center;gap:var(--spacing-md)}.client-rank{width:28px;height:28px;border-radius:var(--radius-md);background-color:var(--color-bg-secondary);color:var(--color-text-tertiary);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);flex-shrink:0}.client-info{flex:1;min-width:0}.client-name{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-projects{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.client-revenue{display:flex;align-items:center;gap:var(--spacing-sm);width:140px;flex-shrink:0}.revenue-bar-track{flex:1;height:6px;background-color:var(--color-bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.revenue-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-success) 0%,#059669 100%);border-radius:var(--radius-full)}.revenue-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);min-width:50px;text-align:right}.type-distribution{display:flex;flex-direction:column;gap:var(--spacing-lg)}.type-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.type-header{display:flex;align-items:center;gap:var(--spacing-sm)}.type-color{width:12px;height:12px;border-radius:var(--radius-xs);flex-shrink:0}.type-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.type-stats{display:flex;justify-content:space-between;align-items:center}.type-count{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.type-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.type-bar-track{height:8px;background-color:var(--color-bg-tertiary);border-radius:var(--radius-sm);overflow:hidden}.type-bar-fill{height:100%;border-radius:var(--radius-sm);transition:width .3s ease}.metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-xl)}.metric-item{display:flex;flex-direction:column;align-items:center;text-align:center}.metric-gauge{position:relative;width:100px;height:60px;margin-bottom:var(--spacing-sm)}.metric-gauge svg{width:100%;height:100%}.gauge-value{position:absolute;bottom:0;left:50%;transform:translate(-50%);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.metric-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-weight:var(--font-weight-medium)}@media(max-width:1200px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.charts-row{grid-template-columns:1fr}.analytics-toolbar{flex-direction:column;gap:var(--spacing-lg);align-items:stretch}.time-range-selector{justify-content:center}}@media(max-width:768px){.kpi-grid{grid-template-columns:1fr}.donut-chart-container{flex-direction:column;align-items:center}.metrics-grid{grid-template-columns:1fr}}.placeholder-page{flex:1;display:flex;flex-direction:column;background-color:var(--color-bg-secondary)}.placeholder-content{flex:1;padding:var(--spacing-xl);display:flex;justify-content:center;align-items:flex-start}.placeholder-card{background-color:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:var(--spacing-3xl);text-align:center;max-width:500px}.placeholder-icon{width:80px;height:80px;margin:0 auto var(--spacing-lg) auto;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-secondary);border-radius:var(--radius-lg)}.placeholder-icon svg{width:40px;height:40px;stroke:var(--color-text-tertiary)}.placeholder-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0;letter-spacing:var(--letter-spacing-tight)}.placeholder-description{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0;line-height:var(--line-height-relaxed)}
