@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--color-bg-overlay);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-4);animation:modal-fade-in var(--transition-normal)}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-bg-surface);border-radius:var(--radius-xl);width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);border:1px solid var(--color-border-subtle);animation:modal-slide-up var(--transition-slow);overflow:hidden}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border-subtle);background-color:var(--color-bg-surface);flex-shrink:0}.modal-header h2{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}.modal-close-btn{background:none;border:none;cursor:pointer;padding:var(--space-2);color:var(--color-text-muted);border-radius:var(--radius-md);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.modal-close-btn:hover{background-color:var(--color-bg-muted);color:var(--color-text-primary)}.modal-body{padding:var(--space-6);overflow-y:auto;flex:1;background-color:var(--color-bg-surface)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border-subtle);background-color:var(--color-bg-subtle);flex-shrink:0}.modal-content.modal-sm{max-width:440px}.modal-content.modal-md{max-width:600px}.modal-content.modal-lg{max-width:900px}.modal-content.modal-xl{max-width:1140px}@media (max-width: 768px){.modal-overlay{padding:var(--space-3)}.modal-content{max-width:100%;max-height:95vh;border-radius:var(--radius-lg)}.modal-header,.modal-body,.modal-footer{padding-left:var(--space-4);padding-right:var(--space-4)}}.login-modal-content{padding:var(--space-8);max-width:440px;margin:0 auto}.login-header{text-align:center;margin-bottom:var(--space-8)}.login-logo{display:flex;justify-content:center;margin-bottom:var(--space-6)}.login-logo-image{width:200px;height:auto;max-height:100px;object-fit:contain}.login-header h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-2) 0;letter-spacing:var(--letter-spacing-tight)}.login-header p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0;line-height:var(--line-height-relaxed)}.login-form{margin-bottom:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.input-with-icon{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:var(--space-3);color:var(--color-text-muted);pointer-events:none;display:flex;align-items:center}.input-with-icon input{width:100%;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-10);background-color:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input-with-icon.no-icon input{padding-left:var(--space-4)}.input-with-icon input::placeholder{color:var(--color-text-subtle)}.input-with-icon input:focus{outline:none;border-color:var(--color-brand-500);box-shadow:var(--shadow-focus)}.input-with-icon input.error{border-color:var(--color-danger-500)}.input-with-icon input.error:focus{box-shadow:0 0 0 3px #ef444426}.btn-full{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);border:none;display:flex;align-items:center;justify-content:center;gap:var(--space-2);letter-spacing:var(--letter-spacing-tight)}.btn-primary{background-color:var(--color-brand-500);color:var(--color-text-inverse);box-shadow:var(--shadow-xs)}.btn-primary:hover{background-color:var(--color-brand-600);box-shadow:var(--shadow-sm)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;background-color:var(--color-brand-400)}.btn-google{background-color:var(--color-bg-surface);color:var(--color-text-primary);border:1px solid var(--color-border-default)}.btn-google:hover:not(:disabled){background-color:var(--color-bg-muted);border-color:var(--color-border-strong)}.btn-google:disabled{opacity:.6;cursor:not-allowed}.login-divider{display:flex;align-items:center;margin:var(--space-6) 0;text-align:center;color:var(--color-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);font-weight:var(--font-weight-medium)}.login-divider:before,.login-divider:after{content:"";flex:1;border-bottom:1px solid var(--color-border-subtle)}.login-divider span{padding:0 var(--space-4)}.error-message{color:var(--color-danger-700);font-size:var(--font-size-xs);margin-top:var(--space-1);display:block}.user-menu{position:relative}.user-button{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background-color:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.user-button:hover{background-color:var(--color-bg-muted);border-color:var(--color-brand-500)}.user-avatar{width:32px;height:32px;border-radius:var(--radius-full);object-fit:cover}.user-info{display:flex;flex-direction:column;align-items:flex-start}.user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.user-email{font-size:var(--font-size-xs);color:var(--color-text-muted)}.user-menu-dropdown{position:absolute;top:calc(100% + var(--space-2));right:0;background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:220px;z-index:var(--z-dropdown);overflow:hidden}.user-menu-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);width:100%;border:none;background:none;text-align:left;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-primary);transition:background-color var(--transition-fast)}.user-menu-item:hover{background-color:var(--color-bg-muted)}.user-menu-item.logout{color:var(--color-danger-700);border-top:1px solid var(--color-border-subtle)}.user-menu-item.logout:hover{background-color:var(--color-danger-50)}.layout{display:flex;min-height:100vh;background-color:var(--color-bg-base)}.sidebar{width:var(--sidebar-width);background-color:var(--color-bg-surface);border-right:1px solid var(--color-border-subtle);padding:var(--space-6) 0;position:fixed;height:100vh;overflow-y:auto;display:flex;flex-direction:column;z-index:var(--z-sticky)}.sidebar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:60vh;background-image:url(/brand/branch-watermark-sidebar.svg);background-repeat:no-repeat;background-position:bottom center;background-size:contain;opacity:.25;pointer-events:none;z-index:0}.sidebar>*{position:relative;z-index:1}.logo{padding:0 var(--space-6) var(--space-6);border-bottom:1px solid var(--color-border-subtle);margin-bottom:var(--space-6);display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.logo-image{width:96px;height:auto;max-height:60px;object-fit:contain;display:block}.logo h1{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-brand-600);text-align:center;letter-spacing:var(--letter-spacing-tight)}.logo-subtitle{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);font-weight:var(--font-weight-medium)}.nav{display:flex;flex-direction:column;gap:var(--space-1);padding:0 var(--space-3);flex:1}.nav-section-label{font-size:var(--font-size-xs);color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);font-weight:var(--font-weight-semibold);padding:var(--space-3) var(--space-3) var(--space-2);margin-top:var(--space-4)}.nav-section-label:first-child{margin-top:0}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:.625rem var(--space-3);color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-md);transition:background-color var(--transition-fast),color var(--transition-fast);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);position:relative}.nav-item svg{width:18px;height:18px;stroke-width:1.75;color:var(--color-text-muted);transition:color var(--transition-fast);flex-shrink:0}.nav-item:hover{background-color:var(--color-bg-muted);color:var(--color-text-primary)}.nav-item:hover svg{color:var(--color-text-primary)}.nav-item.active{background-color:var(--color-brand-50);color:var(--color-brand-700);font-weight:var(--font-weight-semibold)}.nav-item.active svg{color:var(--color-brand-600)}.nav-item.active:before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:3px;height:60%;background-color:var(--color-brand-500);border-radius:0 var(--radius-xs) var(--radius-xs) 0}.sidebar-footer{padding:var(--space-4);border-top:1px solid var(--color-border-subtle);margin-top:auto}.user-info{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-md);transition:background-color var(--transition-fast);cursor:pointer}.user-info:hover{background-color:var(--color-bg-muted)}.user-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-brand-400),var(--color-brand-600));color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);flex-shrink:0;letter-spacing:var(--letter-spacing-tight)}.user-details{flex:1;min-width:0}.user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{display:inline-flex;align-items:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-brand-700);background-color:var(--color-brand-50);padding:2px var(--space-2);border-radius:var(--radius-full);margin-top:2px;letter-spacing:var(--letter-spacing-wide)}.logout-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);margin-top:var(--space-3);background-color:transparent;color:var(--color-text-muted);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.logout-btn:hover{color:var(--color-danger-700);border-color:var(--color-danger-500);background-color:var(--color-danger-50)}.logout-btn svg{width:16px;height:16px}.main-content{flex:1;margin-left:var(--sidebar-width);min-height:100vh;background-color:var(--color-bg-base);display:flex;flex-direction:column}.main-content-inner{padding:var(--space-6) var(--space-8) var(--space-10);flex:1}.topbar{height:var(--header-height);display:flex;align-items:center;justify-content:flex-end;padding:0 var(--space-8);background-color:var(--color-bg-base);border-bottom:1px solid var(--color-border-subtle);position:sticky;top:0;z-index:var(--z-header);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.topbar-user-wrapper{position:relative}.topbar-user-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:none;border:1px solid transparent;border-radius:var(--radius-full);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.topbar-user-btn:hover{background-color:var(--color-bg-muted);border-color:var(--color-border-subtle)}.topbar-user-avatar{width:32px;height:32px;border-radius:var(--radius-full);object-fit:cover}.topbar-user-avatar--initials{background:linear-gradient(135deg,var(--color-brand-400),var(--color-brand-600));color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-tight)}.topbar-user-chevron{color:var(--color-text-muted);margin-right:var(--space-1)}.topbar-login-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background-color:var(--color-brand-500);color:var(--color-text-inverse);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast)}.topbar-login-btn:hover{background-color:var(--color-brand-600)}.topbar-user-wrapper .user-menu-dropdown{position:absolute;top:calc(100% + var(--space-2));right:0;background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:240px;z-index:var(--z-dropdown);overflow:hidden;animation:dropdown-fade-in var(--transition-fast)}@keyframes dropdown-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{display:flex;flex-direction:column;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle);gap:2px;background-color:var(--color-bg-subtle)}.user-menu-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-email{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-role{display:inline-flex;align-items:center;align-self:flex-start;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-brand-700);background-color:var(--color-brand-50);padding:2px var(--space-2);border-radius:var(--radius-full);margin-top:var(--space-2);letter-spacing:var(--letter-spacing-wide)}.page-container{max-width:var(--content-max-width);margin:0 auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border-subtle)}.page-header-content{flex:1}.page-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);margin-bottom:var(--space-2)}.page-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-relaxed)}.page-header-actions{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}@media (max-width: 1024px){.sidebar{transform:translate(-100%);transition:transform var(--transition-normal)}.sidebar.open{transform:translate(0);box-shadow:var(--shadow-xl)}.main-content{margin-left:0;padding:var(--space-6) var(--space-4)}.mobile-menu-toggle{display:flex}}@media (max-width: 640px){.main-content{padding:var(--space-4)}.page-header{flex-direction:column;align-items:stretch;gap:var(--space-4)}.page-title{font-size:var(--font-size-xl)}}.mobile-menu-toggle{display:none;position:fixed;top:var(--space-4);left:var(--space-4);z-index:var(--z-overlay);width:40px;height:40px;align-items:center;justify-content:center;background-color:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--color-bg-overlay);z-index:calc(var(--z-sticky) - 1)}.sidebar-overlay.open{display:block}.page{max-width:100%;width:100%;margin:0 auto;padding:0}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-5);flex-wrap:wrap;gap:var(--space-3)}.page-header h1{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)}.page-subtitle{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:2px;width:100%;line-height:var(--line-height-normal)}.btn-primary{background-color:var(--color-brand-700);color:#fff;border:1px solid var(--color-brand-700);padding:7px 14px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-family-base);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);display:inline-flex;align-items:center;gap:6px}.btn-primary:hover{background-color:var(--color-brand-800, #4A2A75);border-color:var(--color-brand-800, #4A2A75)}.btn-primary:disabled{background-color:var(--color-bg-muted);color:var(--color-text-muted);border-color:var(--color-border-default);cursor:not-allowed}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:.75rem;padding:1.5rem;display:flex;align-items:flex-start;gap:1rem;border:1px solid var(--color-border-default);transition:all .2s ease}.stat-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014}.stat-icon-wrapper{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#5c358f1a,#5c358f0d);border-radius:.625rem;flex-shrink:0}.stat-icon{color:var(--color-brand-500);stroke-width:2}.stat-change{font-size:.75rem;color:#94a3b8;margin-top:.25rem;display:block}.stat-change.positive{color:#27ae60}.stat-content h3{font-size:.875rem;color:var(--color-text-muted);font-weight:500;margin:0 0 .5rem}.stat-value{font-size:1.75rem;font-weight:700;color:var(--color-brand-500);margin:0}.content-section{background:#fff;border-radius:.75rem;padding:2rem;box-shadow:0 1px 3px #00000014}.content-section h2{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0 0 1.5rem}.empty-state{text-align:center;padding:3rem 1rem;color:#94a3b8}.empty-state p{font-size:1rem;margin:0}.table-container{overflow-x:auto;width:100%;margin:0}.data-table{width:100%;min-width:100%;border-collapse:collapse;table-layout:auto}.data-table thead{background-color:var(--color-bg-muted)}.data-table th{padding:1rem;text-align:left;font-size:.875rem;font-weight:600;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--color-border-default)}.data-table.title-case th{text-transform:none;letter-spacing:.02em}.data-table td{padding:1rem;border-bottom:1px solid var(--color-border-default);color:var(--color-text-primary);font-size:.95rem}.data-table tbody tr:hover{background-color:var(--color-bg-muted)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-bottom:1.5rem}.dashboard-card{background:#fff;border-radius:.75rem;padding:1.5rem;border:1px solid var(--color-border-default);transition:all .2s ease}.dashboard-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border-default)}.card-header h2{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0}.header-icon{color:var(--color-brand-500)}.period-select{padding:.5rem .75rem;border:1px solid var(--color-border-default);border-radius:.5rem;font-size:.875rem;color:var(--color-text-primary);background:#fff;cursor:pointer;transition:all .2s ease}.period-select:hover{border-color:#cbd5e1}.chart-card{grid-column:span 2}.chart-placeholder{height:300px;display:flex;align-items:flex-end;justify-content:center;padding:1rem 0}.chart-bars{display:flex;align-items:flex-end;gap:.75rem;width:100%;height:100%}.chart-bar{flex:1;background:linear-gradient(180deg,var(--color-brand-500) 0%,rgba(92,53,143,.6) 100%);border-radius:.375rem .375rem 0 0;min-height:20px;transition:all .3s ease}.chart-bar:hover{opacity:.8}.activity-list{display:flex;flex-direction:column;gap:1rem}.activity-item{display:flex;gap:1rem;align-items:flex-start}.activity-dot{width:8px;height:8px;border-radius:50%;background:var(--color-brand-500);margin-top:.5rem;flex-shrink:0}.activity-content{flex:1}.activity-text{font-size:.875rem;color:var(--color-text-primary);margin:0 0 .25rem}.activity-time{font-size:.75rem;color:#94a3b8}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.quick-action-btn{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;background:var(--color-bg-muted);border:1px solid var(--color-border-default);border-radius:.5rem;font-size:.875rem;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease}.quick-action-btn:hover{background:#e91e63;color:#fff;border-color:#e91e63}.quick-action-btn svg{stroke-width:2}.performance-metrics{display:flex;flex-direction:column;gap:1rem}.metric-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #f1f5f9}.metric-item:last-child{border-bottom:none}.metric-label{font-size:.875rem;color:var(--color-text-muted)}.metric-value{font-size:1rem;font-weight:600;color:var(--color-brand-500)}@media (max-width: 1200px){.chart-card{grid-column:span 1}}@media (max-width: 768px){.dashboard-grid{grid-template-columns:1fr}.chart-card{grid-column:span 1}.quick-actions{grid-template-columns:1fr}}.empty-row{text-align:center;padding:3rem 1rem!important;color:#94a3b8;font-style:italic}.status-success{color:#27ae60;background-color:#27ae601a;padding:.25rem .75rem;border-radius:.375rem;font-weight:500;font-size:.875rem;display:inline-block}.status-alert{color:coral;background-color:#ff7f501a;padding:.25rem .75rem;border-radius:.375rem;font-weight:500;font-size:.875rem;display:inline-block}.btn-success{background-color:#27ae60;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #27ae604d}.btn-success:hover{background-color:#229954;transform:translateY(-2px);box-shadow:0 4px 12px #27ae6066}.btn-alert{background-color:coral;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #ff7f504d}.btn-alert:hover{background-color:#ff6b3d;transform:translateY(-2px);box-shadow:0 4px 12px #ff7f5066}.filters-section{background:#fff;border-radius:.75rem;padding:1.5rem;margin-bottom:1.5rem;border:1px solid var(--color-border-default)}.search-bar{position:relative;margin-bottom:1.5rem}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.search-input{width:100%;padding:.75rem 1rem .75rem 2.75rem;border:1px solid var(--color-border-default);border-radius:.5rem;font-size:.95rem;color:var(--color-text-primary);transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 3px #5c358f1a}.filters-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end}.filter-group{flex:1;min-width:150px}.filter-group label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text-primary);margin-bottom:.5rem}.filter-select{width:100%;padding:.75rem;border:1px solid var(--color-border-default);border-radius:.5rem;font-size:.95rem;color:var(--color-text-primary);background:#fff;cursor:pointer;transition:all .2s ease}.filter-select:hover{border-color:#cbd5e1}.filter-select:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 3px #5c358f1a}.clear-filters-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--color-bg-muted);border:1px solid var(--color-border-default);border-radius:.5rem;font-size:.875rem;font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:all .2s ease;height:fit-content}.clear-filters-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:var(--color-text-primary)}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:0 .5rem}.results-count{font-size:.875rem;color:var(--color-text-muted);font-weight:500}.name-cell{font-weight:600;color:var(--color-text-primary)}.proposal-cell{display:flex;flex-direction:column;gap:.35rem}.proposal-title{font-size:.95rem;font-weight:600;color:var(--color-text-primary)}.proposal-subline{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:#94a3b8;font-weight:500}.proposal-icon{color:#94a3b8}.proposal-clients{display:flex;flex-direction:column;gap:.35rem}.proposal-count{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem;font-weight:600;color:var(--color-text-primary)}.call-deadline{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--color-text-muted);font-weight:500}.call-deadline-icon{color:#94a3b8}.call-budget{font-size:.85rem;font-weight:600;color:var(--color-text-primary)}.proposal-fee{color:#27ae60;font-weight:600}.status-badge{padding:.375rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:600;text-transform:capitalize;display:inline-block}.status-active{background-color:#27ae601a;color:#27ae60}.status-inactive{background-color:#94a3b81a;color:var(--color-text-muted)}.status-pending{background-color:#ff7f501a;color:coral}.status-suspended{background-color:#ef44441a;color:#ef4444}.category-badge{padding:.375rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:500;color:var(--color-text-primary);background-color:var(--color-bg-muted);display:inline-block}.status-upcoming,.status-draft,.status-open,.status-closed,.status-archived{font-weight:600;padding:.375rem .75rem;border-radius:.375rem;display:inline-block;min-width:80px;text-align:center;font-size:.75rem}.status-upcoming{background-color:#f59e0b1a;color:#f59e0b}.status-draft{background-color:#3b82f61a;color:#3b82f6}.status-open{background-color:#27ae601a;color:#27ae60}.status-closed{background-color:#ef44441a;color:#ef4444}.status-archived{background-color:#64748b1a;color:var(--color-text-muted)}.status-offer-sent{background-color:#f59e0b1a;color:#f59e0b}.status-granted{background-color:#27ae601a;color:#27ae60}.status-dismissed{background-color:#ef44441a;color:#ef4444}.granted-note{margin-top:.75rem;padding:.75rem 1rem;background-color:#27ae601a;border:1px solid rgba(39,174,96,.3);border-radius:.375rem;color:#27ae60;font-size:.875rem;font-weight:500}.scope-international,.scope-eu,.scope-national,.scope-regional{background-color:#3b82f61a;font-weight:600;padding:.375rem .75rem;border-radius:.375rem;display:inline-block;min-width:80px;text-align:center;font-size:.75rem}.scope-international{background-color:#3b82f61a;color:#3b82f6}.scope-eu{background-color:#5c358f1a;color:var(--color-brand-500)}.scope-national{background-color:#f59e0b1a;color:#f59e0b}.scope-regional{background-color:#27ae601a;color:#27ae60}.service-coaching,.service-mentoring,.service-training,.service-project-management,.service-tax-credit{font-weight:600;padding:.375rem .75rem;border-radius:.375rem;display:inline-block;min-width:80px;text-align:center;font-size:.75rem}.service-coaching{background-color:#3b82f61a;color:#3b82f6}.service-mentoring{background-color:#5c358f1a;color:var(--color-brand-500)}.service-training{background-color:#f59e0b1a;color:#f59e0b}.service-project-management{background-color:#27ae601a;color:#27ae60}.service-tax-credit{background-color:#ef44441a;color:#ef4444}.action-btn{padding:.5rem 1rem;background:var(--color-bg-muted);border:1px solid var(--color-border-default);border-radius:.375rem;font-size:.875rem;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease}.action-btn:hover{background:var(--color-brand-500);color:#fff;border-color:var(--color-brand-500)}.customers-toolbar{display:flex;gap:var(--space-3);align-items:center;margin-bottom:var(--space-4);flex-wrap:wrap}.import-feedback{margin-bottom:1rem;padding:.5rem .75rem;border-radius:.5rem;font-size:.875rem;font-weight:500;border:1px solid transparent}.import-feedback-success{color:#27ae60;background-color:#27ae601a;border-color:#27ae6033}.import-feedback-error{color:coral;background-color:#ff7f501a;border-color:#ff7f5033}.search-bar-inline{position:relative;flex:1;min-width:220px}.search-input-inline{width:100%;padding:7px 12px 7px 32px;border:1px solid var(--color-border-default);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-bg-surface);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);font-family:var(--font-family-base)}.filter-buttons,.filter-button-group{display:flex;gap:var(--space-2)}.filter-btn{display:flex;align-items:center;gap:6px;padding:7px 12px;background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family-base)}.filter-btn:hover{border-color:var(--color-brand-500);color:var(--color-brand-500)}.filter-btn.active{border-color:var(--color-brand-500);background:#5c358f0d;color:var(--color-brand-500)}.customers-table{border-collapse:separate;border-spacing:0;font-size:var(--font-size-sm)}.customers-table thead th{background:var(--color-bg-default);font-size:10px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);padding:10px 12px;border-bottom:1px solid var(--color-border-subtle);text-align:left}.customers-table tbody td{padding:12px;border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-primary);font-size:var(--font-size-sm)}.customer-row:hover{background-color:var(--color-bg-muted)}.customer-name-group{display:flex;flex-direction:column;gap:.25rem}.customer-name{font-weight:600;color:var(--color-text-primary);font-size:.95rem}.customer-company{font-size:.875rem;color:var(--color-text-muted)}.location-cell{display:flex;align-items:center;gap:.5rem;color:var(--color-text-primary)}.location-icon{color:#94a3b8;flex-shrink:0}.partner-cell{display:flex;align-items:center;gap:.75rem}.partner-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-brand-500) 0%,#E91E63 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;flex-shrink:0}.partner-name{color:var(--color-text-primary);font-size:.95rem}.website-link{color:var(--color-brand-500);text-decoration:none;font-size:.95rem;transition:all .2s ease}.website-link:hover{color:#e91e63;text-decoration:underline}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border-default)}.pagination-info{font-size:.875rem;color:var(--color-text-muted)}.pagination-controls{display:flex;align-items:center;gap:.5rem}.pagination-btn{min-width:36px;height:36px;padding:0 .75rem;background:#fff;border:1px solid var(--color-border-default);border-radius:.5rem;font-size:.875rem;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.pagination-btn:hover:not(:disabled){border-color:var(--color-brand-500);color:var(--color-brand-500)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn.active{background:var(--color-brand-500);border-color:var(--color-brand-500);color:#fff}.pagination-ellipsis{padding:0 .5rem;color:#94a3b8}.customer-header-card{background:#fff;border-radius:.75rem;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a}.customer-header-main{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem}.customer-header-main h1{font-size:2rem;font-weight:700;color:var(--color-text-primary);margin:0 0 .5rem}.customer-company{font-size:1.125rem;color:var(--color-text-muted);margin:0}.customer-header-badges{display:flex;gap:.75rem;flex-wrap:wrap}.key-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.metric-card{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;gap:1rem}.metric-icon{width:48px;height:48px;border-radius:.5rem;background:#5c358f1a;display:flex;align-items:center;justify-content:center;color:var(--color-brand-500);flex-shrink:0}.metric-content{flex:1}.metric-label{font-size:.875rem;color:var(--color-text-muted);margin-bottom:.25rem}.metric-value{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.customer-info-section{background:#fff;border-radius:.75rem;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a}.customer-info-section h2{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:0 0 1.5rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-item label{font-size:.875rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.info-item span{font-size:1rem;color:var(--color-text-primary)}.proposals-list{display:flex;flex-direction:column;gap:1rem}.proposal-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--color-bg-muted);border-radius:.5rem;border:1px solid var(--color-border-default);gap:1rem;flex-wrap:wrap}.proposal-main{flex:1;min-width:200px}.proposal-name{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.25rem}.proposal-call{font-size:.875rem;color:var(--color-text-muted)}.proposal-amounts{display:flex;gap:1.5rem;align-items:center}.proposal-budget,.proposal-fee{font-size:.875rem;color:var(--color-text-muted)}.proposal-budget{font-weight:600;color:var(--color-text-primary)}.proposal-status{flex-shrink:0}.view-all-link{color:var(--color-brand-500);text-decoration:none;font-size:.875rem;font-weight:600;transition:color .2s ease}.view-all-link:hover{color:#e91e63;text-decoration:underline}.empty-section{padding:2rem;text-align:center;color:#94a3b8;font-size:.875rem}@media (max-width: 768px){.page-header{flex-direction:column}.stats-grid{grid-template-columns:1fr}.table-container{overflow-x:scroll}.data-table{min-width:800px}.filters-row{flex-direction:column}.key-metrics-grid,.info-grid{grid-template-columns:1fr}.proposal-item{flex-direction:column;align-items:flex-start}.proposal-amounts{width:100%;justify-content:space-between}.filter-group{min-width:100%}.clear-filters-btn{width:100%;justify-content:center}.customers-toolbar{flex-direction:column;align-items:stretch}.search-bar-inline{min-width:100%}.filter-button-group{flex-direction:column;width:100%}.filter-btn{width:100%;justify-content:space-between}.pagination{flex-direction:column;gap:1rem;align-items:flex-start}.pagination-controls{width:100%;justify-content:center}}.client-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.form-group label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.profile-settings-layout{display:flex;gap:2rem;align-items:flex-start}.profile-settings-fields{flex:1}.profile-fields-column{display:flex;flex-direction:column;gap:1rem}.profile-settings-avatar{width:220px;display:flex;flex-direction:column;align-items:center;gap:.5rem}.profile-avatar-label{width:180px;height:180px;border-radius:.75rem;border:2px dashed var(--color-border-default);background:var(--color-bg-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}.profile-avatar-preview{width:100%;height:100%;object-fit:cover}.profile-avatar-placeholder{font-size:.875rem;color:var(--color-text-muted)}.profile-avatar-input{display:none}.profile-avatar-hint{font-size:.75rem;color:var(--color-text-muted)}.password-updated{color:#16a34a;font-size:.875rem;font-weight:600}.login-page{min-height:calc(100vh - 4rem);display:flex;align-items:center;justify-content:center}.invoice-page{background:var(--color-bg-muted)}.invoice-document{background:#fff;border:1px solid var(--color-border-default);border-radius:.75rem;padding:2rem;max-width:1000px;margin:0 auto;box-shadow:0 1px 3px #00000014}.invoice-header{display:flex;justify-content:space-between;gap:2rem;margin-bottom:2rem;align-items:flex-start}.invoice-left,.invoice-right{flex:1}.invoice-right{text-align:left;padding-top:90px}.invoice-logo{width:200px;max-height:80px;object-fit:contain;margin-bottom:1rem}.invoice-company-name{font-weight:700;color:var(--color-text-primary);margin-bottom:.25rem}.invoice-company-line{color:var(--color-text-muted);font-size:.9rem}.invoice-meta{margin-top:1rem;color:var(--color-text-primary);font-size:.9rem}.invoice-customer-title{font-weight:700;margin-bottom:.5rem}.invoice-table{width:100%;border-collapse:collapse;margin-bottom:1.5rem}.invoice-table th,.invoice-table td{border-bottom:1px solid var(--color-border-default);padding:.75rem;text-align:left}.invoice-summary{display:flex;justify-content:flex-end}.invoice-summary-table{width:420px;border-collapse:collapse}.invoice-summary-table td{padding:.5rem .75rem;border-bottom:1px solid var(--color-border-default);white-space:nowrap}.invoice-total-row td{font-weight:700}.invoice-vat-select{width:100%;margin-bottom:.5rem}.invoice-vat-amount{font-size:.9rem;color:var(--color-text-muted)}.invoice-notes{margin-top:1.5rem;padding:1rem;background:#f3e8ff;border:1px solid #c4b5fd;border-radius:.5rem;color:#5b21b6;font-size:.9rem}.invoice-actions{margin-top:1rem;display:flex;justify-content:flex-end;gap:.75rem}@media print{@page{margin:.2cm}body{background:#fff}body *{visibility:hidden}.invoice-document,.invoice-document *{visibility:visible}.invoice-document{position:static;width:100%;box-shadow:none;border:none;border-radius:0;max-width:100%;margin:0;padding:0}.invoice-actions{display:none!important}}.required{color:#e91e63}.form-group input,.form-group select,.form-group textarea{padding:8px 10px;border:1px solid var(--color-border-default);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);font-family:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);background:var(--color-bg-surface)}.input-with-suffix{position:relative;display:flex;align-items:center}.input-with-suffix input{padding-right:2rem;width:100%}.input-suffix{position:absolute;right:.75rem;color:#94a3b8;font-size:.9rem;pointer-events:none}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 3px #5c358f1a}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#ef4444}.form-group input:disabled,.form-group select:disabled{background-color:var(--color-bg-muted);cursor:not-allowed;opacity:.6}.form-group textarea{resize:vertical;min-height:80px}.error-message{font-size:.75rem;color:#ef4444;margin-top:-.25rem}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1rem;border-top:1px solid var(--color-border-default);margin-top:.5rem}.btn-secondary{padding:7px 14px;background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-family-base);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:6px}.btn-secondary:hover{background:var(--color-bg-muted);border-color:var(--color-brand-500);color:var(--color-brand-700)}.btn-secondary--sm{padding:4px 10px;font-size:var(--font-size-xs)}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-secondary,.btn-primary{width:100%}}.form-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border-default)}.form-section:last-of-type{border-bottom:none;margin-bottom:0}.form-section-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0 0 1.5rem}.checkbox-group{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--color-bg-muted);border-radius:.5rem;border:1px solid var(--color-border-default)}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.95rem;color:var(--color-text-primary)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-brand-500)}.checkbox-label span{-webkit-user-select:none;user-select:none}.button-select-container{max-height:400px;overflow-y:auto;border:1px solid var(--color-border-default);border-radius:.75rem;padding:1rem;background:#fff}.button-select-grid{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start}.select-button{padding:.375rem .75rem;background:#fff;border:1px solid var(--color-border-default);border-radius:.375rem;font-size:.8125rem;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;text-align:center;min-height:auto;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;width:auto;box-sizing:border-box;height:auto;line-height:1.4}.select-button.long-text{min-width:auto}.select-button:hover{border-color:var(--color-brand-500);background:#5c358f0d}.select-button.selected{background:var(--color-brand-500);border-color:var(--color-brand-500);color:#fff;font-weight:600}.select-disabled-message{padding:1rem;text-align:center;color:#94a3b8;font-size:.875rem;font-style:italic;grid-column:1 / -1}.select-hint{font-size:.75rem;color:#94a3b8;margin-top:.5rem}.client-selector{display:flex;flex-direction:column;gap:.75rem}.add-client-label{font-size:.875rem;font-weight:500;color:var(--color-text-primary);margin-bottom:.25rem}.client-select-dropdown{width:100%;padding:.75rem 2.5rem .75rem 1rem;border:1px solid var(--color-border-default);border-radius:.5rem;font-size:.95rem;color:var(--color-text-primary);background:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:all .2s ease}.client-select-dropdown:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 3px #5c358f1a}.no-clients-message{min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;border:2px dashed var(--color-border-default);border-radius:.5rem;background:var(--color-bg-muted);gap:1rem}.no-clients-icon{color:#cbd5e1;opacity:.6}.no-clients-text{text-align:center;color:#94a3b8;font-size:.875rem;line-height:1.5}.no-clients-text div:first-child{font-weight:500;margin-bottom:.25rem}.selected-clients-list{min-height:200px;display:flex;flex-wrap:wrap;gap:.75rem;padding:1rem;border:2px dashed var(--color-border-default);border-radius:.5rem;background:var(--color-bg-muted);align-content:flex-start}.selected-client-tag{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border:1px solid var(--color-border-default);border-radius:.375rem;font-size:.875rem;color:var(--color-text-primary)}.remove-client-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;border-radius:50%;color:#94a3b8;cursor:pointer;transition:all .2s ease}.remove-client-btn:hover{background:#fee2e2;color:#ef4444}.client-financials-form{margin-top:1.5rem;padding:1.5rem;background:var(--color-bg-muted);border-radius:.5rem;border:1px solid var(--color-border-default)}.client-financials-title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0 0 1rem}.financials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.calculated-field{display:flex;flex-direction:column;gap:.5rem}.calculated-value{font-size:1rem;font-weight:600;color:var(--color-brand-500);padding:.5rem;background:#fff;border-radius:.375rem;border:1px solid var(--color-border-default)}@media (max-width: 768px){.button-select-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.projects-grid{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.5rem}.project-card{background:#fff;border:1px solid var(--color-border-default);border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border-default)}.project-header-left{flex:1}.project-title{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);margin:0 0 .5rem}.project-identifier{font-size:.875rem;color:var(--color-text-muted);margin-bottom:.75rem}.project-meta-row{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:.5rem}.project-meta-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-muted)}.project-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;min-width:150px}.project-amount{font-size:1.125rem;font-weight:700;color:var(--color-text-primary)}.project-fee{font-size:.875rem;color:var(--color-text-muted)}.project-menu-btn{background:transparent;border:none;cursor:pointer;padding:.25rem;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:all .2s ease}.project-menu-btn:hover{background:var(--color-bg-muted);color:var(--color-text-primary)}.project-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border-default)}.project-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.project-section-title{font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin:0}.billing-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--color-bg-muted);border-radius:.5rem;margin-bottom:.75rem}.billing-left{flex:1}.billing-percentage{font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.25rem}.billing-client{font-size:.75rem;color:var(--color-text-muted)}.billing-right{display:flex;align-items:center;gap:.75rem}.billing-amount{font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.invoice-status{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;background:#f59e0b1a;color:#f59e0b}.billing-action-btn{background:transparent;border:none;cursor:pointer;padding:.25rem;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:all .2s ease}.billing-action-btn:hover{background:#f1f5f9;color:var(--color-text-primary)}.add-task-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:transparent;border:1px dashed #cbd5e1;border-radius:.375rem;font-size:.875rem;color:var(--color-text-muted);cursor:pointer;transition:all .2s ease}.add-task-btn:hover{border-color:var(--color-brand-500);color:var(--color-brand-500)}.task-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--color-bg-muted);border-radius:.5rem;margin-bottom:.5rem}.task-dot{width:8px;height:8px;border-radius:50%;background:#f59e0b;flex-shrink:0}.task-content{display:flex;justify-content:space-between;align-items:center;flex:1;gap:1rem}.task-description{font-size:.875rem;color:var(--color-text-primary)}.task-date{font-size:.75rem;font-weight:500;white-space:nowrap}.task-actions{display:flex;align-items:center;gap:.5rem}.task-action-btn{background:transparent;border:none;cursor:pointer;padding:.25rem;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:all .2s ease}.task-action-btn:hover{background:#f1f5f9;color:var(--color-text-primary)}.status-ongoing{background-color:#27ae601a;color:#27ae60}@media (max-width: 768px){.project-card-header{flex-direction:column;gap:1rem}.project-header-right{align-items:flex-start;width:100%}}.status-pending{background-color:#f59e0b1a;color:#f59e0b}.status-in-progress{background-color:#3b82f61a;color:#3b82f6}.status-completed{background-color:#27ae601a;color:#27ae60}.table-action-btn{background:transparent;border:none;cursor:pointer;padding:.5rem;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;border-radius:.375rem;transition:all .2s ease}.table-action-btn:hover{background:var(--color-bg-muted);color:var(--color-text-primary)}.table-action-btn.delete:hover{background:#fef2f2;color:#ef4444}.status-invoice-pending{background-color:#ffc107!important;color:#fff!important}.status-invoice-sent{background-color:#2196f3!important;color:#fff!important}.status-invoice-paid{background-color:#4caf50!important;color:#fff!important}.prj-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-3);margin-bottom:var(--space-4)}.prj-kpi{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:4px}.prj-kpi-label{font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-text-muted);letter-spacing:.06em}.prj-kpi-value{font-size:28px;font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1.05}.prj-kpi-hint{font-size:11px;color:var(--color-text-muted)}.prj-kpi--brand{background:linear-gradient(135deg,var(--color-brand-700),var(--color-brand-500));border-color:var(--color-brand-700)}.prj-kpi--brand .prj-kpi-label,.prj-kpi--brand .prj-kpi-value,.prj-kpi--brand .prj-kpi-hint{color:#fff}.prj-kpi--brand .prj-kpi-label{opacity:.85}.prj-kpi--warn .prj-kpi-value{color:var(--color-warning-700, #B5651D)}@media (max-width: 1200px){.prj-kpis{grid-template-columns:repeat(3,1fr)}}@media (max-width: 720px){.prj-kpis{grid-template-columns:repeat(2,1fr)}}.prj-toolbar{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap}.prj-filter-group{display:flex;gap:8px}.prj-mini-select{padding:7px 10px;border:1px solid var(--color-border-default);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--color-bg-default);font-family:var(--font-family-base);cursor:pointer;min-width:130px}.prj-mini-select:focus{outline:none;border-color:var(--color-brand-500)}.prj-tabs{display:flex;gap:2px;border-bottom:1px solid var(--color-border-subtle);margin-bottom:var(--space-4)}.prj-tab{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);font-family:var(--font-family-base);margin-bottom:-1px;transition:all var(--transition-fast)}.prj-tab:hover{color:var(--color-text-primary)}.prj-tab--active{color:var(--color-brand-700);border-bottom-color:var(--color-brand-700)}.prj-tab-count{display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;background:var(--color-bg-muted);border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-text-muted);min-width:20px}.prj-tab--active .prj-tab-count{background:var(--color-brand-100);color:var(--color-brand-700)}.prj-layout{display:grid;grid-template-columns:1fr 320px;gap:var(--space-4)}@media (max-width: 1100px){.prj-layout{grid-template-columns:1fr}}.prj-main{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden}.prj-empty{padding:var(--space-7);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.prj-table-wrap{overflow-x:auto}.prj-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.prj-table thead th{text-align:left;padding:12px 14px;background:var(--color-bg-default);font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--color-border-subtle);white-space:nowrap}.prj-row{cursor:pointer;transition:background var(--transition-fast)}.prj-row:hover{background:var(--color-brand-50)}.prj-row td{padding:14px;border-bottom:1px solid var(--color-border-subtle);vertical-align:middle}.prj-row:last-child td{border-bottom:none}.prj-cell-project{min-width:220px}.prj-project-name{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:var(--font-size-sm)}.prj-project-sub{font-size:11px;color:var(--color-text-muted);margin-top:2px}.prj-client{display:inline-flex;align-items:center;gap:6px;color:var(--color-text-secondary)}.prj-client-more{padding:1px 6px;background:var(--color-bg-muted);border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.prj-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-semibold)}.prj-badge--ok{background:var(--color-success-50, #F1FAF4);color:var(--color-success-700, #2E7D5A)}.prj-badge--warn{background:var(--color-warning-50, #FDF6EF);color:var(--color-warning-700, #B5651D)}.prj-badge--muted{background:var(--color-bg-muted);color:var(--color-text-muted)}.prj-health{display:inline-flex;align-items:center;gap:6px}.prj-health-svg{width:32px;height:32px}.prj-health-bg{fill:none;stroke:var(--color-bg-muted);stroke-width:3}.prj-health-fg{fill:none;stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .5s ease}.prj-health--ok .prj-health-fg{stroke:var(--color-success-700, #2E7D5A)}.prj-health--warn .prj-health-fg{stroke:var(--color-warning-700, #B5651D)}.prj-health--bad .prj-health-fg{stroke:var(--color-error-700, #C44343)}.prj-health-value{font-size:13px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.prj-cell-milestone{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.prj-days{font-size:11px;color:var(--color-text-muted);margin-top:2px}.prj-days.soon{color:var(--color-warning-700, #B5651D);font-weight:var(--font-weight-medium)}.prj-days.overdue{color:var(--color-error-700, #C44343);font-weight:var(--font-weight-semibold)}.prj-alerts{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;background:var(--color-warning-50, #FDF6EF);color:var(--color-warning-700, #B5651D);border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-bold)}.prj-alerts--zero{background:transparent;color:var(--color-text-muted);font-weight:var(--font-weight-regular)}.prj-cell-funding{text-align:right;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-variant-numeric:tabular-nums}.prj-row-action{background:transparent;border:none;padding:6px;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-muted);display:inline-flex;align-items:center}.prj-row-action:hover{background:var(--color-bg-muted);color:var(--color-text-primary)}.prj-sidebar{display:flex;flex-direction:column;gap:var(--space-3)}.prj-side-card{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.prj-side-card--warn{background:var(--color-warning-50, #FDF6EF);border-color:var(--color-warning-300, #F5C6A5)}.prj-side-header{display:flex;align-items:center;gap:6px;margin-bottom:var(--space-3);font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-brand-700);letter-spacing:.04em;text-transform:uppercase}.prj-side-card--warn .prj-side-header{color:var(--color-warning-700, #B5651D)}.prj-side-count{margin-left:auto;padding:1px 7px;background:var(--color-brand-100);color:var(--color-brand-700);border-radius:var(--radius-full);font-size:10px}.prj-side-card--warn .prj-side-count{background:var(--color-warning-200, #F5DBC6);color:var(--color-warning-700, #B5651D)}.prj-side-empty{margin:0;font-size:12px;color:var(--color-text-muted);font-style:italic}.prj-side-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.prj-side-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--color-bg-default);border-radius:var(--radius-sm);border-left:3px solid var(--color-border-default)}.prj-side-item.soon{border-left-color:var(--color-warning-700, #B5651D)}.prj-side-item.overdue{border-left-color:var(--color-error-700, #C44343);background:#c443430d}.prj-side-item--clickable{cursor:pointer;transition:background var(--transition-fast)}.prj-side-item--clickable:hover{background:var(--color-brand-50)}.prj-side-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.prj-side-item-main strong{font-size:12px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prj-side-item-main small{font-size:11px;color:var(--color-text-muted)}.prj-side-item-days{font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-text-muted);flex-shrink:0}.prj-side-item.soon .prj-side-item-days{color:var(--color-warning-700, #B5651D)}.prj-side-item.overdue .prj-side-item-days{color:var(--color-error-700, #C44343)}.page--dashboard{display:flex;flex-direction:column;gap:var(--space-6)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.kpi-card{background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;gap:var(--space-4);align-items:flex-start;transition:border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);position:relative;overflow:hidden}.kpi-card--clickable{cursor:pointer}.kpi-card--clickable:hover{border-color:var(--color-border-strong);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.kpi-card--clickable:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.kpi-card--highlight{background:linear-gradient(135deg,var(--color-brand-500) 0%,var(--color-brand-700) 100%);border-color:var(--color-brand-700);color:var(--color-text-inverse)}.kpi-card-icon{width:40px;height:40px;border-radius:var(--radius-md);background-color:var(--color-brand-50);color:var(--color-brand-600);display:flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-card--highlight .kpi-card-icon{background-color:#ffffff26;color:var(--color-text-inverse)}.kpi-card-body{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;flex:1}.kpi-card-label{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider)}.kpi-card--highlight .kpi-card-label{color:#ffffffbf}.kpi-card-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.kpi-card--highlight .kpi-card-value{color:var(--color-text-inverse)}.kpi-card-hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.kpi-card--highlight .kpi-card-hint{color:#ffffffb3}.dashboard-twocol{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--space-4)}.surface-card{background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);overflow:hidden}.surface-card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-subtle)}.surface-card-header h2{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.surface-card-header h2 svg{color:var(--color-brand-500)}.link-cta{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-brand-600);text-decoration:none;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.link-cta:hover{background-color:var(--color-brand-50);color:var(--color-brand-700)}.pipeline-list{list-style:none;margin:0;padding:0}.pipeline-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border-subtle);cursor:pointer;transition:background-color var(--transition-fast)}.pipeline-row:last-child{border-bottom:none}.pipeline-row:hover{background-color:var(--color-bg-subtle)}.pipeline-row-main{display:flex;align-items:center;gap:var(--space-3);min-width:0;flex:1}.pipeline-row-title{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}.pipeline-row-side{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.pipeline-row-status{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.pipeline-row-amount{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.badge{display:inline-flex;align-items:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:2px var(--space-2);border-radius:var(--radius-full);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;white-space:nowrap}.badge--neutral{background-color:var(--color-bg-muted);color:var(--color-text-muted)}.badge--brand{background-color:var(--color-brand-50);color:var(--color-brand-700)}.badge--success{background-color:var(--color-success-50);color:var(--color-success-700)}.badge--warning{background-color:var(--color-warning-50);color:var(--color-warning-700)}.badge--danger{background-color:var(--color-danger-50);color:var(--color-danger-700)}.deadline-list{list-style:none;margin:0;padding:0}.deadline-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border-subtle);cursor:pointer;transition:background-color var(--transition-fast)}.deadline-row:last-child{border-bottom:none}.deadline-row:hover{background-color:var(--color-bg-subtle)}.deadline-marker{min-width:56px;padding:var(--space-1) var(--space-2);text-align:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);flex-shrink:0}.deadline-marker--urgent{background-color:var(--color-danger-50);color:var(--color-danger-700)}.deadline-marker--soon{background-color:var(--color-warning-50);color:var(--color-warning-700)}.deadline-marker--far{background-color:var(--color-bg-muted);color:var(--color-text-muted)}.deadline-marker--past{background-color:var(--color-text-subtle);color:var(--color-text-inverse)}.deadline-content{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.deadline-kind{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);font-weight:var(--font-weight-medium)}.deadline-label{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}.deadline-days{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);flex-shrink:0}.deadline-days--urgent{color:var(--color-danger-700)}.deadline-days--soon{color:var(--color-warning-700)}.deadline-days--far{color:var(--color-text-muted)}.deadline-days--past{color:var(--color-text-subtle)}.quick-actions-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);padding:var(--space-5)}.quick-action{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--color-bg-base);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-align:left}.quick-action:hover{background-color:var(--color-brand-50);border-color:var(--color-brand-200)}.quick-action-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background-color:var(--color-brand-50);color:var(--color-brand-600);flex-shrink:0;transition:background-color var(--transition-fast),color var(--transition-fast)}.quick-action:hover .quick-action-icon{background-color:var(--color-brand-500);color:var(--color-text-inverse)}.quick-action-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);flex:1}.quick-action-plus{color:var(--color-text-subtle);flex-shrink:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-10) var(--space-5);text-align:center}.empty-state-text{font-size:var(--font-size-sm);color:var(--color-text-muted);max-width:320px}.btn.btn-primary.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);background-color:var(--color-brand-500);color:var(--color-text-inverse);border:none;cursor:pointer;transition:background-color var(--transition-fast)}.btn.btn-primary.btn-sm:hover{background-color:var(--color-brand-600)}@media (max-width: 1200px){.kpi-grid,.quick-actions-row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.dashboard-twocol{grid-template-columns:1fr}}@media (max-width: 640px){.kpi-grid,.quick-actions-row{grid-template-columns:1fr}}.dashboard-deadlines{margin-top:var(--space-4);border-left:4px solid var(--color-brand-500)}.dashboard-deadlines--urgent{border-left-color:var(--color-warning-700, #B8780F);background:linear-gradient(180deg,var(--color-warning-50, #FFF8E5) 0%,var(--color-bg-surface) 30%)}.dashboard-deadlines-count{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;min-width:22px;height:22px;padding:0 6px;border-radius:var(--radius-full);background:var(--color-brand-700);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.dashboard-deadlines--urgent .dashboard-deadlines-count{background:var(--color-warning-700, #B8780F)}.dashboard-deadlines-list{list-style:none;padding:0;margin:var(--space-3) 0 0 0;display:flex;flex-direction:column;gap:8px}.dashboard-deadline-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-default);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.dashboard-deadline-row:hover{border-color:var(--color-brand-500);background:var(--color-brand-50);transform:translate(2px)}.dashboard-deadline-row.critical{border-left:4px solid #B14F4F}.dashboard-deadline-row.warning{border-left:4px solid #B8780F}.dashboard-deadline-row:not(.critical):not(.warning){border-left:4px solid var(--color-brand-500)}.dashboard-deadline-countdown{display:flex;flex-direction:column;align-items:center;min-width:54px;padding:6px 10px;background:var(--color-bg-surface);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle)}.dashboard-deadline-row.critical .dashboard-deadline-countdown{background:#fbeded;border-color:#e8b9b9}.dashboard-deadline-row.warning .dashboard-deadline-countdown{background:#fff8e5;border-color:#f4d6a8}.dashboard-deadline-days{font-size:20px;font-weight:var(--font-weight-bold);color:var(--color-brand-700);line-height:1;font-feature-settings:"tnum"}.dashboard-deadline-row.critical .dashboard-deadline-days{color:#b14f4f}.dashboard-deadline-row.warning .dashboard-deadline-days{color:#b8780f}.dashboard-deadline-days-label{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);margin-top:2px}.dashboard-deadline-content{flex:1;min-width:0}.dashboard-deadline-title{display:flex;align-items:center;gap:8px;margin-bottom:2px}.dashboard-deadline-title strong{color:var(--color-text-primary);font-size:var(--font-size-sm)}.dashboard-deadline-priority{background:var(--color-brand-100);color:var(--color-brand-700);padding:1px 6px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.dashboard-deadline-call{margin:0;font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:var(--line-height-snug)}.dashboard-deadline-meta{margin:2px 0 0;font-size:var(--font-size-xs);color:var(--color-text-muted)}.dashboard-deadline-arrow{color:var(--color-text-muted);flex-shrink:0}.dashboard-deadlines-more{margin:var(--space-3) 0 0 0;font-size:var(--font-size-sm);text-align:center;font-style:italic}.actions-menu-container{position:relative;display:inline-block}.actions-menu-trigger{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:1px solid transparent;cursor:pointer;padding:0;color:var(--color-text-muted);border-radius:var(--radius-md);transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.actions-menu-trigger:hover{background-color:var(--color-bg-muted);border-color:var(--color-border-default);color:var(--color-text-primary)}.actions-menu-trigger:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-color:var(--color-brand-500)}.actions-menu-dropdown{position:absolute;right:0;top:calc(100% + var(--space-1));background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:180px;z-index:var(--z-dropdown);overflow:hidden;padding:var(--space-1);animation:actions-menu-fade var(--transition-fast)}.actions-menu-dropdown--portal{position:fixed;top:0;left:0;right:auto;z-index:var(--z-tooltip)}@keyframes actions-menu-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.actions-menu-item{width:100%;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:none;border:none;border-radius:var(--radius-sm);text-align:left;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);white-space:nowrap}.actions-menu-item svg{flex-shrink:0;color:var(--color-text-muted);transition:color var(--transition-fast)}.actions-menu-item:hover{background-color:var(--color-bg-muted)}.actions-menu-item:hover svg{color:var(--color-text-primary)}.actions-menu-item.actions-menu-item--ai{color:var(--color-brand-700)}.actions-menu-item.actions-menu-item--ai svg{color:var(--color-brand-500)}.actions-menu-item.actions-menu-item--ai:hover{background-color:var(--color-brand-50)}.actions-menu-item.actions-menu-item--ai:hover svg{color:var(--color-brand-700)}.actions-menu-item.delete{color:var(--color-danger-700)}.actions-menu-item.delete svg{color:var(--color-danger-500)}.actions-menu-item.delete:hover{background-color:var(--color-danger-50)}.actions-menu-item.delete:hover svg{color:var(--color-danger-700)}.actions-menu-dropdown.actions-menu-dropdown--up{top:auto;bottom:calc(100% + var(--space-1))}.ss-wrap{position:relative;display:inline-block;width:100%;font-family:var(--font-family-base)}.ss-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 10px;background:var(--color-bg-default);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family-base);color:var(--color-text-primary);cursor:pointer;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);min-height:36px}.ss-trigger:hover:not(:disabled){border-color:var(--color-brand-500)}.ss-trigger:focus,.ss-wrap--open .ss-trigger{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 3px var(--color-brand-100)}.ss-wrap--disabled .ss-trigger,.ss-trigger:disabled{background:var(--color-bg-muted);color:var(--color-text-muted);cursor:not-allowed}.ss-trigger-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-trigger-label--placeholder{color:var(--color-text-muted)}.ss-trigger-icons{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.ss-clear{display:inline-flex;align-items:center;justify-content:center;padding:2px;border-radius:50%;cursor:pointer;color:var(--color-text-muted);transition:background var(--transition-fast)}.ss-clear:hover{background:var(--color-bg-muted);color:var(--color-error-700, #C44343)}.ss-chev{color:var(--color-text-muted);transition:transform var(--transition-fast)}.ss-wrap--open .ss-chev{transform:rotate(180deg);color:var(--color-brand-700)}.ss-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg, 0 12px 24px rgba(0, 0, 0, .12));z-index:1000;max-height:320px;display:flex;flex-direction:column;overflow:hidden;animation:ss-fade .12s ease-out}@keyframes ss-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ss-search{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--color-border-subtle);background:var(--color-bg-default)}.ss-search svg{color:var(--color-text-muted);flex-shrink:0}.ss-search input{flex:1;border:none;outline:none;background:transparent;font-size:var(--font-size-sm);font-family:var(--font-family-base);color:var(--color-text-primary);padding:2px 0}.ss-search input::placeholder{color:var(--color-text-muted)}.ss-list{list-style:none;padding:4px;margin:0;overflow-y:auto;flex:1}.ss-option{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-primary);-webkit-user-select:none;user-select:none;transition:background var(--transition-fast)}.ss-option--active,.ss-option:hover{background:var(--color-brand-50)}.ss-option--selected{background:var(--color-brand-100);color:var(--color-brand-700);font-weight:var(--font-weight-medium)}.ss-option--selected.ss-option--active{background:var(--color-brand-100)}.ss-option--disabled{opacity:.5;cursor:not-allowed}.ss-option-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;color:var(--color-brand-700)}.ss-option-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-empty{padding:12px;text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm);font-style:italic}.filter-btn.active+.select-chevron,.filter-btn:hover+.select-chevron{color:var(--color-brand-600)}.btn-primary{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background-color:var(--color-brand-500);color:var(--color-text-inverse);border:1px solid var(--color-brand-500);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast);min-height:38px;letter-spacing:var(--letter-spacing-tight)}.import-feedback{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:1px solid transparent;display:flex;align-items:center;gap:var(--space-2)}.import-feedback-success{color:var(--color-success-700);background-color:var(--color-success-50);border-color:var(--color-success-500)}.import-feedback-error{color:var(--color-danger-700);background-color:var(--color-danger-50);border-color:var(--color-danger-500)}.customers-table .location-cell,.data-table .location-cell{display:inline-flex;align-items:center;gap:var(--space-2);white-space:nowrap;color:var(--color-text-secondary)}.customers-table .location-icon,.data-table .location-icon{color:var(--color-text-muted);flex-shrink:0}.customers-table .name-cell,.data-table .name-cell{padding-top:var(--space-3);padding-bottom:var(--space-3)}.customer-name-group{display:flex;flex-direction:column;gap:2px;min-width:0}.customer-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight)}.customer-company{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--color-text-subtle);line-height:var(--line-height-tight);font-style:normal}.status-inactive,.status-archived{background-color:var(--color-bg-muted);color:var(--color-text-muted)}.status-pending,.status-lead{background-color:var(--color-warning-50);color:var(--color-warning-700)}.status-lost,.status-closed,.status-cancelled,.status-rejected{background-color:var(--color-danger-50);color:var(--color-danger-700)}.status-in.progress,.status-in-progress,.status-active{background-color:var(--color-info-50);color:var(--color-info-700)}.status-won,.status-completed{background-color:var(--color-brand-50);color:var(--color-brand-700)}.partner-cell{display:inline-flex;align-items:center;gap:var(--space-2)}.partner-avatar{width:28px;height:28px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-brand-400),var(--color-brand-600));color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs)}.action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.action-btn:hover{background-color:var(--color-bg-muted);border-color:var(--color-border-default);color:var(--color-text-primary)}.client-form{display:flex;flex-direction:column;gap:var(--space-4)}.client-form .form-row{display:flex;gap:var(--space-4);align-items:flex-start}.client-form .form-group{display:flex;flex-direction:column;gap:var(--space-2);flex:1;min-width:0}.client-form .form-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);display:flex;align-items:center;gap:var(--space-1)}.client-form .required{color:var(--color-danger-500);font-weight:var(--font-weight-semibold);margin-left:2px}.client-form .optional-hint{font-size:var(--font-size-xs);color:var(--color-text-subtle);font-weight:var(--font-weight-regular);font-style:italic}.client-form input[type=text],.client-form input[type=number],.client-form input[type=date],.client-form input[type=email],.client-form input[type=url],.client-form select,.client-form textarea{width:100%;padding:var(--space-2) var(--space-3);background-color:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:var(--font-family-base);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);min-height:38px}.client-form input::placeholder,.client-form textarea::placeholder{color:var(--color-text-subtle)}.client-form input:focus,.client-form select:focus,.client-form textarea:focus{outline:none;border-color:var(--color-brand-500);box-shadow:var(--shadow-focus)}.client-form input.error,.client-form select.error,.client-form textarea.error{border-color:var(--color-danger-500)}.client-form input:disabled,.client-form select:disabled{background-color:var(--color-bg-muted);color:var(--color-text-subtle);cursor:not-allowed}.client-form textarea{resize:vertical;min-height:80px;line-height:var(--line-height-normal)}.client-form input[type=number]::-webkit-outer-spin-button,.client-form input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.client-form input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.client-form .error-message{display:block;font-size:var(--font-size-xs);color:var(--color-danger-700);margin-top:2px}.client-form .form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);margin-top:var(--space-2);border-top:1px solid var(--color-border-subtle)}@media (max-width: 640px){.client-form .form-row{flex-direction:column;gap:var(--space-3)}}.form-group--full{flex:1 1 100%;min-width:100%}.field-hint{margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:var(--line-height-relaxed);font-style:italic}.chip-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-2) 0}.chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3);background-color:var(--color-brand-50);color:var(--color-brand-700);border:1px solid var(--color-brand-200);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.2}.chip-remove{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;color:var(--color-brand-700);font-size:var(--font-size-md);line-height:1;cursor:pointer;border-radius:var(--radius-full);transition:background-color var(--transition-fast),color var(--transition-fast);padding:0}.chip-remove:hover{background-color:var(--color-brand-200);color:var(--color-brand-800)}.cf-logo-section{display:flex;justify-content:center;padding-bottom:var(--space-4);border-bottom:1px dashed var(--color-border-subtle);margin-bottom:var(--space-4)}.cf-logo-upload-btn{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-bg-default);border:1px dashed var(--color-border-default);border-radius:var(--radius-lg);cursor:pointer;width:100%;max-width:480px;text-align:left;transition:all var(--transition-fast);font-family:var(--font-family-base)}.cf-logo-upload-btn:hover{border-color:var(--color-brand-500);background:var(--color-brand-50)}.cf-logo-upload-icon{width:56px;height:56px;border-radius:var(--radius-md);background:var(--color-bg-surface);display:flex;align-items:center;justify-content:center;color:var(--color-brand-700);flex-shrink:0}.cf-logo-upload-text{flex:1}.cf-logo-upload-text strong{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-sm);color:var(--color-brand-700);margin-bottom:2px}.cf-logo-upload-text small{display:block;color:var(--color-text-muted);font-size:var(--font-size-xs)}.cf-logo-preview{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md)}.cf-logo-preview img{width:90px;height:60px;object-fit:contain;border-radius:var(--radius-sm);background:var(--color-bg-default)}.cf-logo-preview-actions{display:flex;align-items:center;gap:6px}.cf-section{padding:var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-surface);margin:var(--space-4) 0}.cf-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);gap:var(--space-2);flex-wrap:wrap}.cf-section-header h3{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.cf-empty-hint{margin:0;padding:var(--space-3);background:var(--color-bg-default);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center}.cf-contacts-table{display:flex;flex-direction:column;gap:4px}.cf-contacts-head,.cf-contacts-row{display:grid;grid-template-columns:1.5fr 1.7fr 1fr 1.5fr 36px;gap:6px;align-items:center}.cf-contacts-head{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);font-weight:var(--font-weight-medium);padding:0 4px 4px}.cf-contacts-row input{padding:6px 8px;background:var(--color-bg-default);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family-base)}.cf-contacts-row input:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 2px var(--color-brand-100)}.cf-contract-upload-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;background:var(--color-bg-default);border:1px dashed var(--color-border-default);border-radius:var(--radius-md);cursor:pointer;width:100%;justify-content:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);font-family:var(--font-family-base)}.cf-contract-upload-btn:hover{border-color:var(--color-brand-500);color:var(--color-brand-700);background:var(--color-brand-50)}.cf-contract-preview{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-brand-50);border:1px solid var(--color-brand-200, #D5C9E6);border-radius:var(--radius-md)}.cf-contract-icon{color:var(--color-brand-700);flex-shrink:0}.cf-contract-info{flex:1;min-width:0}.cf-contract-info strong{display:block;font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cf-contract-info small{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted)}.cf-contract-actions{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}@media (max-width: 720px){.cf-contacts-head,.cf-contacts-row{grid-template-columns:1fr}.cf-contacts-head{display:none}.cf-contacts-row{padding:var(--space-3);background:var(--color-bg-default);border-radius:var(--radius-sm)}}.page--customer-detail{display:flex;flex-direction:column;gap:var(--space-5)}.customer-back-link{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:color var(--transition-fast);align-self:flex-start}.customer-back-link:hover{color:var(--color-brand-600)}.customer-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-5)}.customer-detail-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;flex-wrap:wrap}.btn-secondary.btn-secondary--ai{color:var(--color-brand-700);border-color:var(--color-brand-200);background-color:var(--color-brand-50)}.btn-secondary.btn-secondary--ai svg{color:var(--color-brand-500)}.btn-secondary.btn-secondary--ai:hover{background-color:var(--color-brand-100);border-color:var(--color-brand-300);color:var(--color-brand-800)}.customer-detail-header-left{display:flex;gap:var(--space-4);align-items:flex-start;min-width:0;flex:1}.customer-logo-wrap{position:relative;width:64px;height:64px;flex-shrink:0}.customer-logo-placeholder{width:64px;height:64px;border-radius:var(--radius-md);background-color:var(--color-bg-muted);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);flex-shrink:0}.customer-logo-placeholder--upload{border:1px dashed var(--color-border-default);flex-direction:column;gap:2px;cursor:pointer;transition:all var(--transition-fast);padding:0}.customer-logo-placeholder--upload:hover{border-color:var(--color-brand-500);background-color:var(--color-brand-50);color:var(--color-brand-700)}.customer-logo-upload-hint{font-size:9px;font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.4px;display:inline-flex;align-items:center;gap:2px}.customer-logo-img-btn{width:64px;height:64px;border-radius:var(--radius-md);background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:all var(--transition-fast)}.customer-logo-img-btn:hover{border-color:var(--color-brand-500)}.customer-logo-img{max-width:100%;max-height:100%;object-fit:contain}.customer-logo-remove{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background-color:var(--color-text-primary);color:#fff;border:2px solid var(--color-bg-surface);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background var(--transition-fast)}.customer-logo-remove:hover{background-color:var(--color-danger-700)}.customer-detail-identity{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.customer-detail-name{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight);margin:0}.customer-detail-legal{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.customer-detail-badges{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.badge-separator{color:var(--color-text-subtle)}.customer-meta-line{font-size:var(--font-size-sm);color:var(--color-text-muted)}.customer-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}.customer-kpi-card{background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;gap:var(--space-3);align-items:center}.customer-kpi-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.customer-kpi-icon--brand{background-color:var(--color-brand-50);color:var(--color-brand-600)}.customer-kpi-icon--success{background-color:var(--color-success-50);color:var(--color-success-700)}.customer-kpi-icon--warning{background-color:var(--color-warning-50);color:var(--color-warning-700)}.customer-kpi-body{display:flex;flex-direction:column;gap:2px;min-width:0}.customer-kpi-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider)}.customer-kpi-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.customer-detail-twocol{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-4);align-items:start}.customer-info-panel{background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-5)}.customer-info-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5);gap:var(--space-3)}.customer-info-panel-header h2{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.customer-info-edit-link{background:none;border:none;color:var(--color-brand-600);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.customer-info-edit-link:hover{background-color:var(--color-brand-50);color:var(--color-brand-700)}.customer-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4) var(--space-6)}.customer-info-field{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.customer-info-field--full{grid-column:1 / -1}.customer-info-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);font-weight:var(--font-weight-medium)}.customer-info-value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium);word-break:break-word}.customer-info-with-icon{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-primary)}.customer-info-with-icon svg{color:var(--color-text-muted);flex-shrink:0}.customer-info-link{color:var(--color-brand-600);text-decoration:none;transition:color var(--transition-fast);font-weight:var(--font-weight-medium)}.customer-info-link:hover{color:var(--color-brand-700);text-decoration:underline}.customer-detail-sidebar{display:flex;flex-direction:column;gap:var(--space-3)}.customer-sidebar-card{background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);overflow:hidden}.customer-sidebar-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle);background-color:var(--color-bg-subtle)}.customer-sidebar-header h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.customer-sidebar-body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.customer-sidebar-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:var(--line-height-relaxed);margin:0}.customer-sidebar-empty{font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic;margin:0}.customer-sidebar-dates{gap:var(--space-3)}.customer-date-row{display:flex;flex-direction:column;gap:2px}.customer-date-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);font-weight:var(--font-weight-medium)}.customer-date-value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.chip-list--readonly{margin:0;padding:0}.chip.chip--readonly{padding:2px var(--space-2);font-size:var(--font-size-xs)}@media (max-width: 1100px){.customer-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.customer-detail-twocol,.customer-info-grid{grid-template-columns:1fr}}@media (max-width: 640px){.customer-detail-header{flex-direction:column}.customer-kpi-grid{grid-template-columns:1fr}}.customer-contacts-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-3)}.customer-contact-card{display:flex;gap:var(--space-3);padding:var(--space-3);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-left:3px solid var(--color-brand-500);border-radius:var(--radius-md);align-items:flex-start}.customer-contact-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-brand-700),var(--color-brand-500));color:#fff;font-weight:var(--font-weight-bold);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--font-size-md)}.customer-contact-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.customer-contact-body strong{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.customer-contact-meta{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-xs);color:var(--color-text-muted);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-contact-meta:hover{color:var(--color-brand-700);text-decoration:underline}.customer-contact-comments{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-style:italic;margin-top:2px;line-height:var(--line-height-snug)}.customer-contract-card{display:flex;gap:var(--space-4);align-items:center;padding:var(--space-4);background:linear-gradient(135deg,var(--color-brand-50),var(--color-bg-surface));border:1px solid var(--color-brand-200, #D5C9E6);border-radius:var(--radius-md)}.customer-contract-icon{color:var(--color-brand-700);flex-shrink:0}.customer-contract-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.customer-contract-info strong{display:block;color:var(--color-text-primary);font-size:var(--font-size-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-contract-info small{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-muted);font-size:var(--font-size-xs)}.btn-link{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;color:var(--color-brand-700);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:4px 8px;border-radius:var(--radius-sm);text-decoration:none}.btn-link:hover{background:var(--color-brand-50);text-decoration:underline}.page--customer-context{display:flex;flex-direction:column;gap:var(--space-5);max-width:1080px;margin:0 auto}.cc-page-header{display:flex;align-items:center;gap:var(--space-4);padding-bottom:var(--space-3)}.cc-back-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--color-border-default);background-color:var(--color-bg-surface);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.cc-back-btn:hover{background-color:var(--color-bg-muted);color:var(--color-text-primary);border-color:var(--color-border-strong)}.cc-page-title{flex:1;display:flex;flex-direction:column;gap:2px}.cc-page-title h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight);margin:0}.cc-page-title p{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.cc-analyze-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:linear-gradient(135deg,var(--color-brand-500) 0%,var(--color-brand-700) 100%);color:var(--color-text-inverse);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);box-shadow:0 2px 8px #5c358f40}.cc-analyze-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #5c358f59}.cc-analyze-btn:disabled{opacity:.7;cursor:not-allowed}.cc-spinner{animation:cc-spin .8s linear infinite}@keyframes cc-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cc-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background-color:var(--color-danger-50);color:var(--color-danger-700);border:1px solid var(--color-danger-500);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.cc-card{background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-5)}.cc-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4);gap:var(--space-3)}.cc-card-header h2{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.cc-card-subtitle{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:2px 0 0}.cc-sources-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}@media (max-width: 1200px){.cc-sources-grid{grid-template-columns:repeat(2,1fr)}}.cc-source-card{display:flex;gap:var(--space-2);padding:var(--space-3);background-color:var(--color-bg-base);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);min-height:88px;align-items:flex-start;min-width:0}.cc-source-icon{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.cc-source-icon--blue{background-color:#dbeafe;color:#1d4ed8}.cc-source-icon--purple{background-color:var(--color-brand-50);color:var(--color-brand-600)}.cc-source-icon--green{background-color:var(--color-success-50);color:var(--color-success-700)}.cc-source-icon--brand{background-color:var(--color-brand-100);color:var(--color-brand-700)}.cc-source-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.cc-source-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.cc-source-value{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-source-hint{font-size:var(--font-size-xs);color:var(--color-text-subtle);font-style:italic;margin-top:var(--space-1)}.cc-source-action{display:inline-flex;align-items:center;gap:var(--space-1);margin-top:var(--space-2);padding:2px 0;background:none;border:none;color:var(--color-brand-600);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;align-self:flex-start;transition:color var(--transition-fast)}.cc-source-action:hover{color:var(--color-brand-700)}.cc-doc-list{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-1);width:100%}.cc-doc-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.cc-doc-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text-primary)}.cc-doc-size{color:var(--color-text-muted);font-size:var(--font-size-xs);flex-shrink:0}.cc-doc-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:none;border:none;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);padding:0;transition:all var(--transition-fast)}.cc-doc-remove:hover{background-color:var(--color-danger-50);color:var(--color-danger-700)}.cc-doc-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:var(--radius-full);flex-shrink:0}.cc-doc-badge--ok{background-color:var(--color-success-50);color:var(--color-success-700)}.cc-doc-badge--err{background-color:var(--color-danger-50);color:var(--color-danger-700)}.cc-doc-item--error .cc-doc-name{color:var(--color-danger-700)}.cc-source-action[disabled]{opacity:.6;cursor:not-allowed}.cc-info-banner{padding:var(--space-3) var(--space-4);background-color:var(--color-bg-muted);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-4);line-height:var(--line-height-relaxed)}.cc-info-pill{display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-warning-700);background-color:var(--color-warning-50);padding:1px var(--space-2);border-radius:var(--radius-full);letter-spacing:var(--letter-spacing-wide)}.cc-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.cc-field-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}.cc-field-card--suggested{background-color:#fffbeb;border-color:#fde68a}.cc-field-card:focus-within{border-color:var(--color-brand-500)}.cc-field-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);min-height:22px}.cc-field-head label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}.cc-validate-link{display:inline-flex;align-items:center;gap:var(--space-1);background:none;border:none;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-warning-700);cursor:pointer;padding:2px var(--space-2);border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.cc-validate-link:hover{background-color:var(--color-warning-50)}.cc-validated-tag{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-success-700)}.cc-field-textarea{width:100%;padding:var(--space-3);background-color:transparent;border:1px solid transparent;border-radius:var(--radius-sm);font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--color-text-primary);resize:vertical;min-height:100px;line-height:var(--line-height-relaxed);transition:border-color var(--transition-fast)}.cc-field-card:not(.cc-field-card--suggested) .cc-field-textarea{background-color:var(--color-bg-base);border-color:var(--color-border-subtle)}.cc-field-textarea::placeholder{color:var(--color-text-subtle)}.cc-field-textarea:focus{outline:none;border-color:var(--color-brand-500);box-shadow:var(--shadow-focus);background-color:var(--color-bg-surface)}.cc-last-analyzed{margin-top:var(--space-4);font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:right}@media (max-width: 1024px){.cc-sources-grid{grid-template-columns:1fr}}@media (max-width: 768px){.cc-fields-grid{grid-template-columns:1fr}.cc-page-header{flex-wrap:wrap}.cc-analyze-btn{width:100%;justify-content:center}}.page--funding-profile{display:flex;flex-direction:column;gap:var(--space-5)}.fp-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap}.fp-header-left{display:flex;align-items:center;gap:var(--space-3)}.fp-header h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;line-height:var(--line-height-tight)}.fp-header p{margin:2px 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.fp-header .muted{color:var(--color-text-muted)}.fp-header-actions{display:flex;gap:var(--space-2);align-items:center}.fp-saved-message{font-size:var(--font-size-sm);color:var(--color-success-600);font-weight:var(--font-weight-medium)}.fp-card{background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.fp-section-header h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 4px}.fp-section-header .muted{font-size:var(--font-size-sm);color:var(--color-text-muted)}.fp-section-header--with-action{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap}.btn-secondary--sm{padding:6px 10px;font-size:var(--font-size-xs);display:inline-flex;align-items:center;gap:4px}.fp-history-source-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background-color:var(--color-brand-100);color:var(--color-brand-700);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);width:fit-content;letter-spacing:.02em}.fp-auto-card{background-color:var(--color-brand-50);border-color:var(--color-brand-200)}.fp-auto-header h2{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0;color:var(--color-text-primary)}.fp-auto-header .muted{margin:2px 0 0;font-size:var(--font-size-sm)}.fp-auto-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-3)}.fp-auto-grid>div{display:flex;flex-direction:column;gap:2px}.fp-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.fp-trl-badge{display:inline-block;padding:2px 10px;background-color:var(--color-brand-100);color:var(--color-brand-700);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);width:fit-content}.fp-auto-text{margin-top:var(--space-2)}.fp-auto-text summary{cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-brand-700);-webkit-user-select:none;user-select:none}.fp-auto-text p{margin:var(--space-2) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.fp-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4)}.fp-field{display:flex;flex-direction:column;gap:var(--space-2)}.fp-field label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.fp-field select,.fp-field input[type=text],.fp-field input[type=number],.fp-field textarea{padding:var(--space-2) var(--space-3);background-color:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);font-family:var(--font-family-base);min-height:38px}.fp-field textarea{min-height:70px;resize:vertical}.fp-field input:focus,.fp-field select:focus,.fp-field textarea:focus{outline:none;border-color:var(--color-brand-500);box-shadow:var(--shadow-focus)}.fp-hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.fp-slider-wrap{display:flex;align-items:center;gap:var(--space-3)}.fp-slider-wrap input[type=range]{flex:1;accent-color:var(--color-brand-500)}.fp-slider-value{min-width:60px;text-align:right;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-brand-700);font-variant-numeric:tabular-nums}.fp-history-list{display:flex;flex-direction:column;gap:var(--space-3)}.fp-history-entry{background-color:var(--color-bg-base);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);border-left:4px solid var(--color-border-default)}.fp-history-entry--won{border-left-color:var(--color-success-500)}.fp-history-entry--lost{border-left-color:var(--color-danger-500)}.fp-history-entry--pending{border-left-color:var(--color-warning-500)}.fp-history-entry--in-progress{border-left-color:var(--color-brand-500)}.fp-history-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3);align-items:flex-end}.fp-history-field{display:flex;flex-direction:column;gap:4px}.fp-history-field label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.fp-history-field input,.fp-history-field select,.fp-history-field textarea{padding:var(--space-2) var(--space-3);background-color:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:var(--font-family-base)}.fp-history-field small{font-size:var(--font-size-xs);color:var(--color-text-muted)}.fp-history-field--full{grid-column:1 / -1}.fp-history-field--icon{align-items:center;justify-content:center;flex:0 0 60px}.fp-status-icon--won{color:var(--color-success-600)}.fp-status-icon--lost{color:var(--color-danger-600)}.fp-status-icon--pending{color:var(--color-warning-600)}.fp-status-icon--inprogress{color:var(--color-brand-600)}.fp-history-actions{display:flex;justify-content:flex-end}.btn-link-danger{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--color-danger-600);font-size:var(--font-size-sm);cursor:pointer;padding:4px 8px;border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.btn-link-danger:hover{background-color:var(--color-danger-50)}.fp-empty{padding:var(--space-4);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-muted);background-color:var(--color-bg-muted);border-radius:var(--radius-md);border:1px dashed var(--color-border-default)}.fp-trl-list{display:flex;flex-direction:column;gap:var(--space-3)}.fp-trl-entry{background-color:var(--color-bg-base);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);border-left:4px solid var(--color-brand-400)}.fp-trl-row{display:flex;gap:var(--space-3);align-items:flex-end}.fp-trl-row.fp-trl-sliders{display:grid;grid-template-columns:1fr 1fr}.fp-trl-field{display:flex;flex-direction:column;gap:4px;flex:1}.fp-trl-field--name{flex:1}.fp-trl-field--full{flex:1;width:100%}.fp-trl-field label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.fp-trl-field input[type=text]{padding:var(--space-2) var(--space-3);background-color:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:var(--font-family-base)}.fp-trl-field input:focus,.fp-trl-field textarea:focus{outline:none;border-color:var(--color-brand-500);box-shadow:var(--shadow-focus)}.fp-trl-roadmap{padding:var(--space-3);background-color:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:var(--font-family-base);resize:vertical;min-height:84px;line-height:1.5;color:var(--color-text-primary)}.fp-trl-roadmap::placeholder{color:var(--color-text-muted);font-style:italic;white-space:pre-line}.fp-trl-hint{margin:6px 0 0;font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:var(--line-height-relaxed)}.fp-trl-hint strong{color:var(--color-brand-700);font-weight:var(--font-weight-semibold)}.fp-aid-types{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px dashed var(--color-border-subtle)}.fp-aid-types-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:4px}.fp-aid-types-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-2)}.fp-aid-chip{display:flex;align-items:flex-start;gap:10px;text-align:left;background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-3);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family-base)}.fp-aid-chip:hover{border-color:var(--color-brand-500);background:var(--color-brand-50)}.fp-aid-chip.selected{border-color:var(--color-brand-500);background:var(--color-brand-50);box-shadow:0 0 0 2px var(--color-brand-100)}.fp-aid-chip-check{width:20px;height:20px;border-radius:50%;border:2px solid var(--color-border-default);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:var(--font-weight-bold);color:var(--color-brand-700);flex-shrink:0;margin-top:1px}.fp-aid-chip.selected .fp-aid-chip-check{background:var(--color-brand-700);border-color:var(--color-brand-700);color:#fff}.fp-aid-chip strong{display:block;font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:2px}.fp-aid-chip small{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:var(--line-height-snug)}.fp-trl-actions{display:inline-flex;gap:8px;flex-wrap:wrap}.btn-secondary--ai{border-color:var(--color-brand-500)!important;color:var(--color-brand-700)!important;background:linear-gradient(135deg,var(--color-brand-50),var(--color-bg-surface))!important}.btn-secondary--ai:hover:not(:disabled){background:var(--color-brand-100)!important;border-color:var(--color-brand-700)!important}.btn-secondary--ai:disabled{opacity:.5;cursor:not-allowed}@keyframes fpSpinAnim{to{transform:rotate(360deg)}}.fp-spin{animation:fpSpinAnim 1s linear infinite}.fp-extract-error{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--color-danger-50, #FBEDED);color:var(--color-danger-800, #8B3636);border:1px solid var(--color-danger-200, #E8B9B9);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin-top:var(--space-3)}.fp-extract-error button{margin-left:auto;background:transparent;border:none;cursor:pointer;color:inherit;padding:2px;display:flex}.fp-extract-hint{display:flex;align-items:flex-start;gap:10px;padding:var(--space-3) var(--space-4);background:linear-gradient(135deg,var(--color-brand-50),rgba(244,239,251,.4));border:1px solid var(--color-brand-200, #D5C9E6);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-top:var(--space-3)}.fp-extract-hint svg{color:var(--color-brand-700);margin-top:3px;flex-shrink:0}.fp-extract-hint strong{color:var(--color-text-primary)}.fp-extract-hint em{color:var(--color-brand-700);font-style:normal;font-weight:var(--font-weight-medium)}.fp-extract-hint code{background:var(--color-brand-100);color:var(--color-brand-800, #3D1E66);padding:1px 6px;border-radius:var(--radius-sm);font-size:.85em}.fp-extract-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a13258c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.fp-extract-modal{background:var(--color-bg-surface);border-radius:var(--radius-lg);max-width:800px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 64px #00000040}.fp-extract-modal-header{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-5);border-bottom:1px solid var(--color-border-subtle)}.fp-extract-modal-header h3{display:inline-flex;align-items:center;gap:8px;margin:0 0 4px;font-size:var(--font-size-lg);color:var(--color-brand-700)}.fp-extract-modal-header p{margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.fp-extract-modal-header code{background:var(--color-bg-muted);padding:1px 5px;border-radius:var(--radius-sm);font-size:.85em}.fp-extract-close{background:var(--color-bg-muted);border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.fp-extract-close:hover{background:var(--color-border-default)}.fp-extract-modal-body{flex:1;overflow-y:auto;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.fp-extract-line{background:var(--color-bg-default);border:1px solid var(--color-border-subtle);border-left:4px solid var(--color-brand-500);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.fp-extract-line header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.fp-extract-line-num{background:var(--color-brand-700);color:#fff;font-weight:var(--font-weight-bold);font-size:var(--font-size-xs);padding:2px 8px;border-radius:var(--radius-full)}.fp-extract-line h4{margin:0;font-size:var(--font-size-md);color:var(--color-text-primary);flex:1}.fp-extract-trl-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-brand-700);background:var(--color-brand-50);padding:3px 10px;border-radius:var(--radius-sm);border:1px solid var(--color-brand-200, #D5C9E6)}.fp-extract-roadmap{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.fp-extract-roadmap strong{color:var(--color-brand-700)}.fp-extract-modal-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border-subtle);flex-wrap:wrap}@media (max-width: 640px){.fp-trl-row.fp-trl-sliders{grid-template-columns:1fr}}.fp-cta{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-5);background:linear-gradient(135deg,var(--color-brand-500),var(--color-brand-700));color:#fff;border-radius:var(--radius-lg)}.fp-cta h2{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:#fff}.fp-cta .muted{margin:4px 0 0;font-size:var(--font-size-sm);color:#ffffffd9}.fp-cta .btn-primary{background-color:#fff;color:var(--color-brand-700);font-weight:var(--font-weight-semibold)}.fp-cta .btn-primary:hover{background-color:var(--color-brand-50)}.page--roadmap{display:flex;flex-direction:column;gap:var(--space-5)}.rm-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap}.rm-header-left{display:flex;align-items:center;gap:var(--space-3)}.rm-header h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;line-height:var(--line-height-tight)}.rm-header p{margin:2px 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.rm-header .muted{color:var(--color-text-muted)}.rm-header-actions{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.rm-timeline-selector{display:flex;align-items:center;gap:var(--space-2)}.rm-timeline-selector .muted{font-size:var(--font-size-sm)}.rm-timeline-buttons{display:inline-flex;background-color:var(--color-bg-muted);border-radius:var(--radius-md);padding:3px}.rm-timeline-btn{background:transparent;border:none;padding:6px 14px;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.rm-timeline-btn.active{background-color:var(--color-bg-surface);color:var(--color-brand-700);box-shadow:var(--shadow-sm)}.rm-timeline-btn:disabled{opacity:.5;cursor:not-allowed}.spin{animation:rm-spin 1s linear infinite}@keyframes rm-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rm-input-card{background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5)}.rm-pipeline{display:flex;align-items:stretch;gap:var(--space-3);padding:var(--space-3);background-color:var(--color-bg-base);border-radius:var(--radius-md);margin-bottom:var(--space-4);flex-wrap:wrap}.rm-pipeline-step{flex:1 1 0;display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-3);background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);min-width:140px}.rm-pipeline-step--highlight{border-color:var(--color-brand-300);background:linear-gradient(135deg,var(--color-brand-50),var(--color-bg-surface))}.rm-pipeline-num{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-brand-700);line-height:1;font-variant-numeric:tabular-nums}.rm-pipeline-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-top:4px}.rm-pipeline-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.rm-pipeline-arrow{align-self:center;font-size:var(--font-size-xl);color:var(--color-brand-400);font-weight:var(--font-weight-bold)}.rm-preview-toggle{background:var(--color-bg-surface);border:1px solid var(--color-brand-300);color:var(--color-brand-700);padding:8px 14px;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.rm-preview-toggle:hover:not(:disabled){background-color:var(--color-brand-50)}.rm-preview-toggle:disabled{opacity:.5;cursor:not-allowed}.rm-preview-table{margin-top:var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);overflow-x:auto;max-height:400px;overflow-y:auto}.rm-preview-table table{width:100%;border-collapse:collapse;font-size:var(--font-size-xs)}.rm-preview-table thead{background-color:var(--color-bg-muted);position:sticky;top:0;z-index:1}.rm-preview-table th,.rm-preview-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--color-border-subtle)}.rm-preview-table th{font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);font-size:10px}.rm-preview-table tr:hover{background-color:var(--color-bg-muted)}.rm-preview-title{max-width:320px;color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.rm-input-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4)}.rm-stat{display:flex;align-items:center;gap:var(--space-3)}.rm-stat>div{display:flex;flex-direction:column}.rm-stat-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.rm-stat strong{font-size:var(--font-size-lg);color:var(--color-text-primary);font-variant-numeric:tabular-nums}.rm-stat-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background-color:var(--color-brand-100);color:var(--color-brand-700);border-radius:var(--radius-md)}.rm-warning{margin-top:var(--space-3);padding:var(--space-3);background-color:var(--color-warning-50);border:1px solid var(--color-warning-200);border-radius:var(--radius-md);color:var(--color-warning-800);font-size:var(--font-size-sm);display:flex;align-items:center;gap:var(--space-2)}.rm-error-card{background-color:var(--color-danger-50);border:1px solid var(--color-danger-200);color:var(--color-danger-800);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-sm)}.rm-error-card strong{display:block;margin-bottom:2px}.rm-history-card{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.rm-compare-btn{display:inline-flex;align-items:center;gap:6px;margin-left:auto;background:var(--color-bg-surface);border:1px solid var(--color-brand-300);color:var(--color-brand-700);padding:6px 12px;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.rm-compare-btn:hover{background:var(--color-brand-50);border-color:var(--color-brand-500)}.rm-history-label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:var(--font-weight-medium);margin-right:var(--space-2)}.rm-version-chip-wrap{display:inline-flex;align-items:stretch;background-color:var(--color-bg-muted);border-radius:var(--radius-full);overflow:hidden;border:1px solid transparent;transition:all var(--transition-fast)}.rm-version-chip-wrap.active{background-color:var(--color-brand-100);border-color:var(--color-brand-300)}.rm-version-chip-wrap:hover{background-color:var(--color-brand-50)}.rm-version-chip{background:transparent;border:none;padding:4px 4px 4px 12px;font-size:var(--font-size-xs);cursor:pointer;color:var(--color-text-secondary)}.rm-version-chip-wrap.active .rm-version-chip{color:var(--color-brand-700);font-weight:var(--font-weight-semibold)}.rm-version-chip-delete{background:transparent;border:none;padding:4px 8px 4px 4px;cursor:pointer;color:var(--color-text-muted);display:inline-flex;align-items:center}.rm-version-chip-delete:hover{color:var(--color-danger-600)}.rm-rec-remove-btn{background:transparent;border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:6px;cursor:pointer;color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;height:fit-content;margin-left:var(--space-2)}.rm-rec-remove-btn:hover{border-color:var(--color-danger-300);color:var(--color-danger-600);background-color:var(--color-danger-50)}.rm-add-from-discovery-btn{background:transparent;border:2px dashed var(--color-brand-300);color:var(--color-brand-700);padding:var(--space-4);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);display:flex;align-items:center;justify-content:center;gap:var(--space-2);transition:all var(--transition-fast)}.rm-add-from-discovery-btn:hover{background-color:var(--color-brand-50);border-color:var(--color-brand-500)}.rm-save-banner{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--color-success-50);border:1px solid var(--color-success-200);border-radius:var(--radius-md);flex-wrap:wrap}.rm-save-banner-info{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-sm)}.rm-save-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background-color:var(--color-success-600);color:#fff;border-radius:50%;font-weight:700;flex-shrink:0}.rm-save-banner strong{color:var(--color-success-800)}.rm-save-banner .muted{color:var(--color-text-secondary)}.rm-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.rm-picker-modal{background:var(--color-bg-surface);border-radius:var(--radius-lg);width:100%;max-width:720px;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.rm-picker-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);border-bottom:1px solid var(--color-border-subtle)}.rm-picker-header h3{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.rm-picker-close{background:transparent;border:none;cursor:pointer;color:var(--color-text-muted);padding:4px}.rm-picker-close:hover{color:var(--color-text-primary)}.rm-picker-search{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-muted)}.rm-picker-search input{flex:1;border:none;outline:none;font-size:var(--font-size-sm);padding:4px 0;background:transparent;color:var(--color-text-primary)}.rm-picker-list{flex:1;overflow-y:auto;padding:var(--space-2)}.rm-picker-item{display:flex;flex-direction:column;width:100%;text-align:left;padding:var(--space-3);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);margin-bottom:4px}.rm-picker-item:hover:not(:disabled){background-color:var(--color-brand-50);border-color:var(--color-brand-200)}.rm-picker-item.added,.rm-picker-item:disabled{opacity:.55;cursor:not-allowed}.rm-picker-item-main{display:flex;align-items:center;gap:var(--space-2);margin-bottom:4px}.rm-picker-item-main strong{font-size:var(--font-size-sm);color:var(--color-text-primary)}.rm-picker-item-meta{font-size:var(--font-size-xs);color:var(--color-text-muted);display:flex;gap:6px;flex-wrap:wrap}.rm-picker-added-tag{background:var(--color-success-100);color:var(--color-success-700);padding:1px 6px;border-radius:var(--radius-full)}.rm-picker-analyzing{background:var(--color-brand-100);color:var(--color-brand-700);padding:1px 6px;border-radius:var(--radius-full);display:inline-flex;align-items:center;gap:4px;font-weight:var(--font-weight-medium)}.rm-summary-card{background:linear-gradient(135deg,var(--color-brand-500),var(--color-brand-700));color:#fff;border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.rm-summary-card h2{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:#fff;display:inline-flex;align-items:center;gap:var(--space-2)}.rm-summary-card p{margin:0;font-size:var(--font-size-md);line-height:var(--line-height-relaxed);color:#ffffffeb}.rm-summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid rgba(255,255,255,.15)}.rm-summary-stats>div{display:flex;flex-direction:column;gap:2px}.rm-summary-stats .rm-stat-label{color:#ffffffbf}.rm-summary-stats strong{font-size:var(--font-size-lg);color:#fff}.rm-amount-highlight{color:#fff;font-weight:var(--font-weight-bold)}@keyframes rmCardHighlight{0%{box-shadow:0 0 #5c358f99}50%{box-shadow:0 0 0 8px #5c358f26}to{box-shadow:0 0 #5c358f00}}.rm-rec-card--highlight{animation:rmCardHighlight 2.4s ease-out;border-color:var(--color-brand-500)!important}.rm-view-bar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap}.rm-view-toggle{display:inline-flex;background-color:var(--color-bg-muted);border-radius:var(--radius-md);padding:3px;width:fit-content}.rm-export-group{display:inline-flex;gap:var(--space-2);align-items:center}.rm-export-png-btn{display:inline-flex;align-items:center;gap:8px;background-color:var(--color-bg-surface);color:var(--color-brand-700);border:1px solid var(--color-brand-300);padding:10px 16px;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.rm-export-png-btn:hover{background-color:var(--color-brand-50);border-color:var(--color-brand-500)}.rm-export-pdf-btn{display:inline-flex;align-items:center;gap:8px;background-color:var(--color-brand-50);color:var(--color-brand-700);border:1px solid var(--color-brand-500);padding:10px 16px;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:all var(--transition-fast)}.rm-export-pdf-btn:hover:not(:disabled){background-color:var(--color-brand-100);border-color:var(--color-brand-700)}.rm-export-pdf-btn:disabled{opacity:.7;cursor:not-allowed}.rm-export-ppt-btn{display:inline-flex;align-items:center;gap:8px;background-color:var(--color-brand-700);color:#fff;border:none;padding:10px 18px;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.rm-export-ppt-btn:hover:not(:disabled){background-color:var(--color-brand-800);transform:translateY(-1px);box-shadow:var(--shadow-md)}.rm-export-ppt-btn:disabled{opacity:.7;cursor:not-allowed}@keyframes rmSpinner{to{transform:rotate(360deg)}}.rm-spin{animation:rmSpinner 1s linear infinite}.rm-view-btn{background:transparent;border:none;padding:8px 20px;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.rm-view-btn.active{background-color:var(--color-bg-surface);color:var(--color-brand-700);box-shadow:var(--shadow-sm)}.rm-recommendations{display:flex;flex-direction:column;gap:var(--space-4)}.rm-rec-card{background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);transition:box-shadow var(--transition-fast),border-color var(--transition-fast)}.rm-rec-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-brand-300)}.rm-rec-header{display:flex;align-items:flex-start;gap:var(--space-4)}.rm-rec-priority{flex:0 0 auto;width:40px;height:40px;background-color:var(--color-brand-100);color:var(--color-brand-700);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-md)}.rm-rec-title-wrap{flex:1}.rm-rec-title-wrap h3{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-2) 0;line-height:var(--line-height-snug)}.rm-rec-meta{display:flex;gap:var(--space-2);flex-wrap:wrap}.rm-meta-chip{padding:2px 8px;background-color:var(--color-bg-muted);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.rm-source-badge{padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.02em}.rm-source-badge--eu_portal{background-color:#1a4998;color:#fff}.rm-source-badge--bdns{background-color:#c8102e;color:#fff}.rm-fit-score{flex:0 0 auto;width:64px;height:64px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:3px solid}.rm-fit-score-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1}.rm-fit-score-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;margin-top:2px;opacity:.7}.rm-fit-score--high{border-color:var(--color-success-500);color:var(--color-success-700);background-color:var(--color-success-50)}.rm-fit-score--mid{border-color:var(--color-warning-500);color:var(--color-warning-700);background-color:var(--color-warning-50)}.rm-fit-score--low{border-color:var(--color-text-muted);color:var(--color-text-secondary);background-color:var(--color-bg-muted)}.rm-rec-body{display:flex;flex-direction:column;gap:var(--space-3)}.rm-rec-reasoning{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.rm-rec-trl{display:flex;flex-direction:column;gap:6px;padding:var(--space-3);background:var(--color-bg-default);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md)}.rm-rec-trl-label{font-size:10px;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-muted)}.rm-rec-trl-bar{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:var(--font-size-sm)}.rm-rec-trl-start,.rm-rec-trl-end{font-weight:var(--font-weight-bold);color:var(--color-brand-700);background:var(--color-brand-50);padding:3px 10px;border-radius:var(--radius-sm);border:1px solid var(--color-brand-200, #D5C9E6)}.rm-rec-trl-arrow{font-size:16px;color:var(--color-brand-700);font-weight:var(--font-weight-bold)}.rm-rec-trl-line{color:var(--color-text-secondary);font-size:var(--font-size-xs);margin-left:4px}.rm-rec-trl-line strong{color:var(--color-text-primary)}.rm-rec-trl--gap{background:var(--color-warning-50, #FFF8E5);border-color:var(--color-warning-200, #F4D6A8)}.rm-rec-trl-warn{display:inline-flex;align-items:flex-start;gap:6px;margin:0;font-size:var(--font-size-xs);color:var(--color-warning-800, #8B5A0F);line-height:1.4}.rm-rec-trl-warn svg{margin-top:1px;flex-shrink:0}.rm-rec-guidance{background:linear-gradient(180deg,var(--color-brand-50) 0%,rgba(244,239,251,.4) 100%);border:1px solid var(--color-brand-200, #D5C9E6);border-left:3px solid var(--color-brand-500);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.rm-rec-guidance-label{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:var(--font-weight-bold);color:var(--color-brand-700);letter-spacing:.6px;margin-bottom:6px}.rm-rec-guidance-text{margin:0;font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:var(--line-height-relaxed);font-style:italic}.rm-rec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--color-border-subtle)}.rm-rec-cell{display:flex;flex-direction:column;gap:2px}.rm-rec-cell .rm-cell-label,.rm-cell-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-muted);font-weight:var(--font-weight-medium);display:inline-flex;align-items:center;gap:4px}.rm-rec-cell strong{font-size:var(--font-size-sm);color:var(--color-text-primary)}.rm-rec-cell .muted{font-size:var(--font-size-xs);color:var(--color-text-muted)}.rm-rec-cell--risk strong,.rm-rec-cell--risk span{color:var(--color-warning-700)}.rm-rec-cell .rm-amount-highlight{color:var(--color-brand-700);font-weight:var(--font-weight-bold)}.rm-cell-edit-btn{background:transparent;border:none;cursor:pointer;color:var(--color-brand-600);font-size:11px;padding:0 4px;margin-left:4px;border-radius:var(--radius-sm)}.rm-cell-edit-btn:hover{background-color:var(--color-brand-100)}.rm-month-edit input{font-size:var(--font-size-sm);padding:4px 6px;border:1px solid var(--color-brand-300);border-radius:var(--radius-md);background-color:var(--color-bg-surface);color:var(--color-text-primary);font-family:var(--font-family-base);font-weight:var(--font-weight-semibold)}.rm-month-edit input:focus{outline:none;border-color:var(--color-brand-500);box-shadow:var(--shadow-focus)}.rm-rec-footer{padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle)}.rm-rec-link{display:inline-flex;align-items:center;gap:4px;color:var(--color-brand-700);font-size:var(--font-size-sm);text-decoration:none;font-weight:var(--font-weight-medium)}.rm-rec-link:hover{color:var(--color-brand-800);text-decoration:underline}.rm-empty-state{text-align:center;padding:var(--space-7) var(--space-5);background-color:var(--color-bg-surface);border:1px dashed var(--color-border-default);border-radius:var(--radius-lg)}.rm-empty-state h3{margin:var(--space-3) 0 var(--space-2) 0;font-size:var(--font-size-lg);color:var(--color-text-primary)}.rm-empty-state p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.rm-empty-state .muted{margin-top:var(--space-2);color:var(--color-text-muted)}.back-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--color-border-default);background-color:var(--color-bg-surface);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.back-btn:hover{background-color:var(--color-bg-muted);color:var(--color-text-primary)}.rt-container{background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.rt-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap}.rt-header h2{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.rt-header .muted{margin:2px 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.rt-hint{color:var(--color-brand-700);font-style:italic;font-size:var(--font-size-xs)}.rt-header-actions{display:inline-flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.rt-export-btn{display:inline-flex;align-items:center;gap:6px;background-color:var(--color-bg-surface);border:1px solid var(--color-brand-300);color:var(--color-brand-700);padding:8px 14px;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.rt-export-btn:hover{background-color:var(--color-brand-50);border-color:var(--color-brand-500)}.rt-category-filter{display:inline-flex;background-color:var(--color-bg-muted);border-radius:var(--radius-md);padding:3px;gap:2px}.rt-filter-btn{background:transparent;border:none;padding:6px 14px;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.rt-filter-btn.active{background-color:var(--color-bg-surface);color:var(--color-brand-700);box-shadow:var(--shadow-sm)}.rt-filter-btn--research.active{color:#8b5a9f}.rt-filter-btn--development.active{color:#5c358f}.rt-filter-btn--innovation.active{color:#3d1e66}.rt-svg-wrap{position:relative;width:100%;background:linear-gradient(180deg,var(--color-bg-surface) 0%,#FAF8F4 100%);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);overflow:visible}.rt-svg{width:100%;height:auto;display:block}.rt-band-label{font-size:14px;font-weight:700;fill:var(--color-brand-700);font-family:var(--font-family-base);letter-spacing:.2px}.rt-band-hint{font-size:10px;font-weight:600;fill:var(--color-text-muted);font-family:var(--font-family-base);letter-spacing:.5px;text-transform:uppercase}.rt-tick-label{font-size:11px;fill:var(--color-text-secondary);font-family:var(--font-family-base)}.rt-tick-year{font-size:11px;font-weight:700;fill:var(--color-brand-700);font-family:var(--font-family-base)}.rt-today-label{font-size:10px;font-weight:700;letter-spacing:1px;fill:#fff;font-family:var(--font-family-base)}.rt-bubble-group:hover circle{transform:scale(1.1);transform-origin:center}.rt-bubble-group circle{transition:all var(--transition-fast);transform-box:fill-box;transform-origin:center}.rt-tooltip{position:absolute;transform:translate(-50%,-100%) translateY(-15px);background:var(--color-bg-surface);border:1px solid var(--color-brand-300);border-radius:var(--radius-md);padding:var(--space-3);min-width:280px;max-width:360px;box-shadow:var(--shadow-lg);z-index:10;pointer-events:auto;font-family:var(--font-family-base)}.rt-tooltip:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%) rotate(45deg);width:14px;height:14px;background:var(--color-bg-surface);border-right:1px solid var(--color-brand-300);border-bottom:1px solid var(--color-brand-300)}.rt-tooltip-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.rt-tooltip-priority{background-color:var(--color-brand-100);color:var(--color-brand-700);padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.rt-tooltip-source{padding:2px 8px;border-radius:var(--radius-full);font-size:10px;font-weight:700;color:#fff}.rt-tooltip-source--eu_portal{background:#a78bc9}.rt-tooltip-source--bdns{background:#3d1e66}.rt-tooltip-fit{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-success-700);margin-left:auto}.rt-tooltip-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 6px;line-height:var(--line-height-snug)}.rt-tooltip-reasoning{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0 0 8px;line-height:var(--line-height-normal)}.rt-tooltip-meta{display:flex;flex-direction:column;gap:2px;font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:6px}.rt-tooltip-meta strong{color:var(--color-text-primary)}.rt-tooltip-risk{display:inline-flex;align-items:center;gap:4px;background:var(--color-warning-50);color:var(--color-warning-800);padding:4px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);margin-bottom:6px}.rt-tooltip-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:8px;border-top:1px solid var(--color-border-subtle);flex-wrap:wrap}.rt-tooltip-link{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-decoration:none}.rt-tooltip-link:hover{color:var(--color-brand-700);text-decoration:underline}.rt-tooltip-action{background:var(--color-brand-700);color:#fff;border:none;padding:5px 10px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast)}.rt-tooltip-action:hover{background:var(--color-brand-800)}.rt-legend{display:flex;flex-wrap:wrap;gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle);font-size:var(--font-size-xs)}.rt-legend-group{display:inline-flex;align-items:center;gap:8px}.rt-legend-label{color:var(--color-text-muted);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.05em}.rt-legend-chip{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-secondary)}.rt-legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.rt-legend-text{color:var(--color-text-secondary);font-style:italic}.rt-empty{text-align:center;padding:var(--space-7) var(--space-5);color:var(--color-text-muted);background-color:var(--color-bg-surface);border:1px dashed var(--color-border-default);border-radius:var(--radius-lg)}.rd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a132599;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.rd-modal{background:var(--color-bg-surface);border-radius:var(--radius-lg);max-width:1000px;width:100%;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 24px 64px #0000004d}.rd-modal--empty{max-width:500px}.rd-header{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-5);border-bottom:1px solid var(--color-border-subtle)}.rd-header h2{display:inline-flex;align-items:center;gap:8px;margin:0 0 4px;font-size:var(--font-size-xl);color:var(--color-brand-700)}.rd-header p{margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);max-width:600px}.rd-close{background:var(--color-bg-muted);border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);flex-shrink:0}.rd-close:hover{background:var(--color-border-default)}.rd-selector{display:flex;align-items:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:linear-gradient(135deg,var(--color-brand-50),var(--color-bg-surface));border-bottom:1px solid var(--color-border-subtle)}.rd-selector-side{flex:1;display:flex;flex-direction:column;gap:4px}.rd-selector-label{font-size:9px;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-muted)}.rd-selector-input{position:relative;display:flex;align-items:center}.rd-selector-input select{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:8px 32px 8px 12px;background:var(--color-bg-default);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;font-family:var(--font-family-base)}.rd-selector-input select:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 3px var(--color-brand-100)}.rd-selector-input svg{position:absolute;right:10px;pointer-events:none;color:var(--color-text-muted)}.rd-selector-pill{padding:8px 12px;background:var(--color-brand-700);color:#fff;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.rd-arrow{display:flex;align-items:center;color:var(--color-brand-700);padding-bottom:8px}.rd-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-subtle)}.rd-summary-stat{display:flex;align-items:center;gap:12px;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle)}.rd-summary-stat>svg{flex-shrink:0}.rd-summary-stat>div{display:flex;flex-direction:column}.rd-summary-value{font-size:22px;font-weight:var(--font-weight-bold);line-height:1;font-feature-settings:"tnum"}.rd-summary-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);margin-top:2px}.rd-summary-stat--added{background:#e8f5ee;color:#2e7d5a;border-color:#b6e0c5}.rd-summary-stat--removed{background:#fbeded;color:#b14f4f;border-color:#e8b9b9}.rd-summary-stat--modified{background:var(--color-brand-50);color:var(--color-brand-700);border-color:var(--color-brand-200, #D5C9E6)}.rd-summary-stat--unchanged{background:var(--color-bg-muted);color:var(--color-text-secondary)}.rd-body{flex:1;overflow-y:auto;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-5)}.rd-section{display:flex;flex-direction:column;gap:var(--space-2)}.rd-section-title{display:inline-flex;align-items:center;gap:8px;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0;padding:6px 12px;border-radius:var(--radius-md);width:fit-content}.rd-section-title--added{background:#e8f5ee;color:#2e7d5a}.rd-section-title--removed{background:#fbeded;color:#b14f4f}.rd-section-title--modified{background:var(--color-brand-50);color:var(--color-brand-700)}.rd-section-title--unchanged{background:var(--color-bg-muted);color:var(--color-text-secondary)}.rd-section-toggle{background:var(--color-bg-muted);border:none;cursor:pointer}.rd-section-toggle:hover{background:var(--color-border-default)}.rd-chevron-open{transform:rotate(180deg);transition:transform var(--transition-fast)}.rd-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.rd-item{display:flex;gap:12px;padding:var(--space-3) var(--space-4);background:var(--color-bg-default);border-radius:var(--radius-md);border-left:4px solid var(--color-border-default)}.rd-item--added{border-left-color:#2e7d5a}.rd-item--removed{border-left-color:#b14f4f;background:#fbeded40}.rd-item--modified{border-left-color:var(--color-brand-500)}.rd-item--unchanged{border-left-color:var(--color-border-default);opacity:.85}.rd-item-priority{flex-shrink:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);background:var(--color-bg-surface);color:var(--color-brand-700);padding:2px 8px;border-radius:var(--radius-sm);height:fit-content;border:1px solid var(--color-brand-200, #D5C9E6)}.rd-item-content{flex:1;min-width:0}.rd-item-content strong{display:block;color:var(--color-text-primary);font-size:var(--font-size-sm);margin-bottom:4px;line-height:var(--line-height-snug)}.rd-item-meta{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0}.rd-strike{text-decoration:line-through;color:var(--color-text-muted)!important}.rd-changes{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-direction:column;gap:4px}.rd-change{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.rd-change-field{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.rd-change-before{padding:2px 8px;background:var(--color-bg-muted);color:var(--color-text-muted);border-radius:var(--radius-sm);text-decoration:line-through;font-feature-settings:"tnum"}.rd-change-after{padding:2px 8px;background:var(--color-brand-100);color:var(--color-brand-700);border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold);font-feature-settings:"tnum"}.rd-change-arrow{color:var(--color-text-muted)}.rd-change-delta{font-style:italic;color:var(--color-brand-700);font-size:10px;margin-left:4px}.rd-empty,.rd-no-changes{padding:var(--space-7) var(--space-5);text-align:center;color:var(--color-text-muted)}.rd-no-changes>svg{color:var(--color-brand-500);margin-bottom:var(--space-3)}.rd-no-changes p{margin:4px 0}.rd-no-changes strong{color:var(--color-brand-700)}@media (max-width: 800px){.rd-summary{grid-template-columns:repeat(2,1fr)}.rd-selector{flex-direction:column;align-items:stretch}.rd-arrow{display:none}}.page--discovery{display:flex;flex-direction:column;gap:var(--space-5)}.disc-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-3)}.disc-kpi-tile{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-align:left}.disc-kpi-tile:hover{border-color:var(--color-border-strong);background-color:var(--color-bg-subtle)}.disc-kpi-tile--active{border-color:var(--color-brand-500);background-color:var(--color-brand-50)}.disc-kpi-tile--danger{background-color:var(--color-warning-50);border-color:var(--color-warning-500)}.disc-kpi-tile--danger.disc-kpi-tile--active{border-color:var(--color-warning-700);background-color:var(--color-warning-50)}.disc-kpi-tile--brand{background-color:var(--color-brand-50);border-color:var(--color-brand-200)}.disc-kpi-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.disc-kpi-tile--danger .disc-kpi-label{color:var(--color-warning-700)}.disc-kpi-dot{display:inline-block;width:8px;height:8px;border-radius:var(--radius-full)}.disc-kpi-dot--brand{background-color:var(--color-brand-500)}.disc-kpi-dot--warning{background-color:var(--color-warning-500)}.disc-kpi-dot--muted{background-color:var(--color-text-subtle)}.disc-kpi-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:var(--line-height-tight)}.disc-kpi-tile--brand .disc-kpi-value{color:var(--color-brand-700)}.disc-kpi-tile--danger .disc-kpi-value{color:var(--color-warning-700)}.disc-sources-section{padding:var(--space-5)}.disc-sources-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.disc-sources-header h2{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.disc-last-sync{font-size:var(--font-size-xs);color:var(--color-text-muted)}.disc-sources-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.disc-source-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--color-bg-base);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}.disc-source-card--syncing{border-color:var(--color-brand-300);background-color:var(--color-brand-50)}.disc-source-icon{width:36px;height:36px;border-radius:var(--radius-md);background-color:var(--color-bg-muted);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);flex-shrink:0}.disc-source-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.disc-source-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.disc-source-meta{font-size:var(--font-size-xs);color:var(--color-text-muted)}.disc-source-sync-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background-color:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.disc-source-sync-btn:hover:not(:disabled){background-color:var(--color-brand-50);border-color:var(--color-brand-300);color:var(--color-brand-700)}.disc-source-sync-btn:disabled{opacity:.6;cursor:not-allowed}.disc-source-sync-btn--syncing{background-color:var(--color-bg-muted);border-color:var(--color-border-subtle)}.disc-sync-banner{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--color-info-50);border:1px solid var(--color-info-500);border-radius:var(--radius-md);display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm);color:var(--color-info-700)}.disc-sync-banner button{background:none;border:none;cursor:pointer;color:var(--color-info-700);padding:var(--space-1);border-radius:var(--radius-sm)}.disc-sync-banner button:hover{background-color:var(--color-info-50)}.disc-filters{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.disc-search{flex:1;min-width:250px;max-width:400px}.disc-actionable{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background-color:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);min-height:38px}.disc-actionable:hover{border-color:var(--color-border-strong);background-color:var(--color-bg-muted)}.disc-actionable input[type=checkbox]{accent-color:var(--color-brand-500)}.disc-actionable svg{color:var(--color-text-muted)}.disc-counts{margin-left:auto;font-size:var(--font-size-xs);color:var(--color-text-muted)}.disc-counts .text-success{color:var(--color-success-700)}.disc-counts .text-muted{color:var(--color-text-muted)}.disc-counts .text-danger{color:var(--color-danger-700)}.disc-table-container{background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg)}.disc-table .disc-row td{vertical-align:top;padding-top:var(--space-3);padding-bottom:var(--space-3)}.disc-call-cell{display:flex;flex-direction:column;gap:2px;min-width:0}.disc-call-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-snug)}.disc-call-entity{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-muted);text-decoration:none;text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);font-weight:var(--font-weight-medium);transition:color var(--transition-fast)}.disc-call-entity:hover{color:var(--color-brand-600)}.disc-program{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.disc-type-action{font-size:var(--font-size-sm);color:var(--color-text-secondary);max-width:200px}.disc-region{font-size:var(--font-size-sm);color:var(--color-text-secondary);max-width:160px}.disc-budget{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium);white-space:nowrap}.disc-deadline{display:flex;flex-direction:column;gap:2px}.disc-deadline-rel{font-size:var(--font-size-xs);color:var(--color-text-muted)}.disc-deadline-rel.soon{color:var(--color-warning-700);font-weight:var(--font-weight-medium)}.disc-deadline-rel.past{color:var(--color-danger-700);font-weight:var(--font-weight-medium)}.disc-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.disc-badge-dot{display:inline-block;width:6px;height:6px;border-radius:var(--radius-full)}.disc-badge--brand{background-color:var(--color-brand-50);color:var(--color-brand-700)}.disc-badge--brand .disc-badge-dot{background-color:var(--color-brand-500)}.disc-badge--success{background-color:var(--color-success-50);color:var(--color-success-700)}.disc-badge--success .disc-badge-dot{background-color:var(--color-success-500)}.disc-badge--warning{background-color:var(--color-warning-50);color:var(--color-warning-700)}.disc-badge--warning .disc-badge-dot{background-color:var(--color-warning-500)}.disc-badge--muted{background-color:var(--color-bg-muted);color:var(--color-text-muted)}.disc-badge--muted .disc-badge-dot{background-color:var(--color-text-subtle)}.disc-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-1)}.disc-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:1px solid var(--color-border-default);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.disc-action-btn:hover{border-color:var(--color-border-strong);color:var(--color-text-primary);background-color:var(--color-bg-muted)}.disc-action-btn--primary{background-color:var(--color-text-primary);border-color:var(--color-text-primary);color:var(--color-text-inverse)}.disc-action-btn--primary:hover{background-color:var(--color-brand-700);border-color:var(--color-brand-700);color:var(--color-text-inverse)}.disc-action-btn--done{background-color:var(--color-success-50, #F1FAF4);border-color:var(--color-success-200, #C8E6D2);color:var(--color-success-700, #2E7D5A);cursor:not-allowed}.disc-action-btn--done:hover{background-color:var(--color-success-50, #F1FAF4);border-color:var(--color-success-200, #C8E6D2);color:var(--color-success-700, #2E7D5A);transform:none}.disc-table .disc-row--imported td{background-color:#2e7d5a0a}.disc-table .disc-row--imported .disc-call-title{opacity:.75}@media (max-width: 1200px){.disc-kpi-grid{grid-template-columns:repeat(3,1fr)}.disc-sources-cards{grid-template-columns:1fr}}@media (max-width: 768px){.disc-kpi-grid{grid-template-columns:repeat(2,1fr)}.disc-filters{flex-direction:column;align-items:stretch}.disc-counts{margin-left:0}}.page--discovery-import{display:flex;flex-direction:column;gap:var(--space-5)}.di-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap}.di-header-left{display:flex;align-items:center;gap:var(--space-3)}.di-back-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--color-border-default);background-color:var(--color-bg-surface);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.di-back-btn:hover{background-color:var(--color-bg-muted);color:var(--color-text-primary)}.di-header h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;line-height:var(--line-height-tight)}.di-header p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.di-header-actions{display:flex;gap:var(--space-2)}.di-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--space-4);align-items:start}.di-main,.di-sidebar{display:flex;flex-direction:column;gap:var(--space-4)}.di-section{padding:var(--space-5)}.di-section-header{margin-bottom:var(--space-4)}.di-section-header h2{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.di-collapsible-trigger{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:none;padding:0;cursor:pointer;color:var(--color-text-primary)}.di-collapsible-trigger h2{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.di-form{display:flex;flex-direction:column;gap:var(--space-4)}.di-form--padded{padding-top:var(--space-4)}.di-row{display:grid;gap:var(--space-4)}.di-row--2{grid-template-columns:1fr 1fr}.di-row--3{grid-template-columns:1fr 1fr 1fr}.di-field{display:flex;flex-direction:column;gap:var(--space-2)}.di-field--full{width:100%}.di-field label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.di-field .required{color:var(--color-danger-500);margin-left:2px}.di-field input,.di-field select,.di-field textarea{width:100%;padding:var(--space-2) var(--space-3);background-color:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);font-family:var(--font-family-base);min-height:38px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.di-field textarea{min-height:120px;resize:vertical;line-height:var(--line-height-normal)}.di-field input:focus,.di-field select:focus,.di-field textarea:focus{outline:none;border-color:var(--color-brand-500);box-shadow:var(--shadow-focus)}.di-checkbox-list{display:flex;flex-direction:column;gap:var(--space-2)}.di-checkbox-row{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer}.di-checkbox-row input{accent-color:var(--color-brand-500)}.di-source-meta{display:flex;flex-direction:column;gap:var(--space-4)}.di-meta-row{display:flex;flex-direction:column;gap:2px}.di-meta-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.di-meta-value{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary)}.di-meta-source{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.di-meta-source-dot{width:8px;height:8px;border-radius:var(--radius-full);background-color:var(--color-text-muted)}.di-meta-rel{color:var(--color-text-muted);font-size:var(--font-size-xs)}.di-view-original{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background-color:var(--color-bg-muted);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);color:var(--color-text-primary);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.di-view-original:hover{background-color:var(--color-brand-50);border-color:var(--color-brand-300);color:var(--color-brand-700)}@media (max-width: 1100px){.di-layout{grid-template-columns:1fr}}@media (max-width: 768px){.di-row--2,.di-row--3{grid-template-columns:1fr}}.page--knowledge-base{padding:var(--space-6);max-width:1400px;margin:0 auto}.kb-loading,.kb-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-9);color:var(--color-text-muted)}@keyframes kbSpin{to{transform:rotate(360deg)}}.kb-spin{animation:kbSpin 1s linear infinite;color:var(--color-brand-700)}.kb-error p{color:var(--color-danger-700)}.kb-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-5);flex-wrap:wrap;margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border-subtle)}.kb-header-left{display:flex;gap:var(--space-4);align-items:flex-start;max-width:700px}.kb-icon-circle{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--color-brand-100),var(--color-brand-50));border:1px solid var(--color-brand-300);display:flex;align-items:center;justify-content:center;color:var(--color-brand-700);flex-shrink:0}.kb-header h1{margin:0 0 6px;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:-.01em}.kb-subtitle{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.kb-stats{display:flex;gap:var(--space-4)}.kb-stat{display:flex;flex-direction:column;align-items:center;padding:var(--space-3) var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);min-width:90px}.kb-stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-brand-700);font-feature-settings:"tnum"}.kb-stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-muted);font-weight:var(--font-weight-medium);margin-top:2px}.kb-filters{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.kb-search{position:relative;display:flex;align-items:center}.kb-search>svg:first-child{position:absolute;left:14px;color:var(--color-text-muted)}.kb-search input{width:100%;padding:10px 38px;border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg-default);color:var(--color-text-primary);transition:border-color var(--transition-fast)}.kb-search input:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 3px var(--color-brand-100)}.kb-search-clear{position:absolute;right:10px;background:var(--color-bg-muted);border:none;color:var(--color-text-muted);width:22px;height:22px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.kb-search-clear:hover{background:var(--color-border-default);color:var(--color-text-primary)}.kb-filter-group{display:flex;flex-direction:column;gap:8px}.kb-filter-label{display:inline-flex;align-items:center;gap:6px;font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.kb-chips{display:flex;flex-wrap:wrap;gap:6px}.kb-chip{background:var(--color-bg-default);border:1px solid var(--color-border-subtle);color:var(--color-text-secondary);padding:5px 11px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.kb-chip:hover{border-color:var(--color-brand-500);color:var(--color-brand-700)}.kb-chip.active{background:var(--color-brand-700);border-color:var(--color-brand-700);color:#fff}.kb-clear-filters{align-self:flex-end;display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;color:var(--color-brand-700);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-decoration:underline}.kb-results-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted)}.kb-results-bar strong{color:var(--color-text-primary);font-feature-settings:"tnum"}.kb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-3)}.kb-card{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:10px;transition:all var(--transition-fast)}.kb-card:hover{border-color:var(--color-brand-500);transform:translateY(-1px);box-shadow:var(--shadow-md)}.kb-card-top{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.kb-card-title{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-snug)}.kb-card-aliases{margin:0;font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic;line-height:1.4}.kb-card-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px}.kb-organism-badge{font-size:10px;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.5px;padding:3px 9px;border-radius:var(--radius-full);color:#fff;background:var(--color-text-secondary)}.kb-organism-badge.organism-cdti{background:#5c358f}.kb-organism-badge.organism-aei{background:#3d1e66}.kb-organism-badge.organism-enisa{background:#8b5a9f}.kb-organism-badge.organism-eic{background:#1a4998}.kb-organism-badge.organism-eit{background:#2e7d5a}.kb-organism-badge.organism-eureka{background:#b8780f}.kb-organism-badge.organism-eu{background:#1a4998}.kb-chip.organism-cdti.active{background:#5c358f;border-color:#5c358f}.kb-chip.organism-aei.active{background:#3d1e66;border-color:#3d1e66}.kb-chip.organism-enisa.active{background:#8b5a9f;border-color:#8b5a9f}.kb-chip.organism-eic.active{background:#1a4998;border-color:#1a4998}.kb-chip.organism-eit.active{background:#2e7d5a;border-color:#2e7d5a}.kb-chip.organism-eureka.active{background:#b8780f;border-color:#b8780f}.kb-chip.organism-eu.active{background:#1a4998;border-color:#1a4998}.kb-sector-badge{font-size:10px;background:var(--color-bg-muted);color:var(--color-text-secondary);padding:3px 8px;border-radius:var(--radius-full);text-transform:lowercase;font-weight:var(--font-weight-medium)}.kb-intl-badge{display:inline-flex;align-items:center;gap:3px;font-size:10px;background:var(--color-brand-50);color:var(--color-brand-700);padding:3px 8px;border-radius:var(--radius-full);font-weight:var(--font-weight-medium)}.kb-aid-pill{display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:4px 10px;border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);background:var(--color-bg-muted);color:var(--color-text-secondary)}.kb-aid-pill.aid-subvencion{background:#e8f5ee;color:#2e7d5a;border-color:#b6e0c5}.kb-aid-pill.aid-prestamo{background:#f4effb;color:#5c358f;border-color:#d5c9e6}.kb-aid-pill.aid-participativo{background:#fff4e8;color:#b8780f;border-color:#f4d6a8}.kb-aid-pill.aid-equity{background:#e5eefa;color:#1a4998;border-color:#b6cdef}.kb-aid-pill.aid-mixta{background:#f4effb;color:#3d1e66;border-color:#b6a6cc}.kb-aid-pill.aid-label{background:#fffbe5;color:#6b5400;border-color:#ecdf9a}.kb-empty{grid-column:1 / -1;text-align:center;padding:var(--space-7);color:var(--color-text-muted);border:1px dashed var(--color-border-default);border-radius:var(--radius-lg)}.kb-empty p{margin:0 0 var(--space-3) 0}.kb-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a13258c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.kb-modal{background:var(--color-bg-surface);border-radius:var(--radius-lg);max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 24px 64px #00000040}.kb-modal-header{position:sticky;top:0;background:var(--color-bg-surface);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-5);border-bottom:1px solid var(--color-border-subtle)}.kb-modal-badges{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}.kb-modal-header h2{margin:0 0 4px;font-size:var(--font-size-xl);color:var(--color-text-primary)}.kb-modal-slug{font-size:11px;color:var(--color-text-muted);background:var(--color-bg-muted);padding:2px 6px;border-radius:var(--radius-sm)}.kb-modal-close{background:var(--color-bg-muted);border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);flex-shrink:0}.kb-modal-close:hover{background:var(--color-border-default)}.kb-modal-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.kb-modal-row{display:grid;grid-template-columns:180px 1fr;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px dashed var(--color-border-subtle);font-size:var(--font-size-sm)}.kb-modal-label{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-muted);font-weight:var(--font-weight-medium);padding-top:2px}.kb-modal-row span:last-child{color:var(--color-text-primary)}.kb-modal-aliases{display:flex;flex-direction:column;gap:6px;padding:var(--space-3) 0;border-bottom:1px dashed var(--color-border-subtle)}.kb-alias-chips{display:flex;flex-wrap:wrap;gap:5px}.kb-alias-chip{font-size:11px;background:var(--color-brand-50);color:var(--color-brand-700);padding:3px 8px;border-radius:var(--radius-sm);border:1px solid var(--color-brand-200, #D5C9E6);font-family:var(--font-family-mono, monospace)}.kb-alias-chip--alt{background:var(--color-bg-muted);color:var(--color-text-secondary);border-color:var(--color-border-subtle)}.kb-alias-chip--excl{background:var(--color-danger-50, #FBEDED);color:var(--color-danger-700, #B14F4F);border-color:var(--color-danger-200, #E8B9B9)}.kb-modal-sources{padding:var(--space-3) 0}.kb-modal-sources ul{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-direction:column;gap:5px;font-size:var(--font-size-xs)}.kb-modal-sources a{color:var(--color-brand-700);text-decoration:none;display:inline-flex;align-items:center;gap:4px}.kb-modal-sources a:hover{text-decoration:underline}.kb-modal-updated{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:var(--space-2) 0 0 0;font-style:italic}.kb-import-section{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px dashed var(--color-border-default)}.kb-import-trigger{display:flex;align-items:center;gap:10px;width:100%;padding:14px 18px;background:var(--color-brand-700);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);font-family:var(--font-family-base);cursor:pointer;text-align:left;box-shadow:0 4px 12px #5c358f38;transition:all var(--transition-fast)}.kb-import-trigger:hover{background:var(--color-brand-800, #4A2A75);transform:translateY(-1px)}.kb-import-trigger small{display:block;margin-top:2px;font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);opacity:.88}.kb-import-trigger svg{flex-shrink:0}.kb-import-form{background:var(--color-brand-50);border:1px solid var(--color-brand-100);border-radius:var(--radius-md);padding:var(--space-4)}.kb-import-form-header{margin-bottom:var(--space-3)}.kb-import-form-header strong{display:block;font-size:var(--font-size-md);color:var(--color-brand-700);margin-bottom:2px}.kb-import-form-header small{display:block;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.kb-import-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-3)}.kb-import-grid label{display:flex;flex-direction:column;gap:4px}.kb-import-grid label>span{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.kb-import-grid input,.kb-import-grid select{padding:8px 10px;border:1px solid var(--color-border-default);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:#fff;font-family:var(--font-family-base);color:var(--color-text-primary)}.kb-import-grid input:focus,.kb-import-grid select:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 3px var(--color-brand-100)}.kb-import-error{margin:0 0 var(--space-3) 0;padding:8px 12px;background:var(--color-warning-50, #FDF6EF);border-left:3px solid var(--color-warning-700, #B5651D);color:var(--color-warning-700, #B5651D);font-size:var(--font-size-sm);border-radius:var(--radius-sm)}.kb-import-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.kb-import-confirm{display:inline-flex;align-items:center;gap:6px}.kb-import-success{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:var(--space-5) var(--space-4);background:var(--color-success-50, #F1FAF4);border:1px solid var(--color-success-200, #C8E6D2);border-radius:var(--radius-md)}.kb-import-success svg{color:var(--color-success-700, #2E7D5A)}.kb-import-success strong{font-size:var(--font-size-md);color:var(--color-success-700, #2E7D5A)}.kb-import-success p{margin:0 0 var(--space-3) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}@media (max-width: 768px){.kb-header{flex-direction:column}.kb-stats{width:100%;justify-content:space-between}.kb-modal-row{grid-template-columns:1fr;gap:4px}.kb-import-grid{grid-template-columns:1fr}}.page--agent-metrics{padding:var(--space-6);max-width:1400px;margin:0 auto}.metric-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-5);flex-wrap:wrap;margin-bottom:var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border-subtle)}.metric-header-left{display:flex;gap:var(--space-4);align-items:flex-start;max-width:700px}.metric-icon-circle{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--color-brand-100),var(--color-brand-50));border:1px solid var(--color-brand-300);display:flex;align-items:center;justify-content:center;color:var(--color-brand-700);flex-shrink:0}.metric-header h1{margin:0 0 6px;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.metric-subtitle{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.metric-subtitle strong{color:var(--color-text-primary)}.metric-stats{display:grid;grid-template-columns:repeat(2,auto);gap:var(--space-3)}.metric-stat{display:flex;flex-direction:column;align-items:center;padding:var(--space-3) var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);min-width:120px}.metric-stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-brand-700);font-feature-settings:"tnum"}.metric-stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);font-weight:var(--font-weight-medium);margin-top:2px;text-align:center}.metric-filters{display:flex;align-items:center;gap:8px;margin-bottom:var(--space-4);flex-wrap:wrap;padding:var(--space-3) var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md)}.metric-filter-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);font-weight:var(--font-weight-medium);margin-right:4px}.metric-filter-chip{background:var(--color-bg-default);border:1px solid var(--color-border-subtle);color:var(--color-text-secondary);padding:5px 11px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.metric-filter-chip:hover{border-color:var(--color-brand-500);color:var(--color-brand-700)}.metric-filter-chip.active{background:var(--color-brand-700);border-color:var(--color-brand-700);color:#fff}.metric-table-wrap{overflow-x:auto}.metric-table{display:flex;flex-direction:column;gap:4px;min-width:1000px}.metric-row{display:grid;grid-template-columns:2.5fr 1fr .8fr .9fr 1.2fr 1.3fr 1.2fr;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);text-align:left;font-family:var(--font-family-base)}.metric-row--head{background:transparent;border:none;padding:0 var(--space-4);font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);font-weight:var(--font-weight-semibold)}.metric-row--data{background:var(--color-bg-surface);cursor:pointer;transition:all var(--transition-fast);width:100%}.metric-row--data:hover{border-color:var(--color-brand-500);background:var(--color-brand-50)}.metric-row--data.expanded{border-color:var(--color-brand-500);border-bottom-left-radius:0;border-bottom-right-radius:0}.metric-row-chevron{color:var(--color-text-muted);transition:transform var(--transition-fast)}.metric-row-chevron.rotated{transform:rotate(180deg)}.metric-prog-name{display:flex;align-items:center;gap:6px;min-width:0;font-size:var(--font-size-sm)}.metric-prog-name strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.metric-prog-name small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.metric-num{font-feature-settings:"tnum";font-size:var(--font-size-sm);color:var(--color-text-primary)}.metric-num small{color:var(--color-text-muted);font-size:10px;margin-left:3px}.metric-won{font-weight:var(--font-weight-bold);color:var(--color-success-700, #2E7D5A)}.metric-rate{padding:3px 9px;border-radius:var(--radius-sm);font-weight:var(--font-weight-bold)}.metric-rate.high{background:#e8f5ee;color:#2e7d5a}.metric-rate.mid{background:#fff8e5;color:#8b5a0f}.metric-rate.low{background:#fbeded;color:#b14f4f}.metric-fit{padding:3px 9px;background:var(--color-brand-50);color:var(--color-brand-700);border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold)}.metric-cal{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.metric-cal--ok{background:#e8f5ee;color:#2e7d5a}.metric-cal--warn{background:#fff8e5;color:#8b5a0f}.metric-cal--info{background:var(--color-brand-50);color:var(--color-brand-700)}.metric-cal--unknown{background:var(--color-bg-muted);color:var(--color-text-muted)}.metric-filter-chip.metric-cal--ok.active{background:#2e7d5a;border-color:#2e7d5a;color:#fff}.metric-filter-chip.metric-cal--warn.active{background:#8b5a0f;border-color:#8b5a0f;color:#fff}.metric-filter-chip.metric-cal--info.active{background:var(--color-brand-700);border-color:var(--color-brand-700)}.metric-filter-chip.metric-cal--unknown.active{background:var(--color-text-muted);border-color:var(--color-text-muted);color:#fff}.metric-row-detail{background:var(--color-bg-surface);border:1px solid var(--color-brand-500);border-top:none;border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);padding:var(--space-4);margin-top:-1px;margin-bottom:4px}.metric-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3)}.metric-detail-card{padding:var(--space-3);background:var(--color-bg-default);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle)}.metric-detail-card h4{display:inline-flex;align-items:center;gap:6px;margin:0 0 8px;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);font-weight:var(--font-weight-semibold)}.metric-big-num{display:block;font-size:28px;font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1;font-feature-settings:"tnum"}.metric-detail-card p{margin:4px 0 0;font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.metric-detail-card--insight{background:var(--color-brand-50);border-color:var(--color-brand-200, #D5C9E6)}.metric-detail-card--insight h4,.metric-detail-card--insight strong{color:var(--color-brand-700)}.metric-insight{margin-top:8px!important;padding:8px 10px;background:var(--color-bg-surface);border-radius:var(--radius-sm);font-size:var(--font-size-xs)!important}.metric-empty{padding:var(--space-7);text-align:center;color:var(--color-text-muted);background:var(--color-bg-surface);border-radius:var(--radius-lg)}.metric-footer{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px dashed var(--color-border-subtle);text-align:center}.metric-footer p{margin:0;font-size:var(--font-size-sm)}.metric-footer strong{color:var(--color-text-primary)}@media (max-width: 900px){.metric-header{flex-direction:column}.metric-stats{grid-template-columns:repeat(2,1fr);width:100%}}.cfm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a132599;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:cfm-fade .16s ease-out}@keyframes cfm-fade{0%{opacity:0}to{opacity:1}}.cfm-modal{background:var(--color-bg-surface);border-radius:var(--radius-lg);max-width:920px;width:100%;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 24px 64px #0000004d;overflow:hidden}.cfm-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-5);border-bottom:1px solid var(--color-border-subtle);background:linear-gradient(180deg,var(--color-brand-50),transparent)}.cfm-header-text{flex:1;min-width:0}.cfm-header h2{display:inline-flex;align-items:center;gap:8px;margin:0 0 4px;font-size:var(--font-size-xl);color:var(--color-brand-700)}.cfm-header p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cfm-header p strong{color:var(--color-text-primary)}.cfm-close{background:var(--color-bg-muted);border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--transition-fast)}.cfm-close:hover{background:var(--color-border-default)}.cfm-body{flex:1;overflow-y:auto;padding:var(--space-5)}.cfm-step-intro{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-brand-50);border-left:3px solid var(--color-brand-500);border-radius:var(--radius-sm)}.cfm-step-intro p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.cfm-drop{border:2px dashed var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-7) var(--space-5);text-align:center;cursor:pointer;transition:all var(--transition-fast);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--color-text-muted);margin-bottom:var(--space-4)}.cfm-drop:hover,.cfm-drop--active{border-color:var(--color-brand-500);background:var(--color-brand-50);color:var(--color-brand-700)}.cfm-drop strong{font-size:var(--font-size-md);color:var(--color-text-primary)}.cfm-drop small{font-size:var(--font-size-xs);color:var(--color-text-muted)}.cfm-doc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.cfm-doc-item{display:flex;align-items:center;gap:12px;padding:var(--space-3) var(--space-4);background:var(--color-bg-default);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md)}.cfm-doc-item--ready{border-color:var(--color-success-200, #C8E6D2);background:var(--color-success-50, #F1FAF4)}.cfm-doc-item--error{border-color:var(--color-warning-300, #F5C6A5);background:var(--color-warning-50, #FDF6EF)}.cfm-doc-info{flex:1;min-width:0}.cfm-doc-info strong{display:block;font-size:var(--font-size-sm);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cfm-doc-info small{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.cfm-doc-remove{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.cfm-doc-remove:hover{background:var(--color-bg-muted);color:var(--color-error-700, #C44343)}.cfm-ok{color:var(--color-success-700, #2E7D5A)}.cfm-err{color:var(--color-warning-700, #B5651D)}.cfm-spin{animation:cfm-rot 1s linear infinite;color:var(--color-brand-700)}@keyframes cfm-rot{to{transform:rotate(360deg)}}.cfm-loading,.cfm-error{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-7) var(--space-5);gap:12px;min-height:280px}.cfm-loading h3,.cfm-error h3{margin:0;color:var(--color-text-primary)}.cfm-loading p,.cfm-error p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.cfm-loading-hint{font-style:italic;font-size:var(--font-size-xs)!important}.cfm-error svg{color:var(--color-warning-700, #B5651D)}.cfm-preview-banner{display:flex;align-items:center;gap:8px;padding:var(--space-3) var(--space-4);background:var(--color-success-50, #F1FAF4);border:1px solid var(--color-success-200, #C8E6D2);border-radius:var(--radius-md);color:var(--color-success-700, #2E7D5A);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--space-4)}.cfm-section{margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-subtle)}.cfm-section:last-child{border-bottom:none}.cfm-section h4{display:inline-flex;align-items:center;gap:6px;margin:0 0 var(--space-3) 0;font-size:var(--font-size-md);color:var(--color-brand-700);font-weight:var(--font-weight-semibold)}.cfm-section h5{margin:var(--space-3) 0 6px 0;font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.cfm-section--alamos{background:linear-gradient(135deg,var(--color-brand-50),transparent);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);border:1px solid var(--color-brand-100)}.cfm-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.cfm-field{display:flex;flex-direction:column;gap:4px}.cfm-field--wide{grid-column:1 / -1}.cfm-field>span{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--font-weight-medium)}.cfm-field input,.cfm-section textarea{padding:8px 10px;border:1px solid var(--color-border-default);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--color-bg-default);font-family:var(--font-family-base);color:var(--color-text-primary);width:100%}.cfm-field input:focus,.cfm-section textarea:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 3px var(--color-brand-100)}.cfm-section textarea{resize:vertical;min-height:60px}.cfm-field--readonly p{margin:0;padding:8px 10px;background:var(--color-bg-muted);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);min-height:36px}.cfm-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:var(--space-3)}.cfm-chip{padding:4px 10px;background:var(--color-brand-100);color:var(--color-brand-700);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.cfm-bullet-list{list-style:disc;padding-left:20px;margin:0;display:flex;flex-direction:column;gap:4px}.cfm-bullet-list li{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.cfm-bullet-list--negative li{color:var(--color-warning-700, #B5651D)}.cfm-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border-subtle);background:var(--color-bg-default)}.cfm-doc-count{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.cfm-footer-actions{display:flex;gap:var(--space-2)}.cfm-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;border:1px solid transparent;font-family:var(--font-family-base);transition:all var(--transition-fast)}.cfm-btn--primary{background:var(--color-brand-700);color:#fff}.cfm-btn--primary:hover:not(:disabled){background:var(--color-brand-800, #4A2A75)}.cfm-btn--primary:disabled{background:var(--color-bg-muted);color:var(--color-text-muted);cursor:not-allowed}.cfm-btn--secondary{background:transparent;color:var(--color-text-secondary);border-color:var(--color-border-default)}.cfm-btn--secondary:hover{background:var(--color-bg-muted)}.cfm-btn--update{color:var(--color-brand-700)!important;border-color:var(--color-brand-300, #C8B1E0)!important;background:var(--color-brand-50)!important}.cfm-btn--update:hover{background:var(--color-brand-100)!important;border-color:var(--color-brand-500)!important}.cfm-update-ok{display:inline-flex;align-items:center;gap:6px;color:var(--color-success-700, #2E7D5A);font-weight:var(--font-weight-semibold)}@media (max-width: 720px){.cfm-grid{grid-template-columns:1fr}.cfm-modal{max-height:100vh;border-radius:0}}.customers-toolbar{display:flex;gap:var(--space-3);align-items:center;margin-bottom:var(--space-5);flex-wrap:wrap}.search-bar-inline{position:relative;flex:1;min-width:280px}.search-bar-inline .search-icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.search-input-inline{width:100%;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-10);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);background-color:var(--color-bg-surface);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search-input-inline::placeholder{color:var(--color-text-subtle)}.search-input-inline:focus{outline:none;border-color:var(--color-brand-500);box-shadow:var(--shadow-focus)}.filter-buttons,.filter-button-group{display:flex;gap:var(--space-2);flex-wrap:wrap}.filter-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background-color:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);min-height:38px}.filter-btn:hover{border-color:var(--color-border-strong);background-color:var(--color-bg-muted);color:var(--color-text-primary)}.filter-btn.active{border-color:var(--color-brand-300);background-color:var(--color-brand-50);color:var(--color-brand-700);font-weight:var(--font-weight-semibold)}.filter-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-color:var(--color-brand-500)}.select-wrapper{position:relative}.select-chevron{color:var(--color-text-muted);transition:color var(--transition-fast)}.btn-primary{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background-color:var(--color-brand-500);color:var(--color-text-inverse);border:1px solid var(--color-brand-500);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast);min-height:38px}.btn-primary:hover{background-color:var(--color-brand-600);border-color:var(--color-brand-600)}.btn-primary:active{background-color:var(--color-brand-700)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background-color:var(--color-bg-surface);color:var(--color-text-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);min-height:38px}.btn-secondary:hover{background-color:var(--color-bg-muted);border-color:var(--color-border-strong);color:var(--color-text-primary)}.customers-table-container,.table-container{background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg)}.customers-table,.data-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.customers-table thead,.data-table thead{background-color:var(--color-bg-subtle);border-bottom:1px solid var(--color-border-subtle)}.customers-table thead th,.data-table thead th{text-align:left;padding:var(--space-3) var(--space-3);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);white-space:nowrap}.customers-table tbody td,.data-table tbody td{padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-primary);vertical-align:middle;font-size:var(--font-size-sm)}.customers-table tbody tr:last-child td,.data-table tbody tr:last-child td{border-bottom:none}.customers-table tbody tr:hover,.data-table tbody tr:hover{background-color:var(--color-bg-subtle)}.customers-table thead tr:first-child th:first-child,.data-table thead tr:first-child th:first-child{border-top-left-radius:var(--radius-lg)}.customers-table thead tr:first-child th:last-child,.data-table thead tr:first-child th:last-child{border-top-right-radius:var(--radius-lg)}.status-badge,.category-badge{display:inline-flex;align-items:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:2px var(--space-2);border-radius:var(--radius-full);letter-spacing:var(--letter-spacing-wide);white-space:nowrap;background-color:var(--color-bg-muted);color:var(--color-text-muted)}.status-active{background-color:var(--color-success-50);color:var(--color-success-700)}.status-inactive,.status-archived,.status-on-hold{background-color:var(--color-bg-muted);color:var(--color-text-muted)}.status-pending,.status-lead,.status-draft{background-color:var(--color-warning-50);color:var(--color-warning-700)}.status-lost,.status-closed,.status-cancelled,.status-rejected,.status-overdue{background-color:var(--color-danger-50);color:var(--color-danger-700)}.status-in-progress,.status-running,.status-open,.status-submitted{background-color:var(--color-info-50);color:var(--color-info-700)}.status-won,.status-completed,.status-approved,.status-granted{background-color:var(--color-brand-50);color:var(--color-brand-700)}.category-badge{background-color:var(--color-brand-50);color:var(--color-brand-700);text-transform:uppercase}.pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background-color:var(--color-bg-subtle);border-top:1px solid var(--color-border-subtle)}.pagination-info{font-size:var(--font-size-sm);color:var(--color-text-muted)}.pagination-controls{display:flex;align-items:center;gap:var(--space-1)}.pagination-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 var(--space-2);background:none;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.pagination-btn:hover:not(:disabled){background-color:var(--color-bg-surface);border-color:var(--color-border-default);color:var(--color-text-primary)}.pagination-btn.active{background-color:var(--color-brand-500);border-color:var(--color-brand-500);color:var(--color-text-inverse)}.pagination-btn.active:hover{background-color:var(--color-brand-600);border-color:var(--color-brand-600);color:var(--color-text-inverse)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-ellipsis{color:var(--color-text-muted);padding:0 var(--space-1)}.empty-row td{padding:var(--space-12) var(--space-5)!important;text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.page>.page-header{margin-bottom:var(--space-5);padding-bottom:0;border-bottom:none}.page>.page-header h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}.page>.page-header .page-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-1)}.client-form,.proposal-form,.call-form,.project-form,.service-form,.task-form{display:flex;flex-direction:column;gap:var(--space-4)}.client-form .form-row,.proposal-form .form-row,.call-form .form-row,.project-form .form-row,.service-form .form-row,.task-form .form-row{display:flex;gap:var(--space-4);align-items:flex-start}.client-form .form-group,.proposal-form .form-group,.call-form .form-group,.project-form .form-group,.service-form .form-group,.task-form .form-group{display:flex;flex-direction:column;gap:var(--space-2);flex:1;min-width:0}.client-form .form-group label,.proposal-form .form-group label,.call-form .form-group label,.project-form .form-group label,.service-form .form-group label,.task-form .form-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}.client-form .required,.proposal-form .required,.call-form .required,.project-form .required,.service-form .required,.task-form .required{color:var(--color-danger-500);font-weight:var(--font-weight-semibold);margin-left:2px}.client-form input[type=text],.client-form input[type=number],.client-form input[type=date],.client-form input[type=email],.client-form input[type=url],.client-form select,.client-form textarea,.proposal-form input[type=text],.proposal-form input[type=number],.proposal-form input[type=date],.proposal-form input[type=email],.proposal-form input[type=url],.proposal-form select,.proposal-form textarea,.call-form input[type=text],.call-form input[type=number],.call-form input[type=date],.call-form input[type=email],.call-form input[type=url],.call-form select,.call-form textarea,.project-form input[type=text],.project-form input[type=number],.project-form input[type=date],.project-form input[type=email],.project-form input[type=url],.project-form select,.project-form textarea,.service-form input[type=text],.service-form input[type=number],.service-form input[type=date],.service-form input[type=email],.service-form input[type=url],.service-form select,.service-form textarea,.task-form input[type=text],.task-form input[type=number],.task-form input[type=date],.task-form input[type=email],.task-form input[type=url],.task-form select,.task-form textarea{width:100%;padding:var(--space-2) var(--space-3);background-color:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:var(--font-family-base);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);min-height:38px}.client-form input:focus,.client-form select:focus,.client-form textarea:focus,.proposal-form input:focus,.proposal-form select:focus,.proposal-form textarea:focus,.call-form input:focus,.call-form select:focus,.call-form textarea:focus,.project-form input:focus,.project-form select:focus,.project-form textarea:focus,.service-form input:focus,.service-form select:focus,.service-form textarea:focus,.task-form input:focus,.task-form select:focus,.task-form textarea:focus{outline:none;border-color:var(--color-brand-500);box-shadow:var(--shadow-focus)}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);margin-top:var(--space-2);border-top:1px solid var(--color-border-subtle)}.client-form input[type=number]::-webkit-outer-spin-button,.client-form input[type=number]::-webkit-inner-spin-button,.proposal-form input[type=number]::-webkit-outer-spin-button,.proposal-form input[type=number]::-webkit-inner-spin-button,.call-form input[type=number]::-webkit-outer-spin-button,.call-form input[type=number]::-webkit-inner-spin-button,.project-form input[type=number]::-webkit-outer-spin-button,.project-form input[type=number]::-webkit-inner-spin-button,.service-form input[type=number]::-webkit-outer-spin-button,.service-form input[type=number]::-webkit-inner-spin-button,.task-form input[type=number]::-webkit-outer-spin-button,.task-form input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.client-form input[type=number],.proposal-form input[type=number],.call-form input[type=number],.project-form input[type=number],.service-form input[type=number],.task-form input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}@media (max-width: 900px){.customers-toolbar{flex-direction:column;align-items:stretch}.search-bar-inline{min-width:0}.filter-buttons{overflow-x:auto;flex-wrap:nowrap;padding-bottom:var(--space-2)}.customers-table-container{overflow-x:auto}}.ci-header-actions{display:inline-flex;gap:var(--space-2);align-items:center}.ci-import-wrap{position:relative}.ci-import-btn{display:inline-flex;align-items:center;gap:6px}.ci-chev-open{transform:rotate(180deg);transition:transform var(--transition-fast)}.ci-import-menu{position:absolute;top:calc(100% + 6px);right:0;width:380px;background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-modal);padding:6px;display:flex;flex-direction:column;gap:4px}.ci-import-menu-item{display:flex;gap:12px;padding:var(--space-3);background:transparent;border:none;text-align:left;cursor:pointer;border-radius:var(--radius-sm);align-items:flex-start;width:100%;font-family:var(--font-family-base);transition:background var(--transition-fast)}.ci-import-menu-item:hover{background:var(--color-brand-50)}.ci-import-menu-icon{width:36px;height:36px;border-radius:50%;background:var(--color-brand-100);color:var(--color-brand-700);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ci-import-menu-text{flex:1}.ci-import-menu-text strong{display:block;font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:2px}.ci-import-menu-text small{display:block;color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-snug)}.ci-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a132599;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.ci-modal{background:var(--color-bg-surface);border-radius:var(--radius-lg);max-width:800px;width:100%;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 24px 64px #0000004d}.ci-modal--kb{max-width:1100px}.ci-modal-header{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-5);border-bottom:1px solid var(--color-border-subtle)}.ci-modal-header h2{display:inline-flex;align-items:center;gap:8px;margin:0 0 4px;font-size:var(--font-size-xl);color:var(--color-brand-700)}.ci-modal-header p{margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);max-width:600px}.ci-modal-close{background:var(--color-bg-muted);border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ci-modal-close:hover{background:var(--color-border-default)}.ci-modal-toolbar{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border-subtle);flex-wrap:wrap}.ci-search-input{position:relative;display:flex;align-items:center;flex:1;min-width:200px}.ci-search-input svg{position:absolute;left:10px;color:var(--color-text-muted)}.ci-search-input input{width:100%;padding:8px 12px 8px 32px;border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg-default);font-family:var(--font-family-base)}.ci-search-input input:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 3px var(--color-brand-100)}.ci-source-chips{display:flex;gap:6px;flex-wrap:wrap}.ci-chip{background:var(--color-bg-default);border:1px solid var(--color-border-subtle);color:var(--color-text-secondary);padding:6px 11px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.ci-chip:hover{border-color:var(--color-brand-500);color:var(--color-brand-700)}.ci-chip.active{background:var(--color-brand-700);border-color:var(--color-brand-700);color:#fff}.ci-modal-body{flex:1;overflow-y:auto;padding:var(--space-3) var(--space-5)}.ci-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.ci-list-item{display:flex;gap:12px;padding:var(--space-3) var(--space-4);background:var(--color-bg-default);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);cursor:pointer;align-items:flex-start;transition:all var(--transition-fast)}.ci-list-item:hover{border-color:var(--color-brand-500);background:var(--color-brand-50)}.ci-list-item.selected{background:var(--color-brand-50);border-color:var(--color-brand-500);box-shadow:0 0 0 1px var(--color-brand-500)}.ci-list-item.existing{opacity:.6;cursor:not-allowed}.ci-check{width:20px;height:20px;border-radius:4px;border:1.5px solid var(--color-border-default);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;margin-top:1px}.ci-check.on{background:var(--color-brand-700);border-color:var(--color-brand-700)}.ci-list-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.ci-list-item-content strong{color:var(--color-text-primary);font-size:var(--font-size-sm);line-height:var(--line-height-snug)}.ci-list-meta{font-size:var(--font-size-xs);color:var(--color-text-muted);display:flex;gap:6px;flex-wrap:wrap;align-items:center}.ci-source-tag{padding:2px 8px;border-radius:var(--radius-sm);font-weight:var(--font-weight-bold);font-size:10px;color:#fff}.ci-source-eu_portal{background:#a78bc9}.ci-source-bdns{background:#3d1e66}.ci-org-tag{padding:2px 8px;border-radius:var(--radius-sm);background:var(--color-brand-100);color:var(--color-brand-700);font-weight:var(--font-weight-semibold);font-size:10px}.ci-existing-tag{padding:2px 8px;border-radius:var(--radius-sm);background:var(--color-success-50, #E8F5EE);color:var(--color-success-700, #2E7D5A);font-size:10px;font-weight:var(--font-weight-semibold)}.ci-list-more{list-style:none;text-align:center;padding:var(--space-3);font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic}.ci-empty{padding:var(--space-7);text-align:center;color:var(--color-text-muted)}.ci-kb-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:0;flex:1;min-height:0}.ci-kb-list-panel{display:flex;flex-direction:column;border-right:1px solid var(--color-border-subtle);min-height:0}.ci-kb-list-panel .ci-search-input{margin:var(--space-3) var(--space-4)}.ci-kb-list-panel .ci-list{flex:1;overflow-y:auto;padding:0 var(--space-4) var(--space-4)}.ci-kb-form-panel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5);overflow-y:auto;position:relative}.ci-kb-form-panel h3{margin:0;font-size:var(--font-size-lg);color:var(--color-brand-700)}.ci-kb-form-panel>.muted{margin:4px 0;font-size:var(--font-size-sm)}.ci-aliases{margin:0;font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic}.ci-empty-form{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);text-align:center;color:var(--color-text-muted);padding:var(--space-7);margin:auto}.ci-empty-form svg{color:var(--color-brand-300)}.ci-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-3)}.ci-form-grid label{display:flex;flex-direction:column;gap:4px}.ci-form-grid label>span:first-child{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.ci-form-grid input,.ci-form-grid select{padding:8px 10px;border:1px solid var(--color-border-default);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--color-bg-default);font-family:var(--font-family-base)}.ci-form-grid input:focus,.ci-form-grid select:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 2px var(--color-brand-100)}.ci-kb-import-cta{position:sticky;bottom:0;margin-top:var(--space-4);margin-left:calc(-1 * var(--space-5));margin-right:calc(-1 * var(--space-5));margin-bottom:calc(-1 * var(--space-4));display:inline-flex;align-items:center;justify-content:center;gap:8px;width:calc(100% + 2 * var(--space-5));padding:14px 18px!important;font-size:var(--font-size-md)!important;font-weight:var(--font-weight-semibold)!important;background:var(--color-brand-700)!important;color:#fff!important;border:none!important;border-top:2px solid var(--color-brand-800, #4A2A75)!important;border-radius:0!important;box-shadow:0 -8px 16px -4px #5c358f40;z-index:5;cursor:pointer}.ci-kb-import-cta:hover:not(:disabled){background:var(--color-brand-800, #4A2A75)!important}.ci-kb-import-cta:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.ci-form-hint{margin:var(--space-3) 0 0 0;font-size:var(--font-size-xs);color:var(--color-text-muted);padding:8px 10px;background:var(--color-bg-muted);border-radius:var(--radius-sm)}.ci-form-hint strong{color:var(--color-brand-700)}.ci-form-error{margin-top:var(--space-3);padding:10px 14px;background:#fbeded;color:#8b3636;border:1px solid #E8B9B9;border-radius:var(--radius-md);font-size:var(--font-size-sm)}.ci-modal-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border-subtle);flex-wrap:wrap}.ci-footer-actions{display:flex;gap:var(--space-2)}@media (max-width: 800px){.ci-kb-layout{grid-template-columns:1fr}.ci-kb-list-panel{border-right:none;border-bottom:1px solid var(--color-border-subtle);max-height:40vh}.ci-form-grid{grid-template-columns:1fr}.ci-import-menu{width:320px}}.ci-toggle-archived{display:inline-flex;align-items:center;gap:6px}.ci-toggle-archived.active{background:var(--color-brand-700)!important;color:#fff!important;border-color:var(--color-brand-700)!important}.ci-archived-badge{display:inline-flex;align-items:center;gap:4px;margin-left:12px;padding:4px 10px;background:var(--color-brand-100);color:var(--color-brand-700);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;vertical-align:middle}.pd-page{padding:var(--space-4);max-width:1400px;margin:0 auto}.pd-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:var(--space-3);font-size:var(--font-size-sm)}.pd-back{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;background:transparent;border:1px solid var(--color-border-default);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);font-family:var(--font-family-base);font-size:var(--font-size-sm)}.pd-back:hover{background:var(--color-brand-50);color:var(--color-brand-700);border-color:var(--color-brand-500)}.pd-bread-sep{color:var(--color-text-muted)}.pd-bread-current{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.pd-layout{display:grid;grid-template-columns:220px 1fr;gap:var(--space-4);align-items:flex-start}@media (max-width: 900px){.pd-layout{grid-template-columns:1fr}}.pd-sidebar{position:sticky;top:var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:2px}.pd-sidebar-section-label{font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-text-muted);letter-spacing:.06em;padding:4px 8px 8px}.pd-sidebar-item{display:flex;align-items:center;gap:10px;padding:9px 10px;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:left;transition:all var(--transition-fast)}.pd-sidebar-item:hover{background:var(--color-brand-50);color:var(--color-brand-700)}.pd-sidebar-item.active{background:var(--color-brand-100);color:var(--color-brand-700);font-weight:var(--font-weight-semibold)}.pd-main{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-5)}.pd-header{display:flex;flex-direction:column;gap:8px;padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-subtle)}.pd-header-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pd-header-title-main{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap}.pd-header-title-row h1{margin:0;font-size:var(--font-size-2xl);color:var(--color-text-primary);font-weight:var(--font-weight-bold)}.pd-status-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-weight-semibold);letter-spacing:.04em}.pd-status-badge--ok{background:var(--color-success-50, #F1FAF4);color:var(--color-success-700, #2E7D5A)}.pd-status-badge--warn{background:var(--color-warning-50, #FDF6EF);color:var(--color-warning-700, #B5651D)}.pd-status-badge--muted{background:var(--color-bg-muted);color:var(--color-text-muted)}.pd-header-meta{font-size:11px;color:var(--color-text-muted);letter-spacing:.04em}.pd-header-stats{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-top:6px}.pd-header-stat{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);letter-spacing:.04em}.pd-health-banner{background:var(--color-text-primary);color:#fff;border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:10px}.pd-health-banner--ok{background:linear-gradient(90deg,#1f4d38,#2e7d5a)}.pd-health-banner--warn{background:linear-gradient(90deg,#7a4310,#b5651d)}.pd-health-banner--bad{background:linear-gradient(90deg,#7a2828,#c44343)}.pd-health-banner-label{font-size:10px;letter-spacing:.08em;opacity:.85;font-weight:var(--font-weight-semibold)}.pd-health-banner-content{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.pd-health-banner-score{display:inline-flex;align-items:baseline;gap:2px}.pd-health-banner-num{font-size:44px;font-weight:var(--font-weight-bold);line-height:1}.pd-health-banner-max{font-size:14px;opacity:.75}.pd-health-banner-text{font-size:13px;font-weight:var(--font-weight-semibold);opacity:.95}.pd-health-banner-bar{height:5px;background:#fff3;border-radius:99px;overflow:hidden}.pd-health-banner-bar-fill{height:100%;background:#ffffffd9;border-radius:99px;transition:width .5s ease}.pd-kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-3)}@media (max-width: 1100px){.pd-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 700px){.pd-kpi-grid{grid-template-columns:1fr}}.pd-kpi-tile{background:var(--color-bg-default);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.pd-kpi-tile-label{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-text-muted);letter-spacing:.06em;margin-bottom:6px}.pd-kpi-tile-value{font-size:18px;font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1.2}.pd-kpi-tile-sub{font-size:11px;color:var(--color-text-muted);margin-top:4px}.pd-kpi-tile--warn{background:var(--color-warning-50, #FDF6EF);border-color:var(--color-warning-300, #F5C6A5)}.pd-kpi-tile--warn .pd-kpi-tile-value{color:var(--color-warning-700, #B5651D)}.pd-kpi-tile--ok{background:var(--color-success-50, #F1FAF4);border-color:var(--color-success-200, #C8E6D2)}.pd-kpi-tile--ok .pd-kpi-tile-value{color:var(--color-success-700, #2E7D5A)}.pd-section{display:flex;flex-direction:column;gap:var(--space-3)}.pd-section-title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.pd-section-sub{margin:4px 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.pd-section-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.pd-section-actions{display:flex;gap:8px;flex-wrap:wrap}.pd-empty{margin:0;padding:var(--space-5);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm);font-style:italic}.pd-empty-box{background:var(--color-bg-default);border:1px dashed var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-7);text-align:center}.pd-empty-box--sm{padding:var(--space-4)}.pd-empty-box p{margin:6px 0;color:var(--color-text-secondary)}.pd-empty-sub{font-size:var(--font-size-sm);color:var(--color-text-muted)!important}.pd-empty-actions{display:flex;gap:8px;justify-content:center;margin-top:var(--space-3);flex-wrap:wrap}.pd-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-family-base);cursor:pointer;border:1px solid transparent;transition:all var(--transition-fast)}.pd-btn--sm{padding:5px 10px;font-size:var(--font-size-xs)}.pd-btn--primary{background:var(--color-brand-700);color:#fff;border-color:var(--color-brand-700)}.pd-btn--primary:hover{background:var(--color-brand-800, #4A2A75);border-color:var(--color-brand-800, #4A2A75)}.pd-btn--secondary{background:transparent;color:var(--color-text-secondary);border-color:var(--color-border-default)}.pd-btn--secondary:hover{background:var(--color-bg-muted);color:var(--color-text-primary)}.pd-economics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}@media (max-width: 700px){.pd-economics-grid{grid-template-columns:1fr}}.pd-eco-card{background:var(--color-bg-default);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.pd-eco-label{font-size:10px;letter-spacing:.06em;font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.pd-eco-value{font-size:22px;font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-top:6px}.pd-eco-sub{font-size:11px;color:var(--color-text-muted);margin-top:2px}.pd-actions-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.pd-action-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--color-bg-default);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);border-left:3px solid var(--color-border-default)}.pd-action-item--high{border-left-color:var(--color-error-700, #C44343)}.pd-action-item--medium{border-left-color:var(--color-warning-700, #B5651D)}.pd-action-item--low{border-left-color:var(--color-success-700, #2E7D5A)}.pd-pri-tag{display:inline-flex;align-items:center;padding:2px 7px;border-radius:var(--radius-sm);font-size:9px;font-weight:var(--font-weight-bold);letter-spacing:.04em}.pd-pri-tag--high{background:#c4434326;color:var(--color-error-700, #C44343)}.pd-pri-tag--medium{background:#b5651d26;color:var(--color-warning-700, #B5651D)}.pd-pri-tag--low{background:#2e7d5a26;color:var(--color-success-700, #2E7D5A)}.pd-action-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pd-action-content strong{font-size:var(--font-size-sm);color:var(--color-text-primary)}.pd-action-content small{font-size:11px;color:var(--color-text-muted)}.pd-action-due{font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-text-muted);letter-spacing:.04em;flex-shrink:0}.pd-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media (max-width: 700px){.pd-meta-grid{grid-template-columns:1fr}}.pd-meta-row{display:flex;justify-content:space-between;gap:var(--space-3);padding:8px 12px;background:var(--color-bg-default);border-radius:var(--radius-sm)}.pd-meta-label{font-size:11px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--font-weight-medium)}.pd-meta-value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium);text-align:right}.pd-annuity-card{background:var(--color-bg-default);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3)}.pd-annuity-header{display:flex;align-items:center;gap:12px;margin-bottom:var(--space-3)}.pd-annuity-amount{margin-left:auto;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-variant-numeric:tabular-nums}.pd-annuity-progress{display:flex;align-items:center;gap:12px;margin-bottom:var(--space-3)}.pd-annuity-progress-label{font-size:11px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--font-weight-semibold)}.pd-annuity-bar{flex:1;height:6px;background:var(--color-bg-muted);border-radius:99px;overflow:hidden}.pd-annuity-bar-fill{height:100%;background:var(--color-brand-700);border-radius:99px}.pd-annuity-progress-value{font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.pd-annuity-reports{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.pd-annuity-reports li{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--color-bg-surface);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pd-annuity-reports li span{margin-left:auto;font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-text-muted);letter-spacing:.04em}.pd-docs-block{background:var(--color-bg-default);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3)}.pd-docs-block-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:6px;flex-wrap:wrap}.pd-docs-block-header h3{margin:0;font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.pd-docs-help{margin:0 0 var(--space-3) 0;font-size:12px;color:var(--color-text-muted)}.pd-docs-block--proposal{border-color:var(--color-brand-100);background:linear-gradient(180deg,var(--color-brand-50),var(--color-bg-default))}.pd-docs-tag{display:inline-flex;align-items:center;margin-left:10px;padding:2px 8px;background:var(--color-brand-100);color:var(--color-brand-700);border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}.pd-docs-error{margin-bottom:var(--space-3);padding:8px 12px;background:var(--color-warning-50, #FDF6EF);border-left:3px solid var(--color-warning-700, #B5651D);color:var(--color-warning-700, #B5651D);font-size:var(--font-size-sm);border-radius:var(--radius-sm)}.pd-docs-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.pd-docs-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm)}.pd-docs-item>svg{color:var(--color-brand-700);flex-shrink:0}.pd-docs-item-info{flex:1;min-width:0}.pd-docs-item-info strong{display:block;font-size:var(--font-size-sm);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pd-docs-item-info small{display:block;font-size:11px;color:var(--color-text-muted)}.pd-docs-item-action{background:transparent;border:1px solid var(--color-border-default);padding:4px 9px;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);font-size:13px;line-height:1}.pd-docs-item-action:hover{background:var(--color-brand-50);color:var(--color-brand-700);border-color:var(--color-brand-500)}.pd-docs-item-action--delete:hover{background:var(--color-warning-50, #FDF6EF);color:var(--color-warning-700, #B5651D);border-color:var(--color-warning-300, #F5C6A5)}.pd-docs-footer{margin-top:var(--space-2);font-size:11px;color:var(--color-text-muted);text-align:right}.pd-tasks-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.pd-task{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--color-bg-default);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm)}.pd-task--done{opacity:.6}.pd-task--done .pd-task-content strong{text-decoration:line-through}.pd-task-check{color:var(--color-text-muted);display:inline-flex;align-items:center}.pd-task--done .pd-task-check{color:var(--color-success-700, #2E7D5A)}.pd-task-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pd-task-content strong{font-size:var(--font-size-sm);color:var(--color-text-primary)}.pd-task-content small{font-size:11px;color:var(--color-text-muted)}.pd-task-due{font-size:11px;color:var(--color-text-muted);flex-shrink:0}.pd-task-overdue{color:var(--color-error-700, #C44343);font-weight:var(--font-weight-semibold)}.pd-task--overdue{border-left:3px solid var(--color-error-700, #C44343)}.pd-task:hover:not(.pd-task--done){background:var(--color-brand-50)}.pd-task-check--btn{background:transparent;border:none;cursor:pointer;padding:2px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.pd-task-check--btn:hover{background:var(--color-brand-100);color:var(--color-brand-700)}.pd-header-stat--editable{cursor:pointer;transition:color var(--transition-fast);border-radius:var(--radius-sm);padding:2px 6px;margin:-2px -6px}.pd-header-stat--editable:hover{color:var(--color-brand-700);background:var(--color-brand-50)}.pd-edit-icon{margin-left:4px;opacity:.5}.pd-header-stat--editable:hover .pd-edit-icon{opacity:1}.pd-period-editor{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.pd-period-editor>*{flex-shrink:0}.pd-inline-form{background:var(--color-brand-50);border:1px solid var(--color-brand-100);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3)}.pd-inline-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3);margin-bottom:var(--space-3)}.pd-inline-form-wide{grid-column:1 / -1}.pd-inline-form label{display:flex;flex-direction:column;gap:4px}.pd-inline-form label>span{font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase}.pd-inline-form input,.pd-inline-form select{padding:7px 10px;border:1px solid var(--color-border-default);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:#fff;font-family:var(--font-family-base)}.pd-inline-form input:focus,.pd-inline-form select:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 3px var(--color-brand-100)}.pd-inline-form-error{margin:0 0 var(--space-2) 0;padding:6px 10px;background:var(--color-warning-50, #FDF6EF);border-left:3px solid var(--color-warning-700, #B5651D);color:var(--color-warning-700, #B5651D);font-size:var(--font-size-sm);border-radius:var(--radius-sm)}.pd-inline-form-actions{display:flex;justify-content:flex-end;gap:8px}.pd-mini-action--delete{color:var(--color-error-700, #C44343)}.pd-mini-action--delete:hover{background:var(--color-warning-50, #FDF6EF)}.pd-mini-table-wrap{background:var(--color-bg-default);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);overflow-x:auto}.pd-mini-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.pd-mini-table thead th{text-align:left;padding:10px 12px;font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--color-border-subtle);background:var(--color-bg-surface);white-space:nowrap}.pd-mini-table tbody td{padding:10px 12px;border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-secondary);vertical-align:middle}.pd-mini-table tbody tr:last-child td{border-bottom:none}.pd-mini-table .overdue{color:var(--color-error-700, #C44343);font-weight:var(--font-weight-semibold)}.pd-mini-days{font-size:11px;color:var(--color-text-muted)}.pd-mini-table .overdue .pd-mini-days{color:var(--color-error-700, #C44343)}.pd-mini-action{background:transparent;border:none;padding:5px;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-muted)}.pd-mini-action:hover{background:var(--color-brand-50);color:var(--color-brand-700)}.pd-invoice-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-weight-semibold)}.pd-invoice-badge--paid{background:var(--color-success-50, #F1FAF4);color:var(--color-success-700, #2E7D5A)}.pd-invoice-badge--sent{background:var(--color-brand-100);color:var(--color-brand-700)}.pd-invoice-badge--pending{background:var(--color-warning-50, #FDF6EF);color:var(--color-warning-700, #B5651D)}.pi-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a132599;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal, 1100);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.pi-modal{background:var(--color-bg-surface);border-radius:var(--radius-lg);width:100%;max-width:900px;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 24px 64px #0000004d;overflow:hidden}.pi-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-5);border-bottom:1px solid var(--color-border-subtle);background:linear-gradient(180deg,var(--color-brand-50),transparent)}.pi-header h2{display:inline-flex;align-items:center;gap:8px;margin:0 0 4px;font-size:var(--font-size-xl);color:var(--color-brand-700)}.pi-header p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pi-close{background:var(--color-bg-muted);border:none;width:30px;height:30px;border-radius:50%;cursor:pointer;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.pi-body{flex:1;overflow-y:auto;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.pi-section{display:flex;flex-direction:column;gap:var(--space-3)}.pi-section--row{flex-direction:row;align-items:flex-start;gap:var(--space-4)}.pi-section--row>*{flex:1}.pi-section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.pi-section-header h3{margin:0;font-size:var(--font-size-md);color:var(--color-brand-700);font-weight:var(--font-weight-semibold);display:inline-flex;align-items:center;gap:6px}.pi-section-actions{display:flex;gap:8px;align-items:center}.pi-field{display:flex;flex-direction:column;gap:4px}.pi-field>span,.pi-field-label{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase}.pi-field input,.pi-field textarea,.pi-field select{padding:8px 10px;border:1px solid var(--color-border-default);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--color-bg-default);font-family:var(--font-family-base);color:var(--color-text-primary);width:100%}.pi-field textarea{resize:vertical;min-height:70px}.pi-field input:focus,.pi-field textarea:focus,.pi-field select:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 3px var(--color-brand-100)}.pi-slider{width:100%;margin:6px 0 0;accent-color:var(--color-brand-700)}.pi-slider-scale{display:flex;justify-content:space-between;font-size:10px;color:var(--color-text-muted);padding:0 2px}.pi-slider-hint{font-size:11px;color:var(--color-brand-700);font-weight:var(--font-weight-medium);margin-top:4px}.pi-partners-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.pi-partner-row{display:grid;grid-template-columns:70px 1.2fr 1fr 1fr 28px;gap:6px;padding:6px;background:var(--color-bg-default);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);align-items:center}.pi-partner-row--customer{background:var(--color-brand-50);border-color:var(--color-brand-100)}.pi-partner-badge{font-size:9px;font-weight:var(--font-weight-bold);letter-spacing:.06em;padding:3px 6px;border-radius:var(--radius-sm);text-align:center;background:var(--color-bg-muted);color:var(--color-text-muted)}.pi-partner-row--customer .pi-partner-badge{background:var(--color-brand-100);color:var(--color-brand-700)}.pi-partner-row input{padding:5px 7px;border:1px solid var(--color-border-default);border-radius:var(--radius-xs);font-size:var(--font-size-sm);font-family:var(--font-family-base);background:#fff}.pi-partner-row input[readonly]{background:var(--color-bg-muted);cursor:default}.pi-row-remove{background:transparent;border:none;padding:4px;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center}.pi-row-remove:hover{background:var(--color-warning-50, #FDF6EF);color:var(--color-warning-700, #B5651D)}.pi-wps{display:flex;flex-direction:column;gap:8px}.pi-wp{background:var(--color-bg-default);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:10px}.pi-wp-header{display:flex;gap:8px;margin-bottom:8px}.pi-wp-name{flex:1;padding:6px 8px;border:1px solid var(--color-border-default);border-radius:var(--radius-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-family-base);background:#fff}.pi-wp-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media (max-width: 700px){.pi-wp-grid{grid-template-columns:1fr}}.pi-wp-sublabel{display:block;font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-text-muted);letter-spacing:.06em;margin-bottom:3px}.pi-wp textarea{width:100%;padding:6px 8px;border:1px solid var(--color-border-default);border-radius:var(--radius-xs);font-size:var(--font-size-sm);font-family:var(--font-family-base);background:#fff;resize:vertical}.pi-spin{animation:pi-rot 1s linear infinite;color:var(--color-brand-700)}@keyframes pi-rot{to{transform:rotate(360deg)}}.pi-loading,.pi-error{align-items:center;text-align:center;padding:var(--space-7);min-height:260px;gap:10px}.pi-loading h3,.pi-error h3{margin:0}.pi-loading p,.pi-error p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.pi-loading-hint{font-style:italic}.pi-error svg{color:var(--color-warning-700, #B5651D)}.pi-preview-banner{display:flex;align-items:center;gap:8px;padding:var(--space-3) var(--space-4);background:var(--color-success-50, #F1FAF4);border:1px solid var(--color-success-200, #C8E6D2);border-radius:var(--radius-md);color:var(--color-success-700, #2E7D5A);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.pi-preview-list{margin:4px 0 0;padding-left:18px}.pi-preview-list li{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pi-preview-list li strong{color:var(--color-text-primary)}.pi-preview-wp{background:var(--color-bg-default);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:8px 10px;margin-top:6px}.pi-preview-wp strong{color:var(--color-brand-700);font-size:var(--font-size-sm)}.pi-preview-wp em{font-size:11px;color:var(--color-text-muted);font-style:normal;font-weight:var(--font-weight-semibold)}.pi-preview-wp ul{margin:2px 0 6px;padding-left:18px}.pi-preview-wp li{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pi-empty{margin:0;padding:var(--space-3) var(--space-4);background:var(--color-bg-default);border:1px dashed var(--color-border-default);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--font-size-sm);font-style:italic}.pi-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border-subtle);background:var(--color-bg-default)}.pi-footer-hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.pi-footer-actions{display:flex;gap:8px}.pi-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-family-base);cursor:pointer;border:1px solid transparent;transition:all var(--transition-fast)}.pi-btn--primary{background:var(--color-brand-700);color:#fff;border-color:var(--color-brand-700)}.pi-btn--primary:hover:not(:disabled){background:var(--color-brand-800, #4A2A75);border-color:var(--color-brand-800, #4A2A75)}.pi-btn--primary:disabled{opacity:.6;cursor:not-allowed}.pi-btn--secondary{background:transparent;color:var(--color-text-secondary);border-color:var(--color-border-default)}.pi-btn--secondary:hover{background:var(--color-bg-muted);color:var(--color-text-primary)}.pil-page{padding:var(--space-4);max-width:1200px;margin:0 auto}.pil-breadcrumb{display:flex;align-items:center;gap:6px;margin-bottom:var(--space-3);font-size:var(--font-size-sm)}.pil-back,.pil-bread-link{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:transparent;border:1px solid var(--color-border-default);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);font-family:var(--font-family-base);font-size:var(--font-size-sm)}.pil-back:hover,.pil-bread-link:hover{background:var(--color-brand-50);color:var(--color-brand-700)}.pil-bread-sep{color:var(--color-text-muted)}.pil-bread-current{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.pil-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap}.pil-header h1{display:inline-flex;align-items:center;gap:8px;margin:0 0 4px;color:var(--color-brand-700)}.pil-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-3)}.pil-card{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);transition:all var(--transition-fast)}.pil-card:hover{border-color:var(--color-brand-500);box-shadow:var(--shadow-sm)}.pil-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2)}.pil-card-header h3{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-snug);flex:1}.pil-card-actions{display:flex;gap:4px;flex-shrink:0}.pil-icon-btn{background:transparent;border:1px solid var(--color-border-default);padding:5px 7px;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-muted);display:inline-flex;align-items:center}.pil-icon-btn:hover{background:var(--color-brand-50);color:var(--color-brand-700);border-color:var(--color-brand-500)}.pil-icon-btn--danger:hover{background:var(--color-warning-50, #FDF6EF);color:var(--color-warning-700, #B5651D);border-color:var(--color-warning-300, #F5C6A5)}.pil-card-innovation{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.pil-card-innovation strong{color:var(--color-brand-700);font-weight:var(--font-weight-semibold)}.pil-card-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:var(--space-2) 0;border-top:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle)}.pil-stat{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-xs);color:var(--color-text-muted)}.pil-stat strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.pil-card-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.pil-card-footer small{font-size:var(--font-size-xs);color:var(--color-text-muted)}.pil-empty{background:var(--color-bg-default);border:1px dashed var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-8);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.pil-empty svg{color:var(--color-brand-500);opacity:.7}.pil-empty strong{font-size:var(--font-size-md);color:var(--color-text-primary)}.pil-empty p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm);max-width:400px}:root{--color-brand-50: #F4EEF7;--color-brand-100: #E6D7EF;--color-brand-200: #C9ABD9;--color-brand-300: #A77FC0;--color-brand-400: #8054A7;--color-brand-500: #5C358F;--color-brand-600: #4D2C77;--color-brand-700: #3E235F;--color-brand-800: #2F1A47;--color-brand-900: #20122F;--color-bg-base: #FAF8F4;--color-bg-surface: #FFFFFF;--color-bg-muted: #F5F2EC;--color-bg-subtle: #FBFAF7;--color-bg-overlay: rgba(32, 18, 47, .45);--color-text-primary: #1A1A1A;--color-text-secondary: #4B5563;--color-text-muted: #6B7280;--color-text-subtle: #9CA3AF;--color-text-inverse: #FFFFFF;--color-text-brand: var(--color-brand-500);--color-border-subtle: #EDEAE3;--color-border-default: #E0DCD3;--color-border-strong: #C9C3B6;--color-border-focus: var(--color-brand-500);--color-success-50: #ECFDF5;--color-success-500: #10B981;--color-success-700: #047857;--color-warning-50: #FFFBEB;--color-warning-500: #F59E0B;--color-warning-700: #B45309;--color-danger-50: #FEF2F2;--color-danger-500: #EF4444;--color-danger-700: #B91C1C;--color-info-50: #EFF6FF;--color-info-500: #3B82F6;--color-info-700: #1D4ED8;--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;--font-family-mono: "JetBrains Mono", "SF Mono", Menlo, Monaco, Consolas, monospace;--font-size-xs: .6875rem;--font-size-sm: .8125rem;--font-size-base: .875rem;--font-size-md: .9375rem;--font-size-lg: 1.0625rem;--font-size-xl: 1.1875rem;--font-size-2xl: 1.4375rem;--font-size-3xl: 1.75rem;--font-size-4xl: 2.125rem;--font-size-5xl: 2.75rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-snug: 1.35;--line-height-normal: 1.5;--line-height-relaxed: 1.65;--letter-spacing-tight: -.015em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-xs: .25rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.25rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(32, 18, 47, .04);--shadow-sm: 0 1px 3px 0 rgba(32, 18, 47, .06), 0 1px 2px -1px rgba(32, 18, 47, .04);--shadow-md: 0 4px 6px -1px rgba(32, 18, 47, .07), 0 2px 4px -2px rgba(32, 18, 47, .05);--shadow-lg: 0 10px 15px -3px rgba(32, 18, 47, .08), 0 4px 6px -4px rgba(32, 18, 47, .05);--shadow-xl: 0 20px 25px -5px rgba(32, 18, 47, .1), 0 8px 10px -6px rgba(32, 18, 47, .05);--shadow-focus: 0 0 0 3px rgba(92, 53, 143, .15);--sidebar-width: 240px;--header-height: 56px;--content-max-width: 1440px;--container-padding: var(--space-6);--transition-fast: .12s cubic-bezier(.4, 0, .2, 1);--transition-normal: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--z-base: 0;--z-dropdown: 50;--z-sticky: 100;--z-header: 200;--z-overlay: 1000;--z-modal: 1100;--z-toast: 1200;--z-tooltip: 1300}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-secondary);background-color:var(--color-bg-base);letter-spacing:var(--letter-spacing-normal);min-height:100vh}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}h4{font-size:var(--font-size-md)}h5,h6{font-size:var(--font-size-base)}p{color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}a{color:var(--color-brand-500);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-brand-600)}code{font-family:var(--font-family-mono);font-size:.85em;background-color:var(--color-bg-muted);padding:.125rem .375rem;border-radius:var(--radius-xs);color:var(--color-text-primary)}input,textarea,select,button{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;border:none;background:none;padding:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:none;box-shadow:var(--shadow-focus)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-default);border-radius:var(--radius-full);border:2px solid var(--color-bg-base)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}::selection{background-color:var(--color-brand-100);color:var(--color-brand-800)}.text-brand{color:var(--color-brand-500)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-subtle{color:var(--color-text-subtle)}.bg-surface{background-color:var(--color-bg-surface)}.bg-base{background-color:var(--color-bg-base)}.bg-muted{background-color:var(--color-bg-muted)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.tabular-nums{font-variant-numeric:tabular-nums}
