:root{--primary: #0ac9d4;--primary-hover: #09b5bf;--primary-light: rgba(10, 201, 212, .12);--primary-border: rgba(10, 201, 212, .3);--navy: #0b3b4a;--navy-light: #145361;--gold: #c9a063;--gold-light: rgba(201, 160, 99, .15);--gold-border: rgba(201, 160, 99, .35);--destructive: #ef4444;--bg: #f4f5f7;--bg-card: #ffffff;--bg-sidebar: #0b3b4a;--bg-header: #ffffff;--bg-input: #ffffff;--bg-hover: rgba(0, 0, 0, .04);--text: #1a1a2e;--text-secondary: #6b7280;--text-muted: #9ca3af;--text-sidebar: rgba(255, 255, 255, .7);--text-sidebar-active: #ffffff;--border: #e5e7eb;--border-light: #f0f0f0;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 6px rgba(0, 0, 0, .07), 0 2px 4px rgba(0, 0, 0, .06);--radius: 10px;--radius-sm: 6px}@media(prefers-color-scheme:dark){:root:not(.light){--bg: #111318;--bg-card: #1a1d24;--bg-sidebar: #072e38;--bg-header: #1a1d24;--bg-input: #22262e;--bg-hover: rgba(255, 255, 255, .06);--text: #e8eaed;--text-secondary: #9aa0a9;--text-muted: #6b7280;--border: rgba(255, 255, 255, .1);--border-light: rgba(255, 255, 255, .06);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 1px 3px rgba(0, 0, 0, .4);--shadow-lg: 0 4px 6px rgba(0, 0, 0, .4);--primary-light: rgba(10, 201, 212, .15);--gold-light: rgba(201, 160, 99, .12)}}.dark{--bg: #111318;--bg-card: #1a1d24;--bg-sidebar: #072e38;--bg-header: #1a1d24;--bg-input: #22262e;--bg-hover: rgba(255, 255, 255, .06);--text: #e8eaed;--text-secondary: #9aa0a9;--text-muted: #6b7280;--border: rgba(255, 255, 255, .1);--border-light: rgba(255, 255, 255, .06);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 1px 3px rgba(0, 0, 0, .4);--shadow-lg: 0 4px 6px rgba(0, 0, 0, .4);--primary-light: rgba(10, 201, 212, .15);--gold-light: rgba(201, 160, 99, .12)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--navy);background-image:radial-gradient(ellipse at top,#145361,#0b3b4a,#072e38)}.login-card{background:var(--bg-card);border-radius:16px;padding:40px;width:400px;max-width:90vw;box-shadow:0 20px 60px #0000004d}.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:32px;justify-content:center}.login-logo-icon{width:44px;height:44px;background:var(--primary);border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:20px}.login-logo-text{font-size:24px;font-weight:700;color:var(--text)}.login-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:4px}.form-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.form-input{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;background:var(--bg-input);color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.login-btn{padding:10px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s;margin-top:8px}.login-btn:hover{background:var(--primary-hover)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--destructive);padding:8px 12px;border-radius:var(--radius-sm);font-size:13px}.login-divider{display:flex;align-items:center;gap:12px;margin:8px 0;color:var(--text-muted);font-size:12px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border)}.sso-buttons{display:flex;flex-direction:column;gap:10px}.sso-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;text-decoration:none}.sso-btn:hover{border-color:var(--primary);background:var(--primary-light)}.sso-btn svg{width:18px;height:18px;flex-shrink:0}.settings-card-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;padding:14px 18px}.settings-card-header:hover{background:var(--primary-light);border-radius:var(--radius)}.settings-card-header h3{margin-bottom:0}.settings-chevron{width:18px;height:18px;color:var(--text-muted);transition:transform .2s ease;flex-shrink:0}.settings-chevron.open{transform:rotate(180deg)}.settings-card-body{padding:0 18px 18px;display:flex;flex-direction:column;gap:12px}.settings-hint{background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:10px 14px;font-size:12px;color:var(--text-secondary);margin-bottom:12px;line-height:1.6}.settings-hint code{background:var(--primary-light);color:var(--primary);padding:1px 6px;border-radius:4px;font-size:11px;font-family:SF Mono,Fira Code,monospace}textarea.form-input{resize:vertical;min-height:80px;font-family:inherit;line-height:1.6}.form-range{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border);border-radius:3px;outline:none;cursor:pointer}.form-range::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:var(--primary);border-radius:50%;cursor:pointer;border:2px solid var(--bg-card);box-shadow:var(--shadow-sm)}.form-range::-moz-range-thumb{width:18px;height:18px;background:var(--primary);border-radius:50%;cursor:pointer;border:2px solid var(--bg-card)}.app-shell{display:flex;height:100vh;overflow:hidden}.sidebar{width:224px;background:var(--bg-sidebar);display:flex;flex-direction:column;flex-shrink:0;transition:width .2s ease;overflow:hidden}.sidebar-header{padding:20px 16px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-logo{display:flex;align-items:center;gap:10px}.sidebar-logo-icon{width:32px;height:32px;background:var(--primary);border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:16px;flex-shrink:0}.sidebar-logo-text{color:#fff;font-size:18px;font-weight:600;letter-spacing:-.3px}.sidebar-logo-sub{color:var(--text-sidebar);font-size:11px;margin-top:-2px}.sidebar-nav{flex:1;padding:12px 8px;display:flex;flex-direction:column;gap:2px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-section{margin-top:16px;margin-bottom:4px;padding:0 8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:#ffffff59;display:flex;align-items:center}.section-badge{margin-left:auto;background:#ffffff26;color:#ffffffb3;font-size:10px;font-weight:600;padding:0 5px;border-radius:8px}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-sm);color:var(--text-sidebar);cursor:pointer;transition:all .15s ease;font-size:13px;font-weight:500;border:none;background:none;width:100%;text-align:left}.nav-item:hover{background:#ffffff14;color:#fff}.nav-item.active{background:var(--primary);color:#fff}.nav-icon{width:18px;height:18px;flex-shrink:0;opacity:.8}.nav-item.active .nav-icon{opacity:1}.nav-badge{margin-left:auto;background:#ffffff26;color:#ffffffe6;font-size:11px;font-weight:600;padding:1px 7px;border-radius:10px}.nav-item.active .nav-badge{background:#ffffff40;color:#fff}.sidebar-footer{padding:12px 16px;border-top:1px solid rgba(255,255,255,.1)}.sidebar-user{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-sidebar)}.sidebar-user-avatar{width:28px;height:28px;border-radius:8px;background:#ffffff26;display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff;font-size:11px}.sidebar-user-name{font-weight:500;color:#fff;font-size:13px}.sidebar-user-role{font-size:11px;color:var(--text-sidebar);text-transform:capitalize}.sidebar-logout{margin-top:8px;width:100%;padding:6px;background:none;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-sm);color:var(--text-sidebar);font-size:12px;cursor:pointer;transition:all .15s}.sidebar-logout:hover{background:#ffffff14;color:#fff}.sidebar-toggle{width:calc(100% - 24px);margin:0 12px 8px;padding:6px;background:none;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:var(--text-sidebar);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;transition:all .15s;flex-shrink:0}.sidebar-toggle:hover{background:#ffffff14;color:#fff}.sidebar.collapsed{width:56px}.sidebar.collapsed .sidebar-header{padding:20px 12px}.sidebar.collapsed .sidebar-logo>div:last-child{display:none}.sidebar.collapsed .sidebar-nav{padding:12px 4px}.sidebar.collapsed .sidebar-section{display:none}.sidebar.collapsed .nav-item{padding:8px;justify-content:center;gap:0}.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-badge{display:none}.sidebar.collapsed .sidebar-footer{padding:12px 8px}.sidebar.collapsed .sidebar-user>div:last-child{display:none}.sidebar.collapsed .sidebar-logout span{margin-right:0}.sidebar.collapsed .sidebar-logout{font-size:0;padding:6px;display:flex;align-items:center;justify-content:center}.sidebar.collapsed .sidebar-logout span{font-size:14px;width:16px;height:16px}.sidebar.collapsed .sidebar-toggle{width:calc(100% - 16px);margin:0 8px 8px}.main-area{flex:1;display:flex;flex-direction:column;overflow:hidden}.header{min-height:48px;background:var(--bg-header);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;padding:6px 24px;flex-shrink:0}.header-title{font-size:16px;font-weight:600;color:var(--text);white-space:nowrap;flex-shrink:0}.header-right{display:flex;align-items:center;gap:12px}.header-stat{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.header-stat-num{font-weight:700;color:var(--primary);font-size:15px}.theme-btn{background:none;border:1px solid var(--border);width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:all .15s}.theme-btn:hover{border-color:var(--primary);color:var(--primary)}.theme-btn svg{width:16px;height:16px}.content{flex:1;overflow-y:auto;padding:24px;position:relative}.content:before{content:"";position:fixed;top:50%;left:calc(224px + (100% - 224px)/2);transform:translate(-50%,-50%);width:680px;height:680px;background:url(/basec-watermark.png) no-repeat center / contain;opacity:.04;pointer-events:none;z-index:0}.content>*{position:relative;z-index:1}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;box-shadow:var(--shadow-sm)}.stat-card-label{font-size:12px;color:var(--text-secondary);font-weight:500;margin-bottom:4px;display:flex;align-items:center;justify-content:space-between}.stat-card-icon{color:var(--text-muted)}.stat-card-value{font-size:28px;font-weight:700;color:var(--text);line-height:1.2}.stat-card-sub{font-size:11px;color:var(--text-muted);margin-top:2px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-title{font-size:16px;font-weight:600;color:var(--text)}.page-toolbar{background:var(--bg);padding:12px 0;margin:0 0 4px;border-bottom:1px solid var(--border)}.dup-badge .dup-tooltip{display:none;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--bg-card);border:1px solid rgba(239,68,68,.3);border-radius:var(--radius);padding:8px 12px;min-width:180px;z-index:50;box-shadow:0 4px 16px #0006;font-size:12px;color:var(--text);white-space:nowrap;pointer-events:none}.dup-badge .dup-tooltip:before{content:"";position:absolute;top:-5px;left:50%;transform:translate(-50%) rotate(45deg);width:8px;height:8px;background:var(--bg-card);border-left:1px solid rgba(239,68,68,.3);border-top:1px solid rgba(239,68,68,.3)}.dup-badge:hover .dup-tooltip{display:block}.consultant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm);transition:all .15s ease;cursor:pointer}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-border)}.card-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}.card-avatar{width:40px;height:40px;border-radius:10px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;flex-shrink:0}.card-avatar-img{width:40px;height:40px;border-radius:10px;object-fit:cover;flex-shrink:0}.card-name{font-size:15px;font-weight:600;color:var(--text);line-height:1.3}.card-title{font-size:12px;color:var(--primary);font-weight:500;margin-top:1px}.card-stats{display:flex;flex-wrap:wrap;gap:8px}.card-stat{font-size:11px;color:var(--text-muted);padding:3px 10px;background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border-light)}.card-stat.match{color:var(--primary);border-color:var(--primary-border);background:var(--primary-light);font-weight:600}.tag-section{margin-bottom:10px}.tag-section-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:6px}.collapsible-section{margin-bottom:8px}.collapsible-header{cursor:pointer;display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border);margin-bottom:8px}.collapsible-title{font-size:13px;font-weight:700;color:var(--text-secondary);letter-spacing:1px}.collapsible-count{font-size:12px;color:var(--text-muted);font-weight:500}.collapsible-content{padding-left:12px}.tags{display:flex;flex-wrap:wrap;gap:5px}.tag{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:16px;font-size:12px;font-weight:500;line-height:1.6}.tag.skill{background:var(--primary-light);color:#0ac9d4;border:1px solid var(--primary-border)}.tag.cert{background:var(--gold-light);color:var(--gold);border:1px solid var(--gold-border)}.tag.tool{background:#0f2e5f14;color:var(--navy);border:1px solid rgba(15,46,95,.2)}@media(prefers-color-scheme:dark){:root:not(.light) .tag.tool{background:#ffffff14;color:#8ba3c7;border-color:#ffffff26}}.dark .tag.tool{background:#ffffff14;color:#8ba3c7;border-color:#ffffff26}.tag .remove{cursor:pointer;color:inherit;opacity:.5;font-size:14px;line-height:1;margin-left:2px;transition:opacity .15s}.tag .remove:hover{opacity:1}.tag-overflow{font-size:11px;color:var(--text-muted);padding:2px 8px;background:var(--border-light);border-radius:16px}.add-input{display:flex;gap:6px;margin-top:8px}.add-input input{flex:1;padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;outline:none;background:var(--bg-input);color:var(--text);transition:border-color .15s}.add-input input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.add-input input::placeholder{color:var(--text-muted)}.add-input button{padding:5px 14px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.add-input button:hover{background:var(--primary-hover)}.detail-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.detail-header{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px}.detail-avatar{width:48px;height:48px;border-radius:12px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;flex-shrink:0}.detail-avatar-wrap{position:relative}.detail-avatar-img{width:48px;height:48px;border-radius:12px;object-fit:cover;flex-shrink:0}.detail-avatar-edit{position:absolute;bottom:-2px;right:-2px;background:var(--primary);color:#fff;font-size:8px;font-weight:700;padding:1px 5px;border-radius:6px;text-transform:uppercase;letter-spacing:.3px}.detail-info h2{font-size:18px;font-weight:600;color:var(--text)}.detail-info .card-title{font-size:13px}.detail-body{padding:24px}.back-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--border);padding:6px 14px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;color:var(--text-secondary);transition:all .15s;margin-bottom:20px}.back-btn:hover{border-color:var(--primary);color:var(--primary)}.about-section{background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:16px;margin-bottom:20px}.about-section h3{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-weight:600;margin-bottom:8px}.about-text{color:var(--text-secondary);line-height:1.7;font-size:13px}.inline-edit{display:flex;align-items:center;gap:6px}.inline-edit .form-input{flex:1;font-size:14px;padding:4px 8px}.inline-edit-save,.inline-edit-cancel{padding:4px 10px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;cursor:pointer;border:none;transition:all .15s}.inline-edit-save{background:var(--primary);color:#fff}.inline-edit-save:hover{background:var(--primary-hover)}.inline-edit-cancel{background:none;border:1px solid var(--border);color:var(--text-secondary)}.inline-edit-cancel:hover{border-color:var(--destructive);color:var(--destructive)}.project-list{display:flex;flex-direction:column;gap:7px;margin-top:8px}.project-item{background:var(--bg);border-radius:var(--radius-sm);border-left:3px solid var(--primary);font-size:13px;transition:background .15s}.project-header{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;-webkit-user-select:none;user-select:none}.project-header:hover{background:var(--primary-light);border-radius:var(--radius-sm)}.project-chevron{width:16px;height:16px;flex-shrink:0;margin-top:2px;transition:transform .15s ease;color:var(--text-muted)}.project-chevron svg{width:16px;height:16px}.project-chevron.open{transform:rotate(0)}.project-chevron:not(.open){transform:rotate(-90deg)}.project-body{padding:0 12px 12px 36px}.project-item strong{color:var(--text);font-weight:600}.project-item .project-meta,.project-body .project-meta{color:var(--text-muted);font-size:12px;margin-top:2px}.match-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.match-item{background:var(--bg);padding:12px 16px;border-radius:var(--radius-sm);border-left:3px solid var(--primary);font-size:13px;transition:background .15s}.match-item:hover{background:var(--primary-light)}.project-cards{display:flex;flex-direction:column;gap:12px}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow .15s}.project-card.last-viewed{border-color:var(--primary);background:#3b82f60a}.project-card:hover{box-shadow:var(--shadow)}.project-card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;transition:background .15s}.project-card-header:hover{background:var(--bg-hover)}.project-card-body{padding:12px 16px 16px;border-top:1px solid var(--border-light)}.relevance-badge{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:700;flex-shrink:0}.ranking-list{display:flex;flex-direction:column}.ranking-item{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border-light);transition:background .1s}.ranking-item:last-child{border-bottom:none}.ranking-item:hover{background:var(--bg-hover)}.ranking-pos{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg);border-radius:50%;font-size:12px;font-weight:700;color:var(--text-secondary);flex-shrink:0}.ranking-item:first-child .ranking-pos{background:var(--gold-light);color:var(--gold)}.ranking-info{flex:1;min-width:0}.ranking-score{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:4px 10px;border-radius:12px;font-size:13px;font-weight:700;flex-shrink:0}.settings-form{display:flex;flex-direction:column;gap:0}.settings-section-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin:20px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border-light)}.settings-section-title:first-child{margin-top:0}.settings-section-title svg{width:16px;height:16px}.settings-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:8px}.settings-card h3{font-size:14px;font-weight:600;margin:0;color:var(--text)}.settings-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:768px){.settings-row{grid-template-columns:1fr}}.settings-save-bar{display:flex;align-items:center;gap:16px;margin-top:20px;padding:16px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.settings-save{padding:8px 24px;white-space:nowrap;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.settings-save:hover{background:var(--primary-hover)}.settings-save:disabled{opacity:.6;cursor:not-allowed}.users-table{width:100%;border-collapse:collapse;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.users-table th,.users-table td{padding:10px 16px;text-align:left;font-size:13px;border-bottom:1px solid var(--border)}.users-table th{background:var(--bg);font-weight:600;color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.users-table td{color:var(--text)}.users-table tr:hover td{background:var(--bg-hover)}.role-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.role-badge.admin{background:#ef44441f;color:#ef4444}.role-badge.hr{background:var(--gold-light);color:var(--gold)}.role-badge.manager{background:#0f2e5f1a;color:var(--navy)}.role-badge.gf{background:#7c3aed1f;color:#7c3aed}.role-badge.berater{background:var(--primary-light);color:var(--primary)}.dark .role-badge.manager{background:#8ba3c726;color:#8ba3c7}.btn-sm{padding:0 10px;font-size:12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:none;color:var(--text-secondary);cursor:pointer;transition:all .15s;height:28px;display:inline-flex;align-items:center;justify-content:center}.btn-sm:hover{border-color:var(--destructive);color:var(--destructive)}.search-box{display:flex;align-items:center;gap:6px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 10px;transition:border-color .15s}.search-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.search-icon{width:14px;height:14px;color:var(--text-muted);flex-shrink:0}.search-box input{border:none;background:none;outline:none;font-size:13px;padding:6px 0;color:var(--text);width:160px}.search-box input::placeholder{color:var(--text-muted)}.global-tags-list{display:flex;flex-direction:column;gap:2px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.global-tag-row{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border-light);transition:background .1s}.global-tag-row:last-child{border-bottom:none}.global-tag-row:hover{background:var(--bg-hover)}.global-tag-name{display:flex;align-items:center;gap:10px}.global-tag-count{font-size:11px;color:var(--text-muted);white-space:nowrap}.global-tag-consultants{display:flex;gap:4px;flex-wrap:wrap}.global-tag-avatar{width:26px;height:26px;border-radius:6px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;flex-shrink:0}.matches-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.match-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm)}.match-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.match-score{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex-shrink:0}.match-scores{display:flex;flex-direction:column;gap:6px}.score-bar{display:flex;align-items:center;gap:8px}.score-bar-label{font-size:11px;color:var(--text-muted);width:72px;flex-shrink:0}.score-bar-track{flex:1;height:6px;background:var(--border-light);border-radius:3px;overflow:hidden}.score-bar-fill{height:100%;background:var(--primary);border-radius:3px;transition:width .3s ease}.score-bar-value{font-size:11px;font-weight:600;color:var(--text-secondary);width:32px;text-align:right}.project-table-wrap{overflow-x:auto}.empty-state{text-align:center;padding:48px 24px;color:var(--text-muted)}.empty-state-icon{font-size:48px;margin-bottom:12px;opacity:.3}.loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:14px}.content::-webkit-scrollbar{width:6px}.content::-webkit-scrollbar-track{background:transparent}.content::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.pipeline-active{display:flex;align-items:center;gap:12px;background:#3b82f614;border:1px solid rgba(59,130,246,.2);border-radius:var(--radius);padding:14px 20px;margin-bottom:24px;font-size:14px;color:var(--text)}.pipeline-active-dot{width:10px;height:10px;border-radius:50%;background:#3b82f6;flex-shrink:0;animation:pulse-dot 1.5s ease-in-out infinite}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite;vertical-align:middle}.pipeline-status-badge{display:inline-flex;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:600}.pipeline-table{width:100%;border-collapse:collapse;font-size:12px}.pipeline-table th{text-align:left;padding:8px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-weight:600;border-bottom:1px solid var(--border);white-space:nowrap}.pipeline-table td{padding:6px 12px;border-bottom:1px solid var(--border-light);color:var(--text)}.pipeline-table tbody tr:hover{background:#ffffff05}.btn-primary{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-primary .btn-icon{width:16px;height:16px}.btn-primary .btn-icon svg{width:16px;height:16px}.btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.btn-secondary:hover{background:var(--border-light)}.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;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 20px 60px #0000004d;width:90%;max-width:520px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.modal-header h3{font-size:18px;font-weight:700;color:var(--text);margin:0}.modal-close{background:none;border:none;font-size:24px;color:var(--text-muted);cursor:pointer;padding:0 4px;line-height:1}.modal-close:hover{color:var(--text)}.modal-tabs{display:flex;gap:0;padding:16px 24px 0;border-bottom:1px solid var(--border-light)}.modal-tab{padding:8px 16px;background:none;border:none;border-bottom:2px solid transparent;font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .15s}.modal-tab:hover{color:var(--text)}.modal-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.modal-body{padding:20px 24px}.modal-hint{font-size:13px;color:var(--text-muted);margin:0 0 16px;line-height:1.5}.modal-form{display:flex;flex-direction:column;gap:14px}.modal-row label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.modal-row input,.modal-row select{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;background:var(--bg-input);color:var(--text);outline:none;transition:border-color .15s}.modal-row input:focus,.modal-row select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.modal-row.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-error{margin-top:12px;padding:8px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);color:#ef4444;font-size:13px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--border-light)}.file-drop{border:2px dashed var(--border);border-radius:var(--radius);padding:32px 20px;text-align:center;cursor:pointer;transition:all .15s;background:var(--bg-input)}.file-drop:hover,.file-drop.dragover{border-color:var(--primary);background:var(--primary-light)}.file-drop-placeholder,.file-drop-selected{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-muted);font-size:14px}.file-drop-selected{color:var(--primary);font-weight:500}.file-drop-icon{width:32px;height:32px;opacity:.5}.file-drop-icon svg{width:32px;height:32px}.file-drop-selected .file-drop-icon{opacity:1}.file-drop-remove{background:none;border:none;font-size:18px;color:var(--text-muted);cursor:pointer;margin-top:4px}.file-drop-remove:hover{color:#ef4444}.gap-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border-light);font-size:13px;transition:background .1s}.gap-row:last-child{border-bottom:none}.gap-row:hover{background:var(--bg-hover)}.gap-bar-track{flex:1;height:8px;background:var(--border-light);border-radius:4px;overflow:hidden;min-width:60px}.gap-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.demand-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 8px;border-radius:10px;font-size:10px;font-weight:600;background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.2);white-space:nowrap}.category-badge{display:inline-block;padding:1px 7px;border-radius:10px;font-size:10px;font-weight:600;text-transform:uppercase;white-space:nowrap}.category-badge.skill{background:var(--primary-light);color:var(--primary)}.category-badge.tool{background:#0f2e5f14;color:var(--navy)}.category-badge.certification{background:var(--gold-light);color:var(--gold)}@media(prefers-color-scheme:dark){:root:not(.light) .category-badge.tool{background:#ffffff14;color:#8ba3c7}}.dark .category-badge.tool{background:#ffffff14;color:#8ba3c7}.dev-consultant-row{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border-light);cursor:pointer;transition:background .1s}.dev-consultant-row:last-child{border-bottom:none}.dev-consultant-row:hover{background:var(--bg-hover)}.page-tabs{display:flex;gap:0;margin-bottom:24px;border-bottom:1px solid var(--border)}.page-tab{padding:10px 20px;background:none;border:none;border-bottom:2px solid transparent;font-size:14px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .15s}.page-tab:hover{color:var(--text)}.page-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.action-section{margin-bottom:24px}.action-section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:10px}.action-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.action-btn{display:flex;align-items:center;gap:10px;padding:14px 18px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .15s;font-size:13px;font-weight:500;color:var(--text);text-align:left}.action-btn:hover{border-color:var(--primary);background:var(--primary-light)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn .action-icon{width:20px;height:20px;color:var(--primary);flex-shrink:0}.action-banner{padding:10px 16px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:13px;font-weight:500}.action-banner.success{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#22c55e}.action-banner.error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444}.log-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.log-filters select,.log-filters input{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;background:var(--bg-input);color:var(--text);outline:none}.log-filters select:focus,.log-filters input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.log-category-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:12px}.log-category-tab{padding:4px 12px;border-radius:16px;border:1px solid var(--border);background:none;font-size:11px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .15s;text-transform:capitalize}.log-category-tab:hover{border-color:var(--primary);color:var(--text)}.log-category-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.log-entries{display:flex;flex-direction:column;gap:2px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.log-entry{display:grid;grid-template-columns:130px 80px 1fr auto;gap:12px;align-items:center;padding:8px 14px;border-bottom:1px solid var(--border-light);font-size:12px;transition:background .1s}.log-entry:last-child{border-bottom:none}.log-entry:hover{background:var(--bg-hover)}.log-time{color:var(--text-muted);font-family:SF Mono,monospace;font-size:11px}.log-action{font-weight:500;color:var(--text)}.log-detail{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-actor{color:var(--text-muted);font-size:11px}.log-level{display:inline-block;padding:1px 6px;border-radius:8px;font-size:10px;font-weight:600;text-transform:uppercase}.log-level.info{background:#3b82f61a;color:#3b82f6}.log-level.warning{background:#f59e0b1a;color:#f59e0b}.log-level.error{background:#ef44441a;color:#ef4444}.log-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;font-size:12px;color:var(--text-muted)}.log-pagination button{padding:4px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:none;color:var(--text-secondary);cursor:pointer;font-size:12px;transition:all .15s}.log-pagination button:hover{border-color:var(--primary);color:var(--primary)}.log-pagination button:disabled{opacity:.4;cursor:not-allowed}.leave-views{display:flex;gap:10px;margin-bottom:16px}.leave-view-btn{padding:6px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:none;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s}.leave-view-btn:hover{border-color:var(--primary);color:var(--primary)}.leave-view-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.leave-calendar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.leave-calendar-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.leave-calendar-nav{display:flex;align-items:center;gap:12px}.leave-calendar-nav button{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 10px;cursor:pointer;color:var(--text-secondary);font-size:12px;transition:all .15s}.leave-calendar-nav button:hover{border-color:var(--primary);color:var(--primary)}.leave-calendar-month{font-size:15px;font-weight:600;color:var(--text);min-width:160px;text-align:center}.leave-calendar-grid{display:grid;overflow-x:auto}.leave-calendar-row{display:contents}.leave-calendar-name{padding:8px 12px;font-size:12px;font-weight:500;color:var(--text);border-bottom:1px solid var(--border-light);white-space:nowrap;position:sticky;left:0;background:var(--bg-card);z-index:1;min-width:120px}.leave-calendar-day-header{padding:6px 0;font-size:10px;font-weight:600;text-align:center;color:var(--text-muted);border-bottom:1px solid var(--border);min-width:28px}.leave-calendar-day-header.weekend{color:var(--destructive);opacity:.5}.leave-calendar-cell{min-width:28px;min-height:28px;border-bottom:1px solid var(--border-light);border-right:1px solid var(--border-light);position:relative}.leave-calendar-cell.weekend{background:var(--bg-hover)}.leave-calendar-cell .leave-bar{position:absolute;top:3px;right:1px;bottom:3px;left:1px;border-radius:3px}.leave-calendar-cell:has(.leave-bar){cursor:pointer}.leave-calendar-cell:has(.leave-bar):hover .leave-bar{filter:brightness(1.3)}.leave-bar.approved{background:#3b82f699}.leave-bar.pending{background:#f59e0b80;background-image:repeating-linear-gradient(45deg,transparent,transparent 3px,rgba(255,255,255,.2) 3px,rgba(255,255,255,.2) 6px)}.leave-bar.rejected{background:#ef444433}.leave-table{width:100%;border-collapse:collapse;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.leave-table th,.leave-table td{padding:10px 14px;text-align:left;font-size:13px;border-bottom:1px solid var(--border-light)}.leave-table th{background:var(--bg);font-weight:600;color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.leave-table tr:hover td{background:var(--bg-hover)}.leave-status{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600}.leave-status.pending{background:#f59e0b1f;color:#f59e0b}.leave-status.approved{background:#3b82f61f;color:#3b82f6}.leave-status.rejected{background:#ef44441f;color:#ef4444}.leave-type-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}.leave-type-badge.urlaub{background:var(--primary-light);color:var(--primary)}.leave-type-badge.krank{background:#ef44441a;color:#ef4444}.leave-type-badge.sonstiges{background:var(--gold-light);color:var(--gold)}.availability-toggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer;border:none;background:none;padding:4px;border-radius:var(--radius-sm);font-size:12px;color:var(--text-muted);transition:all .15s}.availability-toggle:hover{background:var(--bg-hover)}.availability-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;transition:all .2s}.availability-dot.available{background:#22c55e;box-shadow:0 0 0 2px #22c55e33}.availability-dot.unavailable{background:#ef4444;box-shadow:0 0 0 2px #ef444433}.availability-dot.lg{width:12px;height:12px}.contacts-back-btn{display:none}.mobile-menu-btn{display:none;background:none;border:1px solid var(--border);width:44px;height:44px;border-radius:var(--radius-sm);font-size:20px;cursor:pointer;color:var(--text);flex-shrink:0}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99}@media(max-width:768px){.mobile-menu-btn{display:flex;align-items:center;justify-content:center}.sidebar{position:fixed;left:-224px;top:0;bottom:0;z-index:100;transition:left .25s ease}.sidebar.sidebar-open{left:0}.sidebar-overlay{display:block}.stats-grid{grid-template-columns:repeat(2,1fr)}.consultant-grid{grid-template-columns:1fr}.content{padding:12px}.login-card{padding:24px}.action-grid,.matches-grid{grid-template-columns:1fr}.header{padding:0 12px;gap:8px}.content:before{display:none}.section-header{flex-direction:column;align-items:flex-start;gap:8px}.section-header>div{flex-wrap:wrap;width:100%}.section-header .search-box{flex:1;min-width:0}.section-header .search-box input{width:100%}.btn-sm{padding:8px 12px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.btn-primary,.btn-secondary{padding:10px 16px;min-height:44px}.theme-btn{width:44px;height:44px}.log-category-tab{padding:8px 14px;font-size:13px;min-height:44px;display:inline-flex;align-items:center}.back-btn{padding:10px 16px;min-height:44px}.tag{padding:6px 12px;font-size:13px;min-height:36px;display:inline-flex;align-items:center}.tag .remove{font-size:18px;padding:4px;margin-left:4px}.users-table,.leave-table{min-width:600px}.users-table th,.users-table td,.leave-table th,.leave-table td{padding:8px 10px;font-size:12px}.search-box input{width:100%;min-width:0}.search-box{flex:1;min-width:0}.detail-header,.detail-body{padding:16px}.log-entry{grid-template-columns:1fr;gap:2px;padding:10px 14px}.log-detail{white-space:normal;word-break:break-word}.page-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.page-tab{white-space:nowrap;flex-shrink:0;padding:10px 14px}.leave-calendar-header{flex-direction:column;gap:8px;align-items:flex-start}.leave-views{flex-wrap:wrap}.leave-calendar-name{min-width:80px;font-size:11px;padding:6px 8px}.leave-calendar-cell,.leave-calendar-day-header{min-width:24px}.pipeline-table{font-size:11px}.pipeline-table th,.pipeline-table td{padding:4px 8px}.ranking-item,.project-card-header{flex-wrap:wrap;gap:8px}.contacts-back-btn{display:inline-flex}.contacts-layout{flex-direction:column}.contacts-list{width:100%!important;min-width:0!important;border-right:none!important}.contacts-list.contacts-list-narrow{display:none}.contacts-detail{padding:16px!important}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.header-title{font-size:14px}.modal{width:95%;max-width:none}.modal-body{padding:16px}.modal-header{padding:16px 16px 0}.modal-footer{padding:12px 16px}.modal-tabs{padding:12px 16px 0}.modal-row.two-col{grid-template-columns:1fr}.file-drop{padding:20px 16px}.header-stat{display:none}.log-filters{flex-direction:column;gap:8px}.log-filters select{width:100%}.project-card-header{flex-direction:column;align-items:flex-start}.pipeline-table{font-size:10px}}
