.change-password-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.change-password-modal{background:var(--white, #fff);border-radius:var(--radius-2xl, 16px);max-width:440px;width:100%;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;overflow:hidden}.change-password-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color, #e5e7eb)}.change-password-header h2{margin:0;font-family:var(--font-display, inherit);font-size:18px;font-weight:700;color:var(--text-primary, #111827)}.change-password-close{background:none;border:none;padding:6px;cursor:pointer;color:var(--text-muted, #9ca3af);font-size:18px;border-radius:var(--radius-md, 8px);transition:all .15s;display:flex;align-items:center;justify-content:center}.change-password-close:hover{background:var(--background-gray, #f3f4f6);color:var(--text-primary, #111827)}.change-password-body{padding:24px;display:flex;flex-direction:column;gap:16px}.change-password-field label{display:block;font-family:var(--font-sans, inherit);font-size:var(--text-sm, 13px);font-weight:600;color:var(--text-secondary, #6b7280);margin-bottom:6px}.change-password-field input{width:100%;padding:10px 12px;border:1px solid var(--border-color, #e5e7eb);border-radius:var(--radius-lg, 10px);font-size:var(--text-sm, 13px);color:var(--text-primary, #111827);background:var(--white, #fff);transition:border-color .15s;box-sizing:border-box}.change-password-field input:focus{outline:none;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 3px #3b82f614}.change-password-error{padding:10px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-lg, 10px);color:#dc2626;font-size:var(--text-sm, 13px);font-weight:500}.change-password-success{padding:10px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-lg, 10px);color:#16a34a;font-size:var(--text-sm, 13px);font-weight:500}.change-password-actions{display:flex;gap:10px;justify-content:flex-end;padding:16px 24px;border-top:1px solid var(--border-color, #e5e7eb)}.change-password-actions button{padding:9px 20px;border-radius:var(--radius-lg, 10px);font-size:var(--text-sm, 13px);font-weight:600;cursor:pointer;transition:all .15s;border:1px solid var(--border-color, #e5e7eb)}.change-password-cancel-btn{background:var(--white, #fff);color:var(--text-secondary, #6b7280)}.change-password-cancel-btn:hover{background:var(--background-gray, #f3f4f6)}.change-password-submit-btn{background:linear-gradient(135deg,var(--primary-color, #3b82f6),var(--secondary-color, #8b5cf6));color:var(--white, #fff);border:none!important}.change-password-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .15))}.change-password-submit-btn:disabled{opacity:.6;cursor:not-allowed}.sidebar-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;opacity:0;pointer-events:none;transition:opacity var(--transition-normal);z-index:var(--z-modal-backdrop)}.sidebar-overlay.open{opacity:1;pointer-events:auto}.sidebar{position:fixed;left:0;top:0;width:234px;height:100vh;background:var(--white);border-right:1px solid var(--border-color);display:flex;flex-direction:column;transform:translate(-100%);transition:transform var(--transition-normal);z-index:var(--z-modal);box-shadow:var(--shadow-lg)}.sidebar.open{transform:translate(0)}@media (min-width: 1024px) and (max-width: 1280px){.sidebar{width:216px}}.sidebar-header{padding:18px 16px;display:flex;flex-direction:column;gap:11px;background:var(--white);border-bottom:none;position:relative;overflow:hidden}.sidebar-header:after{content:"";position:absolute;bottom:0;left:16px;right:16px;height:2px;border-radius:1px;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color))}.sidebar-header-top{display:flex;justify-content:space-between;align-items:center}.sidebar-logo{display:flex;align-items:center;gap:11px}.logo-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--background-gray);border-radius:var(--radius-lg);border:1px solid var(--border-color);color:var(--primary-color)}.logo-text-container{display:flex;flex-direction:column;gap:2px}.logo-title{font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;line-height:1}.logo-text{font-family:var(--font-display);font-size:.9rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em;line-height:1.2}.sidebar-close{display:none;background:var(--background-gray);border:none;color:var(--text-secondary);font-size:16px;cursor:pointer;padding:var(--spacing-2);border-radius:var(--radius-md);transition:background var(--transition-fast);line-height:1}.sidebar-close:hover{background:var(--border-color)}.sidebar-nav{flex:1;overflow-y:auto;padding:4px 0}.nav-section{margin-bottom:2px}.nav-section-label{font-family:var(--font-sans);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding:10px 16px 4px}.nav-section-divider{height:1px;background:var(--background-gray);margin:4px 16px 2px}.nav-list{list-style:none;margin:0;padding:0}.nav-list>li{margin-bottom:1px}.nav-link{display:flex;align-items:center;gap:9px;padding:8px 10px;margin:0 8px;color:var(--text-secondary);text-decoration:none;transition:all var(--transition-fast);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;line-height:1.4;border-radius:var(--radius-lg);position:relative;cursor:pointer;border:none;background:none;width:calc(100% - 16px);text-align:left}.nav-link:hover{background:var(--bg-secondary);color:var(--text-primary)}.nav-link.active{background:var(--background-gray);color:var(--text-primary);font-weight:600}.nav-link.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 2px 2px 0;background:linear-gradient(180deg,var(--primary-color),var(--secondary-color))}.nav-icon{display:inline-flex;align-items:center;justify-content:center;min-width:18px;color:inherit}.nav-label{flex:1}.nav-message-count{font-size:10px;font-weight:700;color:#1d4ed8;background:#dbeafe;border:1px solid #bfdbfe;border-radius:999px;padding:1px 6px;line-height:1.2}.sidebar-footer{padding:14px 16px;border-top:1px solid var(--border-color);background:var(--bg-secondary);display:flex;flex-direction:column;gap:10px}.footer-user-info{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:all var(--transition-fast)}.footer-user-info:hover{background:var(--background-gray);border-color:var(--text-light)}.footer-user-edit-icon{flex-shrink:0;color:var(--text-muted);opacity:0;transition:opacity .15s}.footer-user-info:hover .footer-user-edit-icon{opacity:1}.footer-user-avatar{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--background-gray);border-radius:50%;font-size:var(--text-sm);object-fit:cover;border:1px solid var(--border-color);flex-shrink:0}.footer-user-email{font-size:.72rem;color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.footer-user-meta{display:flex;flex-direction:column;min-width:0;flex:1}.footer-user-tenant{font-size:10px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.footer-logout-btn{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:8px 12px;background:var(--error-color);color:var(--white);border:none;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.footer-logout-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.sidebar-nav::-webkit-scrollbar{width:5px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (max-width: 768px){.sidebar-close{display:flex!important;align-items:center;justify-content:center}}@media (min-width: 1024px){.sidebar{transform:translate(0);box-shadow:var(--shadow-sm)}.sidebar-overlay,.sidebar-close{display:none!important}}.subscription-banner{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-6);background:var(--warning-light);border-bottom:1px solid var(--warning-color);color:var(--warning-dark);font-size:var(--text-sm);line-height:1.4;position:relative;z-index:50}.subscription-banner-icon{flex-shrink:0;width:20px;height:20px;color:var(--warning-color)}.subscription-banner-text{flex:1;font-weight:500}.subscription-banner-text strong{font-weight:700}.subscription-banner-actions{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0}.subscription-banner-cta{padding:5px 14px;background:var(--warning-color);color:var(--white);border:none;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:700;cursor:pointer;white-space:nowrap;transition:background var(--transition-fast)}.subscription-banner-cta:hover{background:var(--warning-dark)}.subscription-banner-dismiss{background:none;border:none;color:var(--warning-dark);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;opacity:.6;transition:opacity var(--transition-fast)}.subscription-banner-dismiss:hover{opacity:1}@media (max-width: 600px){.subscription-banner{padding:var(--spacing-2) var(--spacing-4);flex-wrap:wrap;gap:var(--spacing-2)}.subscription-banner-text{font-size:12px}}.announcement-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:9999;display:flex;align-items:center;justify-content:center;padding:var(--spacing-4);animation:announcement-fade-in .2s ease-out}@keyframes announcement-fade-in{0%{opacity:0}to{opacity:1}}@keyframes announcement-slide-up{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.announcement-modal{background:var(--white);border-radius:var(--radius-lg);box-shadow:0 20px 60px #00000040;width:100%;max-width:480px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;animation:announcement-slide-up .25s ease-out}.announcement-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-5) var(--spacing-6);border-bottom:1px solid var(--border-color)}.announcement-header-left{display:flex;align-items:center;gap:var(--spacing-2)}.announcement-header-icon{width:22px;height:22px;color:var(--secondary-color)}.announcement-header h2{margin:0;font-size:var(--text-base);font-weight:700;color:var(--text-primary)}.announcement-badge{background:var(--info-light);color:var(--secondary-color);font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.5px}.announcement-close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;transition:color var(--transition-fast)}.announcement-close-btn:hover{color:var(--text-primary)}.announcement-body{flex:1;overflow-y:auto;padding:var(--spacing-6)}.announcement-item{margin-bottom:var(--spacing-6)}.announcement-item:last-child{margin-bottom:0}.announcement-item-title{font-size:var(--text-sm);font-weight:700;color:var(--text-primary);margin:0 0 var(--spacing-2) 0;display:flex;align-items:center;gap:var(--spacing-2)}.announcement-item-version{font-size:10px;font-weight:600;color:var(--text-secondary);background:var(--background-gray);padding:2px 6px;border-radius:var(--radius-sm)}.announcement-item-body{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6;margin:0;white-space:pre-wrap}.announcement-item-image{width:100%;border-radius:var(--radius-md);margin-top:var(--spacing-3);border:1px solid var(--border-color)}.announcement-item-cta{display:inline-flex;align-items:center;gap:6px;margin-top:var(--spacing-3);padding:6px 14px;background:var(--secondary-color);color:var(--white);border:none;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:700;cursor:pointer;transition:background var(--transition-fast);text-decoration:none}.announcement-item-cta:hover{background:var(--info-dark)}.announcement-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4) var(--spacing-6);border-top:1px solid var(--border-color);background:var(--background-gray)}.announcement-counter{font-size:var(--text-xs);color:var(--text-secondary)}.announcement-footer-actions{display:flex;gap:var(--spacing-2)}.announcement-nav-btn{padding:5px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--white);color:var(--text-primary);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.announcement-nav-btn:hover{border-color:var(--secondary-color);color:var(--secondary-color)}.announcement-nav-btn:disabled{opacity:.4;cursor:default}.announcement-dismiss-all-btn{padding:5px 14px;border:none;border-radius:var(--radius-md);background:var(--secondary-color);color:var(--white);font-size:var(--text-xs);font-weight:700;cursor:pointer;transition:background var(--transition-fast)}.announcement-dismiss-all-btn:hover{background:var(--info-dark)}@media (max-width: 600px){.announcement-modal{max-width:100%;max-height:90vh}.announcement-header,.announcement-body{padding:var(--spacing-4)}.announcement-footer{padding:var(--spacing-3) var(--spacing-4)}}.layout{display:flex;min-height:100vh;background:var(--background-gray)}.layout-content{flex:1;display:flex;flex-direction:column;margin-left:0;transition:margin-left var(--transition-normal);min-width:0;width:100%}@media (min-width: 1024px){.layout-content{margin-left:234px}}@media (min-width: 1024px) and (max-width: 1280px){.layout-content{margin-left:216px}}.top-nav{background:var(--white);border-bottom:1px solid var(--border-color);padding:0 var(--spacing-8);display:flex;justify-content:space-between;align-items:center;height:56px;box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:var(--z-sticky);gap:var(--spacing-4)}@media (min-width: 1024px){.top-nav{display:none}}.nav-left{display:flex;align-items:center;gap:var(--spacing-4);flex:1}.menu-toggle{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary);padding:var(--spacing-2);display:none;transition:color var(--transition-fast);border-radius:var(--radius-md)}.menu-toggle:hover{color:var(--primary-color);background:var(--primary-light)}@media (max-width: 1023px){.menu-toggle{display:flex;align-items:center;justify-content:center}}.nav-app-name{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--font-display);font-size:var(--text-base);font-weight:700;color:var(--text-primary);white-space:nowrap}.nav-right{display:flex;align-items:center;gap:8px}.nav-install-btn{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;font-size:11px;font-weight:700;border-radius:var(--radius-md);padding:4px 8px}.nav-install-btn:hover{border-color:var(--secondary-color);color:var(--secondary-color)}.nav-bell-btn{position:relative;width:28px;height:28px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--white);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center}.nav-bell-btn:hover{color:var(--text-primary);border-color:var(--secondary-color)}.nav-bell-count{position:absolute;top:-5px;right:-7px;min-width:16px;height:16px;border-radius:999px;background:#ef4444;color:#fff;font-size:9px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}.nav-user-name{font-size:var(--text-xs);color:var(--text-secondary);max-width:90px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-logout-btn{border:1px solid var(--border-color);background:var(--white);color:var(--text-secondary);font-size:var(--text-xs);font-weight:700;border-radius:var(--radius-md);padding:4px 8px}.main-content{flex:1;overflow-y:auto;max-width:100%}@media (max-width: 768px){.top-nav{padding:0 var(--spacing-4);height:50px}}.impersonation-banner{display:flex;align-items:center;justify-content:center;gap:14px;padding:8px 16px;background:linear-gradient(90deg,#f59e0b,#d97706);color:#fff;font-family:var(--font-sans);font-size:13px;font-weight:500;position:sticky;top:0;z-index:var(--z-sticky, 100);box-shadow:0 2px 8px #00000026;flex-wrap:wrap}.impersonation-banner-text{flex:1;text-align:center;min-width:200px}.impersonation-banner-text strong{font-weight:700}.impersonation-banner-btn{padding:4px 14px;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.impersonation-banner-btn:hover{background:#ffffff59;border-color:#fff9}@media (max-width: 768px){.impersonation-banner{font-size:11px;padding:6px 10px;gap:8px}}.dashboard-page{padding:25px;background:var(--background-gray);min-height:100vh}.dashboard-header{margin-bottom:27px}.dashboard-header h1{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em;line-height:1.2}.dashboard-header p{font-size:var(--text-sm);color:var(--text-secondary);margin:2px 0 0;font-weight:500;position:relative;display:inline-block;line-height:1.5}.dashboard-header p:after{content:"";position:absolute;bottom:-8px;left:0;width:40px;height:3px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--primary-color),var(--secondary-color))}.dashboard-section{margin-bottom:24px}.overview-row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.9fr);gap:14px;align-items:start}.overview-stats-grid{margin-bottom:0}.overview-stats-grid .stat-card{padding:16px 18px}.overview-stats-grid .stat-value{font-size:1.35rem}.overview-quicklinks-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:12px 14px;box-shadow:var(--shadow-sm)}.overview-quicklinks-head{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.overview-quicklinks-list{display:flex;flex-wrap:wrap;gap:7px}.overview-quicklink{border:1px solid #dbe3ec;background:#f8fafc;color:#1e293b;border-radius:var(--radius-full);padding:4px 9px;font-size:11px;font-weight:700;cursor:pointer}.overview-quicklink:hover{border-color:var(--secondary-color);color:var(--secondary-color);background:#eff6ff}.overview-quicklink:disabled{opacity:.55;cursor:not-allowed}.dashboard-section-head{margin-bottom:12px}.dashboard-section-head h2{margin:0;font-family:var(--font-display);font-size:var(--text-2xl);color:var(--text-primary)}.dashboard-section-head p{margin:4px 0 0;font-size:var(--text-sm);color:var(--text-secondary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin-bottom:18px}.stat-card{background:var(--white);border-radius:var(--radius-2xl);padding:22px 25px;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:all var(--transition-normal)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-label{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:6px}.stat-value{font-family:var(--font-display);font-size:1.6rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em}.stat-change{font-size:var(--text-xs);font-weight:600;margin-top:4px}.stat-change.positive{color:var(--success-color)}.stat-change.negative{color:var(--error-color)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(306px,1fr));gap:18px;align-items:start}.dashboard-card{background:var(--white);border-radius:var(--radius-2xl);padding:25px;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:all var(--transition-normal);height:fit-content}.dashboard-card:hover{box-shadow:var(--shadow-md);border-color:var(--secondary-color);transform:translateY(-2px)}.dashboard-card h2{font-family:var(--font-display);color:var(--text-primary);margin:0 0 18px;font-size:var(--text-xl);font-weight:700;display:flex;align-items:center;gap:9px;letter-spacing:-.01em}.dashboard-card h2:before{content:"";display:block;width:4px;height:18px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);border-radius:var(--radius-sm);flex-shrink:0}.dashboard-card.wide{grid-column:1 / -1}.dashboard-card-wide{width:100%}.dashboard-card-header-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.dashboard-card-header-row h2{margin-bottom:0}.dashboard-inline-link{border:1px solid #dbe3ec;background:#f8fafc;color:var(--secondary-color);border-radius:var(--radius-full);padding:3px 10px;font-size:11px;font-weight:700;cursor:pointer}.dashboard-inline-link:hover{border-color:var(--secondary-color);background:#eff6ff}.activity-list{list-style:none;padding:0;margin:0}.activity-item{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--background-gray)}.activity-item:last-child{border-bottom:none}.activity-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex-shrink:0}.activity-dot.blue{background:var(--secondary-color)}.activity-dot.green{background:var(--success-color)}.activity-dot.orange{background:var(--warning-color)}.activity-dot.red{background:var(--error-color)}.activity-content{flex:1}.activity-text{font-size:var(--text-sm);color:var(--text-primary);line-height:1.4}.activity-time{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.task-item{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--background-gray)}.task-item:last-child{border-bottom:none}.task-info{display:flex;align-items:center;gap:10px;min-width:0}.task-checkbox{width:16px;height:16px;border:2px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);-moz-appearance:none;appearance:none;-webkit-appearance:none}.task-checkbox:checked{background:var(--success-color);border-color:var(--success-color)}.task-name{font-size:var(--text-sm);color:var(--text-primary);font-weight:500}.task-item.detailed{gap:8px}.task-copy{display:flex;flex-direction:column;min-width:0}.task-meta-inline{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-due{font-size:var(--text-xs);color:var(--text-muted);font-weight:500}.dashboard-loading{text-align:center;font-size:var(--text-base);color:var(--text-secondary)}.dashboard-error{margin-bottom:16px;padding:10px 12px;background:var(--error-light);color:var(--error-dark);border:1px solid #fecaca;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:600}.dashboard-empty-copy{font-size:var(--text-sm);color:var(--text-secondary)}.pipeline-funnel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pipeline-funnel-column{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:#fcfdfd;padding:14px}.pipeline-funnel-column-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.pipeline-funnel-column-head h3{margin:0;font-size:15px;font-weight:700;color:var(--text-primary)}.pipeline-funnel-column-head p{margin:2px 0 0;font-size:12px;color:var(--text-secondary)}.pipeline-funnel-type-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 10px;border-radius:var(--radius-full);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.pipeline-funnel-type-badge.buyer{background:#dbeafe;color:#1e40af}.pipeline-funnel-type-badge.seller{background:#d1fae5;color:#065f46}.pipeline-funnel-pipeline-list{display:flex;flex-direction:column;gap:10px}.pipeline-funnel-pipeline-card{border:1px solid #e6edf5;border-radius:var(--radius-lg);background:var(--white);padding:10px}.pipeline-funnel-pipeline-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.pipeline-funnel-pipeline-head strong{font-size:var(--text-sm);color:var(--text-primary)}.pipeline-funnel-total{font-size:11px;font-weight:700;color:var(--text-secondary)}.pipeline-funnel-stage-list{display:flex;flex-direction:column;gap:4px}.pipeline-funnel-stage-row{display:grid;grid-template-columns:minmax(112px,1.2fr) minmax(0,2fr) 24px;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid #f0f4f8}.pipeline-funnel-stage-row:last-child{border-bottom:none}.pipeline-funnel-stage-left{display:flex;align-items:center;gap:8px;min-width:0}.pipeline-stage-dot{width:8px;height:8px;border-radius:50%}.pipeline-stage-name{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pipeline-funnel-stage-track{width:100%;height:14px;border-radius:var(--radius-full);background:#eef2f7;border:1px solid #e2e8f0;overflow:hidden;display:flex;align-items:stretch;justify-content:center}.pipeline-funnel-stage-fill{height:100%;border-radius:var(--radius-full);clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 50%,calc(100% - 7px) 100%,7px 100%,0 50%);transform-origin:center center;animation:dashboard-pipeline-fill-in .52s ease both}@keyframes dashboard-pipeline-fill-in{0%{transform:scaleX(0);opacity:.55}to{transform:scaleX(1);opacity:1}}.pipeline-funnel-stage-count{min-width:24px;text-align:right;font-size:var(--text-sm);font-weight:700;color:var(--text-primary)}.dashboard-message-item{width:100%;border:1px solid #e2e8f0;background:#f8fafc;border-radius:var(--radius-lg);padding:8px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:8px;text-align:left}.dashboard-message-item:last-child{margin-bottom:0}.dashboard-message-item:hover{border-color:var(--secondary-color);background:var(--white)}.dashboard-message-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;border:1px solid #d7dee8}.dashboard-message-avatar.fallback{display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;letter-spacing:.03em;color:#334155;background:linear-gradient(135deg,#dbeafe,#e2e8f0)}.dashboard-message-avatar.fallback.group{background:linear-gradient(135deg,#e9d5ff,#c7d2fe)}.dashboard-message-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.dashboard-message-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.dashboard-message-title-row strong{font-size:var(--text-sm);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-message-title-row time{font-size:10px;color:var(--text-muted);white-space:nowrap}.dashboard-message-copy>span{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-message-unread{min-width:20px;height:20px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#1d4ed8;background:#dbeafe}.lead-source-chart{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.lead-source-row{display:grid;grid-template-columns:minmax(110px,1.2fr) minmax(0,2.5fr) auto;align-items:center;gap:12px}.lead-source-label{display:flex;align-items:center;gap:8px;min-width:0}.lead-source-dot{width:10px;height:10px;min-width:10px;border-radius:50%}.lead-source-name{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lead-source-bar-track{height:22px;background:var(--bg-muted, #f1f5f9);border-radius:var(--radius-sm);overflow:hidden}.lead-source-bar-fill{height:100%;border-radius:var(--radius-sm);opacity:.75;transition:width .5s ease}.lead-source-stats{display:flex;flex-direction:column;align-items:flex-end;gap:1px;min-width:72px}.lead-source-total{font-size:15px;font-weight:700;color:var(--text-primary);line-height:1.1}.lead-source-breakdown{display:flex;gap:6px;font-size:10px;color:var(--text-muted);font-weight:500}.ls-active{color:#3b82f6}.ls-won{color:#10b981}.ls-lost{color:#ef4444}.lead-source-summary-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.lead-source-summary-card{background:var(--surface-white, #fff);border:1px solid #e2e8f0;border-top:3px solid;border-radius:var(--radius-md, 8px);padding:12px 14px;display:flex;flex-direction:column;gap:2px}.lead-source-summary-name{font-size:12px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.03em}.lead-source-summary-count{font-size:18px;font-weight:700;color:var(--text-primary);line-height:1.2}.lead-source-summary-value{font-size:12px;color:var(--text-secondary);font-weight:500}.lead-source-summary-winrate{font-size:11px;font-weight:600;color:#10b981;margin-top:2px}@media (max-width: 1200px){.overview-row{grid-template-columns:1fr}}@media (max-width: 768px){.dashboard-page{padding:18px}.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.pipeline-funnel-grid{grid-template-columns:1fr}.pipeline-funnel-stage-row{grid-template-columns:minmax(90px,1.1fr) minmax(0,1.8fr) 22px}.lead-source-row{grid-template-columns:minmax(80px,1fr) minmax(0,1.5fr) auto}.lead-source-summary-row{grid-template-columns:repeat(2,1fr)}}.contact-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal-backdrop, 900);background:#0f172a59;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:cpBackdropIn .22s ease}@keyframes cpBackdropIn{0%{opacity:0}to{opacity:1}}.contact-panel{position:fixed;top:0;right:0;bottom:0;width:min(600px,100vw);display:flex;flex-direction:column;background:#fff;box-shadow:-8px 0 40px #0f172a24,0 0 0 1px #0000000a;animation:cpSlideIn .28s cubic-bezier(.22,1,.36,1);overflow:hidden}@keyframes cpSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.contact-panel-banner{flex-shrink:0;height:68px;background:linear-gradient(135deg,#1e3a5f,#2563eb,#3b82f6);position:relative;display:flex;align-items:flex-start;justify-content:flex-end;padding:14px 16px}.contact-panel-close{background:#ffffff2e;border:none;border-radius:8px;color:#ffffffe6;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.contact-panel-close:hover{background:#ffffff52;color:#fff}.contact-panel-profile{flex-shrink:0;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 24px 20px;border-bottom:1px solid var(--border-color, #e2e8f0);background:#fff}.contact-panel-avatar-wrap{margin-top:-38px;position:relative;z-index:2}.contact-panel-avatar{width:76px;height:76px;border-radius:50%;border:3px solid #fff;box-shadow:0 2px 12px #0f172a1f;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#dbeafe,#e0f2fe)}.contact-panel-avatar img{width:100%;height:100%;object-fit:cover}.contact-panel-avatar-initials{font-family:var(--font-display, inherit);font-size:22px;font-weight:800;color:#1e40af;letter-spacing:.02em}.contact-panel-name{margin:12px 0 0;font-size:22px;font-weight:800;color:var(--text-primary, #0f172a);line-height:1.2;letter-spacing:-.01em}.contact-panel-subtitle{margin:4px 0 0;font-size:13px;color:var(--text-muted, #64748b);font-weight:500}.contact-panel-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:12px}.contact-panel-status{border-radius:999px;padding:3px 10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border:1px solid transparent}.contact-panel-status.active{color:#166534;background:#dcfce7;border-color:#bbf7d0}.contact-panel-status.inactive{color:#475569;background:#e2e8f0;border-color:#cbd5e1}.contact-panel-status.lead{color:#1d4ed8;background:#dbeafe;border-color:#bfdbfe}.contact-panel-type-badge,.contact-panel-role-badge{display:inline-flex;align-items:center;border-radius:999px;border:1px solid #dbe3ec;background:#f8fafc;color:var(--text-secondary, #475569);padding:3px 10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.contact-panel-role-badge{border-color:#c7d2fe;background:#eef2ff;color:#4338ca}.contact-panel-actions{display:flex;gap:8px;margin-top:16px}.contact-panel-action{display:inline-flex;flex-direction:column;align-items:center;gap:4px;padding:10px 18px 8px;border-radius:12px;border:1px solid #e2e8f0;background:var(--white, #fff);color:var(--text-secondary, #475569);font-size:11px;font-weight:700;cursor:pointer;text-decoration:none;transition:all .15s ease}.contact-panel-action:hover{background:#f1f5f9;border-color:#94a3b8;color:var(--text-primary, #0f172a)}.contact-panel-action svg{opacity:.7}.contact-panel-action:hover svg{opacity:1}.contact-panel-stats{display:flex;align-items:center;gap:0;margin-top:18px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;padding:8px 0;width:100%;max-width:380px}.contact-panel-stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 12px}.contact-panel-stat-value{font-family:var(--font-display, inherit);font-size:20px;font-weight:800;color:var(--text-primary, #0f172a);line-height:1}.contact-panel-stat-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted, #64748b)}.contact-panel-stat-divider{width:1px;height:28px;background:#e2e8f0;flex-shrink:0}.contact-tabs{display:flex;border-bottom:2px solid var(--background-gray, #f1f5f9);padding:0 24px;overflow-x:auto;flex-shrink:0}.contact-tab{padding:10px 16px;font-size:13px;font-weight:600;color:var(--text-muted, #64748b);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:all .15s ease}.contact-tab:hover{color:var(--text-primary, #0f172a)}.contact-tab.active{color:var(--primary-color, #2563eb);border-bottom-color:var(--primary-color, #2563eb)}.contact-tab-count{background:var(--background-gray, #f1f5f9);color:var(--text-muted, #64748b);font-size:11px;font-weight:700;padding:1px 7px;border-radius:10px;min-width:18px;text-align:center}.contact-tab.active .contact-tab-count{background:var(--primary-color, #2563eb);color:#fff}.contact-panel-body{flex:1;min-height:0;overflow-y:auto;padding:20px 24px;background:#fafbfc}.contact-panel-footer{flex-shrink:0;display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:14px 24px;border-top:1px solid var(--border-color, #e2e8f0);background:#fff}.contact-deal-setup-control{position:relative}.contact-deal-setup-menu{position:absolute;right:0;bottom:calc(100% + 8px);min-width:210px;display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:10px;border:1px solid var(--border-color, #e2e8f0);background:var(--white, #fff);box-shadow:var(--shadow-md, 0 4px 14px rgba(0,0,0,.1));z-index:var(--z-popover, 950)}.contact-deal-setup-menu .btn{width:100%;justify-content:flex-start}.contact-deal-setup-hint{margin:2px 2px 0;font-size:11px;color:var(--text-muted, #64748b)}.contact-details-layout{display:flex;flex-direction:column;gap:14px}.contact-detail-card{border:1px solid var(--border-color, #e2e8f0);border-radius:12px;background:#fff;padding:16px 18px;display:flex;flex-direction:column;gap:12px}.contact-detail-card h3{margin:0;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary, #475569)}.contact-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.contact-detail-row{display:flex;flex-direction:column;gap:4px;min-width:0}.contact-detail-row.full-width{grid-column:1 / -1}.contact-detail-label{font-size:11px;font-weight:700;color:var(--text-muted, #64748b);text-transform:uppercase;letter-spacing:.04em}.contact-detail-value{font-size:14px;color:var(--text-primary, #0f172a);font-weight:600;overflow-wrap:anywhere}.contact-detail-value a{color:var(--primary-color, #2563eb);text-decoration:none}.contact-detail-value a:hover{text-decoration:underline}.contact-detail-role-list{display:inline-flex;flex-wrap:wrap;gap:6px}.contact-detail-role-pill{border:1px solid #dbe3ec;border-radius:999px;background:#f8fafc;color:var(--text-secondary, #475569);font-size:11px;font-weight:600;padding:3px 8px}.contact-record-meta{display:flex;flex-direction:column;gap:8px}.contact-record-meta-item{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted, #64748b)}.contact-record-meta-item svg{opacity:.6}.contact-call-panel{margin-top:8px;padding-top:12px;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:10px}.contact-call-panel-header{display:flex;flex-direction:column;gap:4px}.contact-call-panel-header h4{margin:0;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #475569)}.contact-call-panel-header p{margin:0;font-size:12px;color:var(--text-muted, #64748b)}.contact-call-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.contact-call-deal-field{display:flex;flex-direction:column;gap:4px;min-width:180px;flex:1 1 200px}.contact-call-deal-field span{font-size:11px;font-weight:700;color:var(--text-muted, #64748b);text-transform:uppercase;letter-spacing:.04em}.contact-call-deal-field select{width:100%}.contact-call-error{padding:8px 10px;border-radius:8px;border:1px solid #fecaca;background:#fef2f2;color:#b91c1c;font-size:12px;font-weight:600}.contact-call-hint{font-size:12px;color:var(--text-secondary, #475569)}.contact-call-empty{padding:10px;border-radius:8px;border:1px dashed #cbd5e1;background:#f8fafc;color:var(--text-muted, #64748b);font-size:12px;text-align:center}.contact-call-list{display:flex;flex-direction:column;gap:6px}.contact-call-list-heading{font-size:11px;font-weight:700;color:var(--text-muted, #64748b);text-transform:uppercase;letter-spacing:.04em}.contact-call-row{display:grid;grid-template-columns:1.2fr auto auto;gap:8px;align-items:center;border:1px solid #dbe3ec;border-radius:8px;background:#fff;padding:6px 8px}.contact-call-row strong{font-size:12px;color:var(--text-primary, #0f172a)}.contact-call-row span{font-size:11px;color:var(--text-secondary, #475569);justify-self:end}.contact-panel-body .badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.contact-panel-body .badge-active{background:#d1fae5;color:#065f46}.contact-panel-body .badge-inactive{background:#f3f4f6;color:#6b7280}.contact-panel-body .badge-lead{background:#dbeafe;color:#1e40af}.contact-deals-tab{display:flex;flex-direction:column;gap:18px}.contact-deal-section h4{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary, #475569)}.contact-deals-loading,.contact-no-deals{text-align:center;padding:20px;border-radius:10px;background:#f1f5f9;color:var(--text-muted, #64748b);font-size:13px}.contact-related-deals-list{display:flex;flex-direction:column;gap:10px}.contact-related-deal-card{border:1px solid var(--border-color, #e2e8f0);border-radius:10px;background:#fff;padding:12px 14px}.contact-related-deal-card.is-clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.contact-related-deal-card.is-clickable:hover{border-color:var(--secondary-color, #94a3b8);box-shadow:0 2px 8px #0000000f;transform:translateY(-1px)}.contact-related-deal-card.is-clickable:focus-visible{outline:2px solid var(--secondary-color, #94a3b8);outline-offset:2px}.contact-deal-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.contact-deal-title-group{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.contact-deal-title-group h4{margin:0;font-size:14px;font-weight:700;color:var(--text-primary, #0f172a)}.contact-deal-status-pill{border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700;text-transform:uppercase;border:1px solid transparent}.contact-deal-status-pill.active{color:#166534;background:#dcfce7;border-color:#bbf7d0}.contact-deal-status-pill.won{color:#1d4ed8;background:#dbeafe;border-color:#bfdbfe}.contact-deal-status-pill.dormant{color:#92400e;background:#fffbeb;border-color:#fcd34d}.contact-deal-status-pill.lost{color:#b91c1c;background:#fee2e2;border-color:#fecaca}.contact-deal-value{font-family:var(--font-display, inherit);font-size:13px;font-weight:700;color:var(--primary-color, #2563eb);white-space:nowrap}.contact-deal-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:8px}.contact-deal-meta-pill{border:1px solid #dbe3ec;background:#f8fafc;color:var(--text-secondary, #475569);border-radius:999px;font-size:11px;font-weight:600;padding:3px 8px}.contact-deal-meta-pill.stage{color:var(--stage-pill-color, var(--text-secondary, #475569));background:var(--stage-pill-soft, #f8fafc);border-color:var(--stage-pill-border, #dbe3ec)}.contact-deal-vessels{display:flex;flex-wrap:wrap;gap:6px}.contact-deal-vessel-pill{border:1px solid #dbe3ec;background:#fff;color:var(--text-secondary, #475569);border-radius:999px;font-size:11px;font-weight:600;padding:3px 8px 3px 4px;display:inline-flex;align-items:center;gap:6px;max-width:220px}.contact-deal-vessel-avatar,.contact-deal-vessel-avatar-fallback{width:18px;height:18px;border-radius:50%;flex-shrink:0}.contact-deal-vessel-avatar{object-fit:cover;border:1px solid #d7dee8}.contact-deal-vessel-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;letter-spacing:.03em;color:#475569;background:linear-gradient(135deg,#dbeafe,#e2e8f0);border:1px solid #d7dee8}.contact-deal-vessel-name{min-width:0;max-width:178px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-buyer-vessel-zone{display:flex;flex-direction:column;gap:10px}.contact-deal-vessel-group{border:1px solid #dbe3ec;border-radius:10px;background:#f8fafc;padding:10px;display:flex;flex-direction:column;gap:8px}.contact-deal-vessel-group.suggested{background:#f9fafb}.contact-deal-vessel-group-header{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary, #475569)}.contact-deal-vessel-group-count{border-radius:999px;border:1px solid #dbe3ec;background:#fff;color:var(--text-primary, #0f172a);padding:2px 8px;font-size:10px;line-height:1.2}.contact-deal-vessel-empty{border:1px dashed #d7dee8;border-radius:8px;background:#fff;color:var(--text-muted, #64748b);font-size:12px;padding:10px}.contact-buyer-vessel-bento{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.contact-buyer-vessel-card{border:1px solid #dbe3ec;border-radius:10px;background:#fff;padding:9px;display:grid;grid-template-columns:68px minmax(0,1fr);gap:10px}.contact-buyer-vessel-card.suggested{border-color:#cdddf6;background:linear-gradient(180deg,#fff,#f8fbff)}.contact-buyer-vessel-image-shell{width:68px;height:50px;border-radius:8px;border:1px solid #d7dee8;background:#e2e8f0;overflow:hidden;flex-shrink:0}.contact-buyer-vessel-image{width:100%;height:100%;object-fit:cover}.contact-buyer-vessel-image-fallback{width:100%;height:100%;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;letter-spacing:.03em;color:#334155;background:linear-gradient(135deg,#dbeafe,#e2e8f0)}.contact-buyer-vessel-content{min-width:0;display:flex;flex-direction:column;gap:3px}.contact-buyer-vessel-content h5{margin:0;font-size:12px;font-weight:700;color:var(--text-primary, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-buyer-vessel-content p{margin:0;font-size:10px;font-weight:600;color:var(--text-secondary, #475569);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-buyer-vessel-tag-row{display:flex;flex-wrap:wrap;gap:4px}.contact-buyer-vessel-tag{border:1px solid #dbe3ec;border-radius:999px;background:#f8fafc;color:var(--text-secondary, #475569);padding:2px 7px;font-size:10px;font-weight:700}.contact-buyer-vessel-tag.match{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.contact-tasks-tab{display:flex;flex-direction:column;gap:14px}.contact-task-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.contact-task-summary-card{border:1px solid var(--border-color, #e2e8f0);border-radius:10px;background:#fff;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.contact-task-summary-label{font-size:10px;font-weight:700;color:var(--text-muted, #64748b);text-transform:uppercase;letter-spacing:.04em}.contact-task-summary-value{font-family:var(--font-display, inherit);font-size:18px;line-height:1;color:var(--text-primary, #0f172a);font-weight:700}.contact-task-summary-value.overdue{color:var(--error-color, #dc2626)}.contact-task-filters{display:flex;flex-wrap:wrap;gap:8px}.contact-task-filter{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;border:1px solid #dbe3ec;background:#fff;color:var(--text-secondary, #475569);font-size:12px;font-weight:700;cursor:pointer;transition:all .15s ease}.contact-task-filter span{min-width:18px;text-align:center;border-radius:999px;background:var(--background-gray, #f1f5f9);color:var(--text-muted, #64748b);padding:1px 6px;font-size:11px;line-height:1.3}.contact-task-filter.active{border-color:var(--primary-color, #2563eb);color:var(--primary-color, #2563eb);background:#eff6ff}.contact-task-filter.active span{background:var(--primary-color, #2563eb);color:#fff}.contact-task-error{padding:10px 12px;border-radius:10px;border:1px solid #fecaca;background:#fef2f2;color:#b91c1c;font-size:12px;font-weight:600}.contact-task-list{display:flex;flex-direction:column;gap:10px}.contact-task-card{border:1px solid var(--border-color, #e2e8f0);border-radius:10px;background:#fff;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.contact-task-card.is-completed{opacity:.82}.contact-task-card.is-overdue{border-color:#fecaca}.contact-task-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.contact-task-title-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.contact-task-title{margin:0;font-size:14px;color:var(--text-primary, #0f172a);font-weight:700}.contact-task-status-pill{border-radius:999px;border:1px solid transparent;padding:2px 8px;font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.contact-task-status-pill.pending{background:#fef9c3;border-color:#fde68a;color:#92400e}.contact-task-status-pill.in_progress{background:#dbeafe;border-color:#bfdbfe;color:#1d4ed8}.contact-task-status-pill.blocked{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.contact-task-status-pill.completed{background:#dcfce7;border-color:#bbf7d0;color:#166534}.contact-task-toggle{border:1px solid #dbe3ec;background:#fff;color:var(--text-secondary, #475569);border-radius:8px;padding:6px 10px;font-size:12px;font-weight:700;cursor:pointer}.contact-task-toggle:hover:not(:disabled){border-color:var(--secondary-color, #94a3b8);color:var(--primary-color, #2563eb)}.contact-task-toggle:disabled{opacity:.6;cursor:not-allowed}.contact-task-description{margin:0;color:var(--text-secondary, #475569);font-size:13px;line-height:1.5;white-space:pre-wrap}.contact-task-meta{display:flex;flex-wrap:wrap;gap:6px}.contact-task-meta-pill{border-radius:999px;border:1px solid #dbe3ec;background:#f8fafc;color:var(--text-secondary, #475569);padding:3px 8px;font-size:11px;font-weight:700}.contact-task-meta-pill.priority-high{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.contact-task-meta-pill.priority-medium{background:#fef3c7;border-color:#fde68a;color:#92400e}.contact-task-meta-pill.priority-low{background:#dcfce7;border-color:#bbf7d0;color:#166534}.contact-task-meta-pill.due.due-overdue{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.contact-task-actions{display:flex;justify-content:flex-end}.contact-task-open-deal{border:none;background:none;color:var(--primary-color, #2563eb);font-size:12px;font-weight:700;cursor:pointer;padding:0}.contact-task-open-deal:hover{text-decoration:underline}.contact-timeline{display:flex;flex-direction:column}.contact-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;color:var(--text-muted, #64748b);text-align:center}.contact-empty-state svg{opacity:.35}.contact-empty-state p{margin:0;font-size:14px}.contact-timeline-list{display:flex;flex-direction:column;gap:0;position:relative}.contact-timeline-event{display:flex;gap:14px;position:relative;padding:0 0 24px}.contact-timeline-event:last-child{padding-bottom:0}.contact-timeline-line{position:absolute;left:15px;top:32px;bottom:0;width:2px;background:var(--background-gray, #f1f5f9)}.contact-timeline-event:last-child .contact-timeline-line{display:none}.contact-timeline-icon{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:1}.contact-timeline-event-created .contact-timeline-icon{background:#d1fae5;color:#065f46}.contact-timeline-event-updated .contact-timeline-icon{background:#dbeafe;color:#1e40af}.contact-timeline-event-note_added .contact-timeline-icon{background:#fce7f3;color:#9f1239}.contact-timeline-content{flex:1;min-width:0;padding-top:4px}.contact-timeline-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.contact-timeline-description{font-size:14px;font-weight:600;color:var(--text-primary, #0f172a)}.contact-timeline-time{font-size:12px;color:var(--text-muted, #64748b);white-space:nowrap;flex-shrink:0}.contact-timeline-date{font-size:12px;color:var(--text-muted, #64748b);margin-top:2px}.contact-timeline-changes{margin-top:10px;background:#f1f5f9;border-radius:8px;padding:10px 14px;display:flex;flex-direction:column;gap:6px}.contact-timeline-change{display:flex;align-items:center;gap:6px;font-size:13px;flex-wrap:wrap}.change-field{font-weight:600;color:var(--text-secondary, #475569);text-transform:capitalize}.contact-timeline-change svg{flex-shrink:0;opacity:.4}.contact-notes-tab{display:flex;flex-direction:column;gap:24px}.contact-add-note-form{background:#f1f5f9;border-radius:10px;padding:18px}.contact-add-note-form h4{margin:0 0 12px;font-size:14px;font-weight:700;color:var(--text-primary, #0f172a)}.contact-note-form-fields{display:flex;flex-direction:column;gap:10px}.contact-note-author-input{padding:8px 12px;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;font-size:14px;background:#fff;color:var(--text-primary, #0f172a)}.contact-note-author-input:focus,.contact-note-content-input:focus{outline:none;border-color:var(--primary-color, #2563eb)}.contact-note-content-input{padding:10px 12px;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;font-size:14px;background:#fff;color:var(--text-primary, #0f172a);font-family:inherit;resize:vertical;min-height:60px}.contact-btn-add-note{align-self:flex-end;padding:8px 20px;font-size:13px}.contact-notes-list{display:flex;flex-direction:column;gap:12px}.contact-note-card{background:#fff;border:1px solid var(--border-color, #e2e8f0);border-radius:10px;padding:14px 16px}.contact-note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.contact-note-author{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--text-primary, #0f172a)}.contact-note-author svg{opacity:.5}.contact-note-time{font-size:12px;color:var(--text-muted, #64748b)}.contact-note-body{font-size:14px;color:var(--text-secondary, #475569);line-height:1.6;white-space:pre-wrap}.contact-note-timestamp{margin-top:8px;font-size:11px;color:var(--text-muted, #64748b)}@media (max-width: 900px){.contact-panel{width:min(520px,100vw)}.contact-detail-grid{grid-template-columns:1fr}.contact-task-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-buyer-vessel-bento,.contact-call-row{grid-template-columns:1fr}.contact-call-row span{justify-self:start}}@media (max-width: 640px){.contact-panel{width:100vw}.contact-panel-body{padding:16px}.contact-panel-profile{padding:0 16px 18px}.contact-tabs{padding:0 12px}.contact-tab{padding:10px 12px}.contact-panel-name{font-size:19px}.contact-panel-actions{flex-wrap:wrap;justify-content:center}.contact-panel-action{padding:8px 14px 6px}.contact-panel-stats{max-width:100%}.contact-task-summary-grid{grid-template-columns:1fr}.contact-task-header{flex-direction:column;align-items:flex-start}.contact-task-actions{justify-content:flex-start}.contact-deal-setup-menu{left:0;right:auto}.contact-call-deal-field select,.contact-call-deal-field,.contact-call-toolbar .btn{width:100%}.contact-panel-footer{flex-wrap:wrap;padding:12px 16px}}.contact-empty-interests{font-size:13px;color:var(--text-muted, #64748b);margin:4px 0 0;font-style:italic}.edit-contact-modal{max-width:700px;width:min(700px,calc(100% - 32px));max-height:90vh;display:flex;flex-direction:column}.edit-contact-modal form{display:flex;flex-direction:column;flex:1;min-height:0}.edit-contact-modal .modal-body{flex:1;min-height:0;overflow-y:auto}.edit-contact-modal .modal-footer{margin-top:0}.contact-image-upload-section{margin-bottom:18px}.contact-image-upload-section>label{display:block;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.contact-image-upload-area{display:flex;align-items:flex-start;gap:12px}.contact-image-upload-label{width:120px;height:120px;border-radius:50%;border:2px dashed #d1d5db;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#9ca3af;cursor:pointer;text-align:center;transition:all .2s}.contact-image-upload-label:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.contact-image-upload-label span{font-size:12px}.contact-image-preview{width:120px;height:120px;border-radius:50%;overflow:hidden;position:relative}.contact-image-preview img{width:100%;height:100%;object-fit:cover}.remove-contact-image-btn{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;border:none;background:#0000009e;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}@media (max-width: 640px){.edit-contact-modal{width:calc(100% - 16px);max-height:calc(100vh - 24px)}.edit-contact-modal .modal-body{padding:16px}.form-grid{grid-template-columns:1fr}}.full-width{grid-column:1 / -1}.form-group{display:flex;flex-direction:column;gap:8px}.required{color:#ef4444}.form-group input,.form-group select{padding:10px 14px;border:1.5px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;transition:all .2s;background:#fff}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.form-group input::placeholder{color:#9ca3af}.contact-role-checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.contact-role-checkbox{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-primary)}.contact-role-checkbox input{width:14px;height:14px;margin:0;padding:0;accent-color:var(--primary-color)}.contact-vessel-multiselect{min-height:120px}.contact-vessel-hint{color:var(--text-muted);font-size:12px}.error-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:14px;margin-bottom:20px}.error-banner svg{flex-shrink:0;color:#dc2626}.vessel-interests-section{margin-top:20px;padding-top:18px;border-top:1px solid #e5e7eb}.vessel-interests-heading{font-size:15px;font-weight:600;color:#1e293b;margin:0 0 4px}.vessel-interests-help{font-size:13px;color:#64748b;margin:0 0 14px}.tag-input-wrap{display:flex;flex-direction:column;gap:6px}.tag-list{display:flex;flex-wrap:wrap;gap:6px}.tag-pill{display:inline-flex;align-items:center;gap:4px;background:#eef2ff;color:#3730a3;font-size:12px;font-weight:500;padding:3px 8px 3px 10px;border-radius:999px;border:1px solid #c7d2fe}.tag-remove{background:none;border:none;cursor:pointer;font-size:14px;line-height:1;color:#6366f1;padding:0 2px}.tag-remove:hover{color:#ef4444}.contact-empty-interests{font-size:13px;color:#64748b;margin:4px 0 0}.contacts-page{padding:25px;background:var(--background-gray);min-height:calc(100vh - 64px)}.contacts-header{margin-bottom:22px}.contacts-header h1{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin:0}.contacts-header p{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-secondary);margin:2px 0 0;display:inline-block;position:relative;line-height:1.5}.contacts-header p:after{content:"";position:absolute;bottom:-8px;left:0;width:40px;height:3px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--primary-color),var(--secondary-color))}.contacts-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:10px;flex-wrap:wrap}.contacts-toolbar-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1}.contacts-search{position:relative;flex:1;min-width:220px;max-width:400px}.contacts-search input{width:100%;padding:7px 11px 7px 32px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-size:var(--text-base);font-family:var(--font-sans);background:var(--white);transition:all var(--transition-fast);color:var(--text-primary)}.contacts-search input:hover{border-color:var(--text-light)}.contacts-search input:focus{border-color:var(--secondary-color);box-shadow:0 0 0 3px #3b82f61a}.contacts-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.contacts-actions{display:flex;gap:8px}.contacts-filters{display:flex;gap:8px;align-items:center}.contacts-filters select{height:36px;padding:0 10px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-sans)}.contacts-bulk-toggle{display:flex;align-items:center;gap:8px}.contacts-bulk-toggle label{display:inline-flex;align-items:center;gap:7px;font-size:var(--text-xs);color:var(--text-secondary);font-weight:600}.contacts-bulk-toggle input[type=checkbox]{width:14px;height:14px;margin:0;accent-color:var(--secondary-color)}.contacts-sections{display:flex;flex-direction:column;gap:18px}.contacts-section{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);padding:16px}.contacts-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--background-gray)}.contacts-section-header h2{margin:0;font-family:var(--font-display);font-size:var(--text-xl);line-height:1;color:var(--text-primary)}.contacts-section-header span{color:var(--text-secondary);font-size:var(--text-xs);font-weight:600}.contacts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.contact-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:14px;transition:all var(--transition-normal);cursor:pointer}.contact-card:hover{box-shadow:var(--shadow-md);border-color:var(--secondary-color);transform:translateY(-2px)}.contact-card.selected{border-color:var(--primary-color);box-shadow:0 0 0 2px #6366f129}.contact-card:focus-visible{outline:2px solid var(--secondary-color);outline-offset:2px}.contact-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.contact-name{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.contact-name-cell{display:flex;align-items:center;gap:10px}.contact-select-control{display:inline-flex;align-items:center;justify-content:center}.contact-select-control input[type=checkbox]{width:15px;height:15px;margin:0;accent-color:var(--secondary-color);cursor:pointer}.contact-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.contact-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;background:var(--background-gray);color:var(--text-secondary);font-size:12px;font-weight:700;border:1px solid var(--border-color)}.contact-email{color:var(--text-secondary);font-size:var(--text-xs)}.contact-card-details{display:flex;flex-direction:column;gap:10px}.contact-detail{display:flex;flex-direction:column;gap:2px}.contact-detail-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.contact-detail-value{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.contact-meta-badges{display:flex;flex-wrap:wrap;gap:5px}.contact-chip{display:inline-flex;align-items:center;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700;letter-spacing:.02em}.contact-chip-type{background:#e0f2fe;color:#0c4a6e}.contact-chip-role{background:#eef2ff;color:#3730a3}.contact-company{color:var(--text-secondary)}.contact-card-footer{display:flex;justify-content:flex-end;margin-top:12px;padding-top:10px;border-top:1px solid var(--background-gray)}.contact-card-actions{display:flex;gap:6px}.loading-state,.empty-state{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);padding:44px 20px;text-align:center;color:var(--text-secondary)}.loading-state{display:flex;flex-direction:column;align-items:center;gap:12px}.loading-state .spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:var(--primary-color)}.empty-state svg{color:var(--text-muted);margin-bottom:8px}.empty-state h3{margin:0 0 4px;font-size:var(--text-lg);color:var(--text-primary)}.empty-state p{margin:0;font-size:var(--text-sm)}.contact-toast{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--success);color:#fff;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;margin-bottom:12px;animation:toastIn .3s ease}.contacts-import-error{margin-bottom:12px;padding:10px 12px;border-radius:var(--radius-md);border:1px solid #fecaca;background:var(--error-light);color:var(--error-dark);font-size:var(--text-sm);font-weight:600}.contact-import-mapping-modal{max-width:760px}.contact-import-mapping-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-import-progress{display:flex;flex-direction:column;gap:10px;padding:8px 2px 2px}.contact-import-progress p{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.contact-import-progress-bar{width:100%;height:12px;border-radius:999px;background:#e5e7eb;overflow:hidden}.contact-import-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));transition:width .2s ease}.contact-import-progress-meta{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-xs);color:var(--text-secondary);font-weight:600}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:overlayIn .2s ease}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.modal-container{width:100%;max-width:560px;background:#fff;border-radius:var(--radius-lg);box-shadow:0 20px 40px #0f172a2e,0 0 0 1px var(--border-color);overflow:hidden;animation:modalIn .25s ease}@keyframes modalIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 24px 14px;border-bottom:1px solid var(--border-color)}.modal-header h2{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin:0;line-height:1.3}.modal-header p{font-size:var(--text-xs);color:var(--text-muted);margin:2px 0 0}.modal-close{background:none;border:none;cursor:pointer;color:var(--text-light);padding:4px;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-body{padding:20px 24px}.modal-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.full-span{grid-column:1 / -1}.modal-body .form-group{display:flex;flex-direction:column}.modal-body label{font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);margin-bottom:5px}.modal-body label .required{color:var(--error)}.modal-body input,.modal-body select{height:36px;padding:0 11px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);font-family:var(--font-body)}.modal-body input::placeholder{color:var(--text-light)}.modal-body input:focus,.modal-body select:focus{outline:none;border-color:var(--secondary);box-shadow:0 0 0 3px #3b82f61f}.modal-body .has-error input,.modal-body .has-error select{border-color:var(--error)}.modal-body .has-error input:focus,.modal-body .has-error select:focus{box-shadow:0 0 0 3px #ef44441f}.contact-role-row{margin-bottom:10px}.contact-role-checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.contact-role-checkbox{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--text-primary);margin-bottom:0}.contact-role-checkbox input[type=checkbox]{width:14px;height:14px;margin:0;padding:0;accent-color:var(--secondary-color)}.modal-body select.contact-vessel-multiselect{height:auto;min-height:110px;padding:8px 11px}.contact-vessel-hint{display:block;margin-top:4px;color:var(--text-muted);font-size:11px}.field-error{font-size:.68rem;color:var(--error);margin-top:3px}.add-contact-image-upload-section{margin-bottom:14px}.add-contact-image-upload-section>label{display:block;font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);margin-bottom:6px}.add-contact-image-upload-area{display:flex;align-items:flex-start;gap:12px}.add-contact-image-upload-label{width:112px;height:112px;border-radius:50%;border:2px dashed #d1d5db;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#9ca3af;cursor:pointer;text-align:center;transition:all .2s}.add-contact-image-upload-label:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.add-contact-image-upload-label span{font-size:12px}.add-contact-image-preview{width:112px;height:112px;border-radius:50%;overflow:hidden;position:relative}.add-contact-image-preview img{width:100%;height:100%;object-fit:cover}.remove-add-contact-image-btn{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;border:none;background:#0000009e;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 20px;border-top:1px solid var(--border-color);margin-top:6px}@media (max-width: 768px){.contacts-page{padding:18px}.contacts-toolbar{flex-direction:column}.contacts-toolbar-left{width:100%}.contacts-search{max-width:none}.contacts-filters{width:100%}.contacts-filters select{flex:1;min-width:0}.contacts-bulk-toggle{width:100%;justify-content:space-between}.contacts-grid,.contact-import-mapping-grid{grid-template-columns:1fr}.modal-container{max-width:calc(100% - 32px)}.modal-form-row{grid-template-columns:1fr}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;max-width:900px;width:100%;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column}.add-vessel-modal{max-width:min(900px,calc(100vw - 40px))}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:24px;font-weight:600;color:#111827}.modal-close{background:none;border:none;padding:8px;cursor:pointer;color:#6b7280;transition:color .2s;display:flex;align-items:center;justify-content:center;border-radius:6px}.modal-close:hover{color:#111827;background:#f3f4f6}.modal-body{padding:24px;overflow-y:auto;flex:1}.add-vessel-modal .modal-body{overflow-x:hidden}.form-section{margin-bottom:32px}.form-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#374151;padding-bottom:8px;border-bottom:1px solid #e5e7eb}@media (max-width: 768px){.form-grid{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;min-width:0}.form-group label{font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#111827;background:#fff;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical;min-height:80px;font-family:inherit}.form-hint{font-size:12px;color:#6b7280}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px;border-radius:6px;margin-bottom:20px;font-size:14px}.modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:20px 24px;border-top:1px solid #e5e7eb;background:#f9fafb}.modal-footer .btn{min-width:100px}.btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.image-upload-area{margin-bottom:8px;display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}.image-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:148px;height:148px;padding:12px;border:2px dashed #d1d5db;border-radius:50%;cursor:pointer;color:#9ca3af;transition:all .2s;text-align:center;flex-shrink:0}.image-upload-label:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.image-upload-label span{font-size:12px;line-height:1.25;max-width:104px}.image-preview{position:relative;border-radius:50%;overflow:hidden;width:148px;height:148px;flex-shrink:0}.image-preview img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}.remove-image-btn{position:absolute;top:6px;right:6px;background:#0009;color:#fff;border:none;border-radius:50%;width:26px;height:26px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.remove-image-btn:hover{background:#dc2626cc}.searchable-select{position:relative}.searchable-select input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#111827;background:#fff;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.searchable-select input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.searchable-select input:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.dropdown-list{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #d1d5db;border-radius:6px;margin-top:4px;max-height:200px;overflow-y:auto;z-index:1100;box-shadow:0 4px 12px #00000026}.dropdown-item{padding:10px 12px;font-size:14px;color:#374151;cursor:pointer;transition:background .15s;display:flex;align-items:center;gap:8px}.dropdown-item:hover{background:#f3f4f6}.dropdown-item.selected{background:#eff6ff;color:#2563eb;font-weight:500}.dropdown-item.add-new{color:#2563eb;border-top:1px solid #e5e7eb;font-weight:500}.dropdown-item.add-new:hover{background:#eff6ff}.dropdown-item.loading{cursor:progress;color:#1d4ed8}.dropdown-item.loading:hover{background:#eff6ff}.dropdown-item.disabled{color:#9ca3af;cursor:default;font-style:italic}.dropdown-item.disabled:hover{background:transparent}.dropdown-inline-spinner{width:12px;height:12px;border:2px solid rgba(37,99,235,.25);border-top-color:#2563eb;border-radius:50%;animation:dropdown-spin .8s linear infinite}.create-status{margin-top:6px;display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#1d4ed8}.dimensions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media (max-width: 768px){.dimensions-grid{grid-template-columns:1fr}}.dimension-group{display:flex;flex-direction:column;min-width:0}.dimension-group>label{font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.dimension-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}@media (max-width: 560px){.dimension-inputs{grid-template-columns:1fr}}.dimension-field{flex:1;display:flex;align-items:center;border:1px solid #d1d5db;border-radius:6px;overflow:hidden;transition:border-color .2s,box-shadow .2s}.dimension-field:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.dimension-field input{flex:1;border:none;padding:10px 12px;font-size:14px;color:#111827;outline:none;min-width:0;background:transparent}.dimension-field input::placeholder{color:#9ca3af}.dimension-unit{padding:0 10px;font-size:13px;font-weight:500;color:#6b7280;background:#f3f4f6;border-left:1px solid #d1d5db;height:100%;display:flex;align-items:center;min-width:28px;justify-content:center}.vessel-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal-backdrop, 900);background:#0f172a59;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:vpBackdropIn .22s ease}@keyframes vpBackdropIn{0%{opacity:0}to{opacity:1}}.vessel-panel{position:fixed;top:0;right:0;bottom:0;width:min(620px,100vw);display:flex;flex-direction:column;background:#fff;box-shadow:-8px 0 40px #0f172a24,0 0 0 1px #0000000a;animation:vpSlideIn .28s cubic-bezier(.22,1,.36,1);overflow:hidden}@keyframes vpSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.vessel-panel-banner{flex-shrink:0;height:68px;background:linear-gradient(135deg,#0f4c5c,#0e7490,#06b6d4);position:relative;display:flex;align-items:flex-start;justify-content:flex-end;padding:14px 16px}.vessel-panel-banner-close{background:#ffffff2e;border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:8px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .15s ease}.vessel-panel-banner-close:hover{background:#ffffff52}.vessel-panel-profile{flex-shrink:0;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 24px 18px}.vessel-panel-avatar-wrap{width:76px;height:76px;border-radius:50%;overflow:hidden;border:3px solid #fff;box-shadow:0 2px 12px #0000001a;background:#f1f5f9;display:flex;align-items:center;justify-content:center;margin-top:-38px;position:relative;z-index:2}.vessel-panel-avatar-img{width:100%;height:100%;object-fit:cover}.vessel-panel-avatar-fallback{font-family:var(--font-display);font-size:22px;font-weight:700;color:#475569}.vessel-panel-name{margin:10px 0 0;font-size:22px;font-weight:800;color:var(--text-primary);line-height:1.2;overflow-wrap:break-word}.vessel-panel-badges{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px}.vessel-panel-status{border-radius:999px;padding:3px 10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent}.vessel-panel-status.active{color:#166534;background:#dcfce7;border-color:#bbf7d0}.vessel-panel-status.laid-up{color:#92400e;background:#fef3c7;border-color:#fde68a}.vessel-panel-status.in-transit{color:#1d4ed8;background:#dbeafe;border-color:#bfdbfe}.vessel-panel-status.drydock{color:#475569;background:#e2e8f0;border-color:#cbd5e1}.vessel-panel-type-badge,.vessel-panel-flag-badge{border-radius:999px;padding:3px 10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid #dbe3ec;background:#f8fafc;color:var(--text-secondary)}.vessel-panel-subtitle{margin:6px 0 0;font-size:13px;color:var(--text-secondary)}.vessel-panel-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px}.vessel-panel-chip{display:inline-flex;align-items:center;border-radius:999px;border:1px solid #d9e1eb;background:#f8fafc;color:var(--text-secondary);padding:3px 9px;font-size:11px;font-weight:600}.vessel-panel-actions{display:flex;gap:8px;margin-top:14px}.vessel-panel-action-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border-color);border-radius:var(--radius-md, 8px);background:#fff;color:var(--text-primary);font-size:12px;font-weight:600;padding:7px 14px;cursor:pointer;transition:all .15s ease}.vessel-panel-action-btn:hover{border-color:var(--primary-color);color:var(--primary-color);background:#eff6ff}.vessel-panel-action-btn svg{opacity:.7}.vessel-panel-stats{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap;justify-content:center}.vessel-panel-stat{display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid #dbe3ec;border-radius:10px;background:#f8fafc;padding:8px 16px;min-width:80px}.vessel-panel-stat-value{font-family:var(--font-display);font-size:18px;font-weight:800;line-height:1;color:var(--text-primary)}.vessel-panel-stat-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.vessel-tabs{display:flex;border-bottom:2px solid var(--background-gray, #f1f5f9);padding:0 24px;overflow-x:auto;flex-shrink:0}.vessel-tab{padding:10px 16px;font-size:13px;font-weight:600;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:all .15s ease}.vessel-tab:hover{color:var(--text-primary)}.vessel-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.tab-count{background:var(--background-gray, #f1f5f9);color:var(--text-muted);font-size:11px;font-weight:700;padding:1px 7px;border-radius:10px;min-width:18px;text-align:center}.vessel-tab.active .tab-count{background:var(--primary-color);color:#fff}.vessel-panel-body{flex:1;min-height:0;overflow-y:auto;padding:20px 24px;scrollbar-gutter:stable}.vessel-panel-footer{flex-shrink:0;display:flex;justify-content:flex-end;gap:10px;padding:14px 24px;border-top:1px solid var(--border-color);background:#fff}.vessel-details-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.vessel-detail-card{border:1px solid var(--border-color);border-radius:12px;background:var(--white);padding:14px 16px;display:flex;flex-direction:column;gap:12px}.vessel-detail-card.full-width{grid-column:1 / -1}.vessel-detail-card h3{margin:0;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.vessel-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.vessel-detail-row{display:flex;flex-direction:column;gap:4px;min-width:0}.vessel-detail-row.full-width{grid-column:1 / -1}.vessel-detail-label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.vessel-detail-value{font-size:14px;color:var(--text-primary);font-weight:600;overflow-wrap:break-word}.vessel-price-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.vessel-price-history-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px;border-radius:8px;background:#94a3b81f;font-size:13px;font-weight:500;color:var(--text-primary)}.vessel-detail-link{color:var(--secondary-color);text-decoration:underline;word-break:break-all}.vessel-detail-link:hover{color:var(--primary-color)}.vessel-panel .badge{display:inline-flex;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.vessel-panel .badge-active{background:#d1fae5;color:#065f46}.vessel-panel .badge-laid-up{background:#fef3c7;color:#92400e}.vessel-panel .badge-in-transit{background:#dbeafe;color:#1e40af}.vessel-panel .badge-drydock{background:#f3f4f6;color:#6b7280}.vessel-metadata-list{display:flex;flex-direction:column;gap:8px}.vessel-metadata-item{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted)}.vessel-metadata-item svg{opacity:.6}.vessel-deals-loading,.vessel-no-deals{text-align:center;padding:20px;border-radius:10px;background:var(--background-gray, #f1f5f9);color:var(--text-muted);font-size:13px}.vessel-related-deals-list{display:flex;flex-direction:column;gap:10px}.vessel-related-deal-card{border:1px solid var(--border-color);border-radius:10px;background:var(--white);padding:12px 14px}.vessel-related-deal-card.is-clickable{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.vessel-related-deal-card.is-clickable:hover{border-color:var(--secondary-color);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.vessel-related-deal-card.is-clickable:focus-visible{outline:2px solid var(--secondary-color);outline-offset:2px}.vessel-deal-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.vessel-deal-title-group{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex:1}.vessel-deal-title-group h4{margin:0;font-size:14px;font-weight:700;color:var(--text-primary)}.vessel-deal-status-pill,.vessel-deal-type-pill{border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700;text-transform:uppercase;border:1px solid transparent}.vessel-deal-status-pill.active{color:#166534;background:#dcfce7;border-color:#bbf7d0}.vessel-deal-status-pill.won{color:#1d4ed8;background:#dbeafe;border-color:#bfdbfe}.vessel-deal-status-pill.lost{color:#b91c1c;background:#fee2e2;border-color:#fecaca}.vessel-deal-type-pill.buyer{color:#1e40af;background:#dbeafe;border-color:#bfdbfe}.vessel-deal-type-pill.seller{color:#9f1239;background:#fce7f3;border-color:#fbcfe8}.vessel-deal-value{font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--primary-color);white-space:nowrap}.vessel-deal-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px}.vessel-deal-meta-pill{border:1px solid #dbe3ec;background:#f8fafc;color:var(--text-secondary);border-radius:999px;font-size:11px;font-weight:600;padding:3px 8px}.vessel-deal-meta-pill.stage{color:var(--stage-pill-color, var(--text-secondary));background:var(--stage-pill-soft, #f8fafc);border-color:var(--stage-pill-border, #dbe3ec)}.vessel-deal-probability{display:flex;align-items:center;gap:8px}.vessel-probability-bar{flex:1;height:6px;background:var(--background-gray, #f1f5f9);border-radius:3px;overflow:hidden}.vessel-probability-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));transition:width .15s ease}.vessel-probability-text{font-size:11px;font-weight:700;font-family:var(--font-mono);color:var(--text-secondary);min-width:32px;text-align:right}.vessel-buyer-deals-tab,.vessel-timeline{display:flex;flex-direction:column}.vessel-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;color:var(--text-muted);text-align:center}.vessel-empty-state svg{opacity:.35}.vessel-empty-state p{font-size:14px;margin:0}.vessel-timeline-list{display:flex;flex-direction:column;gap:0;position:relative}.vessel-timeline-event{display:flex;gap:14px;position:relative;padding:0 0 24px}.vessel-timeline-event:last-child{padding-bottom:0}.vessel-timeline-line{position:absolute;left:15px;top:32px;bottom:0;width:2px;background:var(--background-gray, #f1f5f9)}.vessel-timeline-event:last-child .vessel-timeline-line{display:none}.vessel-timeline-icon{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:1}.vessel-timeline-event-created .vessel-timeline-icon{background:#d1fae5;color:#065f46}.vessel-timeline-event-updated .vessel-timeline-icon{background:#dbeafe;color:#1e40af}.vessel-timeline-event-note_added .vessel-timeline-icon{background:#fce7f3;color:#9f1239}.vessel-timeline-content{flex:1;min-width:0;padding-top:4px}.vessel-timeline-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.vessel-timeline-description{font-size:14px;font-weight:600;color:var(--text-primary)}.vessel-timeline-time{font-size:12px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.vessel-timeline-date{font-size:12px;color:var(--text-muted);margin-top:2px}.vessel-timeline-changes{margin-top:10px;background:var(--background-gray, #f1f5f9);border-radius:8px;padding:10px 14px;display:flex;flex-direction:column;gap:6px}.vessel-timeline-change{display:flex;align-items:center;gap:6px;font-size:13px;flex-wrap:wrap}.change-field{font-weight:600;color:var(--text-secondary);text-transform:capitalize}.change-old{color:#dc2626;text-decoration:line-through;opacity:.75}.change-new{color:#16a34a;font-weight:600}.vessel-timeline-change svg{flex-shrink:0;opacity:.4}.vessel-notes-tab{display:flex;flex-direction:column;gap:24px}.vessel-add-note-form{background:var(--background-gray, #f1f5f9);border-radius:10px;padding:18px}.vessel-add-note-form h4{margin:0 0 12px;font-size:14px;font-weight:700;color:var(--text-primary)}.vessel-note-form-fields{display:flex;flex-direction:column;gap:10px}.vessel-note-author-input,.vessel-note-content-input{border:1px solid var(--border-color);border-radius:8px;font-size:14px;background:var(--white);color:var(--text-primary);transition:border-color .15s ease;font-family:inherit}.vessel-note-author-input{padding:8px 12px}.vessel-note-content-input{padding:10px 12px;resize:vertical;min-height:60px}.vessel-note-author-input:focus,.vessel-note-content-input:focus{outline:none;border-color:var(--primary-color)}.vessel-btn-add-note{align-self:flex-end;padding:8px 20px;font-size:13px}.vessel-notes-list{display:flex;flex-direction:column;gap:12px}.vessel-note-card{background:var(--white);border:1px solid var(--border-color);border-radius:10px;padding:14px 16px;transition:all .15s ease}.vessel-note-card:hover{border-color:var(--secondary-color);box-shadow:var(--shadow-sm)}.vessel-note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.vessel-note-author{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--text-primary)}.vessel-note-author svg{opacity:.5}.vessel-note-time{font-size:12px;color:var(--text-muted)}.vessel-note-body{font-size:14px;color:var(--text-secondary);line-height:1.6;white-space:pre-wrap}.vessel-note-timestamp{margin-top:8px;font-size:11px;color:var(--text-muted)}@media (max-width: 900px){.vessel-panel{width:min(520px,100vw)}.vessel-details-layout,.vessel-detail-grid{grid-template-columns:1fr}}@media (max-width: 640px){.vessel-panel{width:100vw}.vessel-panel-body{padding:16px}.vessel-panel-profile{padding:0 16px 14px}.vessel-tabs{padding:0 12px}.vessel-tab{padding:10px 12px}.vessel-panel-name{font-size:18px}.vessel-timeline-header,.vessel-note-header{flex-direction:column;align-items:flex-start;gap:4px}}.edit-vessel-modal{max-width:800px;max-height:90vh;overflow-y:auto}.form-section{margin-bottom:28px}.form-section:last-of-type{margin-bottom:0}.form-section h3{font-size:14px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid var(--background-gray)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media (max-width: 640px){.form-grid{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:6px;min-width:0}.form-group.full-width{grid-column:1 / -1}.form-group input,.form-group select,.form-group textarea{padding:10px 14px;border:1.5px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;transition:all .2s;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af}.form-group textarea{resize:vertical;min-height:80px}.form-hint{font-size:12px;color:var(--text-secondary)}.error-message{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:14px;margin-bottom:20px}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.edit-vessel-modal .image-upload-area{margin-bottom:8px;display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}.edit-vessel-modal .image-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:148px;height:148px;padding:12px;border:2px dashed #d1d5db;border-radius:50%;cursor:pointer;color:#9ca3af;transition:all .2s;text-align:center;flex-shrink:0}.edit-vessel-modal .image-upload-label:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.edit-vessel-modal .image-upload-label span{font-size:12px;line-height:1.25;max-width:104px}.edit-vessel-modal .image-preview{position:relative;border-radius:50%;overflow:hidden;width:148px;height:148px;flex-shrink:0}.edit-vessel-modal .image-preview img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}.edit-vessel-modal .remove-image-btn{position:absolute;top:6px;right:6px;background:#0009;color:#fff;border:none;border-radius:50%;width:26px;height:26px;cursor:pointer;display:flex;align-items:center;justify-content:center}.edit-vessel-modal .remove-image-btn:hover{background:#dc2626cc}.edit-vessel-modal .searchable-select{position:relative}.edit-vessel-modal .searchable-select input{width:100%;padding:10px 14px;border:1.5px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;transition:all .2s;background:#fff;box-sizing:border-box}.edit-vessel-modal .searchable-select input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.edit-vessel-modal .searchable-select input:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.edit-vessel-modal .dropdown-list{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #d1d5db;border-radius:8px;margin-top:4px;max-height:200px;overflow-y:auto;z-index:1100;box-shadow:0 4px 12px #00000026}.edit-vessel-modal .dropdown-item{padding:10px 14px;font-size:14px;color:#374151;cursor:pointer;transition:background .15s;display:flex;align-items:center;gap:8px}.edit-vessel-modal .dropdown-item:hover{background:#f3f4f6}.edit-vessel-modal .dropdown-item.selected{background:#eff6ff;color:#2563eb;font-weight:500}.edit-vessel-modal .dropdown-item.add-new{color:#2563eb;border-top:1px solid #e5e7eb;font-weight:500}.edit-vessel-modal .dropdown-item.add-new:hover{background:#eff6ff}.edit-vessel-modal .dropdown-item.loading{cursor:progress;color:#1d4ed8}.edit-vessel-modal .dropdown-item.loading:hover{background:#eff6ff}.edit-vessel-modal .dropdown-inline-spinner{width:12px;height:12px;border:2px solid rgba(37,99,235,.25);border-top-color:#2563eb;border-radius:50%;animation:dropdown-spin .8s linear infinite}.edit-vessel-modal .create-status{margin-top:6px;display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#1d4ed8}@keyframes dropdown-spin{to{transform:rotate(360deg)}}.edit-vessel-modal .dimensions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media (max-width: 640px){.edit-vessel-modal .dimensions-grid{grid-template-columns:1fr}}.edit-vessel-modal .dimension-group{display:flex;flex-direction:column;min-width:0}.edit-vessel-modal .dimension-group>label{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.edit-vessel-modal .dimension-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}@media (max-width: 560px){.edit-vessel-modal .dimension-inputs{grid-template-columns:1fr}}.edit-vessel-modal .dimension-field{flex:1;display:flex;align-items:center;border:1.5px solid #e5e7eb;border-radius:8px;overflow:hidden;transition:all .2s}.edit-vessel-modal .dimension-field:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.edit-vessel-modal .dimension-field input{flex:1;border:none;padding:10px 12px;font-size:14px;color:#111827;outline:none;min-width:0;background:transparent}.edit-vessel-modal .dimension-field input::placeholder{color:#9ca3af}.edit-vessel-modal .dimension-unit{padding:0 10px;font-size:13px;font-weight:500;color:#6b7280;background:#f3f4f6;border-left:1.5px solid #e5e7eb;height:100%;display:flex;align-items:center;min-width:28px;justify-content:center}.vessels-page{padding:25px;background:var(--background-gray);min-height:calc(100vh - 64px)}.vessels-header{margin-bottom:22px}.vessels-header h1{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin:0}.vessels-header p{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-secondary);margin:2px 0 0;display:inline-block;position:relative;line-height:1.5}.vessels-header p:after{content:"";position:absolute;bottom:-8px;left:0;width:40px;height:3px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--primary-color),var(--secondary-color))}.vessels-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:10px;flex-wrap:wrap}.vessels-search{position:relative;flex:1;min-width:220px;max-width:400px}.vessels-search input{width:100%;padding:7px 11px 7px 32px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-size:var(--text-base);font-family:var(--font-sans);background:var(--white);transition:all var(--transition-fast);color:var(--text-primary)}.vessels-search input:hover{border-color:var(--text-light)}.vessels-search input:focus{border-color:var(--secondary-color);box-shadow:0 0 0 3px #3b82f61a}.vessels-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.vessels-actions{display:flex;gap:8px}.vessels-filter-panel{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:14px 16px;margin-bottom:18px;box-shadow:var(--shadow-sm)}.vessels-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}.vessels-filter-group{display:flex;flex-direction:column;gap:5px}.vessels-filter-group label{font-size:var(--text-xs);font-family:var(--font-sans);font-weight:600;color:var(--text-secondary)}.vessels-filter-group input,.vessels-filter-group select{width:100%;height:36px;padding:7px 10px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-sans);background:var(--white);color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.vessels-filter-group input:focus,.vessels-filter-group select:focus{outline:none;border-color:var(--secondary-color);box-shadow:0 0 0 3px #3b82f61a}.vessels-filter-group select:disabled{background:var(--background-gray);color:var(--text-muted);cursor:not-allowed}.vessels-filter-footer{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.vessels-filter-results{font-size:var(--text-xs);color:var(--text-secondary)}.vessels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}.vessel-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:0;box-shadow:var(--shadow-sm);transition:all var(--transition-normal);overflow:hidden;cursor:pointer}.vessel-card:hover{box-shadow:var(--shadow-md);border-color:var(--secondary-color);transform:translateY(-2px)}.vessel-card:focus-visible{outline:2px solid var(--secondary-color);outline-offset:2px}.vessel-card-image{width:100%;height:160px;overflow:hidden}.vessel-card-image img{width:100%;height:100%;object-fit:cover}.vessel-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;padding:18px 22px 0}.vessel-name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.vessel-type{font-size:var(--text-xs);color:var(--text-secondary);margin-top:2px}.vessel-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 22px}.vessel-detail{display:flex;flex-direction:column;gap:2px}.vessel-detail-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.vessel-detail-value{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.vessel-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding:14px 22px 18px;border-top:1px solid var(--background-gray)}.vessel-owner{font-size:var(--text-xs);color:var(--text-secondary)}.vessel-card-actions{display:flex;gap:6px}@media (max-width: 768px){.vessels-page{padding:18px}.vessels-toolbar{flex-direction:column}.vessels-search{max-width:none}.vessels-filter-grid{grid-template-columns:1fr 1fr}.vessels-filter-footer{flex-direction:column;align-items:flex-start}.vessels-grid{grid-template-columns:1fr}}@media (max-width: 560px){.vessels-filter-grid{grid-template-columns:1fr}}.error-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:14px 16px;margin-bottom:18px;display:flex;align-items:center;gap:10px;color:#dc2626;font-size:14px}.error-banner svg{flex-shrink:0}.info-banner{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:14px 16px;margin-bottom:18px;display:flex;align-items:center;gap:10px;color:#1e40af;font-size:14px}.info-banner svg{flex-shrink:0}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary)}.spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{margin:0;font-size:14px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-secondary)}.empty-state svg{margin-bottom:16px;color:var(--text-muted)}.empty-state h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text-primary)}.empty-state p{margin:0 0 20px;font-size:14px;color:var(--text-secondary)}.success-toast{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--success);color:#fff;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;margin-bottom:12px;animation:toastIn .3s ease}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.btn-danger{background:#dc2626;color:#fff;border:none}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.btn-small.btn-danger{padding:6px 12px;font-size:12px}.delete-confirmation-modal{max-width:440px}.delete-warning{display:flex;justify-content:center;margin-bottom:16px}.delete-message{font-size:15px;color:var(--text-primary);margin:0 0 8px;text-align:center;line-height:1.5}.delete-submessage{font-size:13px;color:var(--text-muted);margin:0;text-align:center}.deals-page{padding:25px;background:var(--background-gray);min-height:calc(100vh - 64px)}.deals-loading{text-align:center;padding:60px 20px;font-size:var(--text-lg);color:var(--text-secondary)}.deals-error-banner{margin-bottom:12px;padding:10px 12px;border-radius:var(--radius-lg);border:1px solid #fecaca;background:var(--error-light);color:var(--error-dark);font-size:var(--text-sm);font-weight:600}.deals-success-banner{margin-bottom:12px;padding:10px 12px;border-radius:var(--radius-lg);border:1px solid #86efac;background:#dcfce7;color:#166534;font-size:var(--text-sm);font-weight:600}.stage-move-alert{position:fixed;top:80px;right:24px;z-index:var(--z-popover);width:min(460px,calc(100vw - 32px));border-radius:var(--radius-xl);border:1px solid #fca5a5;background:linear-gradient(135deg,#fff5f5,#ffe4e6);box-shadow:0 14px 36px #991b1b2e;padding:14px 14px 13px 12px;display:flex;align-items:flex-start;gap:10px;animation:stage-move-alert-enter .16s ease-out}.stage-move-alert-icon{width:30px;height:30px;border-radius:50%;background:#fee2e2;color:#b91c1c;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.stage-move-alert-body{flex:1;min-width:0}.stage-move-alert-title{margin:0;font-size:.81rem;font-weight:800;letter-spacing:.01em;color:#991b1b}.stage-move-alert-context{margin:4px 0 0;color:#7f1d1d;font-size:.74rem;line-height:1.4}.stage-move-alert-context strong{color:#7f1d1d}.stage-move-alert-list{margin:8px 0 0;padding-left:18px;color:#7f1d1d;font-size:.72rem;line-height:1.4;font-weight:600}.stage-move-alert-list li+li{margin-top:3px}.stage-move-alert-fallback{margin:8px 0 0;color:#7f1d1d;font-size:.72rem;line-height:1.4;font-weight:600}.stage-move-alert-close{border:1px solid rgba(153,27,27,.25);background:#fff;color:#7f1d1d;width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--transition-fast),transform var(--transition-fast)}.stage-move-alert-close:hover{background:#fee2e2}.stage-move-alert-close:focus-visible{outline:2px solid rgba(185,28,28,.4);outline-offset:2px}@keyframes stage-move-alert-enter{0%{opacity:0;transform:translate3d(0,-8px,0)}to{opacity:1;transform:translateZ(0)}}.stage-gate-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#00000073;display:flex;align-items:center;justify-content:center;animation:stage-gate-fade-in .12s ease-out}.stage-gate-modal{background:#fff;border-radius:var(--radius-xl, 12px);box-shadow:0 20px 60px #00000047;width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 64px);display:flex;flex-direction:column;animation:stage-gate-slide-up .16s ease-out}.stage-gate-header{display:flex;align-items:flex-start;gap:10px;padding:18px 18px 0}.stage-gate-header-icon{width:36px;height:36px;border-radius:50%;background:#fff3cd;color:#b45309;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.stage-gate-title{margin:0;font-size:.92rem;font-weight:800;color:#92400e}.stage-gate-subtitle{margin:3px 0 0;font-size:.76rem;color:#78716c;line-height:1.4}.stage-gate-subtitle strong{color:#44403c}.stage-gate-close{margin-left:auto;border:1px solid #e7e5e4;background:#fff;color:#78716c;width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:background .12s,color .12s}.stage-gate-close:hover{background:#f5f5f4;color:#44403c}.stage-gate-body{padding:14px 18px;overflow-y:auto;flex:1;min-height:0}.stage-gate-instructions{margin:0 0 12px;font-size:.76rem;color:#78716c;line-height:1.5}.stage-gate-instructions strong{color:#44403c}.stage-gate-req-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.stage-gate-req-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--radius-lg, 8px);background:#fffbeb;border:1px solid #fde68a}.stage-gate-req-type{flex-shrink:0;width:24px;text-align:center;font-size:.85rem;line-height:1.5}.stage-gate-req-content{flex:1;min-width:0}.stage-gate-req-desc{font-size:.78rem;font-weight:600;color:#92400e;line-height:1.5}.stage-gate-task-list{margin-top:6px;display:flex;flex-direction:column;gap:4px}.stage-gate-task-row{display:flex;align-items:center;gap:6px;font-size:.74rem;color:#44403c;cursor:pointer}.stage-gate-task-row.completed{text-decoration:line-through;opacity:.6}.stage-gate-task-row input[type=checkbox]{accent-color:#16a34a;width:14px;height:14px}.stage-gate-spinner{display:inline-block;width:12px;height:12px;border:2px solid #d6d3d1;border-top-color:#92400e;border-radius:50%;animation:stage-gate-spin .6s linear infinite}.stage-gate-doc-upload{margin-top:6px}.stage-gate-upload-btn{font-size:.72rem;font-weight:600;padding:4px 10px;border-radius:6px;border:1px solid #d6d3d1;background:#fff;color:#44403c;cursor:pointer;transition:background .12s}.stage-gate-upload-btn:hover:not(:disabled){background:#f5f5f4}.stage-gate-upload-btn:disabled{opacity:.6;cursor:not-allowed}.stage-gate-file-input{display:none}.stage-gate-fallback{margin:0;font-size:.76rem;color:#78716c}.stage-gate-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid #e7e5e4}.stage-gate-btn{font-size:.76rem;font-weight:700;padding:7px 14px;border-radius:8px;border:none;cursor:pointer;transition:background .12s,opacity .12s}.stage-gate-btn--primary{background:#2563eb;color:#fff}.stage-gate-btn--primary:hover:not(:disabled){background:#1d4ed8}.stage-gate-btn--primary:disabled{opacity:.6;cursor:not-allowed}.stage-gate-btn--secondary{background:#f5f5f4;color:#44403c;border:1px solid #d6d3d1}.stage-gate-btn--secondary:hover{background:#e7e5e4}@keyframes stage-gate-fade-in{0%{opacity:0}to{opacity:1}}@keyframes stage-gate-slide-up{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes stage-gate-spin{to{transform:rotate(360deg)}}.deals-error-banner.dormant{margin:0}.empty-state{text-align:center;padding:60px 20px;background:var(--white);border-radius:var(--radius-2xl);border:1px solid var(--border-color)}.empty-state p{font-size:var(--text-base);color:var(--text-secondary);margin:0}.deals-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px;gap:20px;flex-wrap:wrap}.deals-header>div:first-child h1{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin:0}.deals-header>div:first-child p{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-secondary);margin:4px 0 0}.deals-header-actions{display:flex;gap:12px;align-items:center}.pipeline-selector{padding:8px 14px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);color:var(--text-primary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);min-width:180px}.pipeline-selector:hover{border-color:var(--secondary-color)}.pipeline-selector:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.deals-header-search{display:flex;align-items:center;gap:7px;border:1px solid #dbe3ec;border-radius:var(--radius-lg);background:#fff;padding:6px 9px;color:var(--text-muted);min-width:220px;flex:1 1 280px}.deals-header-search:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 2px #6366f11f}.deals-header-search input{flex:1;min-width:0;border:none;background:transparent;color:var(--text-primary);font-size:13px}.deals-header-search input:focus{outline:none}.deals-filter-toggle{white-space:nowrap}.deals-filter-toggle.active{border-color:var(--primary-color);color:var(--primary-color);background:#eef2ff}.deals-filter-panel{margin-bottom:10px;border:1px solid #dce3ea;border-radius:var(--radius-lg);background:var(--white);padding:8px 10px;display:flex;flex-direction:column;gap:7px}.deals-filter-controls{display:flex;flex-wrap:wrap;gap:6px}.deals-filter-select{min-width:138px;max-width:100%;border:1px solid #dbe3ec;border-radius:var(--radius-md);background:var(--white);color:var(--text-primary);padding:6px 8px;font-size:12px;font-weight:500;min-height:32px}.deals-filter-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #6366f11f}.deals-filter-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px;font-size:11px;color:var(--text-secondary);font-weight:600}.deals-clear-filters{padding:6px 9px;font-size:12px;min-height:32px}.deals-filter-inline-hint{border-radius:999px;border:1px solid #fde68a;background:#fffbeb;color:#92400e;padding:2px 8px;font-size:10px;font-weight:600}.kanban-board{display:flex;gap:14px;overflow-x:auto;padding:10px 10px 18px;border-radius:var(--radius-2xl);border:1px solid #dce3ea;background:#eef2f6;min-height:500px}.deals-search-empty-state{width:100%;border:1px dashed #cbd5e1;border-radius:var(--radius-xl);background:#f8fafc;color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;text-align:center;padding:26px 18px}.dormant-buyer-section{margin-top:14px;border:1px solid #dce3ea;border-radius:var(--radius-2xl);background:#fffdf8;padding:14px;display:flex;flex-direction:column;gap:10px}.dormant-buyer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.dormant-buyer-header h3{margin:0;font-size:16px;font-weight:700;color:var(--text-primary)}.dormant-buyer-header p{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}.dormant-buyer-count{align-self:center;min-width:28px;text-align:center;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700;color:#92400e;border:1px solid #fcd34d;background:#fffbeb}.dormant-buyer-empty{border:1px dashed #f6d58b;border-radius:var(--radius-lg);background:#fffbeb;color:#92400e;font-size:13px;font-weight:600;padding:14px}.dormant-buyer-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.dormant-buyer-card{border:1px solid #f6deb1;border-radius:var(--radius-xl);background:#fff;padding:11px 12px;display:flex;flex-direction:column;gap:7px}.dormant-buyer-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.dormant-buyer-card-head h4{margin:0;font-size:14px;font-weight:700;color:var(--text-primary)}.dormant-buyer-stage{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;border:1px solid #fcd34d;background:#fffbeb;color:#92400e;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.dormant-buyer-meta{margin:0;color:var(--text-secondary);font-size:12px}.dormant-buyer-vessels{margin:0;color:var(--text-primary);font-size:12px;line-height:1.4}.dormant-buyer-actions{display:flex;justify-content:flex-end;gap:7px}.kanban-column{flex:0 0 300px;background:var(--white);border-radius:var(--radius-2xl);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:0;max-height:calc(100vh - 220px);transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.kanban-column:before{content:"";position:absolute;top:8px;left:16px;right:16px;height:4px;border-radius:var(--radius-full);background:var(--stage-color, var(--secondary-color))}.kanban-column.collapsed:before{top:7px;left:10px;right:10px}.kanban-column.drag-preview{background:var(--stage-color-column, rgba(59, 130, 246, .06));border-color:var(--stage-color-border, var(--secondary-color));box-shadow:0 0 0 3px var(--stage-color-soft, rgba(59, 130, 246, .15))}.kanban-column-header{padding:18px 18px 12px;border-bottom:1px solid #e6ebf2;background:linear-gradient(180deg,var(--stage-color-column, rgba(59, 130, 246, .06)) 0%,var(--white) 68%)}.kanban-column-header.interactive{cursor:pointer}.kanban-column-header.interactive:hover{background:#f8fafc}.column-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.column-title{display:flex;align-items:center;gap:8px;margin-bottom:6px}.stage-color-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0}.column-title span:nth-child(2){font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;color:var(--text-primary);letter-spacing:-.01em;flex:1}.deal-count{font-size:var(--text-xs);font-weight:700;color:var(--stage-color, var(--text-secondary));background:var(--stage-color-soft, var(--background-gray));border:1px solid var(--stage-color-border, var(--border-color));padding:2px 8px;border-radius:var(--radius-full)}.column-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.column-stage-probability-pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;background:var(--stage-color-soft, var(--background-gray));border:1px solid var(--stage-color-border, var(--border-color));color:var(--stage-color, var(--text-secondary))}.column-value{font-family:var(--font-display);font-size:var(--text-xs);color:var(--text-secondary);font-weight:700;padding:3px 0}.column-values{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.column-subvalue{font-size:10px;color:var(--text-muted);font-weight:700;text-align:right;white-space:nowrap}.kanban-column-content{flex:1;min-height:0;overflow-y:auto;padding:12px 10px 16px 12px;scrollbar-gutter:stable;display:flex;flex-direction:column;gap:10px}.empty-column{padding:24px 12px;text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.kanban-column.collapsed{flex:0 0 86px;max-height:calc(100vh - 220px);cursor:pointer}.kanban-column.collapsed .kanban-column-header{padding:14px 8px 10px}.kanban-column.collapsed .column-title{margin-bottom:0;gap:6px;justify-content:center}.kanban-column.collapsed .column-title span:nth-child(2){display:none}.kanban-column.collapsed .deal-count{display:none}.kanban-column-collapsed-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:8px 6px;min-height:136px}.kanban-collapsed-stage-name{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--font-display);font-size:12px;font-weight:700;color:var(--text-primary);letter-spacing:.01em;text-align:center;line-height:1}.kanban-collapsed-count{font-size:11px;font-weight:700;color:var(--stage-color, var(--text-secondary));background:var(--stage-color-soft, var(--background-gray));border:1px solid var(--stage-color-border, var(--border-color));padding:3px 8px;border-radius:var(--radius-full)}.deal-card{background:var(--white);border:1px solid #d9e2ec;border-radius:14px;padding:13px 14px;cursor:grab;transition:all var(--transition-fast);position:relative;overflow:hidden;flex-shrink:0}.deal-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--deal-accent, var(--border-color))}.deal-card:active{cursor:grabbing;opacity:.7}.deal-card:hover{border-color:var(--deal-accent-border, var(--secondary-color));box-shadow:0 8px 18px #0f172a14;transform:translateY(-2px)}.deal-card.drag-disabled{cursor:pointer}.deal-card.drag-disabled:active{cursor:pointer;opacity:1}.deal-card-topline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.deal-card-topline-actions{display:inline-flex;align-items:center;gap:6px}.deal-seller-hero{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.deal-seller-hero-vessel{display:flex;align-items:center;gap:8px;min-width:0}.deal-seller-hero-image{width:44px;height:36px;border-radius:7px;border:1px solid #d7dee8;overflow:hidden;background:#e2e8f0;flex-shrink:0}.deal-seller-hero-image img{width:100%;height:100%;object-fit:cover;display:block}.deal-seller-hero-image-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;letter-spacing:.04em;color:#475569;background:linear-gradient(135deg,#dbeafe,#e2e8f0)}.deal-seller-hero-vessel-name{font-size:var(--text-sm);font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.deal-type-pill,.deal-updated-pill,.deal-lead-source-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.deal-type-pill{border:1px solid var(--stage-color-border, #dbe3ec);color:var(--stage-color, #475569);background:var(--stage-color-soft, #f8fafc)}.deal-lead-source-pill{border:1px solid;font-weight:600}.deal-updated-pill{color:var(--text-muted);border:1px solid #e2e8f0;background:#fff}.deal-drop-indicator{height:10px;border-radius:var(--radius-sm);margin:2px 2px 6px;background:linear-gradient(90deg,var(--stage-color, var(--secondary-color)),var(--primary-color));box-shadow:0 0 0 2px var(--stage-color-soft, rgba(59, 130, 246, .14))}.deal-drop-indicator.collapsed{width:100%;height:34px;margin:0}.deal-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:9px}.deal-card-header h4{font-size:var(--text-sm);font-weight:700;color:var(--text-primary);margin:0;line-height:1.35;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.deal-value{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--primary-color);white-space:nowrap;line-height:1.15}.deal-value-stack{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.deal-value-sub{font-size:10px;color:var(--text-muted);font-weight:700;line-height:1.2;white-space:nowrap}.deal-value-sub.expected{color:var(--secondary-color)}.deal-value.range{font-size:var(--text-xs);white-space:normal;text-align:right;line-height:1.25;max-width:140px}.deal-entity-avatar,.deal-entity-avatar-fallback{width:16px;height:16px;border-radius:50%;overflow:hidden;flex-shrink:0}.deal-entity-avatar{object-fit:cover;border-radius:inherit;border:1px solid #d7dee8}.deal-entity-avatar.vessel,.deal-entity-avatar-fallback.vessel{border-radius:50%}.deal-entity-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;letter-spacing:.03em;color:#475569;background:linear-gradient(135deg,#dbeafe,#e2e8f0);border:1px solid #d7dee8}.deal-vessel-list{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:8px}.deal-entity-list{margin-bottom:8px}.deal-vessel-chip{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;padding:3px 8px 3px 4px;border-radius:var(--radius-full);border:1px solid #d8e2ec;background:var(--white);color:var(--text-secondary);font-size:var(--text-xs)}.deal-entity-chip{max-width:100%}.deal-vessel-chip .deal-entity-avatar,.deal-vessel-chip .deal-entity-avatar-fallback{width:18px;height:18px}.deal-vessel-chip span:last-child{min-width:0;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deal-entity-chip span:last-child{max-width:180px}.deal-buyer-vessel-focus{display:flex;flex-direction:column;gap:7px;margin-bottom:8px}.deal-buyer-vessel-section{border:1px solid #dbe3ec;border-radius:10px;background:#f8fafc;padding:7px;display:flex;flex-direction:column;gap:6px}.deal-buyer-vessel-section.similar{background:#f9fafb}.deal-buyer-vessel-section-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.deal-buyer-vessel-section-header span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700}.deal-buyer-vessel-section-header strong{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:2px 7px;border-radius:999px;border:1px solid #dbe3ec;background:var(--white);color:var(--text-primary);font-size:10px;line-height:1}.deal-buyer-vessel-empty{border:1px dashed #d7dee8;border-radius:8px;background:var(--white);color:var(--text-muted);font-size:11px;padding:8px}.deal-buyer-vessel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}.deal-buyer-vessel-card{border:1px solid #dbe3ec;border-radius:9px;background:var(--white);padding:6px;display:grid;grid-template-columns:40px minmax(0,1fr);gap:7px;text-align:left}.deal-buyer-vessel-card.similar{border-color:#bfdbfe;background:linear-gradient(180deg,#fff,#f7fbff)}.deal-buyer-vessel-card-action{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;color:inherit;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.deal-buyer-vessel-card-action:hover{border-color:#93c5fd;box-shadow:0 8px 16px #1e40af1a;transform:translateY(-1px)}.deal-buyer-vessel-card-action:focus-visible{outline:2px solid #1d4ed8;outline-offset:1px}.deal-buyer-vessel-image-shell{width:40px;height:34px;border-radius:7px;border:1px solid #d7dee8;overflow:hidden;background:#e2e8f0}.deal-buyer-vessel-image{width:100%;height:100%;object-fit:cover}.deal-buyer-vessel-image-fallback{width:100%;height:100%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;letter-spacing:.03em;color:#334155;background:linear-gradient(135deg,#dbeafe,#e2e8f0)}.deal-buyer-vessel-content{min-width:0;display:flex;flex-direction:column;gap:3px}.deal-buyer-vessel-content h5{margin:0;font-size:11px;font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deal-buyer-vessel-content p{margin:0;font-size:10px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deal-buyer-vessel-tags{display:flex;flex-wrap:wrap;gap:4px;min-width:0}.deal-buyer-vessel-tag{display:inline-flex;align-items:center;border:1px solid #dbe3ec;border-radius:999px;background:#f8fafc;color:var(--text-secondary);padding:1px 6px;font-size:10px;font-weight:700;width:fit-content;min-width:0;max-width:100%}.deal-buyer-vessel-tag.match{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.deal-buyer-vessel-tag.seller-price{border-color:#bbf7d0;background:#f0fdf4;color:#166534;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deal-card-footer{display:flex;flex-direction:column;gap:9px;margin-top:10px}.deal-card-signals{display:flex;flex-wrap:wrap;gap:8px}.deal-probability-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}.deal-probability-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700;white-space:nowrap}.deal-probability-track{height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden}.deal-probability-fill{height:100%;background:linear-gradient(90deg,var(--deal-accent, var(--primary-color)),var(--primary-color))}.deal-probability-value{font-size:11px;font-weight:700;color:var(--deal-accent, var(--text-primary));font-family:var(--font-mono);min-width:36px;text-align:right}.cla-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;font-family:var(--font-mono);white-space:nowrap}.cla-pill{background:var(--surface-success);color:var(--text-success);border:1px solid var(--border-success)}.cla-pill.warning{background:var(--surface-warning);color:var(--text-warning);border:1px solid var(--border-warning)}.cla-pill.urgent{background:var(--surface-danger);color:var(--text-danger);border:1px solid var(--border-danger)}.cla-pill svg{opacity:.8}.deal-task-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;color:#1d4ed8;background:#eaf2ff;border:1px solid #bfdbfe;white-space:nowrap}.kanban-column.drag-over{background:var(--stage-color-column, rgba(99, 102, 241, .05));border-color:var(--stage-color, var(--primary-color))}.kanban-board::-webkit-scrollbar{height:8px}.kanban-board::-webkit-scrollbar-track{background:transparent}.kanban-board::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}.kanban-board::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.kanban-column-content::-webkit-scrollbar{width:5px}.kanban-column-content::-webkit-scrollbar-track{background:transparent}.kanban-column-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}.kanban-column-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (max-width: 768px){.stage-move-alert{top:68px;right:12px;left:12px;width:auto;padding:12px 12px 11px 10px}.deals-page{padding:18px}.deals-header{flex-direction:column;align-items:flex-start}.deals-header-actions{width:100%;flex-wrap:wrap}.pipeline-selector{flex:1 1 180px}.deals-header-search{flex:1 1 220px;min-width:0}.deals-filter-panel{padding:8px}.deals-filter-select{flex:1 1 150px;min-width:0}.deals-filter-toggle,.deals-clear-filters{flex:0 0 auto}.kanban-column{flex:0 0 280px}.kanban-column.collapsed{flex:0 0 74px}}.deal-financials{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:9px}.deal-financial-item{background:#f8fafc;border:1px solid #dde5ee;border-radius:var(--radius-md);padding:6px 8px;display:flex;flex-direction:column;gap:2px}.deal-financial-item span{font-size:11px;color:#475569;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.deal-financial-item strong{font-size:var(--text-xs);color:var(--text-primary);font-weight:700}.deal-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal-backdrop);background:#0f172a59;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:dpBackdropIn .22s ease}@keyframes dpBackdropIn{0%{opacity:0}to{opacity:1}}.deal-panel{position:fixed;top:0;right:0;bottom:0;width:min(620px,100vw);display:flex;flex-direction:column;background:#fff;box-shadow:-8px 0 40px #0f172a24,0 0 0 1px #0000000a;animation:dpSlideIn .28s cubic-bezier(.22,1,.36,1);overflow:hidden}@keyframes dpSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.deal-panel-banner{flex-shrink:0;height:68px;background:linear-gradient(135deg,#78350f,#b45309,#f59e0b);position:relative;display:flex;align-items:flex-start;justify-content:flex-end;padding:14px 16px}.deal-panel-banner-close{background:#ffffff2e;border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:8px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .15s ease}.deal-panel-banner-close:hover{background:#ffffff52}.deal-panel-profile{flex-shrink:0;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 24px 18px}.deal-panel-icon-wrap{width:68px;height:68px;border-radius:50%;overflow:hidden;border:3px solid #fff;box-shadow:0 2px 12px #0000001a;background:linear-gradient(135deg,#fbbf24,#f59e0b);display:flex;align-items:center;justify-content:center;margin-top:-34px;position:relative;z-index:2}.deal-panel-icon-fallback{font-family:var(--font-display);font-size:20px;font-weight:800;color:#fff}.deal-panel-title{margin:10px 0 0;font-size:20px;font-weight:800;color:var(--text-primary);line-height:1.2;overflow-wrap:break-word}.deal-panel-badges{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px}.deal-panel-type-badge{border-radius:999px;padding:3px 10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent}.deal-panel-type-badge.buyer{color:#1e40af;background:#dbeafe;border-color:#bfdbfe}.deal-panel-type-badge.seller{color:#9f1239;background:#fce7f3;border-color:#fbcfe8}.deal-panel-status-badge{border-radius:999px;padding:3px 10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid #dbe3ec;background:#f8fafc;color:var(--text-secondary)}.deal-panel-status-badge.active{color:#166534;background:#dcfce7;border-color:#bbf7d0}.deal-panel-status-badge.won{color:#1d4ed8;background:#dbeafe;border-color:#bfdbfe}.deal-panel-status-badge.lost{color:#b91c1c;background:#fee2e2;border-color:#fecaca}.deal-panel-value{margin-top:6px;font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--primary-color)}.deal-panel-actions{display:flex;gap:8px;margin-top:12px}.deal-panel-action-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:#fff;color:var(--text-primary);font-size:12px;font-weight:600;padding:7px 14px;cursor:pointer;transition:all .15s ease}.deal-panel-action-btn:hover{border-color:var(--primary-color);color:var(--primary-color);background:#eff6ff}.deal-panel-action-btn svg{opacity:.7}.deal-panel-stats{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap;justify-content:center}.deal-panel-stat{display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid #dbe3ec;border-radius:10px;background:#f8fafc;padding:8px 14px;min-width:80px;max-width:160px}.deal-panel-stat-value{font-family:var(--font-display);font-size:13px;font-weight:700;line-height:1.2;color:var(--text-primary);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.deal-panel-stat-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.deal-panel-body{flex:1;min-height:0;overflow-y:auto;padding:16px 24px;scrollbar-gutter:stable}.deal-panel-footer{flex-shrink:0;display:flex;justify-content:flex-end;gap:10px;padding:14px 24px;border-top:1px solid var(--border-color);background:#fff;flex-wrap:wrap}.deal-panel .deal-view-tabs{flex-shrink:0;margin:0 24px}@media (max-width: 900px){.deal-panel{width:min(520px,100vw)}}@media (max-width: 640px){.deal-panel{width:100vw}.deal-panel-body{padding:12px 16px}.deal-panel-profile{padding:0 16px 14px}.deal-panel-title{font-size:17px}}.deal-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:20px}.deal-modal{width:min(820px,100%);height:min(92vh,760px);max-height:92vh;overflow-y:auto;scrollbar-gutter:stable both-edges;background:var(--white);border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);padding:18px}.deal-view-modal{width:min(760px,100%)}.deal-view-tabs{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:#f8fafc;padding:4px;margin-bottom:12px;gap:4px}.deal-view-tabs button{border:none;background:transparent;border-radius:var(--radius-md);padding:6px 12px;display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:700;color:var(--text-secondary);cursor:pointer}.deal-view-tabs button.active{background:#dbeafe;color:#1d4ed8}.deal-view-tab-badge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;border:1px solid #dbe3ec;background:var(--white);color:var(--text-secondary);font-size:10px;line-height:1;font-weight:700;font-family:var(--font-mono);display:inline-flex;align-items:center;justify-content:center}.deal-view-tabs button.active .deal-view-tab-badge{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.deal-view-overview{display:flex;flex-direction:column;gap:12px}.deal-view-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.deal-view-item{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#f8fafc;padding:9px 10px;display:flex;flex-direction:column;gap:3px}.deal-view-item span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700}.deal-view-item strong{font-size:var(--text-sm);color:var(--text-primary)}.deal-view-vessels>span,.deal-view-notes>span,.deal-view-seller-leads-header>span,.deal-view-calls-header>span{display:inline-block;margin-bottom:6px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700}.deal-view-buyer-vessels{margin-bottom:10px}.deal-view-seller-vessel-section{padding:10px}.deal-view-seller-vessel-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.deal-view-seller-vessel-card{padding:8px;grid-template-columns:52px minmax(0,1fr)}.deal-view-seller-vessel-card .deal-buyer-vessel-image-shell{width:52px;height:44px}.deal-view-seller-leads,.deal-view-calls{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#f8fafc;padding:10px}.deal-view-calls-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.deal-view-calls-subtitle{margin-top:4px;font-size:var(--text-xs);color:var(--text-secondary)}.deal-view-calls-error{margin:8px 0 0;font-size:var(--text-xs);color:#b91c1c}.deal-view-calls-empty{margin-top:8px;border:1px dashed #cbd5e1;border-radius:var(--radius-md);background:var(--white);padding:10px;text-align:center;font-size:var(--text-xs);color:var(--text-muted)}.deal-view-calls-list{margin-top:8px;display:flex;flex-direction:column;gap:6px}.deal-view-call-row{border:1px solid #dbe3ec;border-radius:var(--radius-md);background:var(--white);padding:6px 8px;display:grid;grid-template-columns:1.2fr auto auto;gap:8px;align-items:center}.deal-view-call-row strong{font-size:var(--text-xs);color:var(--text-primary)}.deal-view-call-row span{font-size:11px;color:var(--text-secondary);text-transform:capitalize;justify-self:end}.deal-view-seller-leads-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.deal-view-seller-leads-header strong{font-size:var(--text-sm);color:var(--text-primary)}.deal-view-seller-leads-error,.deal-view-seller-leads-empty{margin:6px 0 0;font-size:var(--text-xs);color:var(--text-secondary)}.deal-view-seller-leads-months{margin-top:8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}.deal-view-seller-lead-month{border:1px solid #dbe3ec;border-radius:10px;padding:8px;background:var(--white);display:flex;flex-direction:column;gap:8px}.deal-view-seller-lead-month-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.deal-view-seller-lead-month-header span{font-size:11px;font-weight:600;color:var(--text-secondary)}.deal-view-seller-lead-month-header strong{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:2px 7px;border-radius:var(--radius-full);font-size:11px;line-height:1;color:var(--seller-lead-pill-color, #1d4ed8);background:var(--seller-lead-pill-soft, #dbeafe);border:1px solid var(--seller-lead-pill-border, #bfdbfe)}.deal-view-seller-lead-buyers{display:flex;flex-direction:column;gap:6px}.deal-view-seller-lead-buyer{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;color:inherit;text-align:left;cursor:pointer;display:flex;align-items:center;gap:6px;min-width:0;border:1px solid #dbe3ec;border-radius:8px;background:#f8fafc;padding:4px 6px;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.deal-view-seller-lead-buyer:hover{border-color:#93c5fd;box-shadow:0 8px 16px #1e40af1a;transform:translateY(-1px)}.deal-view-seller-lead-buyer:focus-visible{outline:2px solid #1d4ed8;outline-offset:1px}.deal-view-seller-lead-buyer-avatar,.deal-view-seller-lead-buyer-avatar-fallback{width:22px;height:22px;border-radius:50%;flex-shrink:0}.deal-view-seller-lead-buyer-avatar{object-fit:cover;border:1px solid #d7dee8}.deal-view-seller-lead-buyer-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;letter-spacing:.03em;color:#475569;background:linear-gradient(135deg,#dbeafe,#e2e8f0);border:1px solid #d7dee8}.deal-view-seller-lead-buyer-name{font-size:11px;font-weight:600;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deal-view-seller-lead-buyers-empty{border:1px dashed #d7dee8;border-radius:8px;background:#f8fafc;color:var(--text-muted);font-size:11px;padding:7px}.deal-view-notes p{margin:0;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--white);padding:10px;font-size:var(--text-sm);color:var(--text-secondary);white-space:pre-wrap}.deal-view-tasks{margin:0 0 8px}.deal-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.deal-modal-header h2{margin:0;font-size:var(--text-xl)}.deal-modal-close{width:30px;height:30px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:18px;cursor:pointer}.deal-modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.deal-create-helper-copy{font-size:var(--text-sm);color:var(--text-secondary)}.deal-inline-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.deal-inline-label-row label{margin-bottom:0}.deal-inline-add-toggle{border:1px solid var(--border-color);background:var(--white);color:var(--secondary-color);padding:4px 9px;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:700}.deal-inline-add-toggle:hover{border-color:var(--secondary-color);background:var(--secondary-light)}.deal-inline-contact-panel{margin-top:9px;border:1px solid #dbe3ec;background:#f8fafc;border-radius:var(--radius-lg);padding:10px}.deal-inline-contact-row{margin-bottom:0}.deal-inline-contact-row+.deal-inline-contact-row{margin-top:8px}.deal-inline-contact-row .form-group{margin-bottom:0}.deal-inline-contact-row .form-group:only-child{grid-column:1 / -1}.deal-inline-contact-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}.deal-inline-contact-role-option{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:var(--text-xs);font-weight:600;color:var(--text-primary)}.deal-inline-contact-role-option input[type=checkbox]{width:14px;height:14px;margin:0;padding:0;accent-color:var(--secondary-color)}.deal-inline-contact-vessels{height:auto;min-height:96px;padding:8px 10px}.deal-inline-contact-help{margin:5px 0 0;font-size:11px;color:var(--text-muted)}.deal-contact-picker{position:relative}.deal-contact-picker-input-shell{display:flex;align-items:center;gap:6px;border:1px solid #cbd5e1;border-radius:var(--radius-md);background:var(--white);padding:0 8px}.deal-contact-picker-input-shell.open{border-color:var(--secondary-color);box-shadow:0 0 0 2px #3b82f61f}.deal-contact-picker-input-shell:focus-within{border-color:var(--secondary-color);box-shadow:0 0 0 2px #3b82f61f}.deal-contact-picker input,.deal-contact-picker input:hover,.deal-contact-picker input:focus{flex:1;min-width:0;border:none!important;border-radius:0!important;background:transparent!important;color:var(--text-primary);font-size:var(--text-sm);padding:10px 0!important;box-shadow:none!important;outline:none!important}.deal-contact-picker input::-webkit-search-cancel-button,.deal-contact-picker input::-webkit-search-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:none}.deal-contact-picker-clear,.deal-contact-picker-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-muted);width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;cursor:pointer;flex-shrink:0}.deal-contact-picker-toggle{color:var(--text-secondary)}.deal-contact-picker-clear:hover,.deal-contact-picker-toggle:hover{background:#eff6ff;color:#1d4ed8}.deal-contact-picker-menu{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:var(--z-popover);max-height:270px;overflow-y:auto;border:1px solid #cbd5e1;border-radius:var(--radius-md);background:var(--white);box-shadow:0 14px 28px #0f172a29;display:flex;flex-direction:column}.deal-contact-picker-summary{position:sticky;top:0;z-index:1;padding:7px 10px;border-bottom:1px solid #e2e8f0;background:#f8fafc;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700}.deal-contact-picker-empty{padding:12px 10px;font-size:var(--text-xs);color:var(--text-muted);text-align:center}.deal-contact-picker-option{width:100%;border:none;background:transparent;text-align:left;padding:9px 10px;display:flex;flex-direction:column;gap:2px;cursor:pointer}.deal-contact-picker-option+.deal-contact-picker-option{border-top:1px solid #eef2f7}.deal-contact-picker-option.active{background:#eef2ff}.deal-contact-picker-option.selected{background:#eff6ff}.deal-contact-picker-option-name{font-size:13px;font-weight:700;color:var(--text-primary);line-height:1.25}.deal-contact-picker-option-meta{font-size:11px;color:var(--text-secondary);line-height:1.25}.deal-inline-contact-actions{margin-top:10px;display:flex;justify-content:flex-end;gap:8px}.deal-inline-contact-error{margin-top:8px;padding:8px 9px;border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--error-dark);background:var(--error-light);border:1px solid #fecaca}.deal-vessel-picker-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;flex-wrap:wrap}.deal-vessel-search{flex:1 1 280px;min-width:220px}.deal-vessel-picker-results{font-size:var(--text-xs);color:var(--text-muted);font-weight:600}.deal-vessel-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;max-height:320px;overflow-y:auto;padding-right:4px}.form-group .deal-vessel-option{display:grid;grid-template-columns:auto 56px 1fr;align-items:center;gap:10px;font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:10px;margin-bottom:0;cursor:pointer;transition:all var(--transition-fast)}.form-group .deal-vessel-option:hover{border-color:var(--secondary-color);background:var(--white)}.form-group .deal-vessel-option.selected{border-color:var(--secondary-color);box-shadow:0 0 0 2px #3b82f61f;background:#f8fbff}.form-group .deal-vessel-option input{width:16px;min-width:16px;height:16px;margin:0;accent-color:var(--secondary-color)}.deal-vessel-media{width:56px;height:56px;border-radius:var(--radius-md);background:#e2e8f0;overflow:hidden;flex-shrink:0}.deal-vessel-media img{width:100%;height:100%;object-fit:cover}.deal-vessel-image-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;color:#475569;background:linear-gradient(135deg,#dbeafe,#e2e8f0)}.deal-vessel-content{min-width:0;display:flex;flex-direction:column;gap:4px}.deal-vessel-name{font-size:var(--text-sm);font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deal-vessel-subtitle{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deal-vessel-meta{display:flex;flex-wrap:wrap;gap:6px}.deal-vessel-meta span{font-size:11px;line-height:1.2;font-weight:600;color:var(--text-muted);padding:2px 7px;border-radius:var(--radius-full);border:1px solid #dbe3ec;background:#f8fafc}.deal-vessel-picker::-webkit-scrollbar{width:6px}.deal-vessel-picker::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:var(--radius-sm)}.deal-create-error{margin-bottom:10px;padding:9px 10px;border-radius:var(--radius-md);background:var(--error-light);color:var(--error-dark);border:1px solid #fecaca;font-size:var(--text-sm)}.deal-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.esign-modal-overlay{z-index:calc(var(--z-modal-backdrop) + 10)}.esign-modal{width:min(440px,100%);height:auto;max-height:90vh;padding:24px}.esign-modal-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 18px;line-height:1.5}.esign-modal-field{margin-bottom:14px}.esign-modal-field label{display:block;font-size:var(--text-xs);font-weight:600;color:var(--text-primary);margin-bottom:5px}.esign-modal-field .form-input{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--white);color:var(--text-primary);transition:border-color .15s}.esign-modal-field .form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.deal-tasks-section{margin:14px 0;padding:12px;border-radius:var(--radius-lg);border:1px solid #dbe3ec;background:#f8fafc}.deal-tasks-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.deal-tasks-header-actions{display:inline-flex;align-items:center;gap:8px}.deal-tasks-header h3{margin:0;font-size:var(--text-base);color:var(--text-primary)}.deal-tasks-header span{font-size:var(--text-xs);font-weight:700;color:var(--secondary-color);background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius-full);padding:2px 8px}.deal-tasks-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.deal-tasks-create-grid.compact{margin-top:4px}.deal-task-create-actions{margin-top:8px;display:flex;justify-content:flex-end;gap:8px}.deal-task-composer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-popover);background:#0f172a59;display:flex;align-items:center;justify-content:center;padding:16px}.deal-task-composer{width:min(680px,calc(100% - 24px));max-height:min(90vh,760px);overflow-y:auto;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:14px}.deal-task-composer-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.deal-task-composer-header h3{margin:0;font-size:var(--text-base);color:var(--text-primary)}.deal-tasks-empty{margin-top:10px;padding:12px;border-radius:var(--radius-md);border:1px dashed #cbd5e1;color:var(--text-muted);font-size:var(--text-sm);text-align:center;background:var(--white)}.deal-task-list{margin-top:10px;display:flex;flex-direction:column;gap:8px}.deal-task-row{display:flex;align-items:flex-start;gap:8px;border:1px solid #dbe3ec;background:var(--white);border-radius:var(--radius-md);padding:8px}.deal-task-row.completed{opacity:.7}.deal-task-row input{margin-top:3px;accent-color:var(--secondary-color)}.deal-task-content{min-width:0;flex:1}.deal-task-title-row{display:flex;align-items:center;gap:8px}.deal-task-title-row strong{font-size:var(--text-sm);color:var(--text-primary)}.deal-task-kind{font-size:10px;font-weight:700;color:#1d4ed8;background:#dbeafe;border-radius:var(--radius-full);padding:1px 7px}.deal-task-kind.call{color:#7c2d12;background:#ffedd5}.deal-task-meta{margin-top:2px;display:flex;flex-wrap:wrap;gap:8px;font-size:11px;font-weight:600;color:var(--text-muted)}.deal-task-content p{margin:4px 0 0;font-size:var(--text-xs);color:var(--text-secondary)}.deal-documents-section{margin:14px 0;padding:12px;border-radius:var(--radius-lg);border:1px solid #dbe3ec;background:#f8fafc}.deal-documents-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.deal-documents-header h3{margin:0;font-size:var(--text-base);color:var(--text-primary)}.deal-documents-header span{font-size:var(--text-xs);font-weight:700;color:var(--secondary-color);background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius-full);padding:2px 8px}.deal-documents-upload{margin-top:4px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.deal-document-template-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.deal-document-template-row select{min-width:220px;max-width:100%;font-size:var(--text-xs);padding:7px 10px;border:1px solid #cbd5e1;border-radius:var(--radius-md);background:var(--white)}.deal-documents-upload input[type=file]{font-size:var(--text-xs)}.deal-documents-upload span{font-size:var(--text-xs);color:var(--text-muted)}.deal-rich-template-panel{width:100%;border:1px solid #dbe3ec;border-radius:var(--radius-md);background:#fff;padding:10px;display:flex;flex-direction:column;gap:8px}.deal-rich-template-panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.deal-rich-template-panel-header h4{margin:0;font-size:var(--text-sm);color:var(--text-primary)}.deal-rich-template-panel-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.deal-rich-template-panel-actions select{min-width:220px;max-width:100%;font-size:var(--text-xs);padding:6px 10px;border:1px solid #cbd5e1;border-radius:var(--radius-md);background:var(--white)}.deal-rich-template-json-grid{display:grid;grid-template-columns:1fr;gap:8px}.deal-rich-template-json-grid label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600;color:var(--text-secondary)}.deal-rich-template-json-grid textarea{resize:vertical;min-height:84px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:11px;line-height:1.35;border:1px solid #cbd5e1;border-radius:var(--radius-md);background:#f8fafc;padding:8px}.deal-rich-template-meta{font-size:11px;color:var(--text-muted)}.deal-rich-template-actions{display:flex;flex-wrap:wrap;gap:6px}.deal-document-list{margin-top:10px;display:flex;flex-direction:column;gap:8px}.deal-document-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border:1px solid #dbe3ec;border-radius:var(--radius-md);background:var(--white);padding:10px}.deal-document-main{min-width:0;flex:1}.deal-document-main strong{display:inline-block;font-size:var(--text-sm);color:var(--text-primary)}.deal-document-meta{margin-top:4px;display:flex;flex-wrap:wrap;gap:8px;font-size:11px;font-weight:600;color:var(--text-muted)}.deal-document-actions{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.deal-document-action-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.deal-document-actions .btn{padding:6px 10px;font-size:var(--text-xs)}.deal-document-popup-hint{font-size:.68rem;color:var(--text-muted, #888)}.deal-document-spinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:deal-doc-spin .6s linear infinite;vertical-align:middle;margin-right:4px}@keyframes deal-doc-spin{to{transform:rotate(360deg)}}.deal-document-replace-btn{position:relative;overflow:hidden}.deal-document-replace-btn input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}@media (max-width: 768px){.deal-modal{padding:14px}.deal-view-grid{grid-template-columns:1fr}.deal-inline-add-toggle{min-width:90px;text-align:center}.deal-inline-contact-actions{flex-direction:column}.deal-inline-contact-actions .btn{width:100%}.deal-inline-contact-role-grid{grid-template-columns:1fr}.deal-vessel-search{width:100%;min-width:0}.deal-vessel-picker{grid-template-columns:1fr;max-height:360px}.deal-modal-actions{flex-direction:column}.deal-tasks-create-grid{grid-template-columns:1fr}.deal-modal-actions .btn{width:100%}.deal-task-create-actions{flex-direction:column}.deal-task-create-actions .btn{width:100%}.deal-document-row{flex-direction:column}.deal-document-actions{width:100%;align-items:flex-start}.deal-document-action-buttons{justify-content:flex-start}.deal-rich-template-json-grid,.deal-view-call-row{grid-template-columns:1fr}.deal-view-call-row span{justify-self:start}.deal-view-seller-vessel-grid,.deal-view-seller-leads-months{grid-template-columns:1fr}}.tasks-page{padding:25px;background:var(--background-gray);min-height:calc(100vh - 64px)}.tasks-header{margin-bottom:22px}.tasks-header h1{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin:0}.tasks-header p{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-secondary);margin:2px 0 0;display:inline-block;position:relative;line-height:1.5}.tasks-header p:after{content:"";position:absolute;bottom:-8px;left:0;width:40px;height:3px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--primary-color),var(--secondary-color))}.tasks-error-banner{margin-bottom:12px;padding:10px 12px;border-radius:var(--radius-lg);border:1px solid #fecaca;background:var(--error-light);color:var(--error-dark);font-size:var(--text-sm);font-weight:600}.tasks-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:10px;flex-wrap:wrap}.tasks-toolbar-left{display:flex;gap:8px;align-items:center}.tasks-assignee-filter{min-width:170px;padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--white);font-size:var(--text-sm)}.tasks-tabs{display:flex;gap:4px;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:3px;flex-wrap:wrap}.tasks-tab{padding:5px 12px;border:none;background:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.tasks-tab:hover{color:var(--text-primary);background:var(--bg-secondary)}.tasks-tab.active{background:var(--primary-color);color:var(--white)}.tasks-list-container{background:var(--white);border-radius:var(--radius-2xl);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);overflow:hidden}.tasks-list-header{display:grid;grid-template-columns:40px 1fr 180px 140px 130px 120px 110px;padding:10px 18px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.task-row{display:grid;grid-template-columns:40px 1fr 180px 140px 130px 120px 110px;padding:12px 18px;border-bottom:1px solid var(--background-gray);align-items:center;transition:background var(--transition-fast)}.task-row:hover{background:var(--bg-secondary)}.task-row:last-child{border-bottom:none}.task-row-checkbox{width:16px;height:16px;border:2px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);-moz-appearance:none;appearance:none;-webkit-appearance:none}.task-row-checkbox:checked{background:var(--success-color);border-color:var(--success-color)}.task-row-title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);display:inline-flex;align-items:center;gap:8px}.task-kind-pill{border-radius:var(--radius-full);font-size:10px;font-weight:700;padding:1px 7px;text-transform:uppercase;letter-spacing:.04em}.task-kind-pill.task{background:#fef9c3;color:#92400e}.task-kind-pill.call{background:#ede9fe;color:#5b21b6}.task-row-description{font-size:var(--text-xs);color:var(--text-secondary);margin-top:2px}.task-row-deal,.task-row-assignee,.task-row-due{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.task-row-due.overdue{color:var(--error-color);font-weight:600}.task-row-priority{display:flex;align-items:center}.priority-dot{width:8px;height:8px;border-radius:50%;margin-right:6px}.priority-dot.high{background:var(--error-color)}.priority-dot.medium{background:var(--warning-color)}.priority-dot.low{background:var(--success-color)}.tasks-empty-state{padding:24px;text-align:center;color:var(--text-secondary);font-size:var(--text-sm)}.tasks-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:20px}.tasks-modal{background:var(--white);border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);width:min(700px,100%);max-height:90vh;overflow-y:auto;padding:18px}.tasks-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.tasks-modal-header h2{margin:0;font-size:var(--text-xl)}.tasks-modal-close{border:none;background:transparent;font-size:18px;color:var(--text-secondary);cursor:pointer;width:28px;height:28px;border-radius:var(--radius-md)}.tasks-modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.tasks-checkbox-field{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:var(--text-sm);color:var(--text-primary)}.tasks-create-error{margin-bottom:10px;padding:9px 10px;border-radius:var(--radius-md);background:var(--error-light);color:var(--error-dark);border:1px solid #fecaca;font-size:var(--text-sm)}.tasks-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}@media (max-width: 1100px){.tasks-list-header,.task-row{grid-template-columns:40px 1fr 160px 120px 110px 100px 90px}}@media (max-width: 768px){.tasks-page{padding:18px}.tasks-toolbar{flex-direction:column;align-items:flex-start}.tasks-list-header{display:none}.task-row{grid-template-columns:30px 1fr;gap:4px}.task-row>:nth-child(n+3){display:none}.tasks-modal{padding:14px}.tasks-modal-actions{flex-direction:column}.tasks-modal-actions .btn{width:100%}}.calendar-page{padding:24px;background:var(--background-gray);min-height:calc(100vh - 64px)}.calendar-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px;flex-wrap:wrap}.calendar-header h1{margin:0;font-family:var(--font-display);font-size:var(--text-4xl)}.calendar-header p{margin:3px 0 0;color:var(--text-secondary)}.calendar-header-actions{display:flex;gap:8px}.calendar-error{margin-bottom:10px;border:1px solid #fecaca;background:#fef2f2;color:#991b1b;border-radius:var(--radius-lg);padding:8px 10px}.calendar-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:10px}.calendar-nav{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border-color);background:var(--white);border-radius:var(--radius-lg);padding:4px}.calendar-nav button{border:none;border-radius:var(--radius-md);background:transparent;width:24px;height:24px}.calendar-view-switch{display:inline-flex;border:1px solid var(--border-color);background:var(--white);border-radius:var(--radius-lg);padding:3px}.calendar-view-switch button{border:none;background:transparent;border-radius:var(--radius-md);padding:4px 10px;font-size:var(--text-xs);text-transform:uppercase;font-weight:700;color:var(--text-secondary)}.calendar-view-switch button.active{background:#dbeafe;color:#1d4ed8}.calendar-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:6px 8px}.calendar-filters label{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);color:var(--text-secondary)}.calendar-filters select{font-size:var(--text-xs);padding:4px 8px}.calendar-loading{padding:30px;text-align:center;background:var(--white);border-radius:var(--radius-xl);border:1px solid var(--border-color);color:var(--text-secondary)}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#dbe3ec;border:1px solid #dbe3ec;border-radius:var(--radius-xl);overflow:hidden}.calendar-weekday{background:#f1f5f9;padding:8px;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;color:var(--text-muted)}.calendar-day-cell{background:var(--white);min-height:130px;padding:8px;display:flex;flex-direction:column;gap:6px}.calendar-day-cell.outside{background:#f8fafc}.calendar-day-number{font-size:var(--text-sm);font-weight:700;color:var(--text-primary)}.calendar-day-events{display:flex;flex-direction:column;gap:4px}.calendar-event-chip{border-radius:var(--radius-md);border:1px solid;padding:4px 6px;display:flex;flex-direction:column;gap:1px}button.calendar-event-chip{width:100%;text-align:left;cursor:pointer;font:inherit}button.calendar-event-chip:focus-visible{outline:2px solid rgba(29,78,216,.5);outline-offset:1px}.calendar-event-chip span{font-size:9px;font-weight:700;text-transform:uppercase;opacity:.8}.calendar-event-chip strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-chip.task{border-color:#fcd34d;background:#fef9c3;color:#92400e}.calendar-event-chip.call{border-color:#c4b5fd;background:#ede9fe;color:#5b21b6}.calendar-event-chip.meeting{border-color:#93c5fd;background:#dbeafe;color:#1d4ed8}.calendar-more{font-size:10px;color:var(--text-muted)}.calendar-list-view{display:flex;flex-direction:column;gap:10px}.calendar-split-view{display:grid;grid-template-columns:270px minmax(0,1fr);gap:12px;align-items:start}.calendar-mini-month{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:10px;position:sticky;top:88px}.calendar-mini-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:8px}.calendar-mini-header button{border:1px solid var(--border-color);background:#f8fafc;border-radius:var(--radius-md);width:28px;height:28px;cursor:pointer}.calendar-mini-header strong{font-size:var(--text-sm);color:var(--text-primary)}.calendar-mini-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-mini-weekday{font-size:10px;color:var(--text-muted);text-align:center;text-transform:uppercase;font-weight:700;padding-bottom:2px}.calendar-mini-day{position:relative;border:1px solid transparent;background:transparent;border-radius:var(--radius-md);min-height:30px;font-size:12px;color:var(--text-primary);cursor:pointer}.calendar-mini-day>span{display:inline-block;line-height:1}.calendar-mini-day.outside{color:var(--text-muted);opacity:.6}.calendar-mini-day.selected-week{background:#eff6ff}.calendar-mini-day.selected-day{background:#1d4ed8;color:#fff}.calendar-mini-day.today{border-color:#93c5fd}.calendar-mini-day i{position:absolute;right:5px;bottom:4px;width:5px;height:5px;border-radius:999px;background:#f59e0b}.calendar-mini-day.selected-day i{background:#fff}.calendar-mini-day:focus-visible{outline:2px solid rgba(29,78,216,.5);outline-offset:1px}.calendar-list-day{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:10px}.calendar-list-day h3{margin:0 0 8px;font-size:var(--text-sm);color:var(--text-primary)}.calendar-list-event{border:1px solid #dbe3ec;background:#f8fafc;border-radius:var(--radius-md);padding:8px;display:flex;justify-content:space-between;align-items:center;gap:10px}button.calendar-list-event{width:100%;cursor:pointer;font:inherit;text-align:left}button.calendar-list-event:focus-visible{outline:2px solid rgba(29,78,216,.5);outline-offset:1px}.calendar-list-event+.calendar-list-event{margin-top:6px}.calendar-list-event .kind-label{font-size:10px;text-transform:uppercase;color:var(--text-muted);font-weight:700;margin-right:7px}.calendar-list-event strong{font-size:var(--text-sm)}.calendar-list-event time{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap}.calendar-list-event.task{border-left:3px solid #f59e0b}.calendar-list-event.call{border-left:3px solid #8b5cf6}.calendar-list-event.meeting{border-left:3px solid #3b82f6}.calendar-list-empty{font-size:var(--text-sm);color:var(--text-muted)}.calendar-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:16px}.calendar-modal{width:min(560px,100%);background:var(--white);border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);padding:16px}.calendar-modal h2{margin:0 0 10px}.calendar-modal-actions{margin-top:8px;display:flex;justify-content:flex-end;gap:8px}@media (max-width: 900px){.calendar-day-cell{min-height:100px}.calendar-split-view{grid-template-columns:1fr}.calendar-mini-month{position:static}}.messages-page{padding:24px;background:var(--background-gray);min-height:calc(100vh - 64px)}.messages-header{margin-bottom:16px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.messages-header h1{margin:0;font-family:var(--font-display);font-size:var(--text-4xl)}.messages-header p{margin:4px 0 0;color:var(--text-secondary)}.messages-error{margin-bottom:10px;border:1px solid #fecaca;background:#fef2f2;color:#991b1b;border-radius:var(--radius-lg);padding:9px 11px;font-size:var(--text-sm)}.messages-layout{display:grid;grid-template-columns:320px 1fr;gap:12px;min-height:70vh}.conversation-list,.conversation-panel{background:var(--white);border-radius:var(--radius-xl);border:1px solid var(--border-color);overflow:hidden}.conversation-list{display:flex;flex-direction:column;max-height:72vh;overflow-y:auto}.conversation-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;border:none;border-bottom:1px solid var(--background-gray);background:transparent;padding:10px 12px;text-align:left}.conversation-row:hover,.conversation-row.active{background:#f8fafc}.conversation-avatar-wrap{display:flex;align-items:center}.conversation-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;border:1px solid #dbe3ec}.conversation-avatar.fallback{display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;letter-spacing:.03em;background:linear-gradient(135deg,#dbeafe,#e2e8f0);color:#334155}.conversation-avatar.fallback.group{background:linear-gradient(135deg,#e9d5ff,#c7d2fe)}.conversation-main{min-width:0;display:flex;flex-direction:column;gap:2px}.conversation-main strong{font-size:var(--text-sm);color:var(--text-primary)}.conversation-main span{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.conversation-meta time{font-size:10px;color:var(--text-muted)}.unread-pill{font-size:10px;font-weight:700;color:#1d4ed8;background:#dbeafe;border-radius:999px;padding:1px 7px}.conversation-panel{display:flex;flex-direction:column}.conversation-panel-header{padding:12px 14px;border-bottom:1px solid var(--border-color)}.conversation-panel-title{display:flex;align-items:center;gap:10px}.conversation-panel-avatar-wrap{display:inline-flex}.conversation-panel-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid #dbe3ec}.conversation-panel-avatar.fallback{display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;letter-spacing:.03em;background:linear-gradient(135deg,#dbeafe,#e2e8f0);color:#334155}.conversation-panel-avatar.fallback.group{background:linear-gradient(135deg,#e9d5ff,#c7d2fe)}.conversation-panel-header h2{margin:0;font-size:var(--text-lg)}.conversation-panel-header span{margin-top:1px;display:inline-block;font-size:var(--text-xs);color:var(--text-muted)}.typing-indicator{margin-top:7px;font-size:11px;font-weight:600;color:#2563eb}.message-list{flex:1;padding:16px 14px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;background:radial-gradient(circle at top right,rgba(219,234,254,.5),transparent 35%),radial-gradient(circle at bottom left,rgba(226,232,240,.45),transparent 35%),#f8fafc}.message-bubble{position:relative;max-width:min(78%,620px);border-radius:20px;padding:11px 13px;border:1px solid #d7e0ea;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 8px 24px #0f172a14}.message-bubble.theirs{margin-right:auto;color:#0f172a}.message-bubble.theirs:before{content:"";position:absolute;left:-6px;bottom:12px;width:12px;height:12px;background:#f8fafc;border-left:1px solid #d7e0ea;border-bottom:1px solid #d7e0ea;transform:rotate(45deg);border-bottom-left-radius:4px}.message-bubble.mine{margin-left:auto;background:linear-gradient(180deg,#dbeafe,#bfdbfe);border-color:#93c5fd;box-shadow:0 10px 26px #2563eb3d}.message-bubble.mine:after{content:"";position:absolute;right:-6px;bottom:12px;width:12px;height:12px;background:#bfdbfe;border-right:1px solid #93c5fd;border-bottom:1px solid #93c5fd;transform:rotate(-45deg);border-bottom-right-radius:4px}.message-bubble p{margin:0;font-size:14px;font-weight:500;color:var(--text-primary);line-height:1.48;white-space:pre-wrap;word-break:break-word}.message-bubble time{display:block;margin-top:6px;font-size:10px;font-weight:600;color:#64748b;letter-spacing:.01em;text-transform:uppercase}.message-bubble.pending{opacity:.7;filter:saturate(.85)}.message-bubble.failed{border-color:#fca5a5;background:linear-gradient(180deg,#fff1f2,#ffe4e6);box-shadow:0 8px 20px #be185d1f}.message-sender{font-size:10px;font-weight:700;color:#1d4ed8;margin-bottom:4px}.message-attachments{margin-top:8px;display:grid;gap:8px}.message-attachment-item{border:1px solid #d8e1eb;border-radius:12px;padding:6px;background:#ffffffd6}.message-attachment-item img{width:min(280px,100%);max-height:220px;object-fit:cover;border-radius:8px;border:1px solid #cbd5e1;background:#0f172a}.message-attachment-download{display:inline-flex;align-items:center;min-height:36px;font-size:11px;font-weight:600;color:#1d4ed8;text-decoration:none}.message-attachment-item span{margin-top:4px;display:inline-block;font-size:10px;color:var(--text-muted)}.message-composer{border-top:1px solid var(--border-color);padding:10px;display:flex;gap:10px;align-items:flex-end}.message-composer textarea{flex:1;resize:vertical;min-height:48px}.message-attach-btn{width:36px;height:36px;border-radius:50%;border:1px solid #cbd5e1;background:#f8fafc;color:#334155;display:inline-flex;align-items:center;justify-content:center;font-size:20px;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none}.message-attach-btn input{display:none}.composer-attachments{border-top:1px solid #e2e8f0;padding:8px 10px 10px;display:flex;flex-wrap:wrap;gap:6px}.composer-attachment-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #cbd5e1;border-radius:999px;padding:4px 8px;background:#f8fafc;font-size:11px}.composer-attachment-chip small{color:var(--text-muted)}.composer-attachment-chip button{border:none;background:transparent;color:#475569;font-size:12px;cursor:pointer;padding:0}.messages-empty{padding:20px;color:var(--text-muted);text-align:center}.messages-create-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:20px}.messages-create-modal{width:min(560px,100%);background:var(--white);border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);padding:16px}.messages-create-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.messages-create-header h2{margin:0;font-size:var(--text-xl)}.messages-create-close{width:30px;height:30px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:18px;cursor:pointer}.messages-create-close:hover{background:var(--bg-secondary)}.messages-user-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;max-height:280px;overflow-y:auto;padding-right:2px}.messages-user-option{display:inline-flex;align-items:center;gap:7px;border:1px solid #dbe3ec;border-radius:var(--radius-lg);padding:7px 8px;background:#f8fafc;font-size:var(--text-sm);color:var(--text-primary)}.messages-user-option.selected{border-color:var(--secondary-color);background:#eff6ff}.messages-user-option input{margin:0;accent-color:var(--secondary-color)}.messages-user-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;border:1px solid #d7dee8}.messages-user-avatar.fallback{display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;letter-spacing:.03em;background:linear-gradient(135deg,#dbeafe,#e2e8f0);color:#334155}.messages-create-hint{margin:8px 0 0;color:var(--text-muted);font-size:var(--text-xs)}.messages-create-actions{margin-top:12px;display:flex;justify-content:flex-end;gap:8px}@media (max-width: 900px){.messages-layout{grid-template-columns:1fr;min-height:auto}.messages-header{flex-direction:column;align-items:flex-start}}@media (max-width: 680px){.messages-page{padding:16px}.messages-user-picker{grid-template-columns:1fr}.message-composer{flex-direction:column}.message-composer .btn{width:100%}.messages-create-actions{flex-direction:column}.messages-create-actions .btn{width:100%}}.create-pipeline-modal{width:min(900px,calc(100% - 32px));max-width:900px;height:min(90vh,860px);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.create-pipeline-modal .modal-header{flex-shrink:0}.create-pipeline-modal .modal-body{flex:1;overflow-y:auto;scrollbar-gutter:stable both-edges}.form-section{margin-bottom:32px;padding-bottom:28px;border-bottom:1px solid var(--border-color)}.form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section h3{font-size:16px;font-weight:700;color:var(--text-primary);margin:0 0 16px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h3{margin:0}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.checkbox-group{flex-direction:row;align-items:center}.form-group.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer;margin:0}.form-group.checkbox-group input[type=checkbox]{width:auto;margin:0}.form-group label{font-size:13px;font-weight:600;color:var(--text-primary)}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;color:var(--text-primary);background:var(--white);transition:all var(--transition-fast)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.form-group textarea{resize:vertical;font-family:inherit}.stages-list{display:flex;flex-direction:column;gap:12px}.drag-hint{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted);margin:0 0 16px;padding:10px 14px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px dashed #0ea5e9;border-radius:8px}.drag-hint svg{color:#0ea5e9;flex-shrink:0}.stage-item{border:1px solid var(--border-color);border-radius:12px;background:var(--white);overflow:hidden;cursor:move;transition:all .2s ease;position:relative}.stage-item:hover{box-shadow:0 4px 12px #0ea5e926;transform:translateY(-1px)}.stage-item.dragging{opacity:.5;border:2px dashed #0ea5e9;background:#f0f9ff}.stage-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;cursor:pointer;background:var(--bg-secondary);transition:background var(--transition-fast)}.stage-header:hover{background:var(--background-gray)}.stage-header-left{display:flex;align-items:center;gap:10px;flex:1}.drag-handle{display:flex;align-items:center;justify-content:center;cursor:grab;color:#94a3b8;transition:color var(--transition-fast);padding:2px;margin-left:-4px}.drag-handle:hover{color:#0ea5e9}.drag-handle:active{cursor:grabbing;color:#0284c7}.stage-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.stage-name{font-weight:600;color:var(--text-primary);font-size:14px}.stage-meta{font-size:12px;color:var(--text-muted);padding:2px 8px;background:var(--white);border-radius:12px}.stage-header-right{display:flex;align-items:center;gap:8px}.stage-content{padding:20px;background:var(--white);border-top:1px solid var(--border-color)}.color-picker{display:flex;gap:8px;flex-wrap:wrap}.color-option{width:32px;height:32px;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:all var(--transition-fast);position:relative}.color-option:hover{transform:scale(1.1)}.color-option.active{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--white)}.color-option.active:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--white);font-size:14px;font-weight:700}.subsection{margin-top:20px;padding:16px;background:var(--bg-secondary);border-radius:10px}.subsection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.subsection-header label{font-size:13px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.empty-message{text-align:center;padding:16px;color:var(--text-muted);font-size:13px;background:var(--white);border-radius:8px;margin:0}.requirements-list{display:flex;flex-direction:column;gap:8px}.requirement-item{display:flex;gap:8px;align-items:flex-start;background:var(--white);padding:10px;border-radius:8px;border:1px solid var(--border-color)}.requirement-fields{display:grid;grid-template-columns:150px 1fr 120px;gap:8px;flex:1}.requirement-type,.requirement-desc,.requirement-config{padding:8px 10px;border:1px solid var(--border-color);border-radius:6px;font-size:13px;background:var(--white)}.requirement-config{grid-column:3}.requirement-persist-toggle{grid-column:1 / -1;display:flex;align-items:center;gap:8px;margin:0;font-size:12px;color:var(--text-secondary);cursor:pointer}.requirement-persist-toggle input[type=checkbox]{width:auto;margin:0}.auto-tasks-list{display:flex;flex-direction:column;gap:8px}.auto-task-item{display:flex;gap:8px;align-items:flex-start;background:var(--white);padding:10px;border-radius:8px;border:1px solid var(--border-color)}.auto-task-fields{display:grid;grid-template-columns:2fr 2fr 100px 180px 120px;gap:8px;flex:1;align-items:end}.auto-task-title,.auto-task-desc,.auto-task-priority,.auto-task-days{padding:8px 10px;border:1px solid var(--border-color);border-radius:6px;font-size:13px;background:var(--white)}.auto-task-days{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.auto-task-days::-webkit-outer-spin-button,.auto-task-days::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.auto-task-timing-field{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600;color:var(--text-secondary)}.custom-fields-list{display:flex;flex-direction:column;gap:10px}.custom-field-item{display:flex;gap:10px;align-items:center;background:var(--bg-secondary);padding:12px;border-radius:10px;border:1px solid var(--border-color)}.custom-field-fields{display:grid;grid-template-columns:1.5fr 1.5fr 120px 100px;gap:10px;flex:1;align-items:center}.custom-field-name,.custom-field-label,.custom-field-type{padding:8px 10px;border:1px solid var(--border-color);border-radius:6px;font-size:13px;background:var(--white)}.custom-field-required{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);cursor:pointer;margin:0}.custom-field-required input[type=checkbox]{width:auto;margin:0}.btn-sm{padding:6px 12px;font-size:13px}.btn-xs{padding:4px 10px;font-size:12px}.btn-icon-danger{color:var(--text-danger)}.btn-icon-danger:hover{background:var(--surface-danger)}@media (max-width: 768px){.create-pipeline-modal{width:calc(100% - 16px);max-width:95vw;height:min(92vh,860px)}.form-row,.requirement-fields{grid-template-columns:1fr}.requirement-config{grid-column:auto}.auto-task-fields,.custom-field-fields{grid-template-columns:1fr}.stage-header-left{flex-wrap:wrap}}.pipelines-page{padding:25px;background:var(--background-gray);min-height:calc(100vh - 64px)}.pipelines-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.pipelines-header-actions{display:flex;align-items:center;gap:10px}.pipelines-header h1{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;color:var(--text-primary);margin:0}.pipelines-header p{font-size:var(--text-sm);color:var(--text-secondary);margin:4px 0 0}.pipelines-success-banner{margin-bottom:12px;padding:10px 12px;border-radius:var(--radius-lg);border:1px solid #86efac;background:#dcfce7;color:#166534;font-size:var(--text-sm);font-weight:600}.pipelines-error-banner{margin-bottom:12px;padding:10px 12px;border-radius:var(--radius-lg);border:1px solid #fecaca;background:var(--error-light);color:var(--error-dark);font-size:var(--text-sm);font-weight:600}.pipelines-filters{display:flex;gap:8px;margin-bottom:24px}.filter-btn{padding:8px 16px;border:1.5px solid #e5e7eb;background:#fff;border-radius:8px;font-size:14px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s}.filter-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.filter-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.pipelines-loading{text-align:center;padding:60px 20px;color:var(--text-secondary)}.pipelines-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px}@media (max-width: 768px){.pipelines-grid{grid-template-columns:1fr}}.pipeline-card{background:#fff;border:1.5px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .2s}.pipeline-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #00000014}.pipeline-card.inactive{opacity:.6;background:#f9fafb}.pipeline-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.pipeline-card-header h3{font-size:18px;font-weight:700;color:var(--text-primary);margin:0 0 6px}.pipeline-type-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.pipeline-type-badge.buyer{background:#dbeafe;color:#1e40af}.pipeline-type-badge.seller{background:#d1fae5;color:#065f46}.pipeline-card-actions{display:flex;gap:4px}.btn-icon{padding:6px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:var(--background-gray);color:var(--text-primary)}.btn-icon.text-danger:hover{background:#fef2f2;color:#dc2626}.pipeline-description{font-size:14px;color:var(--text-secondary);margin:0 0 16px;line-height:1.5}.pipeline-stages{margin:16px 0}.pipeline-stages-label{font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;margin-bottom:10px;display:block}.pipeline-stage-flow{display:flex;flex-direction:column;gap:8px}.pipeline-stage-flow-item{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:10px;row-gap:4px;align-items:start}.pipeline-stage-marker{width:24px;height:24px;border-radius:999px;color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0f172a33}.pipeline-stage-content{min-width:0;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc;padding:6px 10px}.pipeline-stage-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.pipeline-stage-name{font-size:13px;font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pipeline-stage-probability{flex-shrink:0;font-size:11px;font-weight:700;color:var(--text-secondary);background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:1px 7px}.pipeline-stage-requirements{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:#b45309}.pipeline-stage-requirements svg{flex-shrink:0}.pipeline-stage-summary-badges{margin-top:5px;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.pipeline-stage-tasks{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:#1d4ed8}.pipeline-stage-tasks svg{flex-shrink:0}.pipeline-stage-connector{grid-column:1;justify-self:center;width:2px;min-height:14px;border-radius:999px;position:relative}.pipeline-stage-connector-arrow{position:absolute;left:50%;bottom:-9px;transform:translate(-50%);color:var(--text-muted)}.pipeline-custom-fields{margin:12px 0}.custom-fields-label{display:inline-block;padding:4px 10px;background:#f3f4f6;border-radius:6px;font-size:12px;font-weight:600;color:var(--text-secondary)}.pipeline-card-footer{margin-top:16px;padding-top:12px;border-top:1px solid #e5e7eb}.pipeline-card-footer-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.pipeline-meta{font-size:12px;color:var(--text-muted)}.pipeline-total-tasks{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:2px 8px}.pipeline-total-tasks svg{flex-shrink:0}.settings-page{padding:25px;background:var(--background-gray);min-height:calc(100vh - 64px);width:100%;max-width:100%;overflow-x:hidden}.settings-header{margin-bottom:22px}.settings-header h1{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin:0}.settings-header p{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-secondary);margin:2px 0 0;display:inline-block;position:relative;line-height:1.5}.settings-header p:after{content:"";position:absolute;bottom:-8px;left:0;width:40px;height:3px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--primary-color),var(--secondary-color))}.settings-layout{display:flex;gap:24px;align-items:flex-start}.settings-nav{flex-shrink:0;width:210px;display:flex;flex-direction:column;gap:2px;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:8px;position:sticky;top:80px;box-shadow:var(--shadow-sm)}.settings-nav-item{display:flex;flex-direction:column;gap:1px;padding:10px 14px;border-radius:var(--radius-lg);border:none;background:transparent;text-align:left;cursor:pointer;transition:all .15s}.settings-nav-item:hover{background:var(--background-gray)}.settings-nav-label{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.settings-nav-desc{font-family:var(--font-sans);font-size:11px;color:var(--text-muted);font-weight:500}.settings-nav-item.active{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));box-shadow:0 2px 8px #0000001a}.settings-nav-item.active .settings-nav-label,.settings-nav-item.active .settings-nav-desc{color:#fff}.settings-content{flex:1;min-width:0}.settings-tab-sections{display:flex;flex-direction:column;gap:18px}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px;align-items:start;grid-auto-flow:row dense;min-width:0}.settings-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:22px 25px;box-shadow:var(--shadow-sm);transition:all var(--transition-normal);height:fit-content;min-width:0}.settings-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.settings-card h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--text-primary);margin:0 0 4px;display:flex;align-items:center;gap:9px;letter-spacing:-.01em}.settings-card h2:before{content:"";display:block;width:4px;height:18px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);border-radius:var(--radius-sm);flex-shrink:0}.settings-card p{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5;margin:0 0 18px}.settings-card .form-group:last-child{margin-bottom:0}.settings-error{margin-bottom:10px;border:1px solid #fecaca;background:#fef2f2;color:#991b1b;border-radius:var(--radius-lg);padding:9px 11px;font-size:var(--text-sm)}.settings-success{margin-bottom:10px;border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;border-radius:var(--radius-lg);padding:9px 11px;font-size:var(--text-sm)}.settings-warning{margin-bottom:10px;border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;border-radius:var(--radius-lg);padding:9px 11px;font-size:var(--text-sm)}.settings-card-wide{grid-column:1 / -1}.settings-readonly-row{display:flex;flex-direction:column;gap:3px;padding:8px 0;border-bottom:1px dashed var(--border-color)}.settings-readonly-row:last-child{border-bottom:none}.settings-readonly-row label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;font-weight:700;letter-spacing:.05em}.settings-readonly-row div{font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.settings-pwa-actions{display:flex;gap:8px;margin-bottom:12px}.settings-pwa-help{margin-top:10px;font-size:var(--text-xs);color:var(--text-muted)}.settings-esign-form{margin-top:12px}.settings-fieldset{border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:14px 16px 10px;margin:0 0 14px}.settings-fieldset legend{font-size:var(--text-xs);font-weight:700;color:var(--text-secondary);padding:0 6px}.form-hint{display:block;font-size:11px;color:var(--text-muted);margin-top:3px}.settings-checkbox{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-size:var(--text-sm);color:var(--text-secondary)}.invite-form{display:grid;grid-template-columns:1fr 180px auto;gap:10px;align-items:end}.settings-table-wrap{margin-top:14px;overflow-x:auto;-webkit-overflow-scrolling:touch}.settings-table-wrap h3{margin:0 0 8px;font-size:var(--text-sm);color:var(--text-primary)}.settings-table{width:100%;border-collapse:collapse;border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.settings-table th,.settings-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--background-gray);font-size:var(--text-sm);overflow-wrap:break-word;word-break:break-word}.settings-table th{background:var(--bg-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.settings-table tr:last-child td{border-bottom:none}.settings-user-cell{display:inline-flex;align-items:center;gap:8px;min-width:0}.settings-user-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;border:1px solid #d7dee8;flex-shrink:0}.settings-user-avatar.fallback{display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;letter-spacing:.03em;color:#334155;background:linear-gradient(135deg,#dbeafe,#e2e8f0)}.settings-photo-actions{display:inline-flex;align-items:center;gap:6px}.settings-photo-upload,.settings-photo-remove{border:1px solid var(--border-color);background:var(--white);color:var(--text-secondary);border-radius:var(--radius-md);padding:4px 9px;font-size:11px;font-weight:700}.settings-photo-upload{cursor:pointer}.settings-photo-upload:hover,.settings-photo-remove:hover{border-color:var(--secondary-color);color:var(--secondary-color)}.settings-photo-upload.disabled,.settings-photo-remove:disabled{opacity:.55;cursor:not-allowed}.settings-table code{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.invite-link-cell{display:flex;align-items:center;gap:6px;min-width:0}.invite-link-cell .invite-link-code{display:inline-block;white-space:normal;word-break:break-all;overflow:visible;text-overflow:clip;font-size:11px;flex:1;min-width:0}.btn-copy{flex-shrink:0;border:1px solid var(--border-color);background:var(--white);color:var(--text-secondary);border-radius:var(--radius-md);padding:3px 8px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}.btn-copy:hover{border-color:var(--secondary-color);color:var(--secondary-color)}.settings-actions{display:flex;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid var(--background-gray)}.settings-form-group{margin-bottom:12px}.settings-form-group label{display:block;font-size:var(--text-xs);font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.settings-form-group input{width:100%}.settings-form-row{display:flex;gap:12px;align-items:flex-start}@media (max-width: 768px){.settings-page{padding:18px}.settings-layout{flex-direction:column;gap:16px}.settings-nav{width:100%;flex-direction:row;overflow-x:auto;position:static;padding:6px;gap:4px}.settings-nav-item{flex-shrink:0;padding:8px 12px}.settings-nav-desc{display:none}.settings-grid,.invite-form{grid-template-columns:1fr}.settings-pwa-actions{flex-direction:column}.settings-table th,.settings-table td{padding:8px}.settings-table code{white-space:normal;word-break:break-all;overflow:visible;text-overflow:clip}}.settings-lead-sources-list{display:flex;flex-direction:column;gap:6px}.settings-lead-source-row{display:flex;align-items:center;justify-content:space-between;background:var(--surface-white, #fff);border:1px solid #e2e8f0;border-radius:6px;padding:8px 12px;font-size:14px;gap:10px}.settings-lead-source-color{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:26px;height:26px;min-width:26px;border:2px solid #e2e8f0;border-radius:50%;padding:0;cursor:pointer;background:none;overflow:hidden}.settings-lead-source-color::-webkit-color-swatch-wrapper{padding:0}.settings-lead-source-color::-webkit-color-swatch{border:none;border-radius:50%}.settings-lead-source-color::-moz-color-swatch{border:none;border-radius:50%}.settings-lead-source-row span{flex:1;min-width:0}.settings-lead-source-delete{background:none;border:1px solid #e2e8f0;border-radius:4px;padding:3px 10px;font-size:12px;color:#64748b;cursor:pointer;transition:all .15s}.settings-lead-source-delete:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.ai-assistant-page{padding:25px;background:var(--background-gray);min-height:calc(100vh - 64px)}.ai-assistant-header{margin-bottom:20px}.ai-assistant-header h1{margin:0;font-size:var(--text-4xl);color:var(--text-primary)}.ai-assistant-header p{margin:4px 0 0;color:var(--text-secondary);font-size:var(--text-sm)}.ai-assistant-layout{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:14px;align-items:start}.ai-assistant-panel,.ai-assistant-chat-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm)}.ai-assistant-panel{padding:14px}.ai-assistant-panel h2{margin:0 0 10px;font-size:var(--text-lg);color:var(--text-primary)}.ai-assistant-suggestions{display:flex;flex-direction:column;gap:8px}.ai-assistant-suggestion{text-align:left;border:1px solid #dbe3ec;background:#f8fafc;color:#1e293b;border-radius:var(--radius-lg);padding:9px 10px;font-size:var(--text-sm);font-weight:600}.ai-assistant-suggestion:hover{border-color:var(--secondary-color);color:var(--secondary-color);background:#eff6ff}.ai-assistant-note{margin-top:12px;font-size:var(--text-xs);color:var(--text-muted)}.ai-assistant-chat-card{display:grid;grid-template-rows:minmax(320px,1fr) auto;min-height:68vh}.ai-assistant-chat-log{padding:14px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--background-gray)}.ai-assistant-message{border-radius:var(--radius-lg);padding:10px 11px;max-width:92%}.ai-assistant-message.user{margin-left:auto;background:#dbeafe;border:1px solid #bfdbfe}.ai-assistant-message.assistant{margin-right:auto;background:#f8fafc;border:1px solid #dbe3ec}.ai-assistant-message.assistant.loading{opacity:.8}.ai-assistant-message-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:700;margin-bottom:4px}.ai-assistant-message-content{font-size:var(--text-sm);color:var(--text-primary);white-space:pre-wrap;line-height:1.5}.ai-assistant-message-meta{margin-top:7px;font-size:10px;color:var(--text-muted)}.ai-assistant-composer{padding:12px;display:flex;flex-direction:column;gap:8px}.ai-assistant-composer textarea{width:100%;resize:vertical;min-height:88px}.ai-assistant-composer-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:var(--text-xs);color:var(--text-muted)}.ai-assistant-error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b;border-radius:var(--radius-lg);padding:8px 10px;font-size:var(--text-sm)}@media (max-width: 980px){.ai-assistant-layout{grid-template-columns:1fr}.ai-assistant-chat-card{min-height:72vh}}.post-sale-page{padding:24px;display:flex;flex-direction:column;gap:16px}.post-sale-header h1{margin:0}.post-sale-header p{margin:4px 0 0;color:#64748b}.post-sale-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:10px;padding:10px 12px}.post-sale-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.post-sale-kpi{border:1px solid #e2e8f0;border-radius:12px;padding:12px;background:#fff}.post-sale-kpi span{color:#64748b;font-size:.85rem}.post-sale-kpi strong{display:block;margin-top:6px;font-size:1.1rem;color:#0f172a}.post-sale-toolbar{display:grid;grid-template-columns:1fr 190px auto;gap:10px}.post-sale-toolbar input,.post-sale-toolbar select{border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px}.post-sale-loading,.post-sale-empty{border:1px dashed #cbd5e1;border-radius:12px;padding:18px;color:#64748b;text-align:center}.post-sale-table-wrap{border:1px solid #e2e8f0;border-radius:12px;overflow:auto;background:#fff}.post-sale-table{width:100%;border-collapse:collapse;min-width:980px}.post-sale-table th,.post-sale-table td{border-bottom:1px solid #f1f5f9;padding:10px 12px;text-align:left;vertical-align:top}.post-sale-table th{font-size:.78rem;color:#475569;text-transform:uppercase;letter-spacing:.03em;background:#f8fafc}.post-sale-row-meta{color:#64748b;font-size:.8rem}.post-sale-status{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:.74rem;text-transform:capitalize;background:#e2e8f0;color:#334155}.post-sale-status.lead,.post-sale-status.proposal,.post-sale-status.quoted,.post-sale-status.negotiation{background:#dbeafe;color:#1d4ed8}.post-sale-status.active,.post-sale-status.won,.post-sale-status.completed{background:#dcfce7;color:#166534}.post-sale-status.lost{background:#fee2e2;color:#991b1b}.post-sale-actions{display:flex;gap:6px}.post-sale-modal{width:min(980px,94vw)}@media (max-width: 900px){.post-sale-page{padding:16px}.post-sale-toolbar{grid-template-columns:1fr}}.subscription-page{padding:24px;min-height:calc(100vh - 64px);background:var(--background-gray)}.subscription-header{margin-bottom:18px}.subscription-info,.subscription-error{margin-bottom:12px;border-radius:var(--radius-lg);padding:10px 12px;font-size:var(--text-sm)}.subscription-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a}.subscription-error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b}.subscription-loading{padding:16px}.subscription-status{margin-bottom:18px}.subscription-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.subscription-status-grid label{display:block;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:3px}.subscription-status-grid div{font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.subscription-actions{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}.subscription-help{margin-top:10px;font-size:var(--text-xs);color:var(--text-muted)}.subscription-plans h2{margin:0 0 10px;font-size:var(--text-2xl)}.subscription-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.subscription-plan-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:14px;display:flex;flex-direction:column;gap:10px}.subscription-plan-card.current{border-color:#93c5fd;box-shadow:0 0 0 1px #bfdbfe}.subscription-plan-card header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.subscription-plan-card h3{margin:0;font-size:var(--text-xl)}.subscription-price{font-weight:700;color:var(--text-primary);font-size:var(--text-sm)}.subscription-plan-card p{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.subscription-plan-breakdown{display:grid;gap:4px;font-size:var(--text-xs);color:var(--text-secondary)}.subscription-plan-breakdown strong{color:var(--text-primary)}.subscription-plan-card small{color:#b45309;font-size:var(--text-xs)}@media (max-width: 768px){.subscription-page{padding:18px}}.subscription-country-select{display:flex;align-items:center;gap:8px}.subscription-country-select select{font-size:var(--text-sm);padding:4px 8px;border-radius:var(--radius-md, 6px);border:1px solid var(--border-color, #d1d5db);background:var(--white, #fff);color:var(--text-primary, #111827);font-weight:600}.subscription-country-saving{font-size:var(--text-xs);color:var(--text-muted);font-weight:400}.profiles-page{padding:25px;background:var(--background-gray);min-height:calc(100vh - 64px)}.profiles-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.profiles-header h1{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;color:var(--text-primary);margin:0}.profiles-header p{font-size:var(--text-sm);color:var(--text-secondary);margin:4px 0 0}.profiles-error-banner{margin-bottom:12px;padding:10px 12px;border-radius:var(--radius-lg);border:1px solid #fecaca;background:var(--error-light);color:var(--error-dark);font-size:var(--text-sm);font-weight:600}.profiles-success-banner{margin-bottom:12px;padding:10px 12px;border-radius:var(--radius-lg);border:1px solid #86efac;background:#dcfce7;color:#166534;font-size:var(--text-sm);font-weight:600}.profiles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.profile-card{background:#fff;border:1.5px solid #e5e7eb;border-radius:var(--radius-lg);padding:20px;transition:border-color .2s}.profile-card:hover{border-color:var(--primary-color)}.profile-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.profile-card-header h3{margin:0;font-size:var(--text-lg);font-weight:700;color:var(--text-primary)}.profile-card-badges{display:flex;gap:6px}.profile-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.profile-badge.system{background:#dbeafe;color:#1d4ed8}.profile-badge.locked{background:#fee2e2;color:#991b1b}.profile-badge.custom{background:#f0fdf4;color:#166534}.profile-card-description{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 16px;line-height:1.5}.profile-card-modules{margin-bottom:16px}.profile-card-modules-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.profile-module-tags{display:flex;flex-wrap:wrap;gap:6px}.module-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:500;background:#f3f4f6;color:var(--text-secondary)}.module-tag.granted{background:#ecfdf5;color:#047857}.module-tag.denied{background:#fef2f2;color:#b91c1c;opacity:.6}.profile-card-actions{display:flex;gap:8px;padding-top:16px;border-top:1px solid #f3f4f6}.profile-card-actions button{flex:1;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;border:1.5px solid #e5e7eb;background:#fff;color:var(--text-secondary)}.profile-card-actions button:hover{border-color:var(--primary-color);color:var(--primary-color)}.profile-card-actions button.danger:hover{border-color:var(--error-dark);color:var(--error-dark)}.profile-card-actions button:disabled{opacity:.4;cursor:not-allowed}.profile-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.profile-modal{background:#fff;border-radius:16px;width:100%;max-width:640px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000026}.profile-modal-header{padding:24px 24px 0}.profile-modal-header h2{margin:0 0 4px;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--text-primary)}.profile-modal-header p{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.profile-modal-body{padding:20px 24px}.profile-form-group{margin-bottom:16px}.profile-form-group label{display:block;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.profile-form-group input,.profile-form-group textarea{width:100%;padding:10px 12px;border:1.5px solid #e5e7eb;border-radius:8px;font-size:14px;color:var(--text-primary);transition:border-color .2s;box-sizing:border-box}.profile-form-group input:focus,.profile-form-group textarea:focus{outline:none;border-color:var(--primary-color)}.profile-form-group textarea{resize:vertical;min-height:60px}.permissions-section{margin-top:20px}.permissions-section-title{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.permission-module-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid #f3f4f6}.permission-module-row:last-child{border-bottom:none}.permission-module-toggle{flex-shrink:0;margin-top:2px}.permission-module-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-color)}.permission-module-info{flex:1;min-width:0}.permission-module-name{font-size:14px;font-weight:600;color:var(--text-primary)}.permission-module-type{font-size:11px;color:var(--text-secondary);margin-top:2px}.permission-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.permission-action-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1.5px solid #e5e7eb;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;background:#fff;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.permission-action-chip.active{background:#ecfdf5;border-color:#10b981;color:#047857}.permission-action-chip.disabled{opacity:.4;cursor:not-allowed}.profile-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 24px}.profile-modal-footer button{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.profile-modal-footer .btn-cancel{border:1.5px solid #e5e7eb;background:#fff;color:var(--text-secondary)}.profile-modal-footer .btn-cancel:hover{border-color:var(--primary-color);color:var(--primary-color)}.profile-modal-footer .btn-save{border:none;background:var(--primary-color);color:#fff}.profile-modal-footer .btn-save:hover{opacity:.9}.profile-modal-footer .btn-save:disabled{opacity:.5;cursor:not-allowed}.profile-modal-error{padding:10px 12px;margin:0 24px 12px;border-radius:8px;border:1px solid #fecaca;background:#fef2f2;color:#991b1b;font-size:13px;font-weight:500}.delete-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100;padding:24px}.delete-confirm-dialog{background:#fff;border-radius:16px;padding:24px;max-width:420px;width:100%;box-shadow:0 20px 60px #00000026}.delete-confirm-dialog h3{margin:0 0 8px;font-size:var(--text-lg);font-weight:700;color:var(--text-primary)}.delete-confirm-dialog p{margin:0 0 20px;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.delete-confirm-actions{display:flex;justify-content:flex-end;gap:10px}.delete-confirm-actions button{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.delete-confirm-actions .btn-cancel{border:1.5px solid #e5e7eb;background:#fff;color:var(--text-secondary)}.delete-confirm-actions .btn-delete{border:none;background:#ef4444;color:#fff}.delete-confirm-actions .btn-delete:hover{background:#dc2626}.profiles-loading{text-align:center;padding:60px 24px;color:var(--text-secondary);font-size:var(--text-sm)}.profiles-access-denied{text-align:center;padding:80px 24px}.profiles-access-denied h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);margin:0 0 8px}.profiles-access-denied p{color:var(--text-secondary);font-size:var(--text-sm)}@media (max-width: 768px){.profiles-page{padding:16px}.profiles-grid{grid-template-columns:1fr}.profile-modal{max-width:100%}}.admin-billing-page{padding:24px;min-height:calc(100vh - 64px);background:var(--background-gray)}.admin-billing-header{margin-bottom:18px}.admin-billing-error{margin-bottom:12px;border:1px solid #fecaca;background:#fef2f2;color:#991b1b;border-radius:var(--radius-lg);padding:10px 12px;font-size:var(--text-sm)}.admin-billing-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);padding:16px;margin-bottom:14px}.admin-billing-card h2{margin:0 0 10px;font-size:var(--text-2xl)}.admin-billing-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;align-items:center}.admin-billing-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;font-size:var(--text-xs);color:var(--text-secondary)}.admin-billing-note{margin-top:8px;font-size:var(--text-xs);color:var(--text-muted)}.admin-billing-checkbox{display:inline-flex;gap:6px;align-items:center;font-size:var(--text-xs);color:var(--text-secondary)}.admin-billing-checkbox.compact{white-space:nowrap}.admin-billing-table-wrap{overflow-x:auto}.admin-billing-table{width:100%;border-collapse:collapse;table-layout:fixed}.admin-billing-table th,.admin-billing-table td{border-bottom:1px solid var(--background-gray);padding:8px;text-align:left;vertical-align:top;font-size:var(--text-sm)}.admin-billing-table th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-secondary)}.admin-billing-table input,.admin-billing-table select{width:100%;margin-bottom:4px}.admin-billing-table tr:last-child td{border-bottom:none}.admin-billing-sub{font-size:var(--text-xs);color:var(--text-muted)}.admin-billing-row-actions{display:flex;gap:6px;flex-wrap:wrap}@media (max-width: 768px){.admin-billing-page{padding:18px}.admin-billing-form{grid-template-columns:1fr}}.admin-ai-page{padding:24px;min-height:calc(100vh - 64px);background:var(--background-gray)}.admin-ai-header{margin-bottom:18px}.admin-ai-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);padding:16px;margin-bottom:14px}.admin-ai-card h2{margin:0 0 10px;font-size:var(--text-2xl)}.admin-ai-form{display:flex;flex-direction:column;gap:12px}.admin-ai-checkbox{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--text-primary)}.admin-ai-field{display:flex;flex-direction:column;gap:6px}.admin-ai-field label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700}.admin-ai-field small{font-size:var(--text-xs);color:var(--text-muted)}.admin-ai-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-ai-metadata{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;font-size:var(--text-sm);color:var(--text-primary)}.admin-ai-metadata strong{color:var(--text-secondary);margin-right:6px}.admin-ai-error{margin-bottom:12px;border:1px solid #fecaca;background:#fef2f2;color:#991b1b;border-radius:var(--radius-lg);padding:10px 12px;font-size:var(--text-sm)}.admin-ai-success{margin-bottom:12px;border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;border-radius:var(--radius-lg);padding:10px 12px;font-size:var(--text-sm)}@media (max-width: 768px){.admin-ai-page{padding:18px}}.admin-social-page{padding:24px;min-height:calc(100vh - 64px);background:var(--background-gray)}.admin-social-header{margin-bottom:18px}.admin-social-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);padding:16px;margin-bottom:14px}.admin-social-card h2{margin:0 0 10px;font-size:var(--text-2xl)}.admin-social-card p.card-description{margin:-4px 0 14px;font-size:var(--text-sm);color:var(--text-muted)}.admin-social-form{display:flex;flex-direction:column;gap:12px}.admin-social-field{display:flex;flex-direction:column;gap:6px}.admin-social-field label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700}.admin-social-field small{font-size:var(--text-xs);color:var(--text-muted)}.admin-social-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-social-metadata{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;font-size:var(--text-sm);color:var(--text-primary)}.admin-social-metadata strong{color:var(--text-secondary);margin-right:6px}.admin-social-divider{border:none;border-top:1px solid var(--border-color);margin:16px 0}.admin-social-error{margin-bottom:12px;border:1px solid #fecaca;background:#fef2f2;color:#991b1b;border-radius:var(--radius-lg);padding:10px 12px;font-size:var(--text-sm)}.admin-social-success{margin-bottom:12px;border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;border-radius:var(--radius-lg);padding:10px 12px;font-size:var(--text-sm)}@media (max-width: 768px){.admin-social-page{padding:18px}}.admin-users-page{padding:24px;min-height:calc(100vh - 64px);background:var(--background-gray)}.admin-users-header{margin-bottom:18px}.admin-users-header h1{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin:0}.admin-users-header p{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-secondary);margin:2px 0 0}.admin-users-error{margin-bottom:12px;border:1px solid #fecaca;background:#fef2f2;color:#991b1b;border-radius:var(--radius-lg);padding:10px 12px;font-size:var(--text-sm)}.admin-users-success{margin-bottom:12px;border:1px solid #bbf7d0;background:#f0fdf4;color:#16a34a;border-radius:var(--radius-lg);padding:10px 12px;font-size:var(--text-sm)}.admin-users-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);padding:16px;margin-bottom:14px}.admin-users-card h2{margin:0 0 12px;font-size:var(--text-2xl)}.admin-users-search{margin-bottom:14px}.admin-users-search input{width:100%;max-width:400px;padding:9px 14px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:var(--text-sm);box-sizing:border-box}.admin-users-search input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f614}.admin-users-table-wrap{overflow-x:auto}.admin-users-table{width:100%;border-collapse:collapse}.admin-users-table th,.admin-users-table td{border-bottom:1px solid var(--background-gray);padding:8px 10px;text-align:left;vertical-align:middle;font-size:var(--text-sm);overflow-wrap:break-word;word-break:break-word}.admin-users-table th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-secondary)}.admin-users-table tr:last-child td{border-bottom:none}.admin-users-tenant-name{font-weight:600;color:var(--text-primary)}.admin-users-sub{font-size:var(--text-xs);color:var(--text-muted)}.admin-users-status{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.admin-users-status.active{background:#dcfce7;color:#15803d}.admin-users-status.disabled{background:#fef2f2;color:#dc2626}.admin-users-status.invited{background:#fef9c3;color:#a16207}.admin-users-impersonate-btn{padding:5px 14px;background:linear-gradient(135deg,var(--primary-color, #3b82f6),var(--secondary-color, #8b5cf6));color:var(--white, #fff);border:none;border-radius:var(--radius-lg);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.admin-users-impersonate-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.admin-users-impersonate-btn:disabled{opacity:.6;cursor:not-allowed}.admin-users-impersonate-warning{margin-bottom:14px;padding:10px 14px;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius-lg);font-size:var(--text-sm);color:#92400e}.admin-users-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.admin-users-confirm-modal{background:var(--white, #fff);border-radius:var(--radius-2xl, 16px);max-width:420px;width:100%;box-shadow:0 20px 60px #0000004d;overflow:hidden}.admin-users-confirm-header{padding:20px 24px;border-bottom:1px solid var(--border-color, #e5e7eb)}.admin-users-confirm-header h3{margin:0;font-size:16px;font-weight:700;color:var(--text-primary)}.admin-users-confirm-body{padding:20px 24px;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6}.admin-users-confirm-body strong{color:var(--text-primary)}.admin-users-confirm-actions{display:flex;gap:10px;justify-content:flex-end;padding:14px 24px;border-top:1px solid var(--border-color, #e5e7eb)}.admin-users-confirm-actions button{padding:8px 18px;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all .15s}@media (max-width: 768px){.admin-users-page{padding:18px}}.admin-announcements-page{padding:24px;min-height:calc(100vh - 64px);background:var(--background-gray)}.admin-announcements-header{margin-bottom:18px}.admin-announcements-header h1{margin:0 0 4px;font-size:var(--text-2xl);color:var(--text-primary)}.admin-announcements-header p{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.admin-announcements-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);padding:20px;margin-bottom:16px}.admin-announcements-card h2{margin:0 0 12px;font-size:var(--text-lg);color:var(--text-primary);display:flex;align-items:center;gap:8px}.admin-announcements-card h2 svg{flex-shrink:0;color:var(--secondary-color)}.admin-announcements-card h3{margin:16px 0 8px;font-size:var(--text-sm);color:var(--text-primary);font-weight:700}.admin-announcements-card p,.admin-announcements-card li{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.7;margin:0 0 8px}.admin-announcements-card ul{padding-left:20px;margin:0 0 8px}.admin-announcements-card code{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:12px;background:var(--background-gray);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:1px 5px}.admin-announcements-code-block{background:#1e293b;color:#e2e8f0;border-radius:var(--radius-lg);padding:14px 16px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:12px;line-height:1.6;overflow-x:auto;margin:8px 0 12px;white-space:pre-wrap;word-break:break-all}.admin-announcements-code-block .code-comment{color:#64748b}.admin-announcements-code-block .code-key{color:#7dd3fc}.admin-announcements-code-block .code-string{color:#86efac}.admin-announcements-code-block .code-method{color:#fbbf24;font-weight:700}.admin-announcements-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);margin:8px 0 12px}.admin-announcements-table th{text-align:left;padding:8px 10px;background:var(--background-gray);border-bottom:2px solid var(--border-color);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700}.admin-announcements-table td{padding:8px 10px;border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:top}.admin-announcements-table td code{font-size:11px}.admin-announcements-tip{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:var(--info-light);border:1px solid #bfdbfe;border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--info-dark);margin-top:12px}.admin-announcements-tip svg{flex-shrink:0;margin-top:2px}@media (max-width: 768px){.admin-announcements-page{padding:18px}.admin-announcements-code-block{font-size:11px;padding:10px 12px}}.templates-page{padding:24px;background:var(--background-gray);min-height:calc(100vh - 64px)}.templates-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.templates-header h1{margin:0;font-size:var(--text-4xl);color:var(--text-primary)}.templates-header p{margin:6px 0 0;color:var(--text-secondary);font-size:var(--text-sm)}.templates-header-actions{display:flex;flex-wrap:wrap;gap:8px}.templates-error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b;border-radius:var(--radius-lg);padding:9px 11px;font-size:var(--text-sm);margin-bottom:12px}.templates-success{border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;border-radius:var(--radius-lg);padding:9px 11px;font-size:var(--text-sm);margin-bottom:12px}.templates-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:14px}.templates-sidebar,.templates-editor{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.templates-sidebar{display:flex;flex-direction:column;min-height:560px}.templates-sidebar-controls{padding:12px;border-bottom:1px solid var(--background-gray);display:flex;flex-direction:column;gap:8px}.templates-sidebar-controls input[type=text],.templates-sidebar-controls input:not([type]){width:100%}.templates-sidebar-controls input,.templates-editor input,.templates-editor select,.templates-editor textarea{border:1px solid #cbd5e1;border-radius:var(--radius-md);background:var(--white);font-size:var(--text-sm);color:var(--text-primary);padding:8px 10px}.templates-sidebar-controls label{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-xs);color:var(--text-secondary)}.templates-list{padding:10px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.templates-list-empty{padding:10px;font-size:var(--text-sm);color:var(--text-muted)}.templates-list-item{width:100%;text-align:left;border:1px solid #dbe3ec;border-radius:var(--radius-lg);background:#f8fafc;padding:9px 10px;cursor:pointer;transition:all var(--transition-fast)}.templates-list-item:hover{background:#f1f5f9;border-color:#cbd5e1}.templates-list-item.active{background:#eff6ff;border-color:#93c5fd}.templates-list-item-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.templates-list-item-header strong{font-size:var(--text-sm);color:var(--text-primary)}.templates-status-badge{font-size:10px;font-weight:700;border-radius:999px;padding:2px 6px;border:1px solid;text-transform:uppercase}.templates-status-badge.active{color:#0f766e;background:#ccfbf1;border-color:#5eead4}.templates-status-badge.archived{color:#92400e;background:#fef3c7;border-color:#fcd34d}.templates-list-item-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;font-size:11px;color:var(--text-muted)}.templates-editor{padding:14px}.templates-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:10px}.templates-editor .form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.templates-editor .form-group label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:600}.templates-json-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.templates-mode-toggle{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 10px}.templates-visual-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.templates-visual-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.templates-visual-hint{font-size:12px;color:var(--text-secondary)}.templates-visual-hint code{background:#e2e8f0;border-radius:6px;padding:1px 5px;font-size:11px;color:#1e293b}.templates-visual-editor{min-height:0;height:100%;border:1px solid #dbe3ec;border-radius:var(--radius-lg);overflow:hidden;background:#fff}.templates-preview-panel{border:1px solid #dbe3ec;border-radius:var(--radius-lg);background:#fff;overflow:hidden;margin-bottom:10px}.templates-preview-iframe{width:100%;min-height:520px;border:0;background:#fff}.templates-preview-empty{padding:18px;font-size:var(--text-sm);color:var(--text-muted)}.templates-advanced-toggle{margin:2px 0 10px}.templates-visual-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;opacity:0;pointer-events:none;transition:opacity var(--transition-fast)}.templates-visual-modal.open{opacity:1;pointer-events:auto}.templates-visual-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a80}.templates-visual-modal-panel{position:absolute;top:2vh;right:2vw;bottom:2vh;left:2vw;background:#fff;border:1px solid #dbe3ec;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column}.templates-visual-modal-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.templates-visual-modal-title{display:flex;flex-direction:column;gap:2px}.templates-visual-modal-title strong{color:var(--text-primary);font-size:var(--text-sm)}.templates-visual-modal-title span{color:var(--text-muted);font-size:11px}.templates-visual-modal-panel .templates-visual-editor{flex:1;border:none;border-radius:0}.templates-fallback-group textarea{min-height:130px}.templates-editor textarea{resize:vertical;min-height:120px;background:#f8fafc;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px}.templates-editor-meta{margin-top:2px;font-size:11px;color:var(--text-muted);display:flex;flex-direction:column;gap:3px}.templates-editor-actions{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}.templates-loading{color:var(--text-secondary);font-size:var(--text-sm)}@media (max-width: 1024px){.templates-grid{grid-template-columns:1fr}.templates-sidebar{min-height:0}.templates-editor-grid,.templates-json-grid{grid-template-columns:1fr}.templates-visual-toolbar{flex-direction:column;align-items:flex-start}.templates-visual-toolbar-actions{width:100%}.templates-preview-iframe{min-height:420px}.templates-visual-modal-panel{top:1vh;right:1vw;bottom:1vh;left:1vw}}.social-page{padding:25px;background:var(--background-gray);min-height:100vh}.social-header{margin-bottom:27px}.social-header h1{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em;line-height:1.2}.social-header p{font-size:var(--text-sm);color:var(--text-secondary);margin:2px 0 0;font-weight:500;position:relative;display:inline-block;line-height:1.5}.social-header p:after{content:"";position:absolute;bottom:-8px;left:0;width:40px;height:3px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--primary-color),var(--secondary-color))}.social-tabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:1px solid var(--border-color);padding-bottom:0}.social-tab-btn{padding:10px 18px;background:none;border:none;font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.social-tab-btn:hover{color:var(--text-primary)}.social-tab-btn.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.social-accounts-bar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.social-account-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:500;color:var(--text-primary)}.social-account-chip .platform-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.social-account-chip .platform-dot.facebook{background:#1877f2}.social-account-chip .platform-dot.instagram{background:#e1306c}.social-account-chip .platform-dot.linkedin{background:#0a66c2}.social-account-chip .disconnect-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:0 2px;line-height:1}.social-account-chip .disconnect-btn:hover{color:var(--error-color)}.no-accounts-msg{background:var(--card-bg);border:1px dashed var(--border-color);border-radius:var(--radius-md);padding:32px;text-align:center;color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:24px}.social-composer{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;margin-bottom:24px}.social-composer h3{font-size:var(--text-base);font-weight:700;color:var(--text-primary);margin:0 0 16px}.composer-textarea{width:100%;min-height:100px;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:12px;font-size:var(--text-sm);font-family:inherit;resize:vertical;background:var(--background-gray);color:var(--text-primary);box-sizing:border-box}.composer-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb, 59, 130, 246),.1)}.composer-options{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:14px}.composer-platform-toggles{display:flex;gap:8px}.platform-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-bg);font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s}.platform-toggle:hover{border-color:var(--text-secondary)}.platform-toggle.active{border-color:var(--primary-color);color:var(--primary-color);background:rgba(var(--primary-color-rgb, 59, 130, 246),.06)}.platform-toggle .platform-dot{width:8px;height:8px;border-radius:50%}.composer-media-input{flex:1;min-width:200px}.composer-media-input input{width:100%;padding:7px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-xs);background:var(--background-gray);color:var(--text-primary);box-sizing:border-box}.composer-media-input input::placeholder{color:var(--text-secondary)}.composer-vessel-select{min-width:180px}.composer-vessel-select select{width:100%;padding:7px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-xs);background:var(--background-gray);color:var(--text-primary)}.composer-actions{display:flex;gap:8px;margin-top:16px;justify-content:flex-end}.composer-btn{padding:9px 20px;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:opacity .15s}.composer-btn:disabled{opacity:.5;cursor:not-allowed}.composer-btn.draft{background:var(--background-gray);color:var(--text-primary);border:1px solid var(--border-color)}.composer-btn.publish{background:var(--primary-color);color:#fff}.composer-btn.publish:hover:not(:disabled){opacity:.9}.social-post-list{display:flex;flex-direction:column;gap:14px}.social-post-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:18px 20px;transition:box-shadow .15s}.social-post-card:hover{box-shadow:0 2px 12px #0000000f}.post-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.post-platform-badges{display:flex;gap:6px}.post-platform-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;text-transform:capitalize}.post-platform-badge.facebook{background:#1877f21a;color:#1877f2}.post-platform-badge.instagram{background:#e1306c1a;color:#e1306c}.post-platform-badge.linkedin{background:#0a66c21a;color:#0a66c2}.post-status-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600}.post-status-badge.draft{background:#6b72801a;color:#6b7280}.post-status-badge.scheduled{background:#f59e0b1a;color:#f59e0b}.post-status-badge.publishing{background:#3b82f61a;color:#3b82f6}.post-status-badge.published{background:#10b9811a;color:#10b981}.post-status-badge.failed{background:#ef44441a;color:#ef4444}.post-card-content{font-size:var(--text-sm);color:var(--text-primary);line-height:1.6;margin-bottom:10px;white-space:pre-wrap;word-break:break-word}.post-card-media{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.post-card-media img{width:80px;height:80px;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border-color)}.post-card-footer{display:flex;justify-content:space-between;align-items:center}.post-card-meta{font-size:var(--text-xs);color:var(--text-secondary)}.post-card-actions{display:flex;gap:6px}.post-action-btn{padding:5px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-bg);font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s}.post-action-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.post-action-btn.publish-btn{color:var(--primary-color);border-color:var(--primary-color)}.post-action-btn.publish-btn:hover{background:var(--primary-color);color:#fff}.post-action-btn.delete-btn:hover{border-color:var(--error-color);color:var(--error-color)}.post-error-msg{font-size:var(--text-xs);color:var(--error-color);margin-top:6px}.social-analytics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:24px}.analytics-platform-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px}.analytics-platform-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.analytics-platform-header .platform-dot{width:12px;height:12px;border-radius:50%}.analytics-platform-header h3{font-size:var(--text-base);font-weight:700;color:var(--text-primary);margin:0;text-transform:capitalize}.analytics-platform-header .post-count{font-size:var(--text-xs);color:var(--text-secondary);margin-left:auto}.analytics-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.analytics-metric{text-align:center}.analytics-metric .metric-value{font-size:var(--text-lg);font-weight:700;color:var(--text-primary)}.analytics-metric .metric-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-top:2px}.analytics-empty{background:var(--card-bg);border:1px dashed var(--border-color);border-radius:var(--radius-md);padding:40px;text-align:center;color:var(--text-secondary);font-size:var(--text-sm)}.social-settings-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;margin-bottom:20px}.social-settings-section h3{font-size:var(--text-base);font-weight:700;color:var(--text-primary);margin:0 0 6px}.social-settings-section p{font-size:var(--text-xs);color:var(--text-secondary);margin:0 0 16px}.social-connect-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.social-connect-card{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:18px;display:flex;align-items:center;gap:14px}.social-connect-card .platform-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:#fff;flex-shrink:0}.social-connect-card .platform-icon.facebook{background:#1877f2}.social-connect-card .platform-icon.instagram{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045)}.social-connect-card .platform-icon.linkedin{background:#0a66c2}.social-connect-card .connect-info{flex:1}.social-connect-card .connect-info h4{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);margin:0 0 2px;text-transform:capitalize}.social-connect-card .connect-info span{font-size:var(--text-xs);color:var(--text-secondary)}.social-connect-card .connect-status{font-size:var(--text-xs);font-weight:600;padding:4px 10px;border-radius:999px}.social-connect-card .connect-status.connected{background:#10b9811a;color:#10b981}.social-connect-card .connect-status.not-connected{background:#6b72801a;color:#6b7280}.connect-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.connect-action-btn{font-size:var(--text-xs);font-weight:600;padding:7px 16px;border-radius:6px;border:none;cursor:pointer;transition:all .15s ease;white-space:nowrap}.connect-action-btn.connect{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff}.connect-action-btn.connect:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.connect-action-btn.connect:disabled{opacity:.4;cursor:not-allowed}.connect-action-btn.disconnect{background:#ef444414;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.connect-action-btn.disconnect:hover{background:#ef444426}.social-connect-card.is-connected{border-color:#10b98140;background:#10b98105}.social-settings-notes{margin-top:20px;display:flex;flex-direction:column;gap:8px}.settings-note{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.5;padding:8px 12px;background:#6b72800a;border-radius:6px;border-left:3px solid var(--border-color)}.social-empty-state{text-align:center;padding:60px 24px;color:var(--text-secondary)}.social-empty-state .empty-icon{font-size:48px;margin-bottom:12px;opacity:.4}.social-empty-state h3{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin:0 0 4px}.social-empty-state p{font-size:var(--text-sm);margin:0}@media (max-width: 768px){.social-page{padding:16px}.composer-options{flex-direction:column;align-items:stretch}.analytics-metrics{grid-template-columns:repeat(2,1fr)}.social-analytics-grid{grid-template-columns:1fr}}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#dbeafe,#f8fafc 55%)}.auth-page-admin{background:radial-gradient(circle at top left,#dbeafe,#eef2ff 50%,#f8fafc)}.auth-card{width:min(480px,100%);background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:24px;box-shadow:var(--shadow-md)}.auth-card-admin{border-color:#bfdbfe}.auth-card h1{margin:0;font-family:var(--font-display);font-size:var(--text-3xl)}.auth-card>p{margin:4px 0 14px;color:var(--text-secondary);font-size:var(--text-sm)}.auth-mode-toggle{display:inline-flex;padding:3px;border-radius:var(--radius-lg);border:1px solid var(--border-color);background:var(--bg-secondary);margin-bottom:14px}.auth-mode-toggle button{border:none;background:transparent;font-size:var(--text-xs);font-weight:700;color:var(--text-secondary);border-radius:var(--radius-md);padding:6px 10px}.auth-mode-toggle button.active{background:var(--white);color:var(--text-primary);box-shadow:var(--shadow-sm)}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-form label{display:flex;flex-direction:column;gap:5px;font-size:var(--text-xs);font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.auth-form input{width:100%}.auth-error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b;border-radius:var(--radius-md);padding:8px 10px;font-size:var(--text-sm)}.auth-success{border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;border-radius:var(--radius-md);padding:8px 10px;font-size:var(--text-sm)}.auth-forgot-link{margin-top:8px;text-align:center}.auth-forgot-link .link-button{background:none;border:none;color:#2563eb;cursor:pointer;font-size:var(--text-sm);padding:0;text-decoration:underline}.auth-forgot-link .link-button:hover{color:#1d4ed8}.auth-hint{margin-top:10px;font-size:var(--text-xs);color:var(--text-muted)}:root{--primary-color: #0F172A;--primary-hover: #1E293B;--primary-light: #E2E8F0;--primary-dark: #020617;--secondary-color: #3B82F6;--secondary-hover: #2563EB;--secondary-light: #DBEAFE;--text-primary: #0F172A;--text-secondary: #64748B;--text-muted: #94A3B8;--text-light: #CBD5E1;--border-color: #E2E8F0;--border-hover: #CBD5E1;--background-gray: #F1F5F9;--background-dark: #E2E8F0;--white: #ffffff;--bg-primary: #ffffff;--bg-secondary: #F8FAFC;--success-color: #10B981;--success-light: #D1FAE5;--success-dark: #065F46;--warning-color: #D97706;--warning-light: #FEF3C7;--warning-dark: #92400E;--error-color: #EF4444;--error-light: #FEE2E2;--error-dark: #991B1B;--info-color: #3B82F6;--info-light: #DBEAFE;--info-dark: #1E3A5F;--font-display: "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Roboto Mono", monospace;--text-xs: .62rem;--text-sm: .73rem;--text-base: .79rem;--text-lg: .85rem;--text-xl: .95rem;--text-2xl: 1.15rem;--text-3xl: 1.35rem;--text-4xl: 1.46rem;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-8: 32px;--spacing-10: 40px;--spacing-12: 48px;--radius-sm: 4px;--radius-md: 7px;--radius-lg: 9px;--radius-xl: 12px;--radius-2xl: 18px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 2px 7px rgba(15, 23, 42, .06);--shadow-md: 0 4px 12px rgba(15, 23, 42, .1);--shadow-lg: 0 6px 20px rgba(15, 23, 42, .15);--shadow-xl: 0 12px 32px rgba(15, 23, 42, .2);--shadow-button: 0 2px 7px rgba(15, 23, 42, .15);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);background-color:var(--background-gray);line-height:1.5;font-size:var(--text-base)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-primary);font-weight:700;line-height:1.2;letter-spacing:-.02em}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-lg)}h4{font-size:var(--text-base)}p{color:var(--text-secondary);line-height:1.5}a{color:var(--secondary-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--secondary-hover)}button,.btn{font-family:var(--font-sans);font-weight:600;border:none;outline:none;cursor:pointer;transition:all var(--transition-normal)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:7px 14px;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;line-height:1.2;text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--primary-color);color:var(--white);box-shadow:var(--shadow-button)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--white);color:var(--text-primary);border:1.5px solid var(--border-color);box-shadow:none}.btn-secondary:hover:not(:disabled){border-color:var(--text-light);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}.btn-danger{background:var(--error-color);color:var(--white);box-shadow:var(--shadow-button)}.btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-1px)}.btn-danger-outline{background:var(--white);color:var(--error-color);border:1.5px solid var(--error-light)}.btn-danger-outline:hover:not(:disabled){background:var(--error-light)}.btn-success{background:var(--success-color);color:var(--white);box-shadow:var(--shadow-button)}.btn-success:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.btn-small{padding:5px 10px;font-size:var(--text-xs)}.btn-icon{padding:var(--spacing-2);min-width:32px;min-height:32px}input,select,textarea{font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-primary);background:var(--white);border:1.5px solid var(--border-color);border-radius:var(--radius-lg);padding:7px 11px;transition:all var(--transition-fast)}input:hover,select:hover,textarea:hover{border-color:var(--text-light)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--secondary-color);box-shadow:0 0 0 3px #3b82f61a}input::placeholder,textarea::placeholder{color:var(--text-muted)}.form-group{margin-bottom:var(--spacing-4)}.form-group label{display:block;margin-bottom:var(--spacing-2);font-weight:600;font-size:var(--text-sm);color:var(--text-primary)}.form-group input,.form-group select,.form-group textarea{width:100%}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-4);margin-bottom:var(--spacing-4)}.card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:22px 25px;box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin:0 0 14px;display:flex;align-items:center;gap:9px}.card-title:before{content:"";display:block;width:4px;height:18px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);border-radius:var(--radius-sm);flex-shrink:0}.page-header{margin-bottom:22px;padding:0}.page-header h1{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;color:var(--text-primary);letter-spacing:-.02em;line-height:1.2;margin:0}.page-header p{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-secondary);margin:2px 0 0;line-height:1.5;display:inline-block;position:relative}.page-header p:after{content:"";position:absolute;bottom:-8px;left:0;width:40px;height:3px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--primary-color),var(--secondary-color))}.badge{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:3px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.badge-primary{background:var(--secondary-light);color:var(--secondary-hover)}.badge-success{background:var(--success-light);color:var(--success-dark)}.badge-warning{background:var(--warning-light);color:var(--warning-dark)}.badge-error{background:var(--error-light);color:var(--error-dark)}.badge-info{background:var(--info-light);color:var(--info-dark)}.badge-neutral{background:var(--background-gray);color:var(--text-secondary)}.alert{padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-lg);margin-bottom:var(--spacing-4);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--spacing-2);border-left:4px solid}.alert-success{background:var(--success-light);color:var(--success-dark);border-color:var(--success-color)}.alert-warning{background:var(--warning-light);color:var(--warning-dark);border-color:var(--warning-color)}.alert-error{background:var(--error-light);color:var(--error-dark);border-color:var(--error-color)}.alert-info{background:var(--info-light);color:var(--info-dark);border-color:var(--info-color)}.empty-state{background:var(--white);border-radius:var(--radius-2xl);padding:var(--spacing-12) var(--spacing-8);text-align:center;color:var(--text-muted);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.loading{text-align:center;padding:var(--spacing-10);color:var(--text-muted)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (max-width: 768px){.page-header h1{font-size:1.17rem}.page-header p{font-size:.68rem}.form-row{grid-template-columns:1fr}.card{padding:18px}}
