:root{--background: #f8fafc;--foreground: #0f172a;--card: #ffffff;--card-foreground: #0f172a;--muted: #f1f5f9;--muted-foreground: #64748b;--border: #e2e8f0;--input: #e2e8f0;--ring: #3b82f6;--primary: #0f172a;--primary-foreground: #f8fafc;--accent: #f1f5f9;--accent-foreground: #0f172a;--destructive: #ef4444;--warning: #f59e0b;--success: #22c55e;--radius: 8px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100vh;background:var(--background)}.app-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--primary);color:var(--primary-foreground);border-bottom:1px solid rgba(255,255,255,.08)}.app-title{font-weight:600;font-size:14px;letter-spacing:-.02em}.user-badge{display:flex;align-items:center;gap:8px;font-size:12px;color:#94a3b8}.pat-dot{width:7px;height:7px;border-radius:50%}.pat-dot-ok{background:#4ade80}.pat-dot-warn{background:var(--warning)}.pat-dot-error{background:#ef4444}.header-settings-btn{background:none;border:none;cursor:pointer;color:#94a3b8;padding:4px;display:flex;align-items:center;transition:color .15s}.header-settings-btn:hover{color:#e2e8f0}.header-profile-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:7px;margin-right:6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#cbd5e1;font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}.header-profile-btn:hover{background:#ffffff1f;color:#f8fafc;border-color:#fff3}.header-profile-btn svg{opacity:.85;flex-shrink:0}.app-body{display:flex;flex:1;overflow:hidden}.sidebar{width:220px;flex-shrink:0;display:flex;flex-direction:column;background:var(--card);border-right:1px solid var(--border)}.sidebar-nav{display:flex;flex-direction:column;padding:16px 8px 8px;gap:2px;flex:1}.sidebar-btn{display:flex;align-items:center;gap:10px;padding:8px 12px;border:none;border-left:3px solid transparent;background:transparent;border-radius:0 6px 6px 0;cursor:pointer;font-size:13px;color:var(--muted-foreground);font-family:inherit;font-weight:500;transition:all .15s;text-align:left;width:100%}.sidebar-top{padding-bottom:8px;margin-bottom:4px;border-bottom:1px solid var(--border)}.sidebar-bottom{padding:8px 8px 16px;border-top:1px solid var(--border)}.sidebar-btn svg{flex-shrink:0}.sidebar-btn:hover{background:var(--accent);color:var(--foreground)}.sidebar-active{background:var(--accent);color:var(--foreground);border-left-color:var(--foreground);font-weight:600}.viewer-banner{display:flex;align-items:flex-start;gap:12px;padding:20px;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius);color:#92400e;font-size:13px;line-height:1.5;margin:16px}.tab-content{flex:1;overflow-y:auto;padding:24px}.tab-content>*{max-width:650px}.tab-content>.profile-page-wide{max-width:850px}.form{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:500;font-size:13px;color:var(--foreground)}.field input,.field select,.field textarea{padding:8px 12px;border:1px solid var(--input);border-radius:var(--radius);font-size:14px;font-family:inherit;outline:none;transition:all .15s;background:var(--card);color:var(--foreground);width:100%}.field input,.field select{height:38px}.field textarea{resize:vertical;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ring);box-shadow:0 0 0 3px #3b82f614}.field input::placeholder,.field select::placeholder,.field textarea::placeholder{color:#94a3b8}.input-with-status{position:relative}.input-with-status input{padding-right:36px}.input-status{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;line-height:1;pointer-events:none}.input-status-ok{background:#d1fae5;color:#065f46}.input-status-error{background:#fee2e2;color:#991b1b}.input-status-warn{background:#fef3c7;color:#92400e}.field-error{font-size:12px;color:#991b1b;margin-top:-2px}.field-warning{font-size:12px;color:#92400e;margin-top:-2px}.label-row{display:flex;align-items:center;gap:8px}.btn-convert{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:11px;color:#1e40af;background:#dbeafe;border:1px solid #93c5fd;border-radius:4px;cursor:pointer}.btn-convert:hover{background:#bfdbfe}.btn-convert strong{font-weight:600}.checkbox-group{display:flex;flex-direction:column;gap:1px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;padding:7px 10px;border-radius:var(--radius);transition:background .1s;color:var(--foreground)}.checkbox-label:hover{background:var(--accent)}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);border-radius:4px;flex-shrink:0}.checkbox-disabled{opacity:.55;cursor:default}.checkbox-disabled:hover{background:transparent}.checkbox-hint{font-size:11px;color:var(--muted-foreground);margin-left:auto}.site-pills{display:flex;flex-wrap:wrap;gap:8px}.site-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border:1.5px solid var(--border);border-radius:20px;background:var(--card);cursor:pointer;font-size:13px;font-family:inherit;color:var(--foreground);transition:all .15s;-webkit-user-select:none;user-select:none}.site-pill:hover{border-color:#86efac;background:#f0fdf4}.site-pill.site-pill-active{border-color:var(--success);background:#f0fdf4;color:#166534;font-weight:500}.site-pill.site-pill-disabled{opacity:.4;cursor:default}.site-pill.site-pill-disabled:hover{border-color:var(--border);background:var(--card)}.groups-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.btn-primary{padding:9px 18px;background:var(--primary);color:var(--primary-foreground);border:none;border-radius:var(--radius);cursor:pointer;font-size:13px;font-weight:500;font-family:inherit;transition:background .15s,border-color .15s,opacity .15s;height:38px}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.4;cursor:default}.btn-loading{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.7}}.btn-secondary{padding:9px 18px;background:var(--muted);color:var(--foreground);border:none;border-radius:var(--radius);cursor:pointer;font-size:13px;font-weight:500;font-family:inherit;transition:background .15s,border-color .15s,opacity .15s;height:38px}.btn-secondary:hover{background:var(--border)}.btn-check{padding:9px 18px;background:#eff6ff;color:#1d4ed8;border:1px solid #93c5fd;border-radius:var(--radius);cursor:pointer;font-size:13px;font-weight:500;font-family:inherit;transition:background .15s,border-color .15s,opacity .15s;height:38px}.btn-check:hover{background:#dbeafe;border-color:#60a5fa}.btn-check:disabled{opacity:.4;cursor:default}.btn-select-all{padding:4px 10px;background:#f8fafc;color:#475569;border:1px solid #cbd5e1;border-radius:var(--radius);cursor:pointer;font-size:12px;font-family:inherit;white-space:nowrap;transition:background .15s,border-color .15s;height:38px}.btn-select-all:hover{background:#e2e8f0;border-color:#94a3b8}.btn-select-all:disabled{opacity:.4;cursor:default}.field-header{display:flex;align-items:center;gap:15px}.btn-select-all-sm{padding:2px 10px;background:#f8fafc;color:#475569;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;font-size:11.5px;font-weight:500;font-family:inherit;white-space:nowrap;line-height:1.5;transition:background .15s,border-color .15s,color .15s}.btn-select-all-sm:hover{background:#e2e8f0;border-color:#94a3b8;color:#1e293b}.btn-create-more{padding:9px 18px;background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;border-radius:var(--radius);cursor:pointer;font-size:13px;font-weight:500;font-family:inherit;transition:background .15s,border-color .15s,opacity .15s;height:38px}.btn-create-more:hover{background:#dcfce7}.btn-ghost{padding:9px 18px;background:var(--card);color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-size:13px;font-weight:500;font-family:inherit;transition:background .15s,border-color .15s,opacity .15s;height:38px}.btn-ghost:hover:not(:disabled){background:var(--accent)}.btn-ghost:disabled{opacity:.4;cursor:default}.btn-danger{color:var(--destructive)!important;border-color:var(--destructive)!important}.btn-danger:hover{background:#fef2f2!important}.btn-row{display:flex;gap:8px}.link-btn{background:none;border:none;color:var(--ring);cursor:pointer;font-size:13px;text-decoration:none;padding:0;font-weight:500}.link-btn:hover{text-decoration:underline}.alert-warning{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius);font-size:13px;color:#92400e;line-height:1.5}.alert-warning a{color:var(--ring);font-weight:500;text-decoration:none}.alert-warning a:hover{text-decoration:underline}.alert-error{padding:12px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius);font-size:13px;color:#991b1b;line-height:1.5}.alert-success{padding:12px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius);font-size:13px;color:#166534;line-height:1.5}.result-card{display:flex;flex-direction:column;gap:12px}.result-status{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:600;padding:10px;border-radius:var(--radius);text-align:center}.status-success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.status-partial{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.status-failed{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.keycloak-banner{font-size:12.5px;padding:8px 12px;border-radius:var(--radius);line-height:1.4;display:flex;align-items:center;gap:12px}.keycloak-banner-text{flex:1;min-width:0}.keycloak-banner-btn{flex-shrink:0;background:#92400e;color:#fff;border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;line-height:1;cursor:pointer;white-space:nowrap;transition:background .15s}.keycloak-banner-btn:hover{background:#78350f}.keycloak-exists,.keycloak-error{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.keycloak-skipped{background:var(--muted);color:var(--muted-foreground);border:1px solid var(--border)}.result-row{display:flex;align-items:center;gap:8px;font-size:13px}.result-label{font-weight:500;min-width:80px;color:var(--muted-foreground)}.email-template{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:14px;font-size:13px;line-height:1.6;word-break:break-word;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.email-template a{color:var(--ring)}.lang-toggle{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius);padding:2px 10px;font-size:12px;font-weight:600;cursor:pointer;color:var(--muted-foreground);transition:all .15s}.lang-toggle:hover{background:var(--border);color:var(--foreground)}.site-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.site-ok,.site-fail{display:flex;align-items:flex-start;gap:8px;font-size:13px;padding:6px 10px;border-radius:6px}.site-ok{background:#f0fdf4;color:#166534}.site-fail{background:#fef2f2;color:#991b1b}.site-icon{font-weight:700}.site-error{color:#991b1b}.site-ok,.site-fail{flex-wrap:wrap}.group-results{list-style:none;margin:2px 0 0;width:100%;padding:0 0 0 20px;display:flex;flex-direction:column;gap:1px}.group-results li{font-size:12px;color:#475569}.group-results li:before{content:"→ ";color:#94a3b8}.settings{display:flex;flex-direction:column;gap:14px}.settings-user{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.settings-label{font-weight:500;color:var(--foreground);font-size:13px}.pat-badge{font-size:11px;padding:3px 10px;border-radius:12px;font-weight:500}.pat-ok{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.pat-expired{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.pat-missing{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.group-select-block{margin-top:6px;padding:10px 12px;background:var(--muted);border:1px solid var(--border);border-radius:var(--radius)}.group-site-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.group-site-label{font-weight:600;font-size:12px;color:var(--foreground)}.group-refresh-btn{background:none;border:none;cursor:pointer;font-size:14px;color:var(--muted-foreground);padding:0 2px;line-height:1;transition:color .15s}.group-refresh-btn:hover{color:var(--foreground)}.group-search{width:100%;padding:6px 10px;margin-bottom:0;border:1px solid var(--input);border-radius:var(--radius);font-size:13px;font-family:inherit;outline:none;background:var(--card);transition:all .15s;height:38px}.group-search:focus{border-color:var(--ring);box-shadow:0 0 0 3px #3b82f614}.group-checkboxes{display:flex;flex-direction:column;gap:2px;max-height:150px;overflow-y:auto}.hint{font-size:12px;color:var(--muted-foreground);margin:0}code{background:var(--muted);padding:2px 6px;border-radius:4px;font-size:12px}.loader{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--muted-foreground)}.login-screen{max-width:340px;margin:60px auto;padding:28px;background:var(--card);border-radius:12px;border:1px solid var(--border);box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008}.login-screen h2{margin:0 0 10px;font-size:18px;color:var(--foreground);font-weight:600}.log-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:16px}.log-search-bar{display:flex;align-items:center;gap:8px;flex:1;padding:8px 12px;border:1px solid var(--input);border-radius:var(--radius);background:var(--card);transition:all .15s}.log-search-bar:focus-within{border-color:var(--ring);box-shadow:0 0 0 3px #3b82f614}.log-search-bar svg{flex-shrink:0;color:var(--muted-foreground)}.log-search-bar input{flex:1;border:none;outline:none;font-size:13px;font-family:inherit;background:transparent;color:var(--foreground)}.log-search-bar input::placeholder{color:#94a3b8}.log-search-clear{background:none;border:none;cursor:pointer;color:var(--muted-foreground);font-size:16px;line-height:1;padding:0 2px}.log-search-clear:hover{color:var(--foreground)}.log-refresh-btn{flex-shrink:0;width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--input);border-radius:var(--radius);cursor:pointer;color:var(--muted-foreground);transition:all .15s}.log-refresh-btn:hover{color:var(--foreground);border-color:var(--ring)}.log-refresh-spin svg{animation:spin .6s linear infinite}.log-cal-active{color:var(--ring);border-color:var(--ring);background:#3b82f60f}.log-date-filter-tag{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;padding:4px 10px;border-radius:999px;font-size:12px;background:#dbeafe;color:#1e40af}.log-date-filter-tag button{background:none;border:none;cursor:pointer;color:#1e40af;font-size:15px;line-height:1;padding:0;margin-left:2px;opacity:.7}.log-date-filter-tag button:hover{opacity:1}.kpi-bar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.kpi-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;border:1px solid var(--border);background:var(--card);font-size:11.5px;font-family:inherit;font-weight:500;cursor:pointer;color:var(--muted-foreground);transition:all .15s}.kpi-pill:hover{border-color:var(--ring)}.kpi-pill-active{font-weight:600}.kpi-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.kpi-count{font-weight:700;font-variant-numeric:tabular-nums;min-width:14px;text-align:center}.cal-dropdown{position:absolute;top:100%;right:0;z-index:100;margin-top:6px;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #0000001f;padding:12px;width:280px;-webkit-user-select:none;user-select:none}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cal-title{font-size:13px;font-weight:600;color:var(--foreground)}.cal-title-btn{cursor:pointer;border-radius:6px;padding:2px 8px;transition:background .12s}.cal-title-btn:hover{background:var(--muted)}.cal-dropdown-year{width:740px;right:auto;left:50%;transform:translate(-50%)}.analytics-period-wrap .cal-dropdown-year{right:0;left:auto;transform:none}.cal-year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.cal-month{background:none;border:none;cursor:pointer;font-size:13px;padding:10px 0;border-radius:8px;color:var(--foreground);transition:all .1s}.cal-month:hover:not(:disabled){background:var(--muted)}.cal-month-disabled{color:var(--border);cursor:default}.cal-month-current{font-weight:700}.cal-year-full{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 16px}.cal-mini-month-title{font-size:11px;font-weight:600;text-align:center;padding:2px 0 4px;cursor:pointer;border-radius:4px;color:var(--foreground);background:none;border:none;width:100%}.cal-mini-month-title:hover{background:var(--muted)}.cal-mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:0}.cal-mini-weekday{font-size:9px;color:var(--muted-foreground);text-align:center;padding:1px 0}.cal-mini-day{background:none;border:none;cursor:pointer;font-size:10px;width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:4px;color:var(--foreground);transition:all .1s;position:relative}.cal-mini-day:hover:not(:disabled){background:var(--muted)}.cal-mini-day.cal-day-disabled{color:var(--border);cursor:default}.cal-mini-day.cal-day-today{font-weight:700}.cal-mini-day.cal-day-today:after{content:"";position:absolute;bottom:1px;left:50%;transform:translate(-50%);width:3px;height:3px;border-radius:50%;background:var(--ring)}.cal-mini-day.cal-day-edge{background:var(--ring);color:#fff;font-weight:600}.cal-mini-day.cal-day-edge:hover{background:#2563eb}.cal-mini-day.cal-day-edge.cal-day-today:after{background:#fff}.cal-mini-day.cal-day-from{border-radius:4px 2px 2px 4px}.cal-mini-day.cal-day-to{border-radius:2px 4px 4px 2px}.cal-mini-day.cal-day-from.cal-day-to{border-radius:4px}.cal-mini-day.cal-day-range{background:#3b82f61f;border-radius:2px;color:var(--foreground)}.cal-mini-day.cal-day-range:hover{background:#3b82f638}.cal-nav{background:none;border:none;cursor:pointer;font-size:18px;line-height:1;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;color:var(--muted-foreground);transition:all .12s}.cal-nav:hover{background:var(--muted);color:var(--foreground)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.cal-weekday{font-size:11px;color:var(--muted-foreground);text-align:center;padding:4px 0;font-weight:500}.cal-day{background:none;border:none;cursor:pointer;font-size:13px;width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;color:var(--foreground);transition:all .1s;position:relative}.cal-day:hover:not(:disabled){background:var(--muted)}.cal-day-disabled{color:var(--border);cursor:default}.cal-day-today{font-weight:700}.cal-day-today:after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--ring)}.cal-day-edge{background:var(--ring);color:#fff;font-weight:600}.cal-day-edge:hover{background:#2563eb}.cal-day-edge.cal-day-today:after{background:#fff}.cal-day-from{border-radius:8px 4px 4px 8px}.cal-day-to{border-radius:4px 8px 8px 4px}.cal-day-from.cal-day-to{border-radius:8px}.cal-day-range{background:#3b82f61f;border-radius:2px;color:var(--foreground)}.cal-day-range:hover{background:#3b82f638}.cal-presets{display:flex;gap:8px;margin-top:10px}.cal-btn-preset{flex:1;padding:6px 0;border-radius:6px;font-size:11.5px;font-weight:500;cursor:pointer;border:1px solid var(--input);background:var(--card);color:var(--muted-foreground);font-family:inherit;transition:all .12s}.cal-btn-preset:hover{border-color:var(--ring);color:var(--foreground);background:var(--accent)}.timeline{display:flex;flex-direction:column}.timeline-group{margin-bottom:4px}.timeline-date{font-size:12px;font-weight:600;color:var(--muted-foreground);width:150px;margin:0 auto 18px;padding:6px 0;background:var(--card);border:1px solid var(--border);border-radius:6px;text-align:center;position:sticky;top:0;z-index:5}.timeline-item{position:relative;padding:0 0 16px 24px;min-height:48px}.timeline-line{position:absolute;left:12px;top:-16px;bottom:0;width:2px;background:var(--border)}.timeline-group>.timeline-item:first-child .timeline-line{top:6px}.timeline-item:last-child .timeline-line{bottom:auto;height:13px}.timeline-group>.timeline-item:first-child:last-child .timeline-line{display:none}.timeline-card{position:relative;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px 14px 10px;transition:box-shadow .15s}.timeline-card:hover{box-shadow:0 1px 4px #0000000f}.timeline-card-error{border-color:#fecaca;background:#fefafa}.timeline-card-partial{border-color:#fde68a;background:#fffdf7}.timeline-badge-row{position:absolute;top:-13px;left:-24px;right:0;display:flex;align-items:center;gap:6px;z-index:2}.timeline-badge{display:flex;align-items:center;gap:6px;padding:2px 10px 2px 2px;border-radius:12px;flex-shrink:0}.timeline-pills{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;height:22px;overflow:hidden;flex:1;min-width:0}.timeline-more{flex-shrink:0;position:relative;cursor:pointer;font-size:11px;color:var(--muted-foreground);font-weight:700;background:var(--muted);padding:2px 8px;border-radius:10px;border:1px solid var(--border);white-space:nowrap}.timeline-tooltip{display:none;position:absolute;top:calc(100% + 6px);right:0;background:var(--card);border:1px solid var(--border);border-radius:8px;padding:10px;box-shadow:0 6px 18px #0000001f;z-index:100;width:max-content;min-width:200px;max-width:min(640px,calc(100vw - 40px));font-weight:400}.timeline-tooltip .timeline-pair{flex-wrap:wrap;max-width:100%}.timeline-more:hover .timeline-tooltip{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.timeline-item:has(.timeline-more:hover){z-index:50}.timeline-dot{flex-shrink:0;width:20px;height:20px;border-radius:50%;position:relative;z-index:3}.timeline-op-text{font-size:11px;font-weight:600;white-space:nowrap}.timeline-op-text+.timeline-op-text{margin-left:-3px}.timeline-card-header{display:flex;align-items:center;gap:6px;margin-bottom:4px;flex-wrap:wrap}.timeline-time-pill{flex-shrink:0;font-size:11px;font-weight:500;color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;padding:2px 7px;border-radius:4px;margin-left:auto;white-space:nowrap}.timeline-target{font-weight:600;color:var(--foreground);font-size:13px}.timeline-secondary{color:var(--muted-foreground);font-weight:400;font-size:13px}.timeline-views-list{font-size:12px;color:var(--muted-foreground);font-weight:400;line-height:1.4;margin:0 0 2px;padding-left:0}.timeline-sites{position:relative;font-size:11px;color:var(--muted-foreground);background:var(--muted);padding:2px 8px;border-radius:10px;border:1px solid var(--border);white-space:nowrap}.timeline-group-tag{position:relative;font-size:11px;color:#7c3aed;background:#f5f3ff;padding:2px 8px;border-radius:10px;border:1px solid #ede9fe;white-space:nowrap}.timeline-role-tag{font-size:11px;color:#155e75;background:#cffafe;padding:2px 8px;border-radius:10px;border:1px solid #a5f3fc;white-space:nowrap}.timeline-pair{display:inline-flex;align-items:center}.timeline-pair-line{width:12px;height:1px;background:#8b5cf6;flex-shrink:0}.timeline-pill-failed{position:relative;border-color:#ef4444!important;color:#991b1b!important;background:#fee2e2!important}.timeline-pill-tooltip{display:none;position:absolute;top:calc(100% + 6px);left:0;background:var(--card);border:1px solid #ef4444;border-radius:6px;padding:6px 10px;box-shadow:0 4px 12px #0000001a;z-index:10;white-space:normal;min-width:160px;max-width:300px;font-size:11px;color:#991b1b;font-weight:400}.timeline-pill-failed:hover .timeline-pill-tooltip{display:block}.timeline-card-footer{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:12px}.timeline-actor{color:var(--foreground);font-weight:500}.timeline-by{color:var(--muted-foreground);font-weight:400}.timeline-error{color:#991b1b;background:#fef2f2;padding:1px 8px;border-radius:8px;font-size:11px}.timeline-warn{color:#92400e;background:#fffbeb;padding:1px 8px;border-radius:8px;font-size:11px}.timeline-saved{position:relative;display:inline-flex;align-items:center;gap:4px;margin-left:auto;margin-right:-6px;color:#16a34a;font-size:11px;font-weight:500;cursor:help}.timeline-saved svg{opacity:.85}.timeline-saved-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);right:0;background:#1f2937;color:#f9fafb;padding:8px 10px;border-radius:8px;font-size:11px;line-height:1.5;font-weight:400;white-space:nowrap;z-index:200;box-shadow:0 4px 14px #00000038;flex-direction:column;gap:2px;min-width:180px}.timeline-saved:hover .timeline-saved-tooltip{display:flex}.timeline-saved-tooltip-row{display:flex;justify-content:space-between;gap:12px;color:#d1d5db}.timeline-saved-tooltip-row b{color:#f9fafb;font-weight:600}.timeline-saved-tooltip-label{color:#9ca3af}.timeline-saved-tooltip-total{border-top:1px solid #374151;padding-top:4px;margin-top:2px}.timeline-saved-tooltip-total b{color:#4ade80}.timeline-item:has(.timeline-saved:hover){z-index:50}.mode-toggle{display:flex;gap:2px;background:#e2e8f0;border-radius:8px;padding:2px;margin-bottom:16px}.mode-toggle button{flex:1;padding:6px 12px;border:none;background:none;border-radius:6px;cursor:pointer;font-size:12px;color:var(--muted-foreground);transition:all .2s;font-family:inherit}.mode-toggle button.active{background:var(--background);color:var(--foreground);box-shadow:0 1px 3px #00000014;font-weight:500}.mode-toggle button:hover:not(.active){color:var(--foreground)}.bulk-result-list{margin-top:12px}.bulk-result-item{display:flex;align-items:baseline;gap:6px;padding:4px 0;font-size:13px;border-bottom:1px solid var(--border)}.bulk-result-item:last-child{border-bottom:none}.bulk-result-icon{flex-shrink:0;font-size:12px}.bulk-result-item.success .bulk-result-icon{color:#16a34a}.bulk-result-item.failed .bulk-result-icon{color:#dc2626}.bulk-result-item.failed{color:#991b1b}.bulk-result-error{font-size:11px;margin-left:auto;opacity:.7}.profile-search-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--input);border-radius:var(--radius);background:var(--card);transition:all .15s}.profile-search-bar:focus-within{border-color:var(--ring);box-shadow:0 0 0 2px #3b82f626}.profile-search-bar input,.profile-search-bar input:focus{flex:1;border:none;outline:none;background:transparent;font-size:13px;color:var(--foreground);height:auto;width:auto;padding:0;box-shadow:none;border-radius:0}.profile-search-bar svg{flex-shrink:0;color:var(--muted-foreground)}.profile-search-row{display:flex;gap:8px;align-items:center;margin-bottom:16px}.profile-search-row .profile-search-bar{flex:1;margin-bottom:0}.profile-search-submit{padding:4px 12px;border-radius:6px;border:1px solid var(--border);background:var(--muted);font-size:12px;font-weight:500;color:var(--foreground);cursor:pointer;white-space:nowrap;font-family:inherit;transition:all .15s;flex-shrink:0}.profile-search-submit:hover:not(:disabled){border-color:var(--ring);background:#eff6ff}.profile-search-submit:disabled{opacity:.3;cursor:default}.profile-me-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;border:1.5px solid var(--border);background:var(--card);font-size:12px;font-weight:500;color:var(--muted-foreground);cursor:pointer;white-space:nowrap;transition:all .15s}.profile-me-btn svg{flex-shrink:0;opacity:.75}.profile-me-btn:hover:not(:disabled) svg{opacity:1}.profile-me-btn:hover:not(:disabled){border-color:#93c5fd;background:#eff6ff;color:var(--foreground)}.profile-me-btn:disabled{opacity:.4;cursor:default}.profile-refresh-btn{width:36px;height:36px}.profile-header-row{display:flex;gap:8px;align-items:flex-end;margin-bottom:12px}.profile-header{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.profile-header-info{flex:1;min-width:0}.profile-login{font-size:16px;font-weight:700;color:var(--foreground)}.profile-meta{font-size:12px;color:var(--muted-foreground);margin-top:2px}.profile-sep{margin:0 5px}.profile-actions{display:flex;gap:4px;justify-content:flex-end;margin-bottom:-10px}.profile-actions-column{display:inline-flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.profile-actions-wrap{position:relative;display:inline-flex;flex-shrink:0}.profile-match-icons{display:inline-flex;align-items:center;gap:5px}.profile-match-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1px solid transparent;cursor:help;position:relative}.profile-match-icon-ok{background:#dcfce7;color:#166534;border-color:#bbf7d0}.profile-match-icon-warn{background:#fef9c3;color:#854d0e;border-color:#fde68a}.profile-match-icon-bad{background:#fee2e2;color:#991b1b;border-color:#fecaca}.profile-match-tooltip{display:none;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:200;background:#1f2937;color:#f9fafb;padding:6px 10px;border-radius:6px;font-size:11px;line-height:1.45;font-weight:400;white-space:nowrap;box-shadow:0 6px 18px #00000038;pointer-events:none}.profile-match-icon:hover .profile-match-tooltip{display:block}.profile-actions-trigger{display:inline-flex;align-items:center;gap:6px;height:29px;padding:0 12px;border:1px solid var(--border);background:var(--background);color:var(--foreground);cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;border-radius:8px;transition:border-color .15s,background .15s,color .15s}.profile-actions-trigger svg{flex-shrink:0;opacity:.7}.profile-actions-trigger:hover,.profile-actions-wrap:hover .profile-actions-trigger{border-color:#93c5fd;background:#eff6ff}.profile-actions-popup{display:none;position:absolute;top:calc(100% + 6px);right:0;z-index:50;flex-direction:column;gap:4px;padding:8px;background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 28px #0000001a}.profile-actions-wrap:hover .profile-actions-popup{display:flex}.profile-actions-popup:before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px}.profile-actions-popup .profile-action-btn{width:160px;justify-content:flex-start;padding:0 10px}.profile-actions-popup .profile-action-label,.profile-actions-popup .profile-action-btn:hover .profile-action-label{max-width:none;margin-left:8px}.profile-action-btn{display:flex;align-items:center;height:34px;border-radius:8px;border:1px solid var(--border);background:var(--background);color:var(--muted-foreground);cursor:pointer;transition:border-color .25s,background .25s,color .25s;flex-shrink:0;padding:0 9px}.profile-action-btn svg{flex-shrink:0}.profile-action-btn:hover{border-color:#93c5fd;background:#eff6ff;color:var(--foreground)}.profile-action-label{max-width:0;overflow:hidden;white-space:nowrap;font-size:12px;font-weight:500;color:var(--foreground);transition:max-width .3s ease,margin .3s ease}.profile-action-btn:hover .profile-action-label{max-width:130px;margin-left:6px}.profile-action-btn-left .profile-action-label{margin-left:0}.profile-action-btn-left:hover .profile-action-label{margin-left:0;margin-right:6px}.profile-header-dates{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;margin-left:16px}.profile-date-pill{font-size:11px;padding:2px 8px;border-radius:10px;background:var(--muted);color:var(--muted-foreground);white-space:nowrap;font-weight:500}.profile-section{margin-bottom:12px}.profile-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);margin-bottom:6px}.profile-roles-block{position:relative;display:flex;flex-direction:column;gap:8px;margin-top:-4px;margin-bottom:12px;padding-left:15px}.profile-roles-table{display:grid;grid-template-columns:auto 1fr;border:1px solid var(--border);border-radius:8px;background:#fbfcfd}.profile-roles-table>*{padding:8px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center}.profile-roles-table>*:nth-child(odd){border-right:1px solid var(--border)}.profile-roles-table>*:nth-last-child(-n+2){border-bottom:none}.profile-role-name{font-size:12px;font-weight:500;color:var(--foreground);white-space:nowrap}.profile-role-name-unlicensed{color:#db2777}.profile-role-pills{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;width:100%}.profile-role-pills-list{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.profile-role-buttons{display:flex;gap:6px;align-items:center}.profile-role-buttons .kc-action-btn{padding:3px 10px;font-size:11px;border-radius:6px;gap:4px}.profile-role-buttons .kc-action-btn:not(.kc-action-btn-primary):not(.kc-action-btn-rose){color:#475569;border-color:#cbd5e1}.profile-role-buttons .kc-action-btn:not(.kc-action-btn-primary):not(.kc-action-btn-rose):hover:not(:disabled){background:#f1f5f9;color:#334155;border-color:#94a3b8}.profile-role-status{font-size:11px;padding:2px 8px;border-radius:5px;white-space:nowrap;font-weight:500}.profile-role-status-success{background:#dcfce7;color:#166534}.profile-role-status-error{background:#fee2e2;color:#991b1b}.profile-site-pill{position:relative;display:inline-flex;align-items:center;padding:4px 12px;border:1px solid var(--border);border-radius:16px;background:var(--card);font-size:11px;font-weight:500;color:var(--foreground);cursor:default;-webkit-user-select:none;user-select:none;transition:all .15s}.profile-site-pill:hover{border-color:#93c5fd;background:#eff6ff}.profile-site-pill-toggle{cursor:pointer}.profile-site-pill-selected,.profile-site-pill-selected:hover{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.profile-site-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:20;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #0000001a;padding:8px 12px;white-space:nowrap;min-width:120px}.profile-site-pill:hover .profile-site-tooltip{display:block}.profile-site-tooltip-groups{display:flex;flex-wrap:wrap;gap:4px}.profile-group-pill{font-size:10px;padding:1px 6px;border-radius:5px;background:#ede9fe;color:#5b21b6;font-weight:500}.bar-timeline{margin:8px 0;padding-left:17px}.profile-section-heading{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--muted-foreground);margin-bottom:-7px}.profile-section-heading svg{flex-shrink:0;opacity:.7}.profile-tableau-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:-7px}.profile-tableau-row .profile-section-heading{margin-bottom:0}.profile-comment-block{display:inline-flex;align-items:center;gap:8px;min-width:0}.profile-comment-text{font-size:12px;font-style:italic;color:var(--muted-foreground);max-width:450px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-comment-btn{position:relative;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--border);background:var(--card);color:var(--muted-foreground);cursor:pointer;padding:0;flex-shrink:0;transition:background .12s,color .12s,border-color .12s}.profile-comment-btn:hover{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.profile-comment-tooltip{display:none;position:absolute;top:calc(100% + 6px);right:0;z-index:200;background:#1f2937;color:#f9fafb;padding:6px 10px;border-radius:6px;font-size:11px;line-height:1.45;font-weight:400;white-space:nowrap;box-shadow:0 6px 18px #00000038;pointer-events:none}.profile-comment-btn:hover .profile-comment-tooltip{display:block}.profile-comment-modal{max-width:520px}.profile-comment-textarea{font-family:inherit;resize:vertical;min-height:80px}.profile-actions-strip{position:relative;display:flex;align-items:center;gap:10px;margin-top:-16px;margin-bottom:12px;padding-left:17px}.profile-actions-strip-connector{position:absolute;left:0;top:1px;width:11px;height:calc(50% + 1px);border-left:1px solid var(--border);border-bottom:1px solid var(--border);border-bottom-left-radius:6px;pointer-events:none}.profile-roles-block-connector{position:absolute;left:0;top:-68px;width:11px;bottom:calc(100% - 12px);border-left:1px solid var(--border);border-bottom:1px solid var(--border);border-bottom-left-radius:6px;pointer-events:none}.profile-actions-strip-label,.profile-subheading{font-size:11.5px;font-weight:500;color:var(--muted-foreground);white-space:nowrap}.profile-actions-strip-label{margin-left:2px}.profile-subheading{margin-left:3px}.profile-roles-table{margin-left:4px}.profile-subheading-row{display:flex;align-items:center;gap:8px;margin-left:3px}.profile-subheading-row .profile-subheading{margin-left:0}.profile-edit-roles-btn{position:relative;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--card);border-radius:5px;cursor:pointer;color:var(--muted-foreground);padding:0;margin-top:-2px;transition:background .12s,color .12s,border-color .12s}.profile-edit-roles-tooltip{display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:200;background:#1f2937;color:#f9fafb;padding:6px 10px;border-radius:6px;font-size:11px;line-height:1.45;font-weight:400;white-space:nowrap;box-shadow:0 6px 18px #00000038;pointer-events:none}.profile-edit-roles-btn:hover .profile-edit-roles-tooltip{display:block}.profile-edit-roles-btn:hover{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.profile-edit-roles-btn-active,.profile-edit-roles-btn-active:hover{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.profile-add-site-btn.kc-action-btn,.profile-add-group-btn.kc-action-btn{padding:3px 10px;font-size:11px;border-radius:6px;gap:7px;margin-top:-2px}.kc-modal.profile-add-site-modal{max-width:800px;width:92vw;max-height:calc(100vh - 40px);overflow:hidden}.kc-modal.profile-add-site-modal .kc-modal-form{overflow-y:auto;flex:1;min-height:0}.kc-modal.profile-add-site-modal .groups-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.profile-actions-strip-timeline{flex:1;min-width:0;padding-right:1px}.profile-actions-strip-timeline .bar-timeline{margin:0;padding-left:0}.bar-timeline-track{display:flex;gap:1px;height:10px;background:var(--border);border-radius:6px;padding:0;-webkit-user-select:none;user-select:none}.bar-dragging .bar-tooltip{display:none!important}.bar-segment-wrap{flex:1;position:relative;min-width:0}.bar-segment-wrap:first-child .bar-segment{border-radius:6px 0 0 6px}.bar-segment-wrap:last-child .bar-segment{border-radius:0 6px 6px 0}.bar-segment-wrap:only-child .bar-segment{border-radius:6px}.bar-segment-wrap:hover{z-index:20}.bar-segment{width:100%;height:100%;cursor:pointer;transition:filter .15s,transform .15s}.bar-segment-wrap:hover .bar-segment{filter:brightness(1.25);transform:scaleY(1.3)}.bar-segment-failed{background-image:repeating-linear-gradient(45deg,transparent,transparent 3px,rgba(0,0,0,.25) 3px,rgba(0,0,0,.25) 5px)!important}.bar-tooltip{display:none;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);background:var(--foreground);color:var(--card);padding:8px 12px;border-radius:8px;font-size:11px;line-height:1.5;white-space:nowrap;z-index:100;box-shadow:0 4px 12px #0003}.bar-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--foreground)}.bar-segment-wrap:hover .bar-tooltip{display:block}.bar-tip-left .bar-tooltip{left:0;transform:none}.bar-tip-left .bar-tooltip:after{left:8px;transform:none}.bar-tip-right .bar-tooltip{left:auto;right:0;transform:none}.bar-tip-right .bar-tooltip:after{left:auto;right:8px;transform:none}.bar-tooltip-combo{color:#c4b5fd;font-weight:500}.bar-tooltip-sites{margin-top:4px}.bar-tooltip-site-row{display:flex;align-items:baseline;gap:4px}.bar-tooltip-status{font-size:10px}.bar-tooltip-groups{color:#c4b5fd;font-size:10px;margin-left:12px}.bar-tooltip-error{color:#fca5a5;margin-top:2px}.bar-tooltip-actor{color:#94a3b8;margin-top:2px}.bar-timeline-dates{display:flex;justify-content:space-between;margin-top:4px;font-size:10px;color:var(--foreground)}.bar-timeline-reset{color:var(--muted-foreground)}.content-tree{max-height:400px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);padding:6px}.tree-node{display:flex;align-items:center;gap:4px;padding:2px 4px;font-size:13px;cursor:pointer;border-radius:4px;-webkit-user-select:none;user-select:none}.tree-node:hover{background:var(--muted)}.tree-toggle{width:18px;text-align:center;flex-shrink:0;color:var(--muted-foreground);font-size:11px}.tree-checkbox{margin:0;accent-color:var(--primary)}.tree-label{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-count{color:var(--muted-foreground);font-size:11px;margin-left:4px;flex-shrink:0}.tree-indent{flex-shrink:0}.grantee-list{max-height:200px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);padding:4px}.grantee-item{display:flex;align-items:center;gap:6px;padding:3px 6px;font-size:13px;border-radius:4px;cursor:pointer}.grantee-item:hover{background:var(--muted)}.grantee-item input[type=checkbox]{accent-color:var(--primary)}.grantee-input-wrap{position:relative}.grantee-input-box{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px 8px;min-height:38px;border:1px solid var(--input);border-radius:var(--radius);background:var(--card);cursor:text;transition:all .15s}.grantee-input-box:focus-within{border-color:var(--ring);box-shadow:0 0 0 3px #3b82f614}.grantee-input-box input{flex:1;min-width:60px;border:none;outline:none;font-size:13px;font-family:inherit;background:transparent;color:var(--foreground);padding:2px 4px;height:26px}.grantee-input-box input::placeholder{color:#94a3b8}.grantee-pill{display:inline-flex;align-items:center;gap:2px;padding:2px 4px 2px 8px;background:var(--muted);border:1px solid var(--border);border-radius:12px;font-size:12px;color:var(--foreground);white-space:nowrap}.grantee-pill-remove{background:none;border:none;cursor:pointer;color:var(--muted-foreground);font-size:14px;line-height:1;padding:0 2px;display:flex;align-items:center}.grantee-pill-remove:hover{color:var(--destructive)}.grantee-dropdown{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #00000014;z-index:20;margin-top:2px}.grantee-dropdown-basic{border-bottom:1px solid var(--border);font-weight:500}.copy-mode-inputs{display:flex;align-items:flex-start;gap:8px}.copy-mode-inputs>div:first-child,.copy-mode-inputs>div:last-child{flex:1;min-width:0}.copy-mode-arrow{display:flex;align-items:center;padding-top:28px;color:#94a3b8;font-size:18px;flex-shrink:0}.grantee-dropdown-item{padding:6px 10px;font-size:13px;cursor:pointer;color:var(--foreground);transition:background .1s}.grantee-dropdown-item:hover{background:var(--muted)}.grant-detail-row{display:flex;align-items:baseline;gap:6px;padding:3px 0;font-size:12px}.grant-detail-icon{flex-shrink:0}.grant-detail-name{flex:1}.grant-detail-error{color:#991b1b;font-size:11px}.oplog-wrap{position:relative;display:inline-flex;align-items:center}.oplog-btn{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border);background:var(--card);color:var(--muted-foreground);font-size:11px;font-weight:700;font-style:italic;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.oplog-btn:hover{border-color:var(--ring);color:var(--ring)}.oplog-btn-active{animation:oplog-pulse 1.5s ease-in-out infinite;border-color:var(--ring);color:var(--ring)}.oplog-btn-error{border-color:#ef4444;color:#ef4444}.oplog-btn-warn{border-color:#f59e0b;color:#f59e0b}@keyframes oplog-pulse{0%,to{opacity:.5}50%{opacity:1}}.oplog-popup{display:none;position:absolute;bottom:calc(100% + 8px);right:-8px;width:400px;max-height:300px;overflow-y:auto;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 20px #0000001f;z-index:50;padding:6px 0;font-size:11.5px;line-height:1.4}.oplog-wrap:hover .oplog-popup,.oplog-pinned .oplog-popup{display:block}.oplog-pinned .oplog-btn{border-color:var(--ring);color:var(--ring);box-shadow:0 0 0 2px #6366f126}.oplog-entry{display:flex;align-items:flex-start;gap:6px;padding:2px 10px}.oplog-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:4px}.oplog-dot-info{background:#3b82f6}.oplog-dot-success{background:#22c55e}.oplog-dot-warning{background:#f59e0b}.oplog-dot-error{background:#ef4444}.oplog-dot-wrap{position:relative;display:inline-flex;padding:4px;margin:-4px;cursor:help;flex-shrink:0}.oplog-dot-wrap:after{content:attr(data-tooltip);position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:6px;background:#1f2937;color:#f9fafb;padding:6px 10px;border-radius:6px;font-size:11px;line-height:1.4;max-width:360px;width:max-content;white-space:pre-wrap;word-break:break-word;z-index:1000;box-shadow:0 4px 12px #0003;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease}.oplog-dot-wrap:hover:after{opacity:1;visibility:visible}.oplog-time{color:var(--muted-foreground);font-size:10px;flex-shrink:0;font-variant-numeric:tabular-nums;min-width:52px}.oplog-msg{color:var(--foreground);word-break:break-word;flex:1;min-width:0}.oplog-badge{display:inline-block;font-size:10px;padding:0 5px;border-radius:8px;margin-left:5px;white-space:nowrap;vertical-align:middle;line-height:1.6;font-weight:500}.oplog-empty{padding:12px;text-align:center;color:var(--muted-foreground)}.revoke-checkbox{accent-color:#f59e0b}.revoke-warning{padding:12px;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius);font-size:13px;color:#92400e;margin-bottom:8px}.btn-revoke{padding:9px 18px;background:#fef3c7;color:#92400e;border:1px solid #fde68a;border-radius:var(--radius);cursor:pointer;font-size:13px;font-weight:500;font-family:inherit;transition:background .15s,border-color .15s,opacity .15s;height:38px}.btn-revoke:hover{background:#fde68a;border-color:#f59e0b}.btn-revoke:disabled{opacity:.4;cursor:default}.timeline-login-link{cursor:pointer;border-bottom:1px dashed #94a3b8;transition:color .15s,border-color .15s}.timeline-login-link:hover{color:#2563eb;border-color:#2563eb}.timeline-bulk-users{font-size:13px;color:var(--foreground);font-weight:500;display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:0}.timeline-bulk-user{font-weight:500}.timeline-bulk-sep{color:var(--muted-foreground);margin-right:4px}.mini-profile-popup{position:absolute;z-index:1000;width:340px;background:var(--card);border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #0000001f,0 2px 8px #0000000f;animation:miniProfileIn .15s ease}@keyframes miniProfileIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.mini-profile-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 8px;border-bottom:1px solid #f1f5f9}.mini-profile-login{font-weight:600;font-size:14px;color:var(--foreground)}.mini-profile-close{background:none;border:none;font-size:18px;color:#94a3b8;cursor:pointer;padding:0 4px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.mini-profile-close:hover{color:#475569}.mini-profile-nav-btn{background:none;border:1px solid #cbd5e1;border-radius:6px;color:#64748b;cursor:pointer;padding:3px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.mini-profile-nav-btn:hover{color:#334155;border-color:#94a3b8;background:#f8fafc}.mini-profile-body{padding:10px 14px 12px}.mini-profile-meta{font-size:13px;color:#334155;margin-bottom:6px;line-height:1.4}.mini-profile-date{font-size:12px;color:#64748b;margin-bottom:8px}.mini-profile-roles{display:flex;flex-direction:column;gap:5px}.mini-profile-role-row{display:flex;align-items:baseline;gap:6px;font-size:12px;flex-wrap:wrap}.mini-profile-role-label{font-weight:600;color:#475569;white-space:nowrap;flex-shrink:0}.mini-profile-sites{display:flex;flex-wrap:wrap;gap:4px}.analytics-dash{display:flex;flex-direction:column;gap:16px;width:100%;max-width:1200px;margin:0 auto;min-width:0;box-sizing:border-box}.analytics-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.analytics-title{font-size:20px;font-weight:600;margin:0;color:var(--foreground);letter-spacing:-.3px}.analytics-controls{display:flex;align-items:center;gap:8px}.analytics-period-wrap{position:relative}.analytics-savings{position:relative;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:8px;background:var(--card);border:1px solid var(--border);color:var(--muted-foreground);font-size:12.5px;font-weight:500;cursor:help}.analytics-savings svg{opacity:.7}.analytics-savings-value{color:var(--muted-foreground)}.analytics-savings-pct{color:var(--muted-foreground);opacity:.75}.analytics-savings-tooltip{display:none;position:absolute;top:calc(100% + 8px);left:0;background:#1f2937;color:#f9fafb;padding:10px 12px;border-radius:10px;font-size:11.5px;line-height:1.55;font-weight:400;white-space:nowrap;z-index:200;box-shadow:0 10px 28px #00000040;min-width:240px}.analytics-savings:hover .analytics-savings-tooltip{display:block}.analytics-savings-tooltip-row{display:flex;justify-content:space-between;gap:16px;color:#d1d5db}.analytics-savings-tooltip-row b{color:#f9fafb;font-weight:600}.analytics-savings-tooltip-label{color:#9ca3af;display:inline-flex;align-items:center;gap:6px}.analytics-savings-tooltip-total{border-top:1px solid #374151;padding-top:5px;margin-top:3px}.analytics-savings-tooltip-total b{color:#4ade80}.analytics-savings-tooltip-section{margin-top:8px;padding-top:6px;border-top:1px solid #374151;font-size:10.5px;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.analytics-savings-tooltip-op{color:#e5e7eb}.analytics-savings-tooltip-op b{color:#f9fafb}.analytics-savings-tooltip-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.analytics-period-btn{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:8px;background:var(--card);border:1px solid var(--border);font-size:12.5px;font-weight:500;color:var(--foreground);cursor:pointer;transition:all .15s;font-family:inherit}.analytics-period-btn:hover{border-color:var(--ring);background:var(--accent)}.analytics-refresh-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--card);border:1px solid var(--border);color:var(--muted-foreground);cursor:pointer;transition:all .15s}.analytics-refresh-btn:hover:not(:disabled){border-color:var(--ring);color:var(--foreground);background:var(--accent)}.analytics-refresh-btn:disabled{opacity:.6;cursor:default}.analytics-refresh-btn-loading{border-color:var(--ring);color:var(--ring);background:color-mix(in srgb,var(--ring) 8%,var(--card))}.analytics-refresh-btn-loading svg{animation:spin .9s linear infinite}.analytics-error{padding:10px 14px;border-radius:8px;background:#fef2f2;color:#991b1b;border:1px solid #fecaca;font-size:13px}.analytics-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:60px;color:var(--muted-foreground)}.analytics-spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--ring);animation:spin .8s linear infinite}.analytics-spinner-lg{width:32px;height:32px;border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.analytics-content-wrap{position:relative}.analytics-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;padding-top:120px;background:#ffffff8c;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:200;border-radius:12px;animation:analytics-overlay-fade-in .12s ease-out}.analytics-loading-card{display:inline-flex;align-items:center;gap:14px;padding:14px 20px;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #00000014;font-size:13px;color:var(--foreground);font-weight:500}@keyframes analytics-overlay-fade-in{0%{opacity:0}to{opacity:1}}.analytics-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px 18px;width:100%;min-width:0;box-sizing:border-box}.analytics-card-title-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.analytics-card-title{font-size:11.5px;font-weight:600;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.6px;margin-bottom:14px}.analytics-card-title-row .analytics-card-title{margin-bottom:0}.analytics-card-filter{margin-left:8px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--foreground);padding:2px 8px;border-radius:8px;background:var(--muted);font-size:11px}.analytics-charts-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}@media (max-width: 900px){.analytics-charts-row{grid-template-columns:1fr}}.chart-empty{text-align:center;padding:32px 16px;color:var(--muted-foreground);font-size:12.5px}.kpi-halo{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:6px 18px 14px;display:grid;grid-template-columns:1fr 200px;gap:22px;align-items:stretch;min-width:0;box-sizing:border-box}.kpi-halo-left{display:flex;flex-direction:column;gap:14px;min-width:0}.kpi-halo-line{min-width:0}@media (max-width: 900px){.kpi-halo{grid-template-columns:1fr}}.kpi-halo-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:1fr 1fr;gap:8px}@media (max-width: 1100px){.kpi-halo-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.kpi-halo-donut{display:flex;align-items:center;justify-content:center}@media (max-width: 720px){.kpi-halo-donut{padding:12px 0}}.kpi-mini{--kpi-color: #94a3b8;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--card);border:1px solid var(--border);cursor:pointer;transition:all .18s;font-family:inherit;text-align:left;position:relative;overflow:hidden}.kpi-mini:hover{border-color:var(--kpi-color);background:color-mix(in srgb,var(--kpi-color) 6%,var(--card))}.kpi-mini-selected{border-color:var(--kpi-color);background:color-mix(in srgb,var(--kpi-color) 12%,var(--card));box-shadow:0 0 0 1px var(--kpi-color)}.kpi-mini-dim{opacity:.4}.kpi-mini-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;flex-shrink:0}.kpi-mini-text{display:flex;flex-direction:column;gap:1px;min-width:0}.kpi-mini-value{font-size:18px;font-weight:700;color:var(--foreground);line-height:1.1;letter-spacing:-.3px}.kpi-mini-label{font-size:10.5px;color:var(--muted-foreground);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.donut-wrap{position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center}.donut-empty{display:flex;align-items:center;justify-content:center;border:2px dashed var(--border);border-radius:50%;color:var(--muted-foreground);font-size:11px}.donut-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.donut-center-value{font-size:28px;font-weight:700;color:var(--foreground);line-height:1;letter-spacing:-.5px;transition:color .15s}.donut-center-label{font-size:10.5px;color:var(--muted-foreground);margin-top:4px;max-width:130px;line-height:1.3}.donut-center-pct{font-size:10.5px;color:var(--muted-foreground);margin-top:2px;font-weight:600}.line-chart-wrap{width:100%;max-width:100%;height:110px;position:relative;min-width:0;box-sizing:border-box;overflow:hidden}.line-svg-area{position:relative;width:100%;height:100%;min-width:0;min-height:0}.line-svg-area svg{display:block}.line-tooltip{background:#1f2937;color:#f9fafb;padding:6px 10px;border-radius:6px;font-size:11px;line-height:1.4;white-space:nowrap;z-index:1000;box-shadow:0 4px 12px #0003;pointer-events:none}.line-tooltip-date{font-weight:600}.line-tooltip-value{color:#d1d5db;font-size:10.5px;margin-top:1px}.line-peak-label{position:absolute;transform:translate(-50%,-100%);font-size:10px;font-weight:600;color:var(--foreground);pointer-events:none;white-space:nowrap}.line-xlabels{display:flex;padding:4px 4px 0;align-items:flex-start;gap:0;flex-shrink:0}.line-xlabel{flex:1;min-width:0;font-size:9.5px;color:var(--muted-foreground);text-align:center;white-space:nowrap;overflow:hidden}.stacked-rows{display:flex;flex-direction:column}.stacked-rows::-webkit-scrollbar{width:6px}.stacked-rows::-webkit-scrollbar-track{background:transparent}.stacked-rows::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.stacked-rows::-webkit-scrollbar-thumb:hover{background:#cbd5e1}.stacked-row{display:grid;grid-template-columns:140px 1fr 44px;gap:10px;align-items:center;padding:0 4px;cursor:default;transition:background .12s;flex-shrink:0;border-radius:4px}.stacked-row:hover{background:var(--accent)}.stacked-row-clickable{cursor:pointer}.stacked-row-selected{background:#3b82f61a}.stacked-row-selected:hover{background:#3b82f629}.stacked-row-label{font-size:12px;font-weight:500;color:var(--foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;gap:1px}.stacked-row-meta{font-size:10px;color:var(--muted-foreground);font-weight:400}.stacked-row-bar-wrap{height:14px;min-width:0;position:relative}.stacked-row-bar{height:100%;display:flex;border-radius:3px;overflow:hidden;transition:width .3s ease}.stacked-row-seg{height:100%;min-width:1px;transition:filter .12s}.stacked-row:hover .stacked-row-seg{filter:brightness(1.06)}.stacked-row-total{font-size:12.5px;font-weight:700;color:var(--foreground);text-align:right}.stacked-row-tooltip-fixed{background:#1f2937;color:#f9fafb;padding:8px 10px;border-radius:8px;font-size:11px;line-height:1.5;white-space:nowrap;z-index:1000;box-shadow:0 4px 14px #00000038;pointer-events:none;min-width:180px}.stacked-row-tooltip-title{font-weight:600;margin-bottom:4px}.stacked-row-tooltip-total{color:#d1d5db;padding-bottom:4px;margin-bottom:4px;border-bottom:1px solid #374151}.stacked-row-tooltip-saved{color:#6ee7b7;padding-bottom:4px;margin-bottom:4px;border-bottom:1px solid #374151}.stacked-row-tooltip-saved b{color:#d1fae5}.stacked-row-tooltip-item{display:grid;grid-template-columns:10px 1fr auto;gap:6px;align-items:center}.stacked-row-tooltip-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.stacked-row-tooltip-label{color:#d1d5db}.kc-panel{display:flex;flex-direction:column;gap:14px;max-width:1080px;margin:0 auto;width:100%;min-width:0;box-sizing:border-box}.kc-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.kc-title{margin:0;font-size:20px;font-weight:600;color:var(--foreground);letter-spacing:-.3px}.kc-controls{display:flex;align-items:center;gap:8px;flex:1;max-width:700px}.kc-create-btn{display:inline-flex;align-items:center;justify-content:center;gap:0;height:32px;width:32px;padding:0;border-radius:8px;background:var(--card);border:1px solid var(--border);color:var(--muted-foreground);cursor:pointer;font-family:inherit;font-size:13px;font-weight:400;white-space:nowrap;flex-shrink:0;overflow:hidden;transition:width .2s,gap .2s,padding .2s,border-color .15s,background .15s,color .15s}.kc-create-btn svg{flex-shrink:0}.kc-create-btn-text{max-width:0;opacity:0;transition:max-width .2s,opacity .15s .05s}.kc-create-btn:hover{width:auto;padding:0 10px;gap:6px;border-color:#93c5fd;background:#eff6ff;color:var(--foreground)}.kc-create-btn:hover .kc-create-btn-text{max-width:220px;opacity:1}.kc-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.kc-modal{background:var(--card);border:1px solid var(--border);border-radius:12px;width:100%;max-width:460px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column}.kc-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.kc-modal-title{margin:0;font-size:15px;font-weight:600;color:var(--foreground)}.kc-modal-close{border:none;background:transparent;color:var(--muted-foreground);cursor:pointer;font-size:22px;line-height:1;padding:0 4px;font-family:inherit}.kc-modal-close:hover{color:var(--foreground)}.kc-modal-form{display:flex;flex-direction:column;gap:12px;padding:16px}.kc-modal-field{display:flex;flex-direction:column;gap:4px}.kc-modal-label{font-size:12px;font-weight:500;color:var(--muted-foreground)}.kc-modal-input{padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--card);font-size:13px;color:var(--foreground);font-family:inherit;box-sizing:border-box;transition:border-color .12s}.kc-modal-input:focus{outline:none;border-color:#93c5fd}.kc-modal-input:disabled{opacity:.6;cursor:default}.kc-modal-error{padding:8px 10px;border-radius:8px;background:#fef2f2;color:#991b1b;border:1px solid #fecaca;font-size:12px}.kc-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.kc-search-wrap{position:relative;flex:1;min-width:0}.kc-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted-foreground);pointer-events:none}.kc-search-input{width:100%;padding:8px 92px 8px 32px;border-radius:8px;border:1px solid var(--border);background:var(--card);font-size:13px;color:var(--foreground);font-family:inherit;box-sizing:border-box;transition:border-color .12s}.kc-search-input:focus{outline:none;border-color:var(--ring)}.kc-search-clear{position:absolute;right:80px;top:50%;transform:translateY(-50%);width:20px;height:20px;border:none;background:transparent;color:var(--muted-foreground);font-size:16px;line-height:1;cursor:pointer;border-radius:4px;padding:0}.kc-search-clear:hover{color:var(--foreground);background:var(--muted)}.kc-search-submit{position:absolute;right:6px;top:50%;transform:translateY(-50%);padding:3px 10px;border-radius:6px;background:var(--ring);color:#fff;border:1px solid var(--ring);font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .12s}.kc-search-submit:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.kc-search-submit:disabled{opacity:.5;cursor:default}.kc-refresh-btn,.kc-filter-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--card);border:1px solid var(--border);color:var(--muted-foreground);cursor:pointer;transition:all .15s;flex-shrink:0;position:relative}.kc-filter-btn:hover{border-color:var(--ring);color:var(--foreground);background:var(--accent)}.kc-filter-btn-active,.kc-filter-btn-open{border-color:#93c5fd;color:#1e40af;background:#dbeafe}.kc-filter-dot{position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:#ef4444}.kc-filters-panel{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:8px;background:#eff6ff;border:1px solid #bfdbfe}.kc-filter-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.kc-filter-label{font-size:12.5px;color:var(--muted-foreground);font-weight:500;min-width:80px}.kc-filters-label{font-size:12.5px;color:var(--muted-foreground);font-weight:500}.kc-segmented{display:inline-flex;border:1px solid var(--border);border-radius:8px;background:var(--muted);padding:2px}.kc-segmented-btn{padding:5px 14px;border:none;background:transparent;font-size:12px;font-weight:500;color:var(--muted-foreground);font-family:inherit;cursor:pointer;border-radius:6px;transition:all .15s;white-space:nowrap}.kc-segmented-btn:hover:not(.kc-segmented-btn-active){color:var(--foreground)}.kc-segmented-btn-active{background:var(--card);color:var(--foreground);box-shadow:0 1px 2px #0000000f}.kc-refresh-btn:hover:not(:disabled){border-color:var(--ring);color:var(--foreground);background:var(--accent)}.kc-refresh-btn:disabled{opacity:.6;cursor:default}.kc-refresh-btn-loading{border-color:var(--ring);color:var(--ring);background:color-mix(in srgb,var(--ring) 8%,var(--card))}.kc-refresh-btn-loading svg{animation:spin .9s linear infinite}.kc-error{padding:10px 14px;border-radius:8px;background:#fef2f2;color:#991b1b;border:1px solid #fecaca;font-size:13px}.kc-meta{font-size:11.5px;color:var(--muted-foreground);font-weight:500;padding:0}.kc-list{display:flex;flex-direction:column;gap:6px}.kc-card{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:border-color .12s}.kc-card-open{border-color:#bfdbfe}.kc-card-row{display:grid;grid-template-columns:minmax(0,1fr) auto 16px;gap:16px;align-items:center;width:100%;padding:12px 14px;background:transparent;border:none;cursor:pointer;font-family:inherit;text-align:left;transition:background .12s}.kc-card-row:hover{background:var(--accent)}.kc-card-row-static{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;width:100%;padding:12px 14px;background:transparent;text-align:left}.kc-profile-block{margin-top:14px;display:flex;flex-direction:column;gap:10px}.kc-profile-heading{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--muted-foreground)}.kc-profile-heading svg{flex-shrink:0;opacity:.7}.kc-profile-empty{padding:14px 16px;background:var(--card);border:1px dashed var(--border);border-radius:10px;color:var(--muted-foreground);font-size:13px;text-align:center}.kc-profile-empty-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--card);border:1px dashed var(--border);border-radius:10px}.kc-profile-empty-row .kc-profile-empty{padding:0;background:transparent;border:none;border-radius:0;text-align:left;flex:1;min-width:0}.kc-edit-wrap{display:inline-flex;align-items:stretch;gap:0}.kc-action-btn.kc-action-btn-open{border-color:#93c5fd;background:#eff6ff;border-top-right-radius:0;border-bottom-right-radius:0;border-right-color:#bfdbfe}.kc-edit-menu{display:inline-flex;gap:4px;align-items:center;background:#eff6ff;border:1px solid #93c5fd;border-left:none;border-top-right-radius:8px;border-bottom-right-radius:8px;padding:0 6px}.kc-edit-menu-item{padding:3px 10px;border-radius:12px;background:transparent;border:none;font-family:inherit;font-size:11.5px;font-weight:500;color:var(--foreground);cursor:pointer;transition:background .12s,color .12s}.kc-edit-menu-item:hover{background:#e2e8f0}.kc-edit-menu-item-active,.kc-edit-menu-item-active:hover{background:#cbd5e1;color:#1e293b}.kc-acc-locked-hint{font-size:11.5px;font-weight:500;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:6px 10px;margin-top:6px}.kc-card-main{min-width:0}.kc-card-name{font-size:13.5px;font-weight:600;color:var(--foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.kc-card-meta{display:flex;align-items:center;gap:14px;flex-shrink:0}.kc-status-pill{display:inline-block;align-self:flex-start;font-size:11.5px;padding:3px 9px;border-radius:10px;white-space:nowrap;font-weight:500}.kc-status-active{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.kc-status-blocked{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.kc-dept-info{font-size:12.5px;color:var(--muted-foreground);white-space:nowrap}.kc-dept-info b{color:var(--foreground);font-weight:600}.kc-id-pill{font-size:11px;padding:2px 8px;border-radius:10px;background:var(--muted);color:var(--muted-foreground);white-space:nowrap;font-weight:500}.kc-dept-pill{font-size:11px;padding:2px 8px;border-radius:10px;background:#dbeafe;color:#1e40af;white-space:nowrap;font-weight:500}.kc-chevron{color:var(--muted-foreground);transition:transform .18s;display:flex;align-items:center;justify-content:center}.kc-chevron-open{transform:rotate(180deg);color:var(--ring)}.kc-card-detail{border-top:1px solid var(--border);padding:12px 14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;background:color-mix(in srgb,var(--muted) 30%,var(--card))}@media (max-width: 600px){.kc-card-detail{grid-template-columns:1fr}}.kc-detail-col{display:flex;flex-direction:column;gap:10px;min-width:0}.kc-field{display:flex;flex-direction:column;gap:2px;min-width:0}.kc-field-label{font-size:10.5px;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.4px;font-weight:600}.kc-field-value{font-size:13px;color:var(--foreground);word-break:break-word}.kc-field-warning .kc-field-value{color:#92400e}.kc-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:8px 0}.kc-page-btn{padding:6px 14px;border-radius:8px;background:var(--card);border:1px solid var(--border);font-size:12.5px;color:var(--foreground);cursor:pointer;font-family:inherit;transition:all .12s}.kc-page-btn:hover:not(:disabled){border-color:var(--ring);background:var(--accent)}.kc-page-btn:disabled{opacity:.4;cursor:default}.kc-page-info{font-size:12.5px;color:var(--muted-foreground);font-weight:500}.kc-card-actions{border-top:1px solid var(--border);padding:10px 14px;background:color-mix(in srgb,var(--muted) 30%,var(--card));display:flex;flex-direction:column;gap:8px}.kc-action-buttons{display:flex;gap:6px;flex-wrap:wrap}.kc-action-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;background:var(--card);border:1px solid var(--border);font-size:12px;color:var(--foreground);cursor:pointer;font-family:inherit;transition:all .12s;white-space:nowrap}.kc-action-btn:hover:not(:disabled){border-color:var(--ring);background:var(--accent)}.kc-action-btn:disabled{opacity:.5;cursor:default}.kc-action-btn-primary{background:var(--ring);color:#fff;border-color:var(--ring)}.kc-action-btn-primary:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.kc-action-btn-warn{color:#92400e}.kc-action-btn-warn:hover:not(:disabled){border-color:#f59e0b;background:#fffbeb;color:#92400e}.kc-action-btn-rose{background:#f43f5e;color:#fff;border-color:#f43f5e}.kc-action-btn-rose:hover:not(:disabled){background:#e11d48;border-color:#e11d48}.kc-action-btn-danger{background:#ef4444;color:#fff;border-color:#ef4444}.kc-action-btn-danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.kc-action-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kc-action-form-label{font-size:12px;color:var(--muted-foreground);font-weight:500;white-space:nowrap}.kc-action-input{flex:1;min-width:200px;padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:var(--card);font-size:12.5px;color:var(--foreground);font-family:inherit}.kc-action-input:focus{outline:none;border-color:var(--ring)}.kc-action-confirm{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 8px;border-radius:6px;background:#fffbeb;border:1px solid #fde68a}.kc-action-confirm-text{font-size:12.5px;color:#92400e;font-weight:500}.kc-action-status{font-size:12px;padding:6px 10px;border-radius:6px;font-weight:500}.kc-action-status-success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.kc-action-status-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.kc-acc-count{font-size:11px;padding:2px 8px;border-radius:10px;background:var(--accent);color:var(--muted-foreground);white-space:nowrap;font-weight:500}.kc-id-pill-warn{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.kc-card-no-manager .kc-card-name{color:var(--muted-foreground);font-style:italic}.kc-card-deleted .kc-card-name{color:var(--muted-foreground);text-decoration:line-through}.kc-accounts{border-top:1px solid var(--border);padding:10px;display:flex;flex-direction:column;gap:8px;background:color-mix(in srgb,var(--muted) 30%,var(--card))}.kc-acc-block{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:0}.kc-acc-statuses-row{margin-top:8px}.kc-acc-actions-row{margin-top:10px}.kc-acc-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.kc-acc-statuses-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.kc-acc-statuses{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.kc-acc-info-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:8px 0 8px 6px}.kc-acc-info-items{display:flex;align-items:center;gap:8px 50px;flex-wrap:wrap;flex:1;min-width:0}.kc-acc-info-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--foreground);min-width:0}.kc-acc-info-item b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kc-acc-info-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--muted-foreground);flex-shrink:0}.kc-acc-meta-pills{display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0}.kc-acc-actions-row{display:flex;flex-wrap:wrap;gap:6px;border-top:1px dashed var(--border);padding-top:10px}.kc-status-line{font-size:11.5px;padding:3px 9px;border-radius:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-flex;align-items:baseline;gap:4px;align-self:flex-start;max-width:100%}.kc-status-line-label{font-weight:500;opacity:.85}.kc-status-line-value{font-weight:600}.kc-status-line-green{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.kc-status-line-red{background:var(--muted);color:var(--muted-foreground);border:1px solid var(--border)}.kc-status-line-yellow{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.kc-status-line-grey{background:var(--muted);color:var(--muted-foreground);border:1px solid var(--border)}.kc-2fa-group{display:inline-flex;align-items:center;gap:0;flex-wrap:wrap}.kc-2fa-line{width:12px;height:1px;background:#cbd5e1;flex-shrink:0}.kc-2fa-device{font-size:11.5px;padding:3px 9px;border-radius:10px;background:#f1f5f9;color:#475569;border:1px solid #cbd5e1;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;max-width:260px}.kc-2fa-device-label{overflow:hidden;text-overflow:ellipsis;max-width:180px}.kc-cred-pill{position:relative}.kc-cred-del{border:none;background:transparent;color:currentColor;opacity:.55;font-size:13px;line-height:1;cursor:pointer;padding:0 0 0 2px;font-family:inherit}.kc-cred-del:hover{opacity:1}.kc-cred-del:disabled{opacity:.25;cursor:default}.kc-cred-tooltip{display:none;position:absolute;bottom:calc(100% + 6px);right:0;z-index:200;background:#1f2937;color:#f9fafb;padding:8px 10px;border-radius:8px;font-size:11px;line-height:1.55;font-weight:400;white-space:nowrap;min-width:180px;box-shadow:0 6px 18px #00000038;flex-direction:column;gap:2px}.kc-cred-pill:hover .kc-cred-tooltip{display:flex}.kc-cred-tooltip-row{color:#d1d5db}.kc-cred-tooltip-row b{color:#9ca3af;font-weight:500;margin-right:6px}.kc-action-confirm-stacked{flex-direction:column;align-items:flex-start;gap:8px}.kc-cred-info{background:var(--muted);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:11.5px;color:var(--foreground);display:flex;flex-direction:column;gap:2px}.kc-cred-info b{color:var(--muted-foreground);font-weight:500;margin-right:4px}.kc-action-confirm-buttons{display:flex;gap:6px}.kc-card-actions-inline{padding:8px 0 0;background:transparent;margin-top:2px;border-top:none}
