@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap");:root{--color-primary:#6366f1;--color-primary-hover:#4f46e5;--color-primary-light:#e0e7ff;--color-primary-50:#eef2ff;--color-success:#059669;--color-success-light:#d1fae5;--color-warning:#d97706;--color-warning-light:#fef3c7;--color-danger:#dc2626;--color-danger-light:#fee2e2;--color-info:#0891b2;--color-info-light:#cffafe;--color-white:#fff;--color-gray-25:#fcfcfd;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.8125rem;--font-size-base:0.875rem;--font-size-lg:1rem;--font-size-xl:1.125rem;--font-size-2xl:1.25rem;--font-size-3xl:1.5rem;--font-size-4xl:2rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--border-color:var(--color-gray-200);--shadow-xs:0 1px 2px rgba(0,0,0,.05);--shadow-sm:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 6px -1px rgba(0,0,0,.07),0 2px 4px -2px rgba(0,0,0,.05);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.08),0 4px 6px -4px rgba(0,0,0,.04);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.08),0 8px 10px -6px rgba(0,0,0,.04);--sidebar-width:260px;--topbar-height:64px;--content-max-width:1400px;--transition-fast:150ms ease;--transition-base:200ms ease;--transition-slow:300ms ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-gray-800);background-color:var(--color-gray-50);line-height:1.5}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}h1,h2,h3,h4,h5,h6{font-weight:600;color:var(--color-gray-900);line-height:1.3}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--color-white);border-right:1px solid var(--color-gray-200);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:transform var(--transition-slow)}.sidebar-logo{padding:var(--space-6) var(--space-6);border-bottom:1px solid var(--color-gray-100);display:flex;align-items:center;gap:var(--space-3)}.sidebar-logo-icon{width:36px;height:36px;background:var(--color-primary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:var(--font-size-lg)}.sidebar-logo-text{font-size:var(--font-size-xl);font-weight:700;color:var(--color-gray-900);letter-spacing:-.02em}.sidebar-nav{flex:1 1;padding:var(--space-4) var(--space-3);overflow-y:auto}.sidebar-section{margin-bottom:var(--space-6)}.sidebar-section-label{font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.05em;padding:0 var(--space-3);margin-bottom:var(--space-2)}.sidebar-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-gray-600);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;margin-bottom:2px}.sidebar-link:hover{background:var(--color-gray-100);color:var(--color-gray-800)}.sidebar-link.active{background:var(--color-primary-light);color:var(--color-primary)}.sidebar-link svg{width:20px;height:20px;flex-shrink:0}.sidebar-link .badge{margin-left:auto;background:var(--color-danger);color:#fff;font-size:var(--font-size-xs);font-weight:600;padding:1px 6px;border-radius:var(--radius-full);min-width:20px;text-align:center}.main-content{flex:1 1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh}.topbar{height:var(--topbar-height);background:var(--color-white);border-bottom:1px solid var(--color-gray-200);justify-content:space-between;padding:0 var(--space-8);position:-webkit-sticky;position:sticky;top:0;z-index:50}.topbar,.topbar-left{display:flex;align-items:center}.topbar-left{gap:var(--space-4)}.topbar-title{font-size:var(--font-size-xl);font-weight:600;color:var(--color-gray-900)}.topbar-breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-gray-400)}.topbar-breadcrumb a{color:var(--color-gray-500)}.topbar-right{display:flex;align-items:center;gap:var(--space-4)}.topbar-search{position:relative}.topbar-search input{width:280px;height:38px;padding:0 var(--space-4) 0 38px;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-gray-50);transition:all var(--transition-fast);outline:none;font-family:var(--font-family)}.topbar-search input:focus{border-color:var(--color-primary);background:var(--color-white);box-shadow:0 0 0 3px var(--color-primary-light)}.topbar-search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--color-gray-400);width:18px;height:18px}.topbar-icon-btn{width:38px;height:38px;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-white);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-gray-500);position:relative;transition:all var(--transition-fast)}.topbar-icon-btn:hover{background:var(--color-gray-50);color:var(--color-gray-700);border-color:var(--color-gray-300)}.topbar-icon-btn .notification-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;background:var(--color-danger);border-radius:50%;border:2px solid var(--color-white)}.topbar-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-sm);cursor:pointer}.page-content{padding:var(--space-8);flex:1 1}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-8)}.page-header h1{font-size:var(--font-size-3xl);font-weight:700}.page-header-actions{display:flex;gap:var(--space-3)}.card{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow var(--transition-base)}.card:hover{box-shadow:var(--shadow-sm)}.card-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-gray-100);display:flex;align-items:center;justify-content:space-between}.card-header h2,.card-header h3{font-size:var(--font-size-lg);font-weight:600}.card-body{padding:var(--space-6)}.card-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-gray-100);background:var(--color-gray-25)}.dashboard-bar-chart{justify-content:space-around;height:160px}.bar-column{height:100%;width:40px}.bar-fill{width:32px;background:var(--color-primary);opacity:.85;transition:all var(--transition-base)}.bar-fill:hover{opacity:1;transform:scaleY(1.02);transform-origin:bottom}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:var(--space-5);gap:var(--space-5);margin-bottom:var(--space-8)}.kpi-card{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--transition-base)}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.kpi-label{font-size:var(--font-size-sm);color:var(--color-gray-500);font-weight:500;margin-bottom:var(--space-1)}.kpi-value{font-size:var(--font-size-4xl);font-weight:700;color:var(--color-gray-900);line-height:1.2}.kpi-change{font-size:var(--font-size-sm);margin-top:var(--space-2);display:flex;align-items:center;gap:var(--space-1)}.kpi-change.positive{color:var(--color-success)}.kpi-change.negative{color:var(--color-danger)}.kpi-icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-3)}.kpi-icon.blue{background:var(--color-primary-light);color:var(--color-primary)}.kpi-icon.green{background:var(--color-success-light);color:var(--color-success)}.kpi-icon.yellow{background:var(--color-warning-light);color:var(--color-warning)}.kpi-icon.red{background:var(--color-danger-light);color:var(--color-danger)}.data-table-wrapper{overflow-x:auto}.data-table{width:100%;border-collapse:separate;border-spacing:0}.data-table th{text-align:left;font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--color-gray-200);background:var(--color-gray-50);white-space:nowrap}.data-table td,.data-table th{padding:var(--space-3) var(--space-4)}.data-table td{font-size:var(--font-size-sm);border-bottom:1px solid var(--color-gray-100);color:var(--color-gray-700);vertical-align:middle}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--color-gray-50)}.data-table tbody tr:last-child td{border-bottom:none}.data-table .client-name{font-weight:500;color:var(--color-gray-900)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap}.badge-blue{background:var(--color-primary-light);color:var(--color-primary)}.badge-green{background:var(--color-success-light);color:var(--color-success)}.badge-yellow{background:var(--color-warning-light);color:var(--color-warning)}.badge-red{background:var(--color-danger-light);color:var(--color-danger)}.badge-gray{background:var(--color-gray-100);color:var(--color-gray-600)}.badge-cyan{background:var(--color-info-light);color:var(--color-info)}.badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;font-family:var(--font-family);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent;white-space:nowrap;height:38px}.btn svg{width:18px;height:18px}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--color-white);color:var(--color-gray-700);border-color:var(--color-gray-300)}.btn-secondary:hover{background:var(--color-gray-50);border-color:var(--color-gray-400)}.btn-ghost{background:transparent;color:var(--color-gray-600)}.btn-ghost:hover{background:var(--color-gray-100);color:var(--color-gray-800)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#b91c1c}.btn-sm{height:32px;padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.btn-lg{height:44px;padding:var(--space-3) var(--space-6);font-size:var(--font-size-base)}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-700);margin-bottom:var(--space-1)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--color-gray-800);background:var(--color-white);transition:all var(--transition-fast);outline:none;height:38px}.form-textarea{height:auto;min-height:80px;resize:vertical}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-input::placeholder{color:var(--color-gray-400)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.stage-tracker{gap:0;padding:var(--space-4) 0;overflow-x:auto}.stage-item,.stage-tracker{display:flex;align-items:center}.stage-item{gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:500;white-space:nowrap;transition:all var(--transition-fast)}.stage-item.completed{color:var(--color-success)}.stage-item.current{background:var(--color-primary-light);color:var(--color-primary);font-weight:600}.stage-item.pending{color:var(--color-gray-400)}.stage-connector{width:24px;height:2px;background:var(--color-gray-200);flex-shrink:0}.stage-connector.completed{background:var(--color-success)}.stage-dot{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:10px}.stage-dot.completed{background:var(--color-success);color:#fff}.stage-dot.current{background:var(--color-primary);color:#fff}.stage-dot.pending{background:var(--color-gray-200);color:var(--color-gray-400)}.tabs{display:flex;border-bottom:1px solid var(--color-gray-200);margin-bottom:var(--space-6);gap:0}.tab{padding:var(--space-3) var(--space-5);font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-500);cursor:pointer;margin-bottom:-1px;transition:all var(--transition-fast);background:none;border:none;border-bottom:2px solid transparent;font-family:var(--font-family)}.tab:hover{color:var(--color-gray-700)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn var(--transition-fast)}.modal{background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:90%;max-width:600px;max-height:85vh;overflow-y:auto;animation:slideUp var(--transition-base)}.modal-header{padding:var(--space-6);border-bottom:1px solid var(--color-gray-100);display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-size:var(--font-size-xl)}.modal-body{padding:var(--space-6)}.modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-gray-100);display:flex;gap:var(--space-3);justify-content:flex-end}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-8);text-align:center}.empty-state svg{width:48px;height:48px;color:var(--color-gray-300);margin-bottom:var(--space-4)}.empty-state h3{font-size:var(--font-size-lg);color:var(--color-gray-600);margin-bottom:var(--space-2)}.empty-state p{color:var(--color-gray-400);font-size:var(--font-size-sm);max-width:320px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.text-muted{color:var(--color-gray-500)}.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.text-right{text-align:right}.text-center{text-align:center}.font-mono{font-family:SF Mono,Fira Code,monospace}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.gap-4{gap:var(--space-4)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-6);gap:var(--space-6)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-gray-50)}.login-card{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-10);width:100%;max-width:420px}.login-logo{text-align:center;margin-bottom:var(--space-8)}.login-logo h1{font-size:var(--font-size-3xl);margin-top:var(--space-3)}.login-logo p{color:var(--color-gray-500);margin-top:var(--space-1)}.login-error,.login-logo p{font-size:var(--font-size-sm)}.login-error{background:var(--color-danger-light);color:var(--color-danger);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4)}@media (max-width:768px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.main-content{margin-left:0}.kpi-grid{grid-template-columns:repeat(2,1fr)}.page-header{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.grid-2{grid-template-columns:1fr}}.two-panel{display:flex;height:calc(100vh - var(--topbar-height) - 120px);gap:0;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-white)}.two-panel-sidebar{width:320px;min-width:280px;border-right:1px solid var(--color-gray-200);display:flex;flex-direction:column;background:var(--color-gray-25)}.two-panel-sidebar-header{padding:var(--space-4);border-bottom:1px solid var(--color-gray-200);background:var(--color-white)}.two-panel-sidebar-list{flex:1 1;overflow-y:auto}.two-panel-main{flex:1 1;display:flex;flex-direction:column;overflow:hidden}.two-panel-main-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-gray-200);background:var(--color-white);display:flex;align-items:center;justify-content:space-between}.two-panel-main-body{flex:1 1;overflow-y:auto;padding:var(--space-6)}.chat-list-item{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;border-bottom:1px solid var(--color-gray-100);transition:background var(--transition-fast)}.chat-list-item:hover{background:var(--color-gray-100)}.chat-list-item.active{background:var(--color-primary-light);border-left:3px solid var(--color-primary)}.chat-list-item .chat-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-sm);flex-shrink:0}.chat-list-item .chat-meta{flex:1 1;min-width:0}.chat-list-item .chat-subject{font-weight:500;font-size:var(--font-size-sm);color:var(--color-gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-list-item .chat-preview{font-size:var(--font-size-xs);color:var(--color-gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.chat-list-item .chat-time{font-size:10px;color:var(--color-gray-400);white-space:nowrap;flex-shrink:0}.chat-list-item .chat-unread{background:var(--color-primary);color:#fff;font-size:10px;font-weight:600;padding:1px 6px;border-radius:var(--radius-full);min-width:18px;text-align:center}.chat-messages{flex:1 1;overflow-y:auto;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.chat-bubble{max-width:70%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-sm);line-height:1.5}.chat-bubble.own{align-self:flex-end;background:var(--color-primary);color:#fff;border-bottom-right-radius:4px}.chat-bubble.other{align-self:flex-start;background:var(--color-gray-100);color:var(--color-gray-800);border-bottom-left-radius:4px}.chat-bubble .chat-sender{font-size:var(--font-size-xs);font-weight:600;margin-bottom:2px;opacity:.8}.chat-bubble .chat-bubble-time{font-size:10px;opacity:.6;margin-top:var(--space-1)}.chat-input-bar{padding:var(--space-4);border-top:1px solid var(--color-gray-200);background:var(--color-white);display:flex;gap:var(--space-3);align-items:center}.chat-input-bar input{flex:1 1;height:40px;border:1px solid var(--color-gray-300);border-radius:var(--radius-full);padding:0 var(--space-4);font-size:var(--font-size-sm);font-family:var(--font-family);outline:none}.chat-input-bar input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.chat-toolbar{display:flex;gap:var(--space-1)}.chat-toolbar button{width:32px;height:32px;border:none;background:transparent;color:var(--color-gray-400);cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.chat-toolbar button:hover{background:var(--color-gray-100);color:var(--color-gray-600)}.chat-tasks{padding:var(--space-4);border-top:1px solid var(--color-gray-200);background:var(--color-gray-25)}.chat-tasks h4{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-gray-500);margin-bottom:var(--space-2)}.task-checkbox{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;font-size:var(--font-size-sm)}.task-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.task-checkbox.completed span{text-decoration:line-through;color:var(--color-gray-400)}.inbox-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-gray-100);cursor:pointer;transition:background var(--transition-fast)}.inbox-item:hover{background:var(--color-gray-50)}.inbox-item.unread{background:var(--color-primary-50);border-left:3px solid var(--color-primary)}.inbox-item-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.inbox-item-icon.document{background:var(--color-info-light);color:var(--color-info)}.inbox-item-icon.invoice{background:var(--color-success-light);color:var(--color-success)}.inbox-item-icon.task{background:var(--color-warning-light);color:var(--color-warning)}.inbox-item-icon.message{background:var(--color-primary-light);color:var(--color-primary)}.inbox-item-icon.deadline{background:var(--color-danger-light);color:var(--color-danger)}.inbox-item-icon.organizer{background:#f0fdf4;color:#16a34a}.inbox-item-content{flex:1 1;min-width:0}.inbox-item-title{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-800)}.inbox-item-subtitle{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:2px}.inbox-item-time{font-size:var(--font-size-xs);color:var(--color-gray-400);white-space:nowrap}.kanban-board{flex-wrap:wrap;gap:var(--space-4);min-height:500px}.kanban-column{min-width:280px;max-width:320px;flex:1 1}.kanban-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-gray-200);display:flex;align-items:center;justify-content:space-between}.kanban-header h4{font-size:var(--font-size-sm);font-weight:600}.kanban-header .kanban-count{font-size:var(--font-size-xs);background:var(--color-gray-200);padding:1px 8px;border-radius:var(--radius-full);color:var(--color-gray-600);font-weight:600}.kanban-cards{flex:1 1;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3);overflow-y:auto}.kanban-card{padding:var(--space-3) var(--space-4);cursor:pointer}.kanban-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.kanban-card-title{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-900)}.kanban-card-client{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-bottom:var(--space-2)}.kanban-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-gray-100)}.kanban-card-footer .kanban-avatar{width:24px;height:24px;background:var(--color-primary-light);color:var(--color-primary);display:flex;justify-content:center}.kanban-card-footer .kanban-avatar,.tag{border-radius:var(--radius-full);font-size:10px;font-weight:600;align-items:center}.tag{display:inline-flex;padding:1px 8px;margin-right:var(--space-1);margin-bottom:2px}.tag-blue{background:#dbeafe;color:#2563eb}.tag-purple{background:#ede9fe;color:#7c3aed}.tag-cyan{background:#cffafe;color:#0891b2}.tag-green{background:#d1fae5;color:#059669}.tag-red{background:#fee2e2;color:#dc2626}.tag-yellow{background:#fef3c7;color:#d97706}.tag-emerald{background:#d1fae5;color:#10b981}.tag-indigo{background:#e0e7ff;color:#6366f1}.tag-violet{background:#ede9fe;color:#8b5cf6}.tag-amber{background:#fef3c7;color:#f59e0b}.activity-timeline{padding:0}.activity-item{display:flex;gap:var(--space-4);padding:var(--space-3) 0;position:relative}.activity-item:not(:last-child):before{content:"";position:absolute;left:15px;top:40px;bottom:0;width:2px;background:var(--color-gray-200)}.activity-dot{width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;z-index:1}.activity-dot.stage{background:var(--color-primary-light);color:var(--color-primary)}.activity-dot.document{background:var(--color-info-light);color:var(--color-info)}.activity-dot.invoice{background:var(--color-success-light);color:var(--color-success)}.activity-dot.message{background:var(--color-warning-light);color:var(--color-warning)}.activity-dot.client{background:#ede9fe;color:#7c3aed}.activity-content{flex:1 1}.activity-content strong{font-weight:600;color:var(--color-gray-900)}.activity-content p{font-size:var(--font-size-sm);color:var(--color-gray-600);margin:0}.activity-content .activity-time{font-size:var(--font-size-xs);color:var(--color-gray-400);margin-top:2px}.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-4)}.doc-file-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer}.doc-file-card:hover{background:var(--color-gray-50);border-color:var(--color-primary)}.doc-file-icon{width:40px;height:40px;background:#fef2f2;color:#dc2626;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.doc-file-info{flex:1 1;min-width:0}.doc-file-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-file-meta{font-size:var(--font-size-xs);color:var(--color-gray-400);margin-top:2px}.reminder-grid{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.reminder-card{display:flex;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);transition:all var(--transition-fast)}.reminder-card:hover{box-shadow:var(--shadow-sm)}.reminder-card.overdue{border-left:3px solid var(--color-danger)}.reminder-card.upcoming{border-left:3px solid var(--color-warning)}.reminder-card.sent{border-left:3px solid var(--color-success);opacity:.7}.reminder-icon{width:40px;height:40px;border-radius:var(--radius-md);justify-content:center;flex-shrink:0}.global-new-btn,.reminder-icon{display:flex;align-items:center}.global-new-btn{background:var(--color-success);color:#fff;border:none;height:36px;padding:0 var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;gap:var(--space-2);transition:all var(--transition-fast);position:relative;font-family:var(--font-family)}.global-new-btn:hover{background:#047857}.global-new-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);min-width:220px;z-index:200;animation:slideUp var(--transition-base);overflow:hidden}.global-new-dropdown a,.global-new-dropdown button{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);color:var(--color-gray-700);cursor:pointer;border:none;background:none;width:100%;text-align:left;text-decoration:none;font-family:var(--font-family);transition:background var(--transition-fast)}.global-new-dropdown a:hover,.global-new-dropdown button:hover{background:var(--color-gray-50);color:var(--color-gray-900)}.global-new-dropdown svg{width:16px;height:16px;color:var(--color-gray-400)}.view-toggle{display:flex;border:1px solid var(--color-gray-200);overflow:hidden}.view-toggle button{padding:var(--space-2) var(--space-3);background:var(--color-white)}.view-toggle button:not(:last-child){border-right:1px solid var(--color-gray-200)}.view-toggle button.active{background:var(--color-primary-light);color:var(--color-primary);font-weight:600}.date-group{font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-3) 0 var(--space-2);margin-top:var(--space-4);border-bottom:1px solid var(--color-gray-100)}.date-group:first-child{margin-top:0}.revenue-bar{display:flex;height:24px;border-radius:var(--radius-full);overflow:hidden;background:var(--color-gray-100)}.revenue-bar-segment{height:100%;transition:width var(--transition-slow);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff}.revenue-bar-segment.paid{background:var(--color-success)}.revenue-bar-segment.unpaid{background:var(--color-warning)}.revenue-bar-segment.overdue{background:var(--color-danger)}.revenue-bar-segment.draft{background:var(--color-gray-400)}.pipeline-selector{display:flex;align-items:center;gap:var(--space-3)}.pipeline-selector select{height:36px;padding:0 var(--space-8) 0 var(--space-3);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:var(--font-family);background:var(--color-white);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.quick-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.quick-action-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px dashed var(--color-gray-300);border-radius:var(--radius-md);background:var(--color-white);color:var(--color-gray-600);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family)}.quick-action-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-50)}.quick-action-btn svg{width:16px;height:16px}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);min-width:240px;z-index:200;animation:slideUp var(--transition-base);overflow:hidden}.user-dropdown-header{padding:var(--space-4);border-bottom:1px solid var(--color-gray-100)}.user-dropdown-header .user-name{font-weight:600;font-size:var(--font-size-sm);color:var(--color-gray-900)}.user-dropdown-header .user-email{font-size:var(--font-size-xs);color:var(--color-gray-500)}.user-dropdown a,.user-dropdown button{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);color:var(--color-gray-700);cursor:pointer;border:none;background:none;width:100%;text-align:left;text-decoration:none;font-family:var(--font-family);transition:background var(--transition-fast)}.user-dropdown a:hover,.user-dropdown button:hover{background:var(--color-gray-50)}.settings-layout{display:flex;gap:var(--space-6)}.settings-nav{width:220px;flex-shrink:0}.settings-nav-item{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-gray-600);cursor:pointer;transition:all var(--transition-fast);border:none;background:none;width:100%;text-align:left;font-family:var(--font-family);margin-bottom:2px}.settings-nav-item:hover{background:var(--color-gray-100);color:var(--color-gray-800)}.settings-nav-item.active{background:var(--color-primary-light);color:var(--color-primary);font-weight:500}.settings-content{flex:1 1}.star-btn{background:none;border:none;cursor:pointer;color:var(--color-gray-300);font-size:18px;transition:color var(--transition-fast);padding:2px}.star-btn.active,.star-btn:hover{color:var(--color-warning)}.tab-bar{display:flex;gap:0;border-bottom:2px solid var(--color-gray-200);margin-bottom:var(--space-6)}.tab-bar button{padding:var(--space-3) var(--space-5);font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-500);cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;background:none;font-family:var(--font-family);transition:all var(--transition-fast)}.tab-bar button:hover{color:var(--color-gray-700)}.tab-bar button.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.portal-app{display:flex;flex-direction:column;min-height:100vh;background:var(--color-gray-50)}.portal-topbar{background:var(--color-white);border-bottom:1px solid var(--color-gray-200);position:-webkit-sticky;position:sticky;top:0;z-index:100}.portal-topbar-inner{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);height:60px;max-width:1400px;margin:0 auto}.portal-topbar-left{display:flex;align-items:center;gap:var(--space-8)}.portal-topbar-right{display:flex;align-items:center;gap:var(--space-3);position:relative}.portal-logo{gap:var(--space-2);text-decoration:none}.portal-logo,.portal-logo-icon{display:flex;align-items:center}.portal-logo-icon{width:32px;height:32px;background:var(--color-primary);border-radius:var(--radius-md);justify-content:center;color:#fff;font-weight:700;font-size:var(--font-size-base)}.portal-logo-text{font-size:var(--font-size-xl);font-weight:700;color:var(--color-gray-900);letter-spacing:-.02em}.portal-nav-desktop{display:flex;gap:var(--space-1)}.portal-nav-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-500);text-decoration:none;transition:all var(--transition-fast);position:relative}.portal-nav-link:hover{color:var(--color-gray-800);background:var(--color-gray-100)}.portal-nav-link.active{color:var(--color-primary);background:var(--color-primary-50);font-weight:600}.portal-nav-badge{position:absolute;top:0;right:-2px;background:var(--color-danger);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:var(--radius-full);padding:0 4px}.portal-nav-badge,.portal-notification-btn{display:flex;align-items:center;justify-content:center}.portal-notification-btn{width:36px;height:36px;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-white);cursor:pointer;color:var(--color-gray-500);position:relative;transition:all var(--transition-fast)}.portal-notification-btn:hover{background:var(--color-gray-50);color:var(--color-gray-700)}.portal-notif-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;background:var(--color-danger);border-radius:50%;border:2px solid #fff}.portal-user-area{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);transition:background var(--transition-fast)}.portal-user-area:hover{background:var(--color-gray-100)}.portal-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-xs);flex-shrink:0}.portal-user-info{display:flex;align-items:center;gap:var(--space-1)}.portal-user-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-700)}.portal-mobile-toggle{display:none;width:36px;height:36px;border:none;background:none;color:var(--color-gray-600);cursor:pointer}.portal-nav-mobile{display:none}.portal-main{flex:1 1;padding:var(--space-6) var(--space-6);max-width:1400px;margin:0 auto;width:100%}.portal-footer{background:var(--color-white);border-top:1px solid var(--color-gray-200);padding:var(--space-4) var(--space-6);margin-top:auto}.portal-footer-inner{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;font-size:var(--font-size-xs);color:var(--color-gray-400)}.portal-page{animation:fadeIn var(--transition-base)}.portal-page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-6);gap:var(--space-4)}.portal-page-header h1{font-size:var(--font-size-3xl);font-weight:700;display:flex;align-items:center;gap:var(--space-3)}.portal-page-header p{margin-top:var(--space-1)}.portal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);gap:var(--space-4);color:var(--color-gray-500)}.portal-loading-spinner{width:36px;height:36px;border:3px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.portal-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);gap:var(--space-3);color:var(--color-gray-500);text-align:center}.portal-greeting{margin-bottom:var(--space-6)}.portal-greeting h1{font-size:var(--font-size-3xl);font-weight:700}.portal-greeting-sub{color:var(--color-gray-500);margin-top:var(--space-1)}.portal-breeze-card{background:linear-gradient(135deg,#eff6ff,#f0fdf4);border:1px solid var(--color-gray-200);border-radius:var(--radius-xl);padding:var(--space-12) var(--space-8);text-align:center;margin-bottom:var(--space-8)}.portal-breeze-icon{display:inline-flex;align-items:center;justify-content:center;width:96px;height:96px;background:linear-gradient(135deg,#dbeafe,#d1fae5);border-radius:50%;color:var(--color-primary);margin-bottom:var(--space-4);animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.portal-breeze-card h2{font-size:var(--font-size-3xl);font-weight:700;margin-bottom:var(--space-2)}.portal-breeze-subtitle{color:var(--color-gray-500);font-size:var(--font-size-lg);margin-bottom:var(--space-6)}.portal-breeze-stats{display:flex;justify-content:center;gap:var(--space-8)}.portal-breeze-stat{display:flex;align-items:center;gap:var(--space-2);color:var(--color-gray-600);font-size:var(--font-size-sm)}.portal-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-4);gap:var(--space-4);margin-bottom:var(--space-6)}.portal-kpi-card{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;align-items:center;gap:var(--space-4);transition:all var(--transition-base)}.portal-kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.portal-kpi-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-kpi-value{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-gray-900)}.portal-kpi-label{font-size:var(--font-size-xs);color:var(--color-gray-500);font-weight:500}.portal-section{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);margin-bottom:var(--space-6);overflow:hidden}.portal-section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-gray-100)}.portal-section-header h2{font-size:var(--font-size-lg);font-weight:600;display:flex;align-items:center;gap:var(--space-2);margin:0}.portal-action-center{border-left:3px solid var(--color-warning)}.portal-action-group{border-bottom:1px solid var(--color-gray-100)}.portal-action-group:last-child{border-bottom:none}.portal-action-group-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700)}.portal-action-group-header h3{margin:0;font-size:var(--font-size-sm)}.portal-doc-checklist{padding:0 var(--space-6) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.portal-doc-check-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);transition:all var(--transition-fast)}.portal-doc-check-item:hover{border-color:var(--color-primary)}.portal-doc-check-status{width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-doc-check-status.missing{background:var(--color-warning-light);color:var(--color-warning)}.portal-doc-check-status.done{background:var(--color-success-light);color:var(--color-success)}.portal-doc-check-info{flex:1 1;min-width:0}.portal-doc-check-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-800);display:block}.portal-doc-check-meta{font-size:var(--font-size-xs);color:var(--color-gray-500);display:block;margin-top:2px}.portal-task-list{padding:0 var(--space-6) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.portal-task-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-md)}.portal-task-checkbox{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.portal-task-info{flex:1 1}.portal-task-name{font-size:var(--font-size-sm);font-weight:500;display:block}.portal-task-meta{font-size:var(--font-size-xs);color:var(--color-gray-500);display:block}.portal-task-action{color:var(--color-gray-400);transition:color var(--transition-fast)}.portal-task-action:hover{color:var(--color-primary)}.portal-chat-preview-list{padding:0 var(--space-6) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.portal-chat-preview-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);text-decoration:none;transition:all var(--transition-fast)}.portal-chat-preview-item:hover{border-color:var(--color-primary);background:var(--color-primary-50)}.portal-chat-preview-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:11px;flex-shrink:0}.portal-chat-preview-info{flex:1 1;min-width:0}.portal-chat-preview-subject{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-800);display:block}.portal-chat-preview-msg{font-size:var(--font-size-xs);color:var(--color-gray-500);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-chat-preview-badge{background:var(--color-primary);color:#fff;font-size:10px;font-weight:700;min-width:20px;height:20px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;padding:0 6px}.portal-comp-group{border-bottom:1px solid var(--color-gray-100)}.portal-comp-group:last-child{border-bottom:none}.portal-comp-group-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-6);width:100%;background:none;border:none;cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700);transition:background var(--transition-fast)}.portal-comp-group-header:hover{background:var(--color-gray-50)}.portal-compliance-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-4) var(--space-6)}.portal-comp-card{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:var(--space-5);text-decoration:none;transition:all var(--transition-base);display:block}.portal-comp-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--color-primary)}.portal-comp-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.portal-comp-card-icon{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.portal-comp-card-title{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-900);margin-bottom:var(--space-1)}.portal-comp-card-year{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-bottom:var(--space-3)}.portal-comp-card-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-3);border-top:1px solid var(--color-gray-100)}.portal-comp-card-due{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--color-gray-500)}.portal-comp-card-due.overdue{color:var(--color-danger);font-weight:600}.portal-comp-card-arrow{color:var(--color-gray-300);transition:color var(--transition-fast)}.portal-comp-card:hover .portal-comp-card-arrow{color:var(--color-primary)}.portal-reminder-list{padding:var(--space-4) var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}.portal-reminder-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);transition:all var(--transition-fast)}.portal-reminder-item:hover{border-color:var(--color-primary)}.portal-reminder-item.overdue{border-left:3px solid var(--color-danger)}.portal-reminder-date{display:flex;flex-direction:column;align-items:center;width:44px;flex-shrink:0}.portal-reminder-day{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-gray-900);line-height:1}.portal-reminder-month{font-size:var(--font-size-xs);color:var(--color-gray-500);text-transform:uppercase}.portal-reminder-info{flex:1 1}.portal-reminder-title{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-800);display:block}.portal-reminder-meta{font-size:var(--font-size-xs);color:var(--color-gray-500);display:block}.portal-activity-list{padding:var(--space-4) var(--space-6);display:flex;flex-direction:column;gap:0}.portal-activity-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-gray-100)}.portal-activity-item:last-child{border-bottom:none}.portal-activity-dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex-shrink:0}.portal-activity-dot.engagement{background:var(--color-primary)}.portal-activity-dot.document{background:var(--color-info)}.portal-activity-dot.invoice{background:var(--color-success)}.portal-activity-dot.message{background:var(--color-warning)}.portal-activity-dot.reminder{background:var(--color-danger)}.portal-activity-dot.client{background:#7c3aed}.portal-activity-info{flex:1 1}.portal-activity-text{font-size:var(--font-size-sm);color:var(--color-gray-600);display:block}.portal-activity-time{font-size:var(--font-size-xs);color:var(--color-gray-400);display:block;margin-top:2px}.portal-quick-links{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-6)}.portal-quick-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4);border:1px dashed var(--color-gray-300);border-radius:var(--radius-md);background:var(--color-white);color:var(--color-gray-600);font-size:var(--font-size-sm);font-weight:500;text-decoration:none;transition:all var(--transition-fast);justify-content:center}.portal-quick-link:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-50)}.portal-doc-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:#fef3c7;border:1px solid #fbbf24;border-radius:var(--radius-md);margin-bottom:var(--space-6);color:#92400e}.portal-doc-banner span{flex:1 1;font-size:var(--font-size-sm)}.portal-doc-tabs{display:flex;gap:0;border-bottom:2px solid var(--color-gray-200);margin-bottom:var(--space-6)}.portal-doc-tab{padding:var(--space-3) var(--space-5);font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-500);cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;background:none;font-family:var(--font-family);transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--space-2)}.portal-doc-tab:hover{color:var(--color-gray-700)}.portal-doc-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.portal-doc-tab-badge{background:var(--color-danger);color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:var(--radius-full);padding:0 4px}.portal-doc-empty,.portal-doc-tab-badge{display:flex;align-items:center;justify-content:center}.portal-doc-empty{flex-direction:column;padding:var(--space-12);gap:var(--space-3);text-align:center;color:var(--color-gray-400)}.portal-doc-empty h3{color:var(--color-gray-600)}.portal-doc-group{margin-bottom:var(--space-6)}.portal-doc-group-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700);margin-bottom:var(--space-3)}.portal-doc-req-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);margin-bottom:var(--space-2);transition:all var(--transition-fast)}.portal-doc-req-card:hover{border-color:var(--color-primary)}.portal-doc-req-card.pending{border-left:3px solid var(--color-warning)}.portal-doc-req-card.uploaded{border-left:3px solid var(--color-success)}.portal-doc-req-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-doc-req-icon.pending{background:var(--color-warning-light);color:var(--color-warning)}.portal-doc-req-icon.uploaded{background:var(--color-success-light);color:var(--color-success)}.portal-doc-req-info{flex:1 1}.portal-doc-req-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-800);display:block}.portal-doc-req-meta{font-size:var(--font-size-xs);color:var(--color-gray-500);display:block;margin-top:2px}.portal-doc-toolbar{display:flex;gap:var(--space-3);margin-bottom:var(--space-4)}.portal-doc-search{flex:1 1;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);background:var(--color-white)}.portal-doc-search input{border:none;outline:none;height:38px;flex:1 1;font-family:var(--font-family);font-size:var(--font-size-sm)}.portal-doc-search svg{color:var(--color-gray-400);flex-shrink:0}.portal-doc-filter{display:flex;align-items:center;gap:var(--space-2)}.portal-doc-filter select{height:38px;padding:0 var(--space-3);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-size-sm);background:var(--color-white)}.portal-doc-file-list{display:flex;flex-direction:column;gap:var(--space-2)}.portal-doc-file-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-white);transition:all var(--transition-fast)}.portal-doc-file-row:hover{border-color:var(--color-primary);background:var(--color-primary-50)}.portal-doc-file-icon{width:40px;height:40px;background:#fef2f2;color:#dc2626;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-doc-file-info{flex:1 1;min-width:0}.portal-doc-file-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-800);display:block}.portal-doc-file-meta{font-size:var(--font-size-xs);color:var(--color-gray-400);display:block;margin-top:2px}.portal-doc-file-actions{display:flex;gap:var(--space-1)}.portal-upload-area{border:2px dashed var(--color-gray-300);border-radius:var(--radius-lg);padding:var(--space-8);text-align:center;transition:all var(--transition-fast)}.portal-upload-area:hover{border-color:var(--color-primary);background:var(--color-primary-50)}.portal-chats-page{display:flex;flex-direction:column}.portal-chat-container{display:flex;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-white);height:calc(100vh - 200px);min-height:500px}.portal-chat-sidebar{width:340px;min-width:300px;border-right:1px solid var(--color-gray-200);display:flex;flex-direction:column}.portal-chat-sidebar-header{padding:var(--space-4);border-bottom:1px solid var(--color-gray-200);display:flex;align-items:center;justify-content:space-between}.portal-chat-sidebar-header h3{margin:0;font-size:var(--font-size-base)}.portal-chat-thread-list{flex:1 1;overflow-y:auto}.portal-chat-thread-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;border-bottom:1px solid var(--color-gray-100);transition:background var(--transition-fast)}.portal-chat-thread-item:hover{background:var(--color-gray-100)}.portal-chat-thread-item.active{background:var(--color-primary-50);border-left:3px solid var(--color-primary)}.portal-chat-thread-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:11px;flex-shrink:0}.portal-chat-thread-info{flex:1 1;min-width:0}.portal-chat-thread-subject{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-800)}.portal-chat-thread-preview,.portal-chat-thread-subject{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.portal-chat-thread-preview{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:2px}.portal-chat-thread-meta{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1);flex-shrink:0}.portal-chat-thread-time{font-size:10px;color:var(--color-gray-400)}.portal-chat-thread-unread{background:var(--color-primary);color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.portal-chat-main{flex:1 1;display:flex;flex-direction:column}.portal-chat-main-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-gray-200);display:flex;align-items:center;gap:var(--space-3);background:var(--color-white)}.portal-chat-back-btn{display:none;border:none;background:none;color:var(--color-gray-500);cursor:pointer;padding:var(--space-1)}.portal-chat-tasks-bar{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-gray-200);background:var(--color-gray-25);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs)}.portal-chat-tasks-label{font-weight:600;color:var(--color-gray-600)}.portal-chat-tasks-list{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-left:var(--space-2)}.portal-chat-task-item{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--color-gray-700);cursor:default}.portal-chat-task-item.completed span{text-decoration:line-through;color:var(--color-gray-400)}.portal-chat-task-item input{width:14px;height:14px;accent-color:var(--color-primary)}.portal-chat-messages{flex:1 1;overflow-y:auto;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}.portal-chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1 1;color:var(--color-gray-400);text-align:center;padding:var(--space-8);gap:var(--space-2)}.portal-chat-bubble-wrap{display:flex;flex-direction:column}.portal-chat-bubble-wrap.own{align-items:flex-end}.portal-chat-bubble-wrap.other{align-items:flex-start}.portal-chat-bubble-sender{font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-500);margin-bottom:2px;padding:0 var(--space-2)}.portal-chat-bubble{max-width:65%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-sm);line-height:1.5}.portal-chat-bubble p{margin:0}.portal-chat-bubble.own{background:var(--color-primary);color:#fff;border-bottom-right-radius:4px}.portal-chat-bubble.other{background:var(--color-gray-100);color:var(--color-gray-800);border-bottom-left-radius:4px}.portal-chat-bubble-time{font-size:10px;opacity:.6;margin-top:var(--space-1);display:flex;align-items:center;gap:2px}.portal-chat-input-bar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-gray-200);background:var(--color-white)}.portal-chat-attach-btn,.portal-chat-send-btn{width:36px;height:36px;border:none;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.portal-chat-attach-btn{background:none;color:var(--color-gray-400)}.portal-chat-attach-btn:hover{color:var(--color-gray-600)}.portal-chat-send-btn{background:var(--color-primary);color:#fff}.portal-chat-send-btn:hover{background:var(--color-primary-hover)}.portal-chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.portal-chat-input-bar input{flex:1 1;height:38px;border:1px solid var(--color-gray-300);border-radius:var(--radius-full);padding:0 var(--space-4);font-size:var(--font-size-sm);font-family:var(--font-family);outline:none}.portal-chat-input-bar input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.portal-tasks-stats{display:flex;gap:var(--space-4);margin-bottom:var(--space-6)}.portal-tasks-stat{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);flex:1 1;transition:all var(--transition-fast)}.portal-tasks-stat:hover{box-shadow:var(--shadow-md)}.portal-tasks-stat-icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-tasks-stat-value{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-gray-900)}.portal-tasks-stat-label{font-size:var(--font-size-xs);color:var(--color-gray-500)}.portal-task-list-full{display:flex;flex-direction:column;gap:var(--space-2)}.portal-task-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);transition:all var(--transition-fast)}.portal-task-card:hover{border-color:var(--color-primary)}.portal-task-card.completed{opacity:.7}.portal-task-check{border:none;background:none;cursor:pointer;color:var(--color-gray-300);transition:color var(--transition-fast);padding:0}.portal-task-check:hover{color:var(--color-primary)}.portal-task-check.checked{color:var(--color-success)}.portal-task-card-info{flex:1 1}.portal-task-card-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-800);display:block}.portal-task-card-name.done{text-decoration:line-through;color:var(--color-gray-400)}.portal-task-card-meta{font-size:var(--font-size-xs);color:var(--color-gray-500);display:flex;align-items:center;gap:var(--space-1);margin-top:2px}.portal-billing-summary{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-4);gap:var(--space-4);margin-bottom:var(--space-6)}.portal-billing-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5);background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);transition:all var(--transition-base)}.portal-billing-card:hover{box-shadow:var(--shadow-md)}.portal-billing-card-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-billing-card-label{font-size:var(--font-size-xs);color:var(--color-gray-500)}.portal-billing-card-value{font-size:var(--font-size-2xl);font-weight:700}.portal-pay-banner{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);background:linear-gradient(135deg,#fef2f2,#fff7ed);border:1px solid #fecaca;border-radius:var(--radius-md);margin-bottom:var(--space-6);color:#991b1b}.portal-invoice-list{display:flex;flex-direction:column;gap:var(--space-3)}.portal-invoice-card{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);overflow:hidden;transition:all var(--transition-fast)}.portal-invoice-card:hover{border-color:var(--color-primary)}.portal-invoice-card.overdue{border-left:3px solid var(--color-danger)}.portal-invoice-card-main{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);cursor:pointer}.portal-invoice-card-left{flex:1 1}.portal-invoice-number{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-900)}.portal-invoice-desc{font-size:var(--font-size-sm);color:var(--color-gray-600);margin-top:2px}.portal-invoice-meta{font-size:var(--font-size-xs);color:var(--color-gray-400);margin-top:2px}.portal-invoice-card-right{display:flex;align-items:center;gap:var(--space-3)}.portal-invoice-amount{font-size:var(--font-size-lg);font-weight:700;color:var(--color-gray-900)}.portal-invoice-details{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-gray-100);background:var(--color-gray-25);animation:slideUp var(--transition-base)}.portal-invoice-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:var(--space-4);gap:var(--space-4);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.portal-invoice-detail-actions{display:flex;gap:var(--space-3)}.portal-profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));grid-gap:var(--space-6);gap:var(--space-6)}.portal-profile-card{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:var(--space-6)}.portal-profile-card h3{font-size:var(--font-size-base);font-weight:600;margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-2)}.portal-profile-main{display:flex;flex-direction:column;align-items:center;text-align:center}.portal-profile-avatar-large{width:72px;height:72px;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-size-3xl);margin-bottom:var(--space-3)}.portal-profile-detail-list{display:flex;flex-direction:column;gap:var(--space-3)}.portal-profile-detail{display:flex;gap:var(--space-3);align-items:flex-start}.portal-profile-detail svg{color:var(--color-gray-400);flex-shrink:0;margin-top:2px}.portal-profile-detail-label{font-size:var(--font-size-xs);color:var(--color-gray-500);display:block}.portal-profile-detail-value{font-size:var(--font-size-sm);color:var(--color-gray-800);font-weight:500;display:block}.portal-contacts-list{display:flex;flex-direction:column;gap:var(--space-3)}.portal-contact-item{display:flex;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-md)}.portal-contact-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-xs);flex-shrink:0}.portal-contact-info{flex:1 1}.portal-contact-name{font-size:var(--font-size-sm);font-weight:500;display:block}.portal-contact-meta{font-size:var(--font-size-xs);color:var(--color-gray-500);display:block;margin-top:2px}.portal-contact-perms{display:flex;gap:var(--space-2);margin-top:var(--space-1)}.portal-comp-detail-header{margin-bottom:var(--space-6)}.portal-back-link{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-gray-500);text-decoration:none;margin-bottom:var(--space-3);transition:color var(--transition-fast)}.portal-back-link:hover{color:var(--color-primary)}.portal-comp-detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.portal-comp-detail-title-row h1{font-size:var(--font-size-3xl);margin:0}.portal-comp-detail-subtitle{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-top:var(--space-1)}.portal-comp-detail-status{display:flex;align-items:center;gap:var(--space-2)}.portal-comp-status-badge{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600}.portal-timeline-card{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-6)}.portal-timeline-card h3{font-size:var(--font-size-base);margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-2)}.portal-timeline{display:flex;align-items:flex-start;gap:0;overflow-x:auto;padding:var(--space-2) 0}.portal-timeline-step{display:flex;flex-direction:column;align-items:center;position:relative;min-width:100px;flex:1 1}.portal-timeline-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:1}.portal-timeline-dot.completed{background:var(--color-success);color:#fff}.portal-timeline-dot.current{background:var(--color-primary);color:#fff;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 0 rgba(37,99,235,.4)}50%{box-shadow:0 0 0 8px rgba(37,99,235,0)}}.portal-timeline-dot.pending{background:var(--color-gray-200);color:var(--color-gray-400)}.portal-timeline-line{position:absolute;top:16px;left:calc(50% + 16px);right:calc(-50% + 16px);height:2px;background:var(--color-gray-200)}.portal-timeline-line.completed{background:var(--color-success)}.portal-timeline-label{text-align:center;margin-top:var(--space-2)}.portal-timeline-name{font-size:var(--font-size-xs);font-weight:500;color:var(--color-gray-600);display:block}.portal-timeline-name.current{color:var(--color-primary);font-weight:600}.portal-timeline-date{font-size:10px;color:var(--color-gray-400);display:block}.portal-comp-action-panel{background:var(--color-white);border:1px solid var(--color-gray-200);border-left:3px solid var(--color-warning);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-6)}.portal-comp-action-panel h3{font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--space-3);display:flex;align-items:center;gap:var(--space-2)}.portal-comp-action-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);margin-bottom:var(--space-2)}.portal-comp-action-item:hover{border-color:var(--color-primary);background:var(--color-primary-50)}.portal-comp-action-item span{flex:1 1;font-size:var(--font-size-sm)}.portal-comp-checklist{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-6)}.portal-comp-checklist h3{font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--space-3);display:flex;align-items:center;gap:var(--space-2)}.portal-comp-checklist-list{display:flex;flex-direction:column;gap:var(--space-2)}.portal-comp-checklist-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-md)}.portal-comp-checklist-item.done{opacity:.8}.portal-comp-checklist-item div{flex:1 1}.portal-comp-checklist-name{font-size:var(--font-size-sm);font-weight:500;display:block}.portal-comp-checklist-meta{font-size:var(--font-size-xs);color:var(--color-gray-500);display:block}.portal-comp-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-4);gap:var(--space-4)}.portal-comp-summary-item{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-4);background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md)}.portal-comp-summary-item svg{color:var(--color-gray-400);flex-shrink:0;margin-top:2px}@media (max-width:1024px){.portal-billing-summary,.portal-kpi-grid,.portal-quick-links{grid-template-columns:repeat(2,1fr)}.portal-comp-summary-grid{grid-template-columns:1fr}}@media (max-width:768px){.portal-nav-desktop{display:none}.portal-mobile-toggle{display:flex}.portal-nav-mobile{display:flex;flex-direction:column;padding:var(--space-2) var(--space-4) var(--space-4);border-top:1px solid var(--color-gray-200);gap:var(--space-1);background:var(--color-white)}.portal-kpi-grid{grid-template-columns:1fr 1fr}.portal-billing-summary{grid-template-columns:1fr}.portal-quick-links{grid-template-columns:1fr 1fr}.portal-profile-grid{grid-template-columns:1fr}.portal-comp-detail-title-row,.portal-page-header,.portal-tasks-stats{flex-direction:column}.portal-chat-main.hidden-mobile,.portal-chat-sidebar.hidden-mobile{display:none}.portal-chat-back-btn{display:flex}.portal-chat-sidebar{width:100%}.portal-doc-toolbar,.portal-footer-inner{flex-direction:column}.portal-footer-inner{gap:var(--space-2);text-align:center}.portal-user-info{display:none}}.search-results-dropdown{position:absolute;top:100%;left:0;width:100%;background:var(--color-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);margin-top:8px;box-shadow:var(--shadow-xl);z-index:100;display:flex;flex-direction:column;overflow:hidden;max-height:400px;overflow-y:auto}.search-result-item{padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:inherit;border-bottom:1px solid var(--color-gray-100);transition:background-color var(--transition-fast)}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background-color:var(--color-gray-50)}.toast-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:12px;z-index:9999}.toast{background:var(--color-surface);color:var(--color-gray-800);padding:16px 20px;border-radius:var(--radius-md);box-shadow:var(--shadow-xl);display:flex;align-items:center;gap:12px;animation:slideInBottom .3s ease-out forwards;border-left:4px solid var(--color-primary);font-weight:500}@keyframes slideInBottom{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.progress-bar-bg{width:100%;height:8px;background-color:var(--color-gray-200);border-radius:var(--radius-full);overflow:hidden;margin-top:var(--space-1)}.progress-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .3s ease-out}.internal-chat-bubble{background-color:#fff9c4!important;border:1px solid #fbc02d!important;color:#5d4037!important}.dashboard-bar-chart{display:flex;align-items:flex-end;height:200px;gap:var(--space-3);padding-top:var(--space-4)}.bar-column{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:var(--space-2)}.bar-fill{width:40px;background-color:var(--color-primary);border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:height .5s ease-out}.kanban-board{display:flex;gap:var(--space-3);overflow-x:auto;padding-bottom:var(--space-4);min-height:400px;width:100%;-webkit-overflow-scrolling:touch}.kanban-column{min-width:260px;max-width:290px;flex-shrink:0;background:var(--color-gray-50);border-radius:var(--radius-lg);border:1px solid var(--color-gray-200);display:flex;flex-direction:column;transition:background var(--transition-fast)}.kanban-column.drag-over{background:var(--color-primary-50);border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.kanban-column-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-gray-200);display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.kanban-column-header h4{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-gray-600)}.kanban-column-count{width:22px;height:22px;border-radius:var(--radius-full);background:var(--color-gray-200);color:var(--color-gray-700);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.kanban-column-body{flex:1 1;padding:var(--space-2) var(--space-2);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2);min-height:60px}.kanban-card{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-3);cursor:-webkit-grab;cursor:grab;transition:all var(--transition-fast);position:relative}.kanban-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-gray-300);transform:translateY(-1px)}.kanban-card.dragging{opacity:.5;transform:rotate(2deg);box-shadow:var(--shadow-lg)}.kanban-card-name{font-weight:600;font-size:var(--font-size-sm);color:var(--color-gray-900);margin-bottom:2px;line-height:1.3}.kanban-card-company{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-bottom:var(--space-2)}.kanban-card-meta{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-gray-100)}.kanban-card-value{font-size:12px;font-weight:600;color:var(--color-success)}.kanban-card-avatar{width:22px;height:22px;background:var(--color-primary-light);color:var(--color-primary);display:flex;justify-content:center}.kanban-card-avatar,.lead-score{border-radius:var(--radius-full);align-items:center;font-size:10px;font-weight:700}.lead-score{display:inline-flex;gap:3px;padding:1px 7px;line-height:1.6}.lead-score.hot{background:#fee2e2;color:#dc2626}.lead-score.warm{background:var(--color-warning-light);color:var(--color-warning)}.lead-score.cold{background:var(--color-primary-light);color:var(--color-primary)}.lead-profile-header{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--space-6);background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);margin-bottom:var(--space-6)}.lead-profile-info{display:flex;gap:var(--space-5);align-items:flex-start}.lead-profile-avatar{width:56px;height:56px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);font-weight:700;flex-shrink:0}.lead-profile-details h1{font-size:var(--font-size-2xl);margin-bottom:var(--space-1)}.lead-profile-meta{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2)}.lead-profile-meta-item{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--color-gray-500)}.lead-profile-meta-item svg{width:14px;height:14px}.lead-profile-actions{display:flex;gap:var(--space-2);align-items:flex-start}.activity-log{display:flex;flex-direction:column;gap:var(--space-3)}.activity-log-entry{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-white);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);transition:all var(--transition-fast)}.activity-log-entry:hover{border-color:var(--color-gray-200);box-shadow:var(--shadow-xs)}.activity-log-icon{width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px}.activity-log-icon.call{background:#dbeafe;color:#2563eb}.activity-log-icon.email{background:#d1fae5;color:#059669}.activity-log-icon.meeting{background:#fce7f3;color:#db2777}.activity-log-icon.whatsapp{background:#d1fae5;color:#16a34a}.activity-log-icon.note{background:var(--color-gray-100);color:var(--color-gray-600)}.activity-log-icon.stage_change,.activity-log-icon.status_change{background:var(--color-warning-light);color:var(--color-warning)}.activity-log-body{flex:1 1;min-width:0}.activity-log-body h5{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-900);margin-bottom:2px}.activity-log-body p{font-size:var(--font-size-xs);color:var(--color-gray-600);line-height:1.4}.view-toggle{display:inline-flex;background:var(--color-gray-100);border-radius:var(--radius-md);padding:2px;gap:2px}.view-toggle button{padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500;font-family:var(--font-family);border:none;background:transparent;color:var(--color-gray-500);cursor:pointer;display:flex;align-items:center;gap:var(--space-1);transition:all var(--transition-fast)}.view-toggle button.active{background:var(--color-white);color:var(--color-gray-800);box-shadow:var(--shadow-xs)}.view-toggle button:hover:not(.active){color:var(--color-gray-700)}.convert-modal-body{padding:var(--space-6)}.convert-success{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-8) var(--space-6)}.convert-success-icon{width:64px;height:64px;border-radius:var(--radius-full);background:var(--color-success-light);color:var(--color-success);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4)}.landing{font-family:var(--font-family);background:#fefeff;overflow-x:hidden}.landing-mesh-bg{position:absolute;top:0;left:0;right:0;height:100vh;z-index:0;overflow:hidden;background:radial-gradient(circle at 15% 50%,rgba(99,102,241,.08),transparent 25%),radial-gradient(circle at 85% 30%,rgba(139,92,246,.08),transparent 25%)}.landing-mesh-bg:after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%236366f1' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");z-index:-1}.landing-nav{position:fixed;top:0;left:0;right:0;z-index:100;background:hsla(0,0%,100%,.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.05);transition:all .3s ease}.landing-nav-inner{max-width:1300px;margin:0 auto;padding:0 32px;height:72px;display:flex;align-items:center;justify-content:space-between}.landing-brand{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:800;color:#0f172a;text-decoration:none;letter-spacing:-.02em}.landing-nav-links{display:flex;align-items:center;gap:32px}.landing-nav-links a.nav-item{color:#475569;font-size:15px;font-weight:600;text-decoration:none;transition:color .2s}.landing-nav-links a.nav-item:hover{color:#0f172a}.brand-logo-sm{width:34px;height:34px;background:linear-gradient(135deg,#4f46e5,#ec4899);border-radius:10px;color:#fff;font-weight:800;font-size:18px;box-shadow:0 4px 10px rgba(79,70,229,.3)}.brand-logo-sm,.landing-btn{display:inline-flex;align-items:center;justify-content:center}.landing-btn{gap:8px;font-size:15px;font-weight:600;border-radius:12px;transition:all .2s cubic-bezier(.4,0,.2,1);text-decoration:none;cursor:pointer;border:none}.landing-btn-primary{background:#0f172a;color:#fff;box-shadow:0 4px 14px rgba(15,23,42,.2)}.landing-btn-primary:hover{background:#1e293b;transform:translateY(-1px);box-shadow:0 6px 20px rgba(15,23,42,.25);color:#fff}.landing-btn-secondary{background:#fff;color:#0f172a;border:1px solid #e2e8f0;box-shadow:0 2px 4px rgba(0,0,0,.02)}.landing-btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px)}.landing-hero{position:relative;z-index:1;text-align:center;padding:180px 24px 100px;max-width:1000px;margin:0 auto;display:flex;flex-direction:column;align-items:center}.landing-hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(99,102,241,.08);color:#4f46e5;border:1px solid rgba(99,102,241,.2);font-size:13px;font-weight:600;padding:6px 16px;border-radius:30px;margin-bottom:32px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.landing-hero-title{font-size:72px;font-weight:800;line-height:1.05;letter-spacing:-.04em;margin-bottom:24px;color:#0f172a}.landing-hero-title span{background:linear-gradient(135deg,#4f46e5,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-hero-sub{font-size:20px;color:#475569;line-height:1.6;margin-bottom:48px;max-width:700px}.landing-hero-cta{display:flex;gap:16px}.mock-ui-container{position:relative;width:100%;max-width:1100px;margin:0 auto 120px;z-index:5;perspective:2000px}.mock-ui-frame{background:hsla(0,0%,100%,.9);border:1px solid hsla(0,0%,100%,.5);border-radius:20px;box-shadow:0 25px 60px -10px rgba(0,0,0,.1),0 0 0 1px rgba(0,0,0,.05);overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transform:rotateX(5deg) scale(.95);transition:transform .5s cubic-bezier(.2,.8,.2,1)}.mock-ui-container:hover .mock-ui-frame{transform:rotateX(0deg) scale(1)}.mock-ui-header{height:48px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;padding:0 16px;gap:8px}.mock-dots{display:flex;gap:6px}.mock-dot{width:10px;height:10px;border-radius:50%}.mock-dot.r{background:#fecdd3}.mock-dot.y{background:#fef08a}.mock-dot.g{background:#bbf7d0}.mock-ui-body{display:flex;height:500px}.mock-ui-side{width:220px;background:#f8fafc;border-right:1px solid #f1f5f9;padding:24px 16px}.mock-ui-main{flex:1 1;padding:32px;background:#fff}.mock-skeleton{background:#f1f5f9;border-radius:6px;margin-bottom:12px}.super-section{padding:120px 24px 60px}.super-section-dark{background:#0f172a;color:#fff;padding:140px 24px;position:relative;overflow:hidden}.super-section-dark:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent)}.super-title{font-size:48px;font-weight:800;letter-spacing:-.03em;margin-bottom:24px;line-height:1.1}.super-sub{font-size:18px;color:#64748b;max-width:600px;line-height:1.6;margin-bottom:64px}.super-dark-sub{color:#94a3b8}.bento-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px;max-width:1200px;margin:0 auto}.bento-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:40px;transition:all .3s;position:relative;overflow:hidden}.bento-card:hover{box-shadow:0 20px 40px -10px rgba(0,0,0,.05);transform:translateY(-4px);border-color:#cbd5e1}.bento-span-2{grid-column:span 2}.bento-card-dark{background:rgba(30,41,59,.8);border:1px solid hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;padding:40px;border-radius:24px;transition:transform .3s}.bento-card-dark:hover{transform:translateY(-4px);background:rgba(30,41,59,.95)}.feature-icon-box{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;font-size:24px}.bg-indigo-light{background:#e0e7ff;color:#4f46e5}.bg-rose-light{background:#ffe4e6;color:#e11d48}.bg-emerald-light{background:#d1fae5;color:#059669}.bg-amber-light{background:#fef3c7;color:#d97706}.bento-card h3{font-size:24px;font-weight:700;color:#0f172a;margin-bottom:12px}.bento-card p{font-size:16px;color:#475569;line-height:1.6}.bento-card-dark h3{font-size:24px;font-weight:700;color:#fff;margin-bottom:12px}.bento-card-dark p{font-size:16px;color:#cbd5e1;line-height:1.6}.penalty-banner{background:linear-gradient(135deg,#1e1b4b,#4c1d95);border-radius:24px;padding:60px;max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;color:#fff;box-shadow:0 25px 50px -12px rgba(76,29,149,.25);position:relative;overflow:hidden}.penalty-banner:before{content:"";position:absolute;right:-10%;top:-50%;width:50%;height:200%;background:radial-gradient(circle,rgba(236,72,153,.15) 0,transparent 70%)}.ultra-footer{background:#fff;border-top:1px solid #f1f5f9;padding:80px 24px 40px;margin-top:80px}.ultra-footer-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;grid-gap:40px;gap:40px}.footer-col h4{font-size:14px;font-weight:700;color:#0f172a;text-transform:uppercase;letter-spacing:.05em;margin-bottom:24px}.footer-link{display:block;color:#64748b;font-size:15px;text-decoration:none;margin-bottom:12px;font-weight:500}.footer-link:hover{color:#4f46e5}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f9fafb,#eef2ff);padding:24px}.auth-card{background:#fff;border-radius:16px;border:1px solid #e5e7eb;box-shadow:0 20px 40px rgba(0,0,0,.06);padding:40px;width:100%;max-width:420px}.auth-error{background:#fee2e2;color:#dc2626;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:16px;font-weight:500}.auth-tabs{display:flex;background:#f3f4f6;border-radius:10px;padding:4px;margin-bottom:24px}.auth-tab{flex:1 1;padding:10px 8px;text-align:center;border:none;background:none;font-size:13px;font-weight:600;color:#6b7280;cursor:pointer;border-radius:8px;transition:all .15s;font-family:var(--font-family)}.auth-tab.active{background:#fff;color:#111827;box-shadow:0 1px 3px rgba(0,0,0,.1)}.platform-layout{display:flex;min-height:100vh}.platform-sidebar{width:260px;background:#111827;color:#fff;display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;z-index:100}.platform-sidebar-header{padding:20px 24px;border-bottom:1px solid hsla(0,0%,100%,.1);display:flex;align-items:center;gap:12px}.platform-sidebar-header h2{font-size:16px;font-weight:700}.platform-sidebar-header span{font-size:10px;background:#6366f1;padding:2px 8px;border-radius:10px;font-weight:600}.platform-sidebar nav{flex:1 1;padding:16px 12px}.platform-nav-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:#9ca3af;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s;cursor:pointer;border:none;background:none;width:100%;text-align:left;font-family:var(--font-family)}.platform-nav-link:hover{background:hsla(0,0%,100%,.08);color:#fff}.platform-nav-link.active{background:rgba(99,102,241,.2);color:#a5b4fc}.platform-main{flex:1 1;margin-left:260px;padding:32px;background:#f9fafb}@media (max-width:768px){.landing-hero-title{font-size:36px}.landing-cards,.landing-grid-3,.landing-pricing{grid-template-columns:1fr}}.vault-hero{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:32px 36px;color:#fff;position:relative;overflow:hidden}.vault-hero:before{top:-50%;right:-20%;width:300px;height:300px;background:radial-gradient(circle,hsla(0,0%,100%,.1) 0,transparent 70%)}.vault-hero:after,.vault-hero:before{content:"";position:absolute;border-radius:50%}.vault-hero:after{bottom:-40%;left:-10%;width:200px;height:200px;background:radial-gradient(circle,hsla(0,0%,100%,.06) 0,transparent 70%)}.vault-hero h1{color:#fff;font-size:1.75rem;font-weight:700;margin:0 0 6px;position:relative;z-index:1}.vault-hero p{color:hsla(0,0%,100%,.8);font-size:.9rem;margin:0;position:relative;z-index:1}.vault-hero-stats{display:flex;gap:24px;margin-top:20px;position:relative;z-index:1}.vault-hero-stat{display:flex;flex-direction:column;padding:12px 16px;background:hsla(0,0%,100%,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;border:1px solid hsla(0,0%,100%,.2);min-width:100px}.vault-hero-stat-value{font-size:1.5rem;font-weight:800;line-height:1.2}.vault-hero-stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;opacity:.8;margin-top:2px}.vault-glass-card{background:hsla(0,0%,100%,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.3);border-radius:16px;padding:24px;box-shadow:0 4px 24px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.02);transition:all .25s ease}.vault-glass-card:hover{box-shadow:0 8px 32px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.04);transform:translateY(-2px)}.vault-kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:14px;gap:14px}.vault-kpi{background:#fff;border:1px solid var(--color-gray-200);border-radius:14px;padding:20px;transition:all .2s ease;cursor:pointer;position:relative;overflow:hidden}.vault-kpi:hover{box-shadow:0 4px 20px rgba(0,0,0,.06);transform:translateY(-2px)}.vault-kpi.active{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(99,102,241,.1)}.vault-kpi-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.vault-kpi-value{font-size:1.75rem;font-weight:800;line-height:1;margin-bottom:4px;color:var(--color-gray-900)}.vault-kpi-label{font-size:.75rem;font-weight:500;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.04em}.vault-timeline{display:flex;flex-direction:column;gap:0;position:relative;padding-left:24px}.vault-timeline:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,var(--color-primary) 0,var(--color-gray-200) 100%);border-radius:2px}.vault-timeline-item{display:flex;align-items:flex-start;gap:14px;padding:12px 0;position:relative}.vault-timeline-dot{position:absolute;left:-21px;top:16px;width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 2px var(--color-primary);background:var(--color-primary);z-index:1}.vault-timeline-dot.red{background:#ef4444;box-shadow:0 0 0 2px #ef4444}.vault-timeline-dot.yellow{background:#f59e0b;box-shadow:0 0 0 2px #f59e0b}.vault-timeline-dot.green{background:#10b981;box-shadow:0 0 0 2px #10b981}.vault-source-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.vault-source-badge.personal{background:#ede9fe;color:#7c3aed}.vault-source-badge.firm{background:#dbeafe;color:#2563eb}.vault-source-badge.entity{background:#d1fae5;color:#059669}.vault-source-badge.family{background:#fce7f3;color:#db2777}.vault-consultant-card{background:#fff;border:1px solid var(--color-gray-200);border-radius:16px;overflow:hidden;transition:all .25s ease;cursor:pointer}.vault-consultant-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.06);transform:translateY(-2px);border-color:var(--color-gray-300)}.vault-consultant-card.expanded{box-shadow:0 12px 40px rgba(0,0,0,.1);border-color:var(--color-primary)}.vault-consultant-header{padding:20px;display:flex;gap:16px;align-items:flex-start}.vault-consultant-avatar{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.1rem;flex-shrink:0}.vault-consultant-meta{flex:1 1;min-width:0}.vault-consultant-name{font-weight:700;font-size:1rem;margin-bottom:4px}.vault-consultant-detail{padding:16px 20px;background:var(--color-gray-50);border-top:1px solid var(--color-gray-100)}.vault-progress-bar{width:100%;height:6px;background:var(--color-gray-200);border-radius:3px;overflow:hidden}.vault-progress-fill{height:100%;border-radius:3px;transition:width .6s ease}.vault-section-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.vault-section-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.vault-section-title{font-size:1.1rem;font-weight:700;color:var(--color-gray-900)}.vault-section-subtitle{font-size:.8rem;color:var(--color-gray-500);margin-top:2px}.cal-source-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cal-source-dot.personal{background:#7c3aed}.cal-source-dot.firm{background:#2563eb}.cal-source-dot.entity{background:#059669}.cal-source-dot.family{background:#db2777}.vault-sidebar-section{padding:14px 12px 6px;margin-top:8px;border-top:1px solid var(--color-gray-200)}.vault-sidebar-section-label{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:6px}@keyframes vault-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.vault-animate-in{animation:vault-fade-in .3s ease forwards}