.portal-layout{background:var(--background);min-height:100vh;display:flex}.portal-main{padding:32px 40px;padding-top:var(--topbar-h);flex:1;min-height:100vh;margin-left:256px;overflow-x:hidden}.portal-topbar{top:0;left:var(--sidebar-w);height:var(--topbar-h);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:40;background:#faf9f6cc;justify-content:space-between;align-items:center;padding:0 32px;display:flex;position:fixed;right:0}.portal-sidebar{background:var(--surface-container-low);z-index:50;border-right:none;flex-direction:column;width:256px;display:flex;position:fixed;top:0;bottom:0;left:0}.portal-sidebar-header{border-bottom:1px solid var(--outline-variant);padding:24px 20px 20px}.portal-logo{align-items:center;gap:12px;display:flex}.portal-logo-icon{background:var(--primary);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;font-weight:700;display:flex}.portal-logo-icon.large{border-radius:12px;width:56px;height:56px;font-size:28px}.portal-logo-text{color:var(--on-surface);font-size:16px;font-weight:600}.portal-nav{flex-direction:column;flex:1;gap:2px;padding:12px 8px;display:flex}.portal-nav-item{color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.05em;border-radius:0;align-items:center;gap:12px;padding:10px 14px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:flex;position:relative}.portal-nav-item:hover{background:var(--surface-container);color:var(--on-surface)}.portal-nav-item.active{border-left:2px solid var(--primary);color:var(--primary);background:0 0;border-radius:0;padding-left:14px;font-weight:700}.portal-badge-dot{background:var(--primary);border-radius:50%;width:8px;height:8px;position:absolute;right:12px}.portal-sidebar-footer{border-top:1px solid var(--outline-variant);padding:16px}.portal-csm-card{background:var(--surface-container-low);border-radius:var(--radius);color:var(--on-surface-variant);align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;display:flex}.portal-csm-label{color:var(--outline);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.portal-csm-name{color:var(--on-surface);font-size:13px;font-weight:500}.portal-user-section{justify-content:space-between;align-items:center;display:flex}.portal-user-name{color:var(--on-surface-variant);font-size:13px;font-weight:500}.portal-logout-btn{color:var(--outline);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;transition:color .15s}.portal-logout-btn:hover{color:var(--red)}.portal-login-page{background:var(--background);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.portal-login-card{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);width:100%;max-width:420px;padding:40px}.portal-login-logo{text-align:center;margin-bottom:32px}.portal-login-logo h1{color:var(--on-surface);margin:16px 0 4px;font-size:24px;font-weight:700}.portal-login-subtitle{color:var(--outline);font-size:14px}.portal-login-form{flex-direction:column;gap:16px;display:flex}.portal-label{color:var(--on-surface-variant);font-size:13px;font-weight:500}.portal-input{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:var(--radius);width:100%;color:var(--on-surface);outline:none;padding:12px 16px;font-size:15px;transition:border-color .15s}.portal-input:focus{border-color:var(--primary)}.portal-input::placeholder{color:var(--outline-variant)}.portal-btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;width:100%;padding:12px 24px;font-size:15px;font-weight:600;transition:opacity .15s}.portal-btn-primary:hover{opacity:.9}.portal-btn-primary:disabled{opacity:.5;cursor:not-allowed}.portal-error{color:var(--red);margin:0;font-size:13px}.portal-login-success{text-align:center}.portal-login-success-icon{background:var(--green-soft);width:48px;height:48px;color:var(--green);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;font-size:24px;display:flex}.portal-login-success h2{color:var(--on-surface);margin-bottom:8px;font-size:20px}.portal-login-success p{color:var(--on-surface-variant);font-size:14px;line-height:1.5}.portal-page-header{margin-bottom:32px}.portal-page-title{letter-spacing:-.02em;color:var(--on-surface);margin:0 0 4px;font-size:32px;font-weight:800}.portal-page-subtitle{color:var(--outline);margin:0;font-size:14px}.portal-card{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);padding:24px}.portal-card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.portal-card-title{color:var(--on-surface);margin:0;font-size:16px;font-weight:600}.portal-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.portal-stat-card{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);padding:20px}.portal-stat-label{color:var(--outline);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12px;font-weight:500}.portal-stat-value{color:var(--on-surface);font-size:28px;font-weight:700}.portal-stat-change{margin-top:4px;font-size:12px}.portal-stat-change.positive{color:var(--green)}.portal-stat-change.negative{color:var(--red)}.portal-dashboard-grid{grid-template-columns:2fr 1fr;gap:24px;display:grid}.portal-timeline-item{border-bottom:1px solid var(--outline-variant);gap:16px;padding:12px 0;display:flex}.portal-timeline-item:last-child{border-bottom:none}.portal-timeline-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:5px}.portal-timeline-dot.done{background:var(--green)}.portal-timeline-dot.active{background:var(--primary);box-shadow:0 0 8px #432a2526}.portal-timeline-dot.pending{background:var(--surface-container-high)}.portal-timeline-title{color:var(--on-surface);font-size:14px;font-weight:500}.portal-timeline-date{color:var(--outline);margin-top:2px;font-size:12px}.portal-quick-links{grid-template-columns:1fr 1fr;gap:12px;display:grid}.portal-quick-link{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:var(--radius);color:var(--on-surface-variant);cursor:pointer;align-items:center;gap:10px;padding:14px 16px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.portal-quick-link:hover{background:var(--surface-container);color:var(--on-surface);border-color:var(--outline)}.portal-onboarding-banner{border-radius:var(--radius-lg);background:linear-gradient(135deg,#432a250f,#432a251a);border:1px solid #432a2533;justify-content:space-between;align-items:center;margin-bottom:24px;padding:20px 24px;display:flex}.portal-onboarding-banner-text{color:var(--primary);font-size:15px;font-weight:600}.portal-onboarding-banner-sub{color:var(--on-surface-variant);margin-top:4px;font-size:13px}.portal-onboarding-progress{align-items:center;gap:8px;display:flex}.portal-progress-step{background:var(--surface-container-high);border-radius:2px;width:32px;height:4px}.portal-progress-step.complete{background:var(--primary)}.portal-progress-step.current{background:var(--primary);opacity:.5}.portal-onboarding-steps{flex-direction:column;gap:8px;display:flex}.portal-step-card{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);color:var(--on-surface);align-items:center;gap:16px;padding:20px 24px;text-decoration:none;transition:all .15s;display:flex}.portal-step-card:hover{border-color:var(--outline);background:var(--surface-container)}.portal-step-card.complete{opacity:.6}.portal-step-number{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:flex}.portal-step-number.pending{background:var(--surface-container-high);color:var(--outline)}.portal-step-number.active{background:var(--primary);color:#fff}.portal-step-number.done{background:var(--green-soft);color:var(--green)}.portal-step-info{flex:1}.portal-step-title{margin-bottom:2px;font-size:15px;font-weight:600}.portal-step-desc{color:var(--outline);font-size:13px}.portal-form{flex-direction:column;gap:24px;display:flex}.portal-form-section{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);padding:24px}.portal-form-section-title{color:var(--on-surface);border-bottom:1px solid var(--outline-variant);margin-bottom:16px;padding-bottom:12px;font-size:16px;font-weight:600}.portal-form-group{margin-bottom:16px}.portal-form-group:last-child{margin-bottom:0}.portal-form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.portal-textarea{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:var(--radius);width:100%;color:var(--on-surface);resize:vertical;outline:none;min-height:80px;padding:12px 16px;font-family:inherit;font-size:14px;transition:border-color .15s}.portal-textarea:focus{border-color:var(--primary)}.portal-select{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:var(--radius);width:100%;color:var(--on-surface);cursor:pointer;outline:none;padding:12px 16px;font-size:14px}.portal-checkbox-group{align-items:center;gap:10px;padding:12px 0;display:flex}.portal-checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.portal-checkbox-group label{color:var(--on-surface);cursor:pointer;font-size:14px}.portal-upload-zone{border:2px dashed var(--outline-variant);border-radius:var(--radius-lg);text-align:center;cursor:pointer;color:var(--outline);padding:32px;transition:all .15s}.portal-upload-zone:hover{border-color:var(--primary);color:var(--primary);background:#432a250f}.portal-upload-zone.dragging{border-color:var(--primary);background:#432a250f}.portal-kanban{gap:16px;min-height:500px;padding-bottom:16px;display:flex;overflow-x:hidden}.portal-kanban-column{background:var(--surface-container-low);border-radius:var(--radius-lg);flex:1;min-width:0;padding:16px}.portal-kanban-header{border-bottom:1px solid var(--outline-variant);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;display:flex}.portal-kanban-title{color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600}.portal-kanban-count{color:var(--outline);background:var(--surface-container-low);border-radius:12px;padding:2px 8px;font-size:12px}.portal-lead-card{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius);cursor:grab;touch-action:none;margin-bottom:8px;padding:14px;transition:all .15s}.portal-lead-card:hover{border-color:var(--outline)}.portal-lead-card.dragging{opacity:.5;border-color:var(--primary)}.portal-lead-name{color:var(--on-surface);margin-bottom:4px;font-size:14px;font-weight:600}.portal-lead-meta{color:var(--outline);align-items:center;gap:8px;font-size:12px;display:flex}.portal-lead-actions{border-top:1px solid var(--outline-variant);gap:8px;margin-top:10px;padding-top:10px;display:flex}.portal-lead-action-btn{background:var(--surface-container-low);border:1px solid var(--outline-variant);color:var(--on-surface-variant);cursor:pointer;border-radius:6px;align-items:center;gap:4px;padding:6px 10px;font-size:12px;transition:all .15s;display:flex}.portal-lead-action-btn:hover{background:var(--surface-container);color:var(--on-surface)}.portal-lead-action-btn.call{color:var(--green);border-color:#34d39933}.portal-lead-action-btn.call:hover{background:var(--green-soft)}.portal-kpi-table{border-collapse:collapse;width:100%;font-size:13px}.portal-kpi-table th{text-align:left;color:var(--outline);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--outline-variant);white-space:nowrap;padding:10px 12px;font-size:11px;font-weight:600}.portal-kpi-table td{color:var(--on-surface);border-bottom:1px solid var(--outline-variant);white-space:nowrap;padding:10px 12px}.portal-kpi-table tr:hover td{background:var(--surface-container)}.portal-kpi-highlight{color:var(--primary);font-weight:600}.portal-approval-card{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);margin-bottom:16px;padding:24px}.portal-approval-content{color:var(--on-surface-variant);white-space:pre-wrap;background:var(--surface-container-low);border-radius:var(--radius);margin:16px 0;padding:16px;font-size:14px;line-height:1.6}.portal-approval-actions{gap:12px;display:flex}.portal-btn-approve{background:var(--green);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:10px 24px;font-size:14px;font-weight:600;transition:opacity .15s}.portal-btn-approve:hover{opacity:.9}.portal-btn-reject{color:var(--red);border:1px solid var(--red);border-radius:var(--radius);cursor:pointer;background:0 0;padding:10px 24px;font-size:14px;font-weight:600;transition:all .15s}.portal-btn-reject:hover{background:var(--red-soft)}.portal-chat-container{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);flex-direction:column;height:calc(100vh - 140px);display:flex;overflow:hidden}.portal-chat-messages{flex-direction:column;flex:1;gap:12px;padding:20px;display:flex;overflow-y:auto}.portal-chat-message{border-radius:var(--radius-lg);max-width:70%;padding:12px 16px;font-size:14px;line-height:1.5}.portal-chat-message.sent{background:var(--primary);color:var(--on-primary);align-self:flex-end}.portal-chat-message.received{background:var(--secondary-container);color:var(--on-surface);align-self:flex-start}.portal-chat-input-area{border-top:1px solid var(--outline-variant);gap:12px;padding:16px 20px;display:flex}.portal-chat-input{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:var(--radius);color:var(--on-surface);outline:none;flex:1;padding:12px 16px;font-size:14px}.portal-chat-input:focus{border-color:var(--primary)}.portal-chat-send-btn{background:var(--primary);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:12px 20px;font-weight:600}@media (max-width:768px){.portal-sidebar{display:none}.portal-main{margin-left:0;padding:20px 16px}.portal-topbar{left:0}.portal-dashboard-grid,.portal-form-row{grid-template-columns:1fr}.portal-stats-grid{grid-template-columns:1fr 1fr}}
