:root{
  color-scheme:dark;
  --tp-bg:#090d14;--tp-bg-soft:#0d121c;--tp-sidebar:#0c121d;--tp-panel:#111824;--tp-panel-2:#141d2b;--tp-panel-3:#182233;
  --tp-border:#222d3d;--tp-border-strong:#2b394c;--tp-text:#f2f5f9;--tp-text-2:#a6b1c2;--tp-text-3:#758197;
  --tp-accent:#22b8f5;--tp-accent-2:#0ea5e9;--tp-accent-soft:rgba(34,184,245,.12);--tp-cyan:#22d3ee;--tp-violet:#a78bfa;
  --tp-green:#4ade80;--tp-yellow:#fbbf24;--tp-red:#fb7185;--tp-blue:#38bdf8;
  --tp-shadow:0 18px 50px rgba(0,0,0,.22);--tp-radius:16px;--tp-sidebar-width:244px;--tp-sidebar-collapsed:78px;--tp-topbar:76px;
  --tp-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme:light){:root:not([data-theme]){color-scheme:light;--tp-bg:#f4f7fb;--tp-bg-soft:#eef3f8;--tp-sidebar:#ffffff;--tp-panel:#ffffff;--tp-panel-2:#f8fafc;--tp-panel-3:#f1f5f9;--tp-border:#dde5ef;--tp-border-strong:#cbd6e4;--tp-text:#152033;--tp-text-2:#5f6f85;--tp-text-3:#8997a9;--tp-accent-soft:rgba(14,165,233,.10);--tp-shadow:0 18px 45px rgba(15,23,42,.08)}}
:root[data-theme="light"]{color-scheme:light;--tp-bg:#f4f7fb;--tp-bg-soft:#eef3f8;--tp-sidebar:#ffffff;--tp-panel:#ffffff;--tp-panel-2:#f8fafc;--tp-panel-3:#f1f5f9;--tp-border:#dde5ef;--tp-border-strong:#cbd6e4;--tp-text:#152033;--tp-text-2:#5f6f85;--tp-text-3:#8997a9;--tp-accent-soft:rgba(14,165,233,.10);--tp-shadow:0 18px 45px rgba(15,23,42,.08)}
:root[data-theme="dark"]{color-scheme:dark}
*{box-sizing:border-box}html{min-height:100%;background:var(--tp-bg)}body{margin:0;min-height:100vh;font-family:var(--tp-font);background:var(--tp-bg);color:var(--tp-text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input{font:inherit}a{color:inherit}.tp-icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex:0 0 auto}.tp-muted{color:var(--tp-text-2)}
.tp-shell{min-height:100vh}.tp-sidebar{position:fixed;inset:0 auto 0 0;width:var(--tp-sidebar-width);background:var(--tp-sidebar);border-right:1px solid var(--tp-border);z-index:50;display:flex;flex-direction:column;transition:width .22s ease,transform .22s ease}.tp-sidebar-head{height:var(--tp-topbar);display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--tp-border)}.tp-brand{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:0}.tp-brand-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#20b7f3,#0d8fd1);color:#fff;font-weight:800;letter-spacing:-.04em;box-shadow:0 8px 20px rgba(14,165,233,.18)}.tp-brand-copy{display:grid;line-height:1.05}.tp-brand-copy strong{font-size:15px;letter-spacing:-.02em}.tp-brand-copy small{margin-top:4px;color:var(--tp-text-3);font-size:10px;font-weight:700;letter-spacing:.18em}.tp-nav{padding:18px 12px;overflow:auto;flex:1}.tp-nav-group+.tp-nav-group{margin-top:24px;padding-top:20px;border-top:1px solid var(--tp-border)}.tp-nav-label{padding:0 12px 8px;color:var(--tp-text-3);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.14em}.tp-nav-item{height:46px;border-radius:12px;display:flex;align-items:center;gap:12px;padding:0 12px;margin:3px 0;color:var(--tp-text-2);text-decoration:none;position:relative;transition:background .15s ease,color .15s ease,transform .15s ease}.tp-nav-item:hover{background:var(--tp-panel-2);color:var(--tp-text)}.tp-nav-item.is-active{background:var(--tp-accent);color:#03111a;font-weight:800;box-shadow:0 8px 20px rgba(34,184,245,.18)}.tp-nav-item.is-disabled{opacity:.62;cursor:default}.tp-nav-item.is-disabled:hover{transform:none;color:var(--tp-text-2)}.tp-nav-item>span:not(.tp-nav-dot){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tp-nav-dot{margin-left:auto;width:6px;height:6px;border-radius:999px;background:var(--tp-yellow)}.tp-sidebar-footer{min-height:82px;border-top:1px solid var(--tp-border);display:flex;align-items:center;gap:10px;padding:14px}.tp-user-mini{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.tp-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--tp-panel-3),var(--tp-border-strong));border:1px solid var(--tp-border-strong);font-weight:800;color:var(--tp-text)}.tp-user-copy,.tp-user-chip-copy{display:grid;min-width:0}.tp-user-copy strong,.tp-user-chip-copy strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tp-user-copy small,.tp-user-chip-copy small{font-size:10px;color:var(--tp-text-3)}.tp-sidebar-collapse,.tp-icon-button,.tp-theme-button{border:1px solid var(--tp-border);background:var(--tp-panel);color:var(--tp-text-2);cursor:pointer}.tp-sidebar-collapse,.tp-icon-button{width:38px;height:38px;border-radius:11px;display:grid;place-items:center}.tp-sidebar-collapse:hover,.tp-icon-button:hover,.tp-theme-button:hover{color:var(--tp-text);border-color:var(--tp-border-strong);background:var(--tp-panel-2)}
.tp-workspace{margin-left:var(--tp-sidebar-width);min-height:100vh;transition:margin-left .22s ease}.tp-topbar{height:var(--tp-topbar);position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--tp-bg) 88%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--tp-border);display:flex;align-items:center;justify-content:space-between;padding:0 26px}.tp-topbar-left{display:flex;align-items:center;gap:12px}.tp-page-kicker{font-size:10px;color:var(--tp-text-3);font-weight:800;letter-spacing:.13em;text-transform:uppercase}.tp-page-title{font-size:18px;font-weight:750;letter-spacing:-.03em;margin-top:1px}.tp-topbar-actions{display:flex;align-items:center;gap:10px}.tp-live-state{height:36px;display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid var(--tp-border);border-radius:11px;color:var(--tp-text-2);font-size:11px;font-weight:800}.tp-live-state i{width:7px;height:7px;background:var(--tp-green);border-radius:50%;box-shadow:0 0 0 4px rgba(74,222,128,.1)}.tp-theme-button{height:38px;border-radius:11px;display:flex;align-items:center;gap:7px;padding:0 11px}.tp-theme-button span{font-size:11px;font-weight:700}.tp-user-chip{height:42px;display:flex;align-items:center;gap:9px;padding:3px 11px 3px 4px;border:1px solid var(--tp-border);border-radius:13px;background:var(--tp-panel)}.tp-user-chip .tp-avatar{width:32px;height:32px;font-size:12px}.tp-logout-form{margin:0}.tp-main{max-width:1540px;margin:0 auto;padding:28px}
.tp-sidebar-collapsed .tp-sidebar{width:var(--tp-sidebar-collapsed)}.tp-sidebar-collapsed .tp-workspace{margin-left:var(--tp-sidebar-collapsed)}.tp-sidebar-collapsed .tp-brand-copy,.tp-sidebar-collapsed .tp-nav-label,.tp-sidebar-collapsed .tp-nav-item>span:not(.tp-nav-dot),.tp-sidebar-collapsed .tp-user-copy{display:none}.tp-sidebar-collapsed .tp-sidebar-head{padding:0 19px}.tp-sidebar-collapsed .tp-nav{padding:18px 12px}.tp-sidebar-collapsed .tp-nav-item{justify-content:center;padding:0}.tp-sidebar-collapsed .tp-nav-dot{position:absolute;right:7px;top:7px}.tp-sidebar-collapsed .tp-user-mini{justify-content:center}.tp-sidebar-collapsed .tp-sidebar-footer{padding:14px 10px;flex-direction:column;height:auto}.tp-sidebar-collapsed .tp-sidebar-collapse{transform:rotate(180deg)}
.tp-hero-card{background:linear-gradient(130deg,color-mix(in srgb,var(--tp-accent) 13%,var(--tp-panel)) 0%,var(--tp-panel) 52%,color-mix(in srgb,var(--tp-cyan) 6%,var(--tp-panel)) 100%);border:1px solid var(--tp-border);border-radius:var(--tp-radius);padding:28px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;position:relative;overflow:hidden;box-shadow:var(--tp-shadow)}.tp-hero-card:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-55px;top:-110px;background:var(--tp-accent-soft);pointer-events:none}.tp-hero-copy{max-width:820px;position:relative;z-index:1}.tp-eyebrow{display:block;color:var(--tp-accent);text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:850;margin-bottom:8px}.tp-hero-copy h1,.tp-page-head h1{margin:0;font-size:clamp(26px,3vw,38px);letter-spacing:-.04em;line-height:1.08}.tp-hero-copy p,.tp-page-head p{margin:10px 0 0;color:var(--tp-text-2);max-width:820px}.tp-hero-status{display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:14px;background:color-mix(in srgb,var(--tp-bg) 45%,transparent);border:1px solid var(--tp-border);min-width:210px;position:relative;z-index:1}.tp-hero-status strong,.tp-hero-status small{display:block}.tp-hero-status small{color:var(--tp-text-3);margin-top:2px;font-size:10px}.tp-status-orb{width:12px;height:12px;border-radius:50%;background:var(--tp-text-3)}.tp-status-orb.is-success{background:var(--tp-green);box-shadow:0 0 0 6px rgba(74,222,128,.1)}
.tp-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}.tp-metric-card{min-height:126px;border:1px solid var(--tp-border);border-radius:var(--tp-radius);background:var(--tp-panel);display:flex;align-items:center;gap:14px;padding:18px;position:relative;box-shadow:0 8px 26px rgba(0,0,0,.06)}.tp-metric-icon,.tp-action-icon,.tp-service-icon{display:grid;place-items:center;border-radius:13px;flex:0 0 auto}.tp-metric-icon{width:48px;height:48px}.tp-metric-icon.is-blue,.tp-action-icon.is-blue{color:var(--tp-blue);background:rgba(56,189,248,.12)}.tp-metric-icon.is-cyan,.tp-action-icon.is-cyan,.tp-service-icon.is-cyan{color:var(--tp-cyan);background:rgba(34,211,238,.12)}.tp-metric-icon.is-violet,.tp-action-icon.is-violet,.tp-service-icon.is-violet{color:var(--tp-violet);background:rgba(167,139,250,.12)}.tp-metric-icon.is-green{color:var(--tp-green);background:rgba(74,222,128,.11)}.tp-metric-body{display:grid;gap:2px;min-width:0}.tp-metric-body>span{color:var(--tp-text-2);font-size:11px}.tp-metric-body strong{font-size:22px;letter-spacing:-.04em}.tp-metric-body small{color:var(--tp-text-3);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tp-metric-trend{position:absolute;right:14px;top:14px;color:var(--tp-text-3);font-size:9px;font-weight:850;letter-spacing:.08em}.tp-metric-trend.is-success{color:var(--tp-green)}
.tp-dashboard-grid{display:grid;gap:14px;margin-top:14px}.tp-dashboard-grid-primary{grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr)}.tp-dashboard-grid-secondary{grid-template-columns:1fr 1fr}.tp-panel{background:var(--tp-panel);border:1px solid var(--tp-border);border-radius:var(--tp-radius);padding:20px;box-shadow:0 8px 26px rgba(0,0,0,.04)}.tp-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.tp-panel-head h2{font-size:16px;margin:0;letter-spacing:-.02em}.tp-panel-head .tp-eyebrow{margin-bottom:4px}.tp-panel-hint{color:var(--tp-text-3);font-size:10px}.tp-quick-actions{display:grid;grid-template-columns:1fr;gap:10px}.tp-action-card{min-height:74px;border:1px solid var(--tp-border);border-radius:14px;background:var(--tp-panel-2);display:flex;align-items:center;gap:13px;padding:12px 14px;text-decoration:none;transition:transform .15s ease,border-color .15s ease,background .15s ease}.tp-action-card:hover:not(.is-disabled){transform:translateY(-1px);border-color:var(--tp-border-strong);background:var(--tp-panel-3)}.tp-action-card.is-disabled{cursor:default}.tp-action-icon{width:42px;height:42px}.tp-action-card>span:nth-child(2){display:grid;gap:2px;min-width:0;flex:1}.tp-action-card strong{font-size:12px}.tp-action-card small{color:var(--tp-text-3);font-size:10px}.tp-action-arrow{margin-left:auto;color:var(--tp-text-3);width:17px;height:17px}.tp-chip,.tp-status-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap}.tp-chip{padding:5px 8px;color:var(--tp-text-3);background:var(--tp-panel-3);border:1px solid var(--tp-border)}.tp-status-badge{padding:5px 9px;background:var(--tp-panel-3);color:var(--tp-text-2);border:1px solid var(--tp-border)}.tp-status-badge.is-success{color:var(--tp-green);background:rgba(74,222,128,.08);border-color:rgba(74,222,128,.2)}.tp-status-badge.is-warning{color:var(--tp-yellow);background:rgba(251,191,36,.08);border-color:rgba(251,191,36,.2)}.tp-status-badge.is-neutral{color:var(--tp-text-3)}
.tp-empty-state{min-height:210px;border:1px dashed var(--tp-border-strong);border-radius:14px;background:linear-gradient(140deg,var(--tp-panel-2),transparent);display:flex;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:left}.tp-empty-state-compact{min-height:86px;justify-content:flex-start}.tp-empty-visual{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:var(--tp-green);background:rgba(74,222,128,.08);flex:0 0 auto}.tp-empty-state strong{font-size:13px}.tp-empty-state p{margin:5px 0 0;color:var(--tp-text-3);font-size:11px}.tp-service-list{display:grid;gap:10px}.tp-service-row{min-height:70px;display:flex;align-items:center;gap:12px;padding:11px;border-radius:13px;border:1px solid var(--tp-border);background:var(--tp-panel-2)}.tp-service-icon{width:42px;height:42px}.tp-service-row>div{display:grid;gap:2px;flex:1}.tp-service-row strong{font-size:12px}.tp-service-row small{font-size:10px;color:var(--tp-text-3)}.tp-health-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tp-health-grid>div{padding:12px;border-radius:12px;background:var(--tp-panel-2);border:1px solid var(--tp-border);display:grid;gap:3px}.tp-health-grid span{font-size:10px;color:var(--tp-text-3)}.tp-health-grid strong{font-size:12px}.tp-text-link{margin-top:14px;display:inline-flex;align-items:center;gap:6px;color:var(--tp-accent);font-size:11px;text-decoration:none;font-weight:750}.tp-text-link .tp-icon{width:15px;height:15px}
.tp-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.tp-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.tp-module-card{background:var(--tp-panel);border:1px solid var(--tp-border);border-radius:var(--tp-radius);padding:18px}.tp-module-card-head{display:flex;align-items:center;justify-content:space-between}.tp-module-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--tp-accent-soft);color:var(--tp-accent)}.tp-module-card h2{font-size:16px;margin:18px 0 3px}.tp-module-card p{margin:0;color:var(--tp-text-3);font-size:11px}.tp-module-meta{display:flex;gap:10px;margin-top:16px}.tp-module-meta span{flex:1;padding:9px;border-radius:10px;background:var(--tp-panel-2);color:var(--tp-text-3);font-size:9px}.tp-module-meta strong{display:block;color:var(--tp-text);font-size:11px;margin-top:2px}
.tp-button{min-height:40px;border:1px solid var(--tp-border);border-radius:11px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:750;font-size:12px;cursor:pointer;background:var(--tp-panel-2);color:var(--tp-text)}.tp-button:hover{border-color:var(--tp-border-strong);background:var(--tp-panel-3)}.tp-button-primary{background:var(--tp-accent);border-color:var(--tp-accent);color:#04131c}.tp-button-primary:hover{background:#4ac9fb;border-color:#4ac9fb}.tp-button-danger{color:var(--tp-red);border-color:rgba(251,113,133,.25);background:rgba(251,113,133,.06)}.tp-button-ghost{background:transparent}.tp-button-block{width:100%}.tp-button-sm{min-height:34px;padding:0 11px;font-size:10px}.tp-form{display:grid;gap:14px}.tp-form-panel{max-width:620px}.tp-field{display:grid;gap:7px;color:var(--tp-text-2);font-size:11px;font-weight:700}.tp-field input{height:46px;width:100%;border:1px solid var(--tp-border-strong);border-radius:11px;background:var(--tp-bg-soft);color:var(--tp-text);padding:0 13px;outline:none}.tp-field input:focus{border-color:var(--tp-accent);box-shadow:0 0 0 3px var(--tp-accent-soft)}.tp-field input::placeholder{color:var(--tp-text-3)}.tp-alert{padding:11px 13px;border-radius:11px;border:1px solid var(--tp-border);margin:12px 0;font-size:11px}.tp-alert.is-danger{color:var(--tp-red);background:rgba(251,113,133,.07);border-color:rgba(251,113,133,.2)}.tp-alert.is-warning{color:var(--tp-yellow);background:rgba(251,191,36,.07);border-color:rgba(251,191,36,.2)}.tp-alert.is-info{color:var(--tp-blue);background:rgba(56,189,248,.07);border-color:rgba(56,189,248,.2)}.tp-alert.is-success{color:var(--tp-green);background:rgba(74,222,128,.07);border-color:rgba(74,222,128,.2)}
.tp-auth-page{background:var(--tp-bg)}.tp-auth-shell{min-height:100vh}.tp-auth-topbar{height:72px;border-bottom:1px solid var(--tp-border);display:flex;align-items:center;justify-content:space-between;padding:0 28px}.tp-auth-main{min-height:calc(100vh - 72px);display:grid;grid-template-columns:minmax(330px,.9fr) minmax(460px,1.1fr)}.tp-auth-main-single{grid-template-columns:1fr}.tp-auth-intro{display:flex;align-items:center;justify-content:center;padding:48px;background:radial-gradient(circle at 25% 30%,var(--tp-accent-soft),transparent 32%),linear-gradient(135deg,var(--tp-bg-soft),var(--tp-bg))}.tp-auth-intro-inner{max-width:520px}.tp-auth-intro h1{font-size:clamp(38px,5vw,62px);line-height:1.03;letter-spacing:-.055em;margin:0}.tp-auth-intro p{font-size:15px;color:var(--tp-text-2);max-width:500px;margin:20px 0}.tp-auth-trust-grid{display:grid;gap:9px;margin-top:28px}.tp-auth-trust-grid span{display:flex;align-items:center;gap:9px;color:var(--tp-text-2);font-size:11px}.tp-auth-trust-grid .tp-icon{color:var(--tp-accent)}.tp-auth-content{display:flex;align-items:center;justify-content:center;padding:46px 28px}.tp-auth-card{width:min(100%,480px);background:var(--tp-panel);border:1px solid var(--tp-border);border-radius:20px;padding:28px;box-shadow:var(--tp-shadow)}.tp-auth-card-wide{width:min(100%,760px)}.tp-auth-card-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px}.tp-auth-card-head h2{margin:0;font-size:26px;letter-spacing:-.04em}.tp-auth-card-head p{margin:6px 0 0;color:var(--tp-text-2);font-size:12px}.tp-auth-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--tp-accent-soft);color:var(--tp-accent);flex:0 0 auto}.tp-auth-icon.is-warning{color:var(--tp-yellow);background:rgba(251,191,36,.08)}.tp-auth-icon.is-danger{color:var(--tp-red);background:rgba(251,113,133,.08)}.tp-auth-footnote{margin-top:18px;padding-top:16px;border-top:1px solid var(--tp-border);display:flex;align-items:flex-start;gap:9px;color:var(--tp-text-3);font-size:10px}.tp-auth-footnote .tp-icon{width:16px;height:16px}.tp-divider{height:22px;display:flex;align-items:center;justify-content:center;color:var(--tp-text-3);font-size:9px;position:relative}.tp-divider:before{content:"";height:1px;background:var(--tp-border);position:absolute;left:0;right:0}.tp-divider span{position:relative;background:var(--tp-panel);padding:0 10px}.tp-two-factor-layout{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start}.tp-qr-box{background:#fff;border-radius:15px;padding:16px;display:grid;place-items:center}.tp-qr-box svg{display:block;max-width:205px;width:100%;height:auto}.tp-secret-box{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all;background:var(--tp-bg-soft);border:1px solid var(--tp-border);padding:12px;border-radius:10px;margin-bottom:16px}.tp-recovery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:16px 0}.tp-recovery-grid code{background:var(--tp-bg-soft);border:1px solid var(--tp-border);padding:10px;border-radius:9px;font-size:11px}.tp-reference{display:inline-block;margin-top:12px;padding:8px 10px;background:var(--tp-bg-soft);border:1px solid var(--tp-border);border-radius:9px;color:var(--tp-text-2)}.tp-error-card{text-align:left}.tp-error-card>h1,.tp-error-card>h2{font-size:25px;letter-spacing:-.035em;margin:12px 0 8px}.tp-error-card>p{color:var(--tp-text-2)}
.tp-session-list{display:grid;gap:10px}.tp-session-row{display:flex;align-items:center;gap:14px;padding:14px;border-radius:14px;background:var(--tp-panel-2);border:1px solid var(--tp-border)}.tp-session-row.is-current{border-color:rgba(74,222,128,.25)}.tp-session-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--tp-panel-3);color:var(--tp-accent)}.tp-session-copy{flex:1;min-width:0}.tp-session-title{display:flex;align-items:center;gap:8px}.tp-session-meta{display:flex;gap:12px;color:var(--tp-text-2);font-size:10px;margin-top:4px}.tp-session-copy small{display:block;color:var(--tp-text-3);font-size:9px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tp-panel-footer{margin-top:14px;padding-top:14px;border-top:1px solid var(--tp-border)}
.tp-mobile-only{display:none}.tp-sidebar-overlay{display:none}
@media(max-width:1180px){.tp-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tp-dashboard-grid-primary,.tp-dashboard-grid-secondary{grid-template-columns:1fr}.tp-user-chip-copy{display:none}.tp-user-chip{padding-right:4px}.tp-theme-button span{display:none}}
@media(max-width:860px){.tp-sidebar{transform:translateX(-100%);width:min(300px,86vw);box-shadow:var(--tp-shadow)}.tp-workspace{margin-left:0!important}.tp-sidebar-collapsed .tp-sidebar{width:min(300px,86vw)}.tp-sidebar-collapsed .tp-brand-copy,.tp-sidebar-collapsed .tp-nav-label,.tp-sidebar-collapsed .tp-nav-item>span:not(.tp-nav-dot),.tp-sidebar-collapsed .tp-user-copy{display:grid}.tp-sidebar-collapsed .tp-nav-item{justify-content:flex-start;padding:0 12px}.tp-sidebar-collapsed .tp-sidebar-footer{flex-direction:row;padding:14px}.tp-sidebar-collapsed .tp-sidebar-collapse{transform:none}.tp-sidebar-open .tp-sidebar{transform:translateX(0)}.tp-sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.48);z-index:40;opacity:0;pointer-events:none;transition:opacity .2s}.tp-sidebar-open .tp-sidebar-overlay{opacity:1;pointer-events:auto}.tp-mobile-only{display:grid}.tp-sidebar-collapse{display:none}.tp-topbar{padding:0 16px}.tp-main{padding:18px}.tp-live-state{display:none}.tp-auth-main{grid-template-columns:1fr}.tp-auth-intro{display:none}.tp-auth-content{padding:34px 18px}.tp-auth-topbar{padding:0 18px}}
@media(max-width:620px){.tp-metric-grid{grid-template-columns:1fr}.tp-hero-card{padding:22px;display:block}.tp-hero-status{margin-top:20px;width:100%}.tp-dashboard-grid{margin-top:12px}.tp-panel{padding:16px}.tp-page-head{display:block}.tp-page-head>.tp-status-badge{margin-top:12px}.tp-health-grid{grid-template-columns:1fr}.tp-topbar-actions{gap:6px}.tp-user-chip{display:none}.tp-theme-button{width:38px;padding:0;justify-content:center}.tp-theme-button span{display:none}.tp-main{padding:14px}.tp-hero-copy h1,.tp-page-head h1{font-size:27px}.tp-auth-card{padding:20px}.tp-auth-card-head{display:block}.tp-auth-icon{margin-bottom:14px}.tp-two-factor-layout{grid-template-columns:1fr}.tp-qr-box{max-width:240px}.tp-recovery-grid{grid-template-columns:1fr}.tp-session-row{align-items:flex-start;flex-wrap:wrap}.tp-session-row form{width:100%}.tp-session-row form .tp-button{width:100%}.tp-session-meta{display:grid;gap:2px}.tp-auth-topbar .tp-brand-copy{display:none}}

/* TaskPilot OPS 0.3.2.1 — 2FA orbital experience r2 */
.tp-two-factor-card{position:relative;overflow:hidden;animation:tpAuthCardIn .34s ease-out both}.tp-two-factor-card:before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-110px;top:-125px;background:radial-gradient(circle,var(--tp-accent-soft),transparent 68%);pointer-events:none}.tp-two-factor-orbit-card{width:min(100%,590px)}.tp-two-factor-copy{text-align:center;margin-bottom:22px}.tp-two-factor-copy h2{font-size:30px;letter-spacing:-.045em;margin:4px 0 7px}.tp-two-factor-copy p{max-width:470px;margin:0 auto;color:var(--tp-text-2);font-size:12px;line-height:1.65}.tp-two-factor-form{gap:16px}.tp-factor-panel{animation:tpFactorPanelIn .22s ease-out both}.tp-factor-panel[hidden]{display:none!important}.tp-otp-field>span{text-align:center}.tp-otp-orbit-stage{--tp-orbit-accent:var(--tp-accent);position:relative;min-height:76px;padding-top:0;transition:min-height .34s cubic-bezier(.2,.8,.2,1),padding-top .34s cubic-bezier(.2,.8,.2,1);cursor:text;isolation:isolate}.tp-otp-input{position:absolute;inset:0;z-index:7;width:100%;height:66px!important;opacity:.012;letter-spacing:normal!important;padding:0!important;caret-color:transparent;color:transparent!important;background:transparent!important;border-color:transparent!important}.tp-otp-slots{position:absolute;z-index:5;left:0;right:0;top:0;height:62px;display:grid;grid-template-columns:repeat(6,1fr);gap:8px;pointer-events:none}.tp-otp-slot{height:62px;border:1px solid var(--tp-border-strong);border-radius:14px;background:var(--tp-bg-soft);display:grid;place-items:center;font-size:24px;font-weight:850;color:var(--tp-text);will-change:transform;transition:border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 8px 20px rgba(2,8,23,.03)}.tp-otp-orbit-stage.is-focus:not(.is-orbit) .tp-otp-slot{border-color:rgba(56,189,248,.48);box-shadow:0 0 0 2px rgba(56,189,248,.05)}.tp-otp-slot.is-filled{background:var(--tp-panel-2);border-color:rgba(56,189,248,.38);animation:tpOtpPop .16s ease-out}.tp-otp-orbit-stage.is-complete:not(.is-orbit) .tp-otp-slot{border-color:rgba(56,189,248,.56)}.tp-otp-orbit-ring{position:absolute;z-index:1;left:50%;top:108px;border-radius:50%;border:1px solid rgba(56,189,248,.25);opacity:0;transform:translate(-50%,-50%) scale(.72);pointer-events:none;transition:opacity .25s,transform .42s cubic-bezier(.2,.86,.26,1),border-color .2s}.tp-otp-orbit-ring-outer{width:174px;height:174px;border-style:dashed}.tp-otp-orbit-ring-inner{width:112px;height:112px;border-color:rgba(56,189,248,.12)}.tp-otp-orbit-hub{position:absolute;z-index:3;left:50%;top:108px;width:48px;height:48px;border-radius:16px;display:grid;place-items:center;color:var(--tp-accent);background:var(--tp-panel);border:1px solid rgba(56,189,248,.24);box-shadow:0 14px 38px rgba(14,165,233,.12);opacity:0;transform:translate(-50%,-50%) scale(.72);transition:opacity .22s .18s,transform .38s .12s cubic-bezier(.2,.86,.26,1),color .2s,border-color .2s}.tp-otp-orbit-hub .tp-icon{width:21px;height:21px}.tp-otp-live-status{position:absolute;left:0;right:0;bottom:0;z-index:4;text-align:center;color:var(--tp-text-3);font-size:9px;font-weight:750;letter-spacing:.01em;pointer-events:none;transition:color .2s}.tp-otp-orbit-stage.is-orbit{min-height:224px;padding-top:0}.tp-otp-orbit-stage.is-orbit .tp-otp-orbit-ring,.tp-otp-orbit-stage.is-orbit .tp-otp-orbit-hub{opacity:1;transform:translate(-50%,-50%) scale(1)}.tp-otp-orbit-stage.is-orbit .tp-otp-orbit-ring-outer{animation:tpOrbitRingDrift 7s linear infinite}.tp-otp-orbit-stage.is-orbit .tp-otp-orbit-ring-inner{animation:tpOrbitRingDriftReverse 9s linear infinite}.tp-otp-orbit-stage.is-orbit .tp-otp-slot{border-color:rgba(56,189,248,.5);background:var(--tp-panel-2);box-shadow:0 10px 28px rgba(14,165,233,.09)}.tp-otp-orbit-stage.is-orbit .tp-otp-live-status{color:var(--tp-accent)}.tp-otp-orbit-stage.is-verifying .tp-otp-orbit-ring-outer{border-color:rgba(56,189,248,.62);animation:tpOrbitVerifySpin .9s linear infinite}.tp-otp-orbit-stage.is-verifying .tp-otp-orbit-ring-inner{border-color:rgba(56,189,248,.28);animation:tpOrbitVerifySpinReverse 1.15s linear infinite}.tp-otp-orbit-stage.is-verifying .tp-otp-orbit-hub{color:var(--tp-accent);border-color:rgba(56,189,248,.55);box-shadow:0 0 0 7px rgba(56,189,248,.05),0 14px 38px rgba(14,165,233,.18);animation:tpOrbitHubPulse 1s ease-in-out infinite}.tp-otp-orbit-stage.is-verifying .tp-otp-slot{border-color:rgba(56,189,248,.7);box-shadow:0 0 0 2px rgba(56,189,248,.05),0 12px 32px rgba(14,165,233,.12)}.tp-factor-hint{display:flex;align-items:flex-start;justify-content:center;gap:8px;color:var(--tp-text-3);font-size:10px;line-height:1.5;text-align:center}.tp-factor-hint-dot{width:7px;height:7px;border-radius:50%;margin-top:4px;flex:0 0 auto;background:var(--tp-green);box-shadow:0 0 0 5px rgba(74,222,128,.07);animation:tpStatusPulse 2s ease-in-out infinite}.tp-two-factor-submit{min-height:48px;font-size:12px;border-radius:13px;box-shadow:0 10px 28px rgba(14,165,233,.13)}.tp-two-factor-submit:disabled{cursor:wait;opacity:.78}.tp-factor-switch{appearance:none;border:0;background:transparent;color:var(--tp-text-2);display:flex;align-items:center;justify-content:center;gap:8px;margin:0 auto;padding:6px 8px;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.tp-factor-switch:hover{color:var(--tp-accent)}.tp-factor-switch:disabled{opacity:.5;cursor:not-allowed}.tp-factor-switch .tp-icon{width:15px;height:15px}.tp-recovery-notice{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--tp-border);border-radius:14px;background:var(--tp-bg-soft);padding:13px;margin-bottom:14px}.tp-recovery-notice strong{font-size:11px}.tp-recovery-notice p{font-size:10px;color:var(--tp-text-3);line-height:1.55;margin:4px 0 0}.tp-auth-icon-compact{width:38px;height:38px;border-radius:11px}.tp-auth-icon-compact .tp-icon{width:18px;height:18px}.tp-auth-shake{animation:tpAuthShake .28s ease-out}.tp-two-factor-setup-card{width:min(100%,820px)}.tp-security-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:2px 0 24px}.tp-security-steps span{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--tp-border);border-radius:11px;color:var(--tp-text-3);font-size:9px;font-weight:800;background:var(--tp-bg-soft)}.tp-security-steps b{width:22px;height:22px;border-radius:8px;display:grid;place-items:center;background:var(--tp-panel-3);color:var(--tp-text-2)}.tp-security-steps .is-active{color:var(--tp-accent);border-color:rgba(56,189,248,.22);background:var(--tp-accent-soft)}.tp-security-steps .is-active b{background:var(--tp-accent);color:#04131c}.tp-two-factor-setup-layout{grid-template-columns:270px 1fr}.tp-qr-stage{display:grid;gap:12px}.tp-qr-frame{position:relative;padding:13px;border:1px solid var(--tp-border);border-radius:20px;background:var(--tp-bg-soft);box-shadow:inset 0 0 0 1px rgba(56,189,248,.02)}.tp-qr-frame:after{content:"";position:absolute;inset:10px;border-radius:15px;border:1px solid rgba(56,189,248,.1);pointer-events:none;animation:tpQrGlow 2.6s ease-in-out infinite}.tp-qr-corner{position:absolute;width:25px;height:25px;z-index:3;border-color:var(--tp-accent);border-style:solid;pointer-events:none}.tp-qr-corner.is-one{left:4px;top:4px;border-width:2px 0 0 2px;border-radius:9px 0 0}.tp-qr-corner.is-two{right:4px;top:4px;border-width:2px 2px 0 0;border-radius:0 9px 0 0}.tp-qr-corner.is-three{left:4px;bottom:4px;border-width:0 0 2px 2px;border-radius:0 0 0 9px}.tp-qr-corner.is-four{right:4px;bottom:4px;border-width:0 2px 2px 0;border-radius:0 0 9px}.tp-qr-caption{display:flex;align-items:center;justify-content:center;gap:8px;font-size:9px;color:var(--tp-text-3)}.tp-two-factor-setup-form{display:grid;gap:14px}.tp-setup-instruction{display:flex;align-items:flex-start;gap:11px}.tp-setup-instruction strong{font-size:11px}.tp-setup-instruction p{font-size:10px;color:var(--tp-text-3);line-height:1.5;margin:4px 0 0}.tp-setup-number{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto;background:var(--tp-accent-soft);color:var(--tp-accent);font-size:10px;font-weight:900}.tp-setup-instruction-code{margin-top:3px}.tp-manual-secret-toggle{width:100%;min-height:40px;border-radius:11px;border:1px dashed var(--tp-border-strong);background:transparent;color:var(--tp-text-2);display:flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.tp-manual-secret-toggle:hover{border-color:var(--tp-accent);color:var(--tp-accent);background:var(--tp-accent-soft)}.tp-manual-secret-toggle .tp-icon{width:15px;height:15px}.tp-manual-secret{border:1px solid rgba(251,191,36,.2);background:rgba(251,191,36,.05);border-radius:12px;padding:12px;display:grid;gap:7px;animation:tpFactorPanelIn .2s ease-out}.tp-manual-secret[hidden]{display:none!important}.tp-manual-secret>span{font-size:9px;color:var(--tp-yellow);font-weight:850;text-transform:uppercase;letter-spacing:.08em}.tp-manual-secret code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--tp-text);word-break:break-all}.tp-manual-secret small{font-size:9px;color:var(--tp-text-3);line-height:1.5}@keyframes tpAuthCardIn{from{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}@keyframes tpFactorPanelIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes tpOtpPop{from{transform:scale(.92)}to{transform:scale(1)}}@keyframes tpStatusPulse{0%,100%{opacity:.55}50%{opacity:1}}@keyframes tpAuthShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@keyframes tpQrGlow{0%,100%{opacity:.28}50%{opacity:.8}}@keyframes tpOrbitRingDrift{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes tpOrbitRingDriftReverse{from{transform:translate(-50%,-50%) rotate(360deg)}to{transform:translate(-50%,-50%) rotate(0deg)}}@keyframes tpOrbitVerifySpin{from{transform:translate(-50%,-50%) rotate(0deg) scale(1)}to{transform:translate(-50%,-50%) rotate(360deg) scale(1)}}@keyframes tpOrbitVerifySpinReverse{from{transform:translate(-50%,-50%) rotate(360deg) scale(1)}to{transform:translate(-50%,-50%) rotate(0deg) scale(1)}}@keyframes tpOrbitHubPulse{0%,100%{transform:translate(-50%,-50%) scale(.96)}50%{transform:translate(-50%,-50%) scale(1.06)}}
@media(max-width:620px){.tp-two-factor-copy h2{font-size:25px}.tp-two-factor-copy p{font-size:11px}.tp-security-steps{grid-template-columns:1fr}.tp-security-steps span:not(.is-active){display:none}.tp-two-factor-setup-layout{grid-template-columns:1fr}.tp-qr-stage{justify-items:center}.tp-qr-frame{width:min(100%,270px)}.tp-otp-orbit-stage{min-height:70px}.tp-otp-orbit-stage.is-orbit{min-height:206px}.tp-otp-slots{gap:5px;height:54px}.tp-otp-slot{height:54px;font-size:19px;border-radius:12px}.tp-otp-input{height:58px!important}.tp-otp-orbit-ring{top:101px}.tp-otp-orbit-ring-outer{width:148px;height:148px}.tp-otp-orbit-ring-inner{width:94px;height:94px}.tp-otp-orbit-hub{top:101px;width:44px;height:44px;border-radius:14px}.tp-otp-orbit-hub .tp-icon{width:19px;height:19px}}
@media(prefers-reduced-motion:reduce){.tp-two-factor-card,.tp-factor-panel,.tp-otp-slot,.tp-factor-hint-dot,.tp-qr-frame:after,.tp-auth-shake,.tp-otp-orbit-ring,.tp-otp-orbit-hub{animation:none!important;transition:none!important}}

/* taskpilot-user-provisioning-0.3.3.0 */

.tp-field select,.tp-field textarea{width:100%;border:1px solid var(--tp-border-strong);border-radius:11px;background:var(--tp-bg-soft);color:var(--tp-text);padding:10px 13px;outline:none;font:inherit}.tp-field select{min-height:44px}.tp-field textarea{resize:vertical;min-height:92px;line-height:1.5}.tp-field select:focus,.tp-field textarea:focus{border-color:var(--tp-accent);box-shadow:0 0 0 3px var(--tp-accent-soft)}.tp-field small{color:var(--tp-text-3);font-size:9px;font-weight:600;line-height:1.45}

/* TASKPILOT-UX-0.3.3.2-BEGIN */
/* Champs de formulaire cohérents, lisibles et identiques en clair/sombre. */
button,input,select,textarea{font:inherit}
.tp-form-panel{width:min(100%,760px);max-width:760px}
.tp-form-panel .tp-panel-head{margin-bottom:16px}
.tp-field{gap:8px;min-width:0}
.tp-field>span{color:var(--tp-text-2);font-size:11px;font-weight:800;letter-spacing:.005em}
.tp-field input,.tp-field select,.tp-field textarea{
  width:100%;min-width:0;border:1px solid var(--tp-border-strong);border-radius:12px;
  background-color:var(--tp-panel);color:var(--tp-text);outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.015),0 1px 1px rgba(0,0,0,.02);
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
.tp-field input,.tp-field select{height:46px;padding:0 13px}
.tp-field textarea{min-height:118px;padding:12px 13px;line-height:1.55;resize:vertical}
.tp-field select{
  appearance:none;-webkit-appearance:none;padding-right:42px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%238899a9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:16px 16px;
}
.tp-field select option{background:var(--tp-panel);color:var(--tp-text)}
.tp-field input:hover,.tp-field select:hover,.tp-field textarea:hover{border-color:color-mix(in srgb,var(--tp-border-strong) 70%,var(--tp-accent))}
.tp-field input:focus,.tp-field select:focus,.tp-field textarea:focus{border-color:var(--tp-accent);box-shadow:0 0 0 3px var(--tp-accent-soft);background-color:var(--tp-panel-2)}
.tp-field input::placeholder,.tp-field textarea::placeholder{color:var(--tp-text-3);opacity:1}
.tp-field small{display:block;color:var(--tp-text-3);font-size:10px;font-weight:600;line-height:1.5}
.tp-field input:disabled,.tp-field select:disabled,.tp-field textarea:disabled{opacity:.58;cursor:not-allowed;background:var(--tp-bg-soft)}
.tp-field input[type="datetime-local"]{color-scheme:dark}
:root[data-theme="light"] .tp-field input[type="datetime-local"]{color-scheme:light}
@media (prefers-color-scheme:light){:root:not([data-theme]) .tp-field input[type="datetime-local"]{color-scheme:light}}
.tp-form>.tp-topbar-actions{margin-top:4px;flex-wrap:wrap}

/* 2FA : empêcher tout débordement horizontal et garder QR + OTP lisibles sur mobile. */
.tp-auth-page,.tp-auth-shell{max-width:100%;overflow-x:hidden}
.tp-two-factor-card,.tp-two-factor-setup-card,.tp-two-factor-layout,.tp-two-factor-layout>*{min-width:0;max-width:100%}
.tp-two-factor-setup-card{width:min(100%,820px)}
.tp-two-factor-copy h2{overflow-wrap:anywhere}
.tp-qr-frame,.tp-qr-box,.tp-qr-box svg{max-width:100%}
.tp-otp-control{position:relative;width:100%;max-width:100%;min-width:0}
.tp-otp-slots{grid-template-columns:repeat(6,minmax(0,1fr));width:100%;max-width:100%}
.tp-otp-slot{width:100%;min-width:0}
.tp-two-factor-submit{max-width:100%;min-width:0}

@media(max-width:700px){
  .tp-auth-content{align-items:flex-start;padding:20px 12px}
  .tp-auth-card,.tp-auth-card-wide,.tp-two-factor-setup-card{width:100%;max-width:100%;padding:18px;border-radius:17px}
  .tp-two-factor-copy{text-align:left;margin-bottom:18px}
  .tp-two-factor-copy h2{font-size:clamp(24px,7.5vw,28px);line-height:1.12;margin-top:3px}
  .tp-two-factor-copy p{margin-left:0;margin-right:0;font-size:11px;line-height:1.55}
  .tp-security-steps{margin-bottom:18px}
  .tp-two-factor-setup-layout{grid-template-columns:minmax(0,1fr);gap:20px}
  .tp-qr-stage{justify-items:center;width:100%}
  .tp-qr-frame{width:min(100%,240px);padding:10px;border-radius:17px}
  .tp-qr-box{width:100%;padding:10px;border-radius:12px}
  .tp-qr-box svg{width:100%;max-width:190px;height:auto}
  .tp-two-factor-setup-form{width:100%;min-width:0;gap:13px}
  .tp-setup-instruction{width:100%;min-width:0}
  .tp-setup-instruction>div{min-width:0}
  .tp-manual-secret-toggle{min-width:0;white-space:normal;text-align:center;padding:8px 10px}
  .tp-otp-field{width:100%;min-width:0}
  .tp-otp-slots{gap:5px;height:52px}
  .tp-otp-slot{height:52px;min-width:0;border-radius:11px;font-size:19px}
  .tp-otp-input{height:54px!important;max-width:100%}
}
@media(max-width:430px){
  .tp-auth-content{padding:14px 8px}
  .tp-auth-card,.tp-auth-card-wide,.tp-two-factor-setup-card{padding:15px}
  .tp-two-factor-copy h2{font-size:24px}
  .tp-qr-frame{width:min(100%,216px)}
  .tp-qr-box svg{max-width:172px}
  .tp-otp-slots{gap:4px;height:48px}
  .tp-otp-slot{height:48px;font-size:18px;border-radius:10px}
  .tp-otp-input{height:50px!important}
  .tp-two-factor-submit{min-height:46px;padding-left:10px;padding-right:10px}
}
/* TASKPILOT-UX-0.3.3.2-END */

/* TASKPILOT-UX-0.3.3.3-BEGIN */
/* Primitive date/heure française et états de validation partagés. */
.tp-datetime-fieldset{display:grid;gap:8px;min-width:0}
.tp-datetime-label{color:var(--tp-text-2);font-size:11px;font-weight:800;letter-spacing:.005em}
.tp-datetime-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.42fr);gap:10px;min-width:0}
.tp-datetime-grid .tp-field{min-width:0}
.tp-datetime-grid .tp-field input{font-variant-numeric:tabular-nums;letter-spacing:.015em}
.tp-datetime-grid .tp-field input::placeholder{letter-spacing:.02em}
.tp-datetime-help{display:block;color:var(--tp-text-3);font-size:10px;font-weight:600;line-height:1.5}
.tp-field-error,.tp-form-error{color:#fb7185;font-size:10px;font-weight:700;line-height:1.45}
.tp-form-error{padding:10px 12px;border:1px solid rgba(251,113,133,.26);border-radius:11px;background:rgba(251,113,133,.065)}
.tp-field input[aria-invalid="true"],.tp-field select[aria-invalid="true"],.tp-field textarea[aria-invalid="true"]{border-color:rgba(251,113,133,.78);box-shadow:0 0 0 3px rgba(251,113,133,.08)}
.tp-field input[aria-invalid="true"]:focus,.tp-field select[aria-invalid="true"]:focus,.tp-field textarea[aria-invalid="true"]:focus{border-color:#fb7185;box-shadow:0 0 0 3px rgba(251,113,133,.11)}
.tp-field input[inputmode="numeric"]{font-variant-numeric:tabular-nums}
@media(max-width:620px){
  .tp-datetime-grid{grid-template-columns:minmax(0,1fr)}
}
/* TASKPILOT-UX-0.3.3.3-END */

/* TASKPILOT-UX-0.3.3.4-BEGIN */
.tp-interface-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:18px;align-items:start}.tp-interface-editor{display:grid;gap:16px;min-width:0}.tp-settings-section{display:grid;gap:16px;background:var(--tp-panel);border:1px solid var(--tp-border);border-radius:var(--tp-radius);padding:20px}.tp-settings-section-head h2{margin:0;font-size:17px;letter-spacing:-.025em}.tp-settings-section-head p{margin:6px 0 0;color:var(--tp-text-2);font-size:11px;max-width:760px}.tp-settings-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tp-settings-actions{display:flex;justify-content:flex-end}.tp-settings-reset{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid var(--tp-border);border-radius:var(--tp-radius);background:var(--tp-panel)}.tp-settings-reset strong{font-size:12px}.tp-settings-reset p{margin:4px 0 0;color:var(--tp-text-3);font-size:10px;max-width:650px}.tp-interface-preview{position:sticky;top:calc(var(--tp-topbar) + 18px);background:var(--tp-panel);border:1px solid var(--tp-border);border-radius:var(--tp-radius);padding:18px;box-shadow:0 10px 30px rgba(0,0,0,.08)}.tp-interface-preview-hero{padding:18px;border-radius:14px;background:linear-gradient(145deg,var(--tp-panel-2),var(--tp-bg-soft));border:1px solid var(--tp-border)}.tp-interface-preview-hero small,.tp-interface-preview-card small{display:block;color:var(--tp-accent);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.12em}.tp-interface-preview-hero h2{margin:10px 0 8px;font-size:24px;line-height:1.08;letter-spacing:-.04em}.tp-interface-preview-hero p,.tp-interface-preview-card p{margin:0;color:var(--tp-text-2);font-size:11px}.tp-interface-preview-features{display:grid;gap:7px;margin-top:15px}.tp-interface-preview-features span{font-size:10px;color:var(--tp-text-2);padding-left:14px;position:relative}.tp-interface-preview-features span:before{content:"";position:absolute;left:0;top:.48em;width:6px;height:6px;border-radius:50%;background:var(--tp-accent)}.tp-interface-preview-card{margin-top:12px;padding:16px;border-radius:14px;background:var(--tp-bg-soft);border:1px solid var(--tp-border)}.tp-interface-preview-card strong{display:block;margin:7px 0 5px;font-size:14px}.tp-interface-preview-card em{display:block;margin-top:12px;padding-top:10px;border-top:1px solid var(--tp-border);color:var(--tp-text-3);font-size:9px;font-style:normal}.tp-field textarea{width:100%;min-height:92px;border:1px solid var(--tp-border-strong);border-radius:11px;background:var(--tp-bg-soft);color:var(--tp-text);padding:12px 13px;outline:none;resize:vertical;font:inherit;line-height:1.45}.tp-field textarea:focus{border-color:var(--tp-accent);box-shadow:0 0 0 3px var(--tp-accent-soft)}.tp-field input[readonly],.tp-field textarea[readonly]{opacity:.78;cursor:default}.tp-auth-intro-inner h1{max-width:620px}
@media(max-width:1080px){.tp-interface-layout{grid-template-columns:1fr}.tp-interface-preview{position:static}.tp-settings-three{grid-template-columns:1fr}}
@media(max-width:620px){.tp-settings-section{padding:16px}.tp-settings-reset{align-items:flex-start;flex-direction:column}.tp-settings-reset .tp-button{width:100%}.tp-settings-actions .tp-button{width:100%}}
/* TASKPILOT-UX-0.3.3.4-END */

/* TASKPILOT-UX-0.3.3.5-BEGIN */
/* Calendrier OPS local + heure 12 h AM/PM. */
.tp-date-field{position:relative;z-index:2}
.tp-date-input-wrap{position:relative;display:flex;align-items:center;min-width:0}
.tp-date-input-wrap>input{padding-right:48px}
.tp-calendar-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:1px solid var(--tp-border);border-radius:9px;background:var(--tp-panel);color:var(--tp-text-2);display:grid;place-items:center;cursor:pointer;font-size:18px;line-height:1}
.tp-calendar-toggle:hover,.tp-calendar-toggle:focus-visible{color:var(--tp-text);border-color:var(--tp-accent);outline:none;box-shadow:0 0 0 3px var(--tp-accent-soft)}
.tp-calendar-popover{position:absolute;left:0;top:calc(100% + 8px);z-index:90;width:min(340px,calc(100vw - 42px));padding:14px;border:1px solid var(--tp-border-strong);border-radius:14px;background:var(--tp-panel);box-shadow:var(--tp-shadow);color:var(--tp-text)}
.tp-calendar-head{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:8px;margin-bottom:10px}
.tp-calendar-head strong{text-align:center;font-size:13px;letter-spacing:-.01em;text-transform:capitalize}
.tp-calendar-nav{width:34px;height:34px;border:1px solid var(--tp-border);border-radius:9px;background:var(--tp-panel-2);color:var(--tp-text);cursor:pointer;font-size:20px;line-height:1}
.tp-calendar-nav:hover,.tp-calendar-nav:focus-visible{border-color:var(--tp-accent);outline:none;background:var(--tp-panel-3)}
.tp-calendar-weekdays,.tp-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.tp-calendar-weekdays{margin-bottom:4px;color:var(--tp-text-3);font-size:9px;font-weight:800;text-align:center}
.tp-calendar-weekdays span{padding:5px 0}
.tp-calendar-day,.tp-calendar-blank{aspect-ratio:1;min-width:0;border-radius:9px}
.tp-calendar-blank{display:block}
.tp-calendar-day{border:1px solid transparent;background:transparent;color:var(--tp-text-2);cursor:pointer;font-size:11px;font-weight:700}
.tp-calendar-day:hover,.tp-calendar-day:focus-visible{border-color:var(--tp-border-strong);background:var(--tp-panel-2);color:var(--tp-text);outline:none}
.tp-calendar-day.is-today{border-color:color-mix(in srgb,var(--tp-accent) 52%,var(--tp-border));color:var(--tp-accent)}
.tp-calendar-day.is-selected{background:var(--tp-accent);border-color:var(--tp-accent);color:#04131c}
.tp-calendar-actions{display:flex;justify-content:space-between;gap:8px;margin-top:12px;padding-top:11px;border-top:1px solid var(--tp-border)}
.tp-time-format-hint{color:var(--tp-text-3);font-size:9px;font-weight:650;line-height:1.35}
@media(max-width:620px){.tp-calendar-popover{width:min(330px,calc(100vw - 56px))}}
/* TASKPILOT-UX-0.3.3.5-END */

/* TASKPILOT-UX-0.3.3.6-BEGIN */
/* Compact date/time row + denser calendar card. Presentation only. */
.tp-datetime-fieldset{display:grid;gap:7px}
.tp-datetime-grid{grid-template-columns:minmax(280px,520px) minmax(150px,200px);gap:14px;justify-content:start;align-items:start;width:100%}
.tp-datetime-grid .tp-field{gap:6px}
.tp-datetime-grid .tp-field>label{margin:0;font-size:10px;line-height:1.2}
.tp-field-label-note{margin-left:5px;color:var(--tp-text-3);font-size:9px;font-weight:700;letter-spacing:.02em}
.tp-date-field{z-index:3}
.tp-date-field:focus-within{z-index:120}
.tp-date-input-wrap>input,.tp-time-field>input{min-height:44px;padding-top:10px;padding-bottom:10px}
.tp-date-input-wrap>input{padding-right:45px}
.tp-calendar-toggle{right:6px;width:32px;height:32px;border-radius:8px;font-size:16px}
.tp-calendar-popover{top:calc(100% + 6px);width:min(296px,calc(100vw - 42px));padding:10px;border-radius:12px;box-shadow:0 18px 42px rgba(0,0,0,.28)}
.tp-calendar-head{grid-template-columns:30px 1fr 30px;gap:6px;margin-bottom:7px}
.tp-calendar-head strong{font-size:12px}
.tp-calendar-nav{width:30px;height:30px;border-radius:8px;font-size:18px}
.tp-calendar-weekdays,.tp-calendar-days{gap:2px}
.tp-calendar-weekdays{margin-bottom:2px;font-size:8px}
.tp-calendar-weekdays span{padding:4px 0}
.tp-calendar-day,.tp-calendar-blank{aspect-ratio:auto;height:30px;border-radius:7px}
.tp-calendar-day{font-size:10px}
.tp-calendar-actions{margin-top:8px;padding-top:8px}
.tp-calendar-actions .tp-button{min-height:30px;padding:6px 9px;font-size:9px}
.tp-datetime-help{margin-top:0}
@media(max-width:760px){.tp-datetime-grid{grid-template-columns:minmax(0,1fr);gap:10px}.tp-time-field{max-width:220px}.tp-calendar-popover{width:min(292px,calc(100vw - 48px))}}
/* TASKPILOT-UX-0.3.3.6-END */

/* TASKPILOT-UX-0.3.3.8-BEGIN */
/*
 * 0.3.3.8 — UI stability only.
 * - 2FA stays server-authoritative and mandatory; only the animated presentation is removed.
 * - Dashboard becomes operational-first while preserving existing Gates and resource scopes.
 * - Dashboard grids use explicit gaps/min-width rules to avoid cards touching or overflowing.
 */

/* --- 2FA statique : aucun orbit, aucun déplacement, bouton toujours dans le flux --- */
.tp-two-factor-card,
.tp-two-factor-card .tp-factor-panel,
.tp-two-factor-card .tp-otp-slot,
.tp-two-factor-card .tp-factor-hint-dot,
.tp-two-factor-card .tp-qr-frame:after,
.tp-two-factor-card .tp-manual-secret{
  animation:none!important;
}
.tp-two-factor-card .tp-otp-slot,
.tp-two-factor-card .tp-otp-control,
.tp-two-factor-card .tp-otp-input{
  transition:none!important;
}
.tp-two-factor-card .tp-qr-frame:after{opacity:.32}
.tp-otp-control-static{position:relative;display:grid;gap:9px;min-height:0;width:100%;max-width:100%}
.tp-otp-control-static .tp-otp-slots{position:relative;inset:auto;transform:none!important;height:auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;width:100%}
.tp-otp-control-static .tp-otp-slot{position:relative!important;inset:auto!important;transform:none!important;width:100%;min-width:0;height:58px;border-radius:12px}
.tp-otp-control-static .tp-otp-input{position:absolute;inset:0;width:100%;height:58px!important;opacity:.001;color:transparent;caret-color:transparent;z-index:3;cursor:text}
.tp-otp-control-static .tp-otp-live-status{position:static;display:block;text-align:center;min-height:16px;color:var(--tp-text-3);font-size:9px;font-weight:700}
.tp-otp-control-static.is-focus .tp-otp-slots{outline:3px solid var(--tp-accent-soft);outline-offset:3px;border-radius:14px}
.tp-otp-control-static.is-complete .tp-otp-slot{border-color:color-mix(in srgb,var(--tp-green) 52%,var(--tp-border-strong))}
.tp-two-factor-submit{position:relative;z-index:1;margin-top:2px}
.tp-two-factor-copy{margin-bottom:20px}
.tp-two-factor-setup-card{width:min(100%,840px)}
.tp-two-factor-setup-layout{gap:26px;align-items:start}
.tp-qr-frame{overflow:hidden}

/* --- Dashboard OPS : hiérarchie, respiration et cartes cohérentes --- */
.tp-ops-hero{align-items:center}
.tp-ops-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;position:relative;z-index:1}
.tp-ops-hero-actions .tp-hero-status{margin-left:4px}
.tp-ops-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:20px}
.tp-ops-kpi-card{min-width:0;min-height:190px;display:flex;flex-direction:column;padding:22px;border:1px solid var(--tp-border);border-radius:18px;background:var(--tp-panel);box-shadow:0 10px 28px rgba(0,0,0,.05);position:relative;overflow:hidden}
.tp-ops-kpi-card:after{content:"";position:absolute;right:-34px;bottom:-48px;width:116px;height:116px;border-radius:50%;opacity:.72;pointer-events:none}
.tp-ops-kpi-card.is-blue:after{background:rgba(56,189,248,.10)}
.tp-ops-kpi-card.is-cyan:after{background:rgba(34,211,238,.10)}
.tp-ops-kpi-card.is-violet:after{background:rgba(167,139,250,.10)}
.tp-ops-kpi-card.is-green:after{background:rgba(74,222,128,.09)}
.tp-ops-kpi-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--tp-text-3);font-size:10px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;position:relative;z-index:1}
.tp-ops-kpi-icon{width:38px;height:38px;border:1px solid var(--tp-border);border-radius:11px;display:grid;place-items:center;background:var(--tp-panel-2)}
.tp-ops-kpi-icon .tp-icon{width:17px;height:17px}
.tp-ops-kpi-card.is-blue .tp-ops-kpi-icon{color:var(--tp-blue);background:rgba(56,189,248,.10);border-color:rgba(56,189,248,.22)}
.tp-ops-kpi-card.is-cyan .tp-ops-kpi-icon{color:var(--tp-cyan);background:rgba(34,211,238,.10);border-color:rgba(34,211,238,.22)}
.tp-ops-kpi-card.is-violet .tp-ops-kpi-icon{color:var(--tp-violet);background:rgba(167,139,250,.10);border-color:rgba(167,139,250,.22)}
.tp-ops-kpi-card.is-green .tp-ops-kpi-icon{color:var(--tp-green);background:rgba(74,222,128,.09);border-color:rgba(74,222,128,.22)}
.tp-ops-kpi-value{display:block;margin-top:18px;font-size:34px;line-height:1;letter-spacing:-.055em;position:relative;z-index:1}
.tp-ops-kpi-label{margin-top:7px;color:var(--tp-text);font-size:11px;font-weight:800;position:relative;z-index:1}
.tp-ops-kpi-card small{display:block;margin-top:4px;color:var(--tp-text-3);font-size:10px;line-height:1.45;position:relative;z-index:1;overflow-wrap:anywhere}
.tp-ops-kpi-card>a{display:inline-flex;align-items:center;gap:5px;margin-top:auto;padding-top:16px;color:var(--tp-accent);font-size:10px;font-weight:800;text-decoration:none;position:relative;z-index:1}
.tp-ops-kpi-card>a .tp-icon{width:14px;height:14px}

.tp-ops-main-grid,.tp-ops-secondary-grid{display:grid;gap:18px;margin-top:18px;align-items:stretch}
.tp-ops-main-grid{grid-template-columns:minmax(0,1.6fr) minmax(340px,.8fr)}
.tp-ops-secondary-grid{grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr)}
.tp-ops-main-grid>.tp-panel,.tp-ops-secondary-grid>.tp-panel{min-width:0;margin:0}
.tp-ops-attention-panel,.tp-ops-today-panel{min-height:330px}
.tp-ops-empty-state{min-height:235px}
.tp-ops-attention-list{display:grid;gap:10px}
.tp-ops-attention-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:13px;align-items:center;padding:13px 14px;border:1px solid var(--tp-border);border-radius:14px;background:var(--tp-panel-2);min-width:0}
.tp-ops-attention-item.is-warning{border-color:rgba(251,191,36,.28);background:rgba(251,191,36,.045)}
.tp-ops-attention-item.is-danger{border-color:rgba(251,113,133,.28);background:rgba(251,113,133,.045)}
.tp-ops-attention-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:var(--tp-yellow);background:rgba(251,191,36,.10)}
.tp-ops-attention-item.is-danger .tp-ops-attention-icon{color:var(--tp-red);background:rgba(251,113,133,.10)}
.tp-ops-attention-item>div{min-width:0;display:grid;gap:3px}
.tp-ops-attention-item strong{font-size:11px;line-height:1.35;overflow-wrap:anywhere}
.tp-ops-attention-item small{color:var(--tp-text-3);font-size:10px;line-height:1.45;overflow-wrap:anywhere}

.tp-ops-today-list{display:grid;gap:0;border:1px solid var(--tp-border);border-radius:14px;background:var(--tp-panel-2);overflow:hidden}
.tp-ops-today-row{display:grid;grid-template-columns:42px minmax(0,1fr) 28px;gap:12px;align-items:center;min-height:74px;padding:11px 13px;min-width:0}
.tp-ops-today-row+.tp-ops-today-row{border-top:1px solid var(--tp-border)}
.tp-ops-today-row>div{min-width:0;display:grid;gap:2px}
.tp-ops-today-row strong{font-size:11px;overflow-wrap:anywhere}
.tp-ops-today-row small{font-size:9px;color:var(--tp-text-3);line-height:1.45;overflow-wrap:anywhere}
.tp-ops-today-row>a{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;color:var(--tp-text-3);text-decoration:none}
.tp-ops-today-row>a:hover{background:var(--tp-panel-3);color:var(--tp-accent)}
.tp-ops-today-row>a .tp-icon{width:14px;height:14px}
.tp-quick-actions-compact{gap:9px}
.tp-quick-actions-compact .tp-action-card{min-height:68px}
.tp-ops-admin-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:2px}
.tp-ops-admin-links .tp-text-link{margin-top:12px}
.tp-ops-scope-note{display:flex;align-items:flex-start;gap:13px;padding:16px;border:1px solid var(--tp-border);border-radius:14px;background:var(--tp-panel-2)}
.tp-ops-scope-note strong{font-size:12px}
.tp-ops-scope-note p{margin:5px 0 0;color:var(--tp-text-3);font-size:10px;line-height:1.55}

/* Respiration des anciens groupes de cartes sans modifier leur logique. */
.tp-metric-grid{gap:18px;margin-top:20px}
.tp-dashboard-grid{gap:18px;margin-top:18px}
.tp-metric-card,.tp-panel,.tp-module-card{min-width:0}

@media(max-width:1180px){
  .tp-ops-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tp-ops-main-grid,.tp-ops-secondary-grid{grid-template-columns:minmax(0,1fr)}
  .tp-ops-attention-panel,.tp-ops-today-panel{min-height:0}
}
@media(max-width:760px){
  .tp-ops-hero-actions{justify-content:flex-start;margin-top:18px}
  .tp-ops-hero-actions .tp-hero-status{margin-left:0;width:100%}
  .tp-ops-kpi-grid{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:14px}
  .tp-ops-kpi-card{min-height:168px;padding:18px}
  .tp-ops-main-grid,.tp-ops-secondary-grid{gap:12px;margin-top:12px}
  .tp-ops-attention-item{grid-template-columns:38px minmax(0,1fr)}
  .tp-ops-attention-item>.tp-button{grid-column:1/-1;width:100%}
}
@media(max-width:620px){
  .tp-otp-control-static .tp-otp-slots{gap:5px}
  .tp-otp-control-static .tp-otp-slot{height:50px;font-size:18px;border-radius:10px}
  .tp-otp-control-static .tp-otp-input{height:50px!important}
  .tp-two-factor-copy{margin-bottom:16px}
}
/* TASKPILOT-UX-0.3.3.8-END */

/* TASKPILOT-USERS-PROFILE-0.3.3.9-BEGIN */
.tp-user-mini-link,.tp-user-chip-link{color:inherit;text-decoration:none}.tp-user-mini-link{border-radius:12px}.tp-user-mini-link:hover .tp-user-copy strong,.tp-user-chip-link:hover .tp-user-chip-copy strong{color:var(--tp-accent)}.tp-user-chip-link{transition:border-color .15s ease,background .15s ease}.tp-user-chip-link:hover{border-color:var(--tp-border-strong);background:var(--tp-panel-2)}
.tp-status-badge.is-info{color:var(--tp-blue);background:rgba(56,189,248,.08);border-color:rgba(56,189,248,.2)}

.tp-users-page-head{margin-bottom:0}.tp-users-metric-grid{margin-top:18px;gap:18px}.tp-users-metric-grid .tp-metric-card{min-height:136px;align-items:flex-start;padding:22px}.tp-users-metric-grid .tp-metric-body{height:100%;align-content:space-between;gap:12px}.tp-users-metric-grid .tp-metric-body>span{font-size:12px}.tp-users-metric-grid .tp-metric-body strong{font-size:30px}.tp-users-metric-grid .tp-metric-body small{white-space:normal;line-height:1.4}.tp-users-panel{margin-top:18px;padding:0;overflow:hidden}.tp-users-panel>.tp-panel-head{padding:20px 22px 18px;margin:0;border-bottom:1px solid var(--tp-border)}
.tp-user-table{min-width:0}.tp-user-table-head,.tp-user-table-row{display:grid;grid-template-columns:minmax(230px,1.35fr) minmax(190px,1.05fr) minmax(92px,.55fr) minmax(150px,.8fr) minmax(170px,.9fr) minmax(150px,.75fr);gap:18px;align-items:center}.tp-user-table-head{padding:12px 22px;background:var(--tp-panel-3);color:var(--tp-text-3);font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.tp-user-table-body{display:grid}.tp-user-table-row{padding:16px 22px;border-top:1px solid var(--tp-border);background:var(--tp-panel)}.tp-user-table-row:first-child{border-top:0}.tp-user-table-row:hover{background:var(--tp-panel-2)}.tp-user-cell{min-width:0;display:grid;gap:4px;align-content:center}.tp-user-cell>strong,.tp-user-identity-cell strong{font-size:12px}.tp-user-cell small,.tp-user-identity-cell small{display:block;color:var(--tp-text-3);font-size:9px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-user-identity-cell{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px}.tp-user-identity-cell>span:last-child{min-width:0}.tp-user-security-cell{display:flex;gap:6px;flex-wrap:wrap}.tp-mini-state{display:inline-flex;align-items:center;min-height:26px;padding:0 8px;border-radius:999px;border:1px solid var(--tp-border);background:var(--tp-panel-2);color:var(--tp-text-3);font-size:9px;font-weight:800}.tp-mini-state.is-ok{color:var(--tp-green);border-color:rgba(74,222,128,.2);background:rgba(74,222,128,.07)}.tp-user-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.tp-user-actions .tp-button{min-width:auto}

.tp-user-detail-head{margin-bottom:18px}.tp-user-detail-actions{flex-wrap:wrap;justify-content:flex-end}.tp-user-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.88fr);gap:18px}.tp-user-detail-list{margin:0;display:grid}.tp-user-detail-list>div{display:grid;grid-template-columns:minmax(135px,.42fr) minmax(0,1fr);gap:18px;padding:13px 0;border-top:1px solid var(--tp-border)}.tp-user-detail-list>div:first-child{border-top:0;padding-top:2px}.tp-user-detail-list dt{color:var(--tp-text-3);font-size:10px}.tp-user-detail-list dd{margin:0;color:var(--tp-text);font-size:11px;font-weight:750;min-width:0;overflow-wrap:anywhere}.tp-user-detail-list dd small{margin-left:6px;color:var(--tp-text-3);font-size:9px;font-weight:650}.tp-user-status-stack{display:grid;gap:0}.tp-user-status-stack>div{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--tp-border)}.tp-user-status-stack>div:first-child{border-top:0;padding-top:2px}.tp-user-status-stack>div>span:first-child{color:var(--tp-text-3);font-size:10px}.tp-user-status-stack strong{font-size:11px}.tp-user-invitation-note{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--tp-border);color:var(--tp-text-3);font-size:10px}.tp-user-access-panel{margin-top:18px}.tp-user-sensitive-actions{flex-wrap:wrap}.tp-user-sensitive-actions form{margin:0}

.tp-user-edit-panel{max-width:980px}.tp-user-edit-grid,.tp-profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tp-profile-locked-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.tp-profile-locked-field{min-width:0;padding:13px 14px;border:1px solid var(--tp-border);border-radius:12px;background:var(--tp-panel-2);display:grid;gap:4px}.tp-profile-locked-field>span{color:var(--tp-text-3);font-size:9px;font-weight:750}.tp-profile-locked-field strong{font-size:11px;overflow-wrap:anywhere}.tp-profile-locked-field small{color:var(--tp-text-3);font-size:9px}.tp-profile-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--tp-border)}

.tp-profile-page-head{margin-bottom:18px}.tp-profile-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,390px);gap:18px;align-items:start}.tp-profile-editor{min-width:0}.tp-profile-subhead{margin-top:0}.tp-profile-section-divider{height:1px;background:var(--tp-border);margin:20px 0}.tp-profile-security{position:sticky;top:calc(var(--tp-topbar) + 18px)}.tp-profile-security-list{display:grid}.tp-profile-security-list>div{display:grid;grid-template-columns:80px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 0;border-top:1px solid var(--tp-border)}.tp-profile-security-list>div:first-child{border-top:0;padding-top:2px}.tp-profile-security-list>div>span:first-child{color:var(--tp-text-3);font-size:10px}.tp-profile-security-list strong{font-size:11px}.tp-profile-inline-link{margin:0;font-size:10px;justify-self:end}.tp-profile-security-note{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--tp-border);color:var(--tp-text-3);font-size:9px;line-height:1.5}

@media(max-width:1260px){.tp-user-table-head,.tp-user-table-row{grid-template-columns:minmax(210px,1.3fr) minmax(170px,1fr) 90px minmax(130px,.8fr) minmax(150px,.9fr) minmax(130px,.7fr);gap:12px}.tp-user-table-head,.tp-user-table-row{padding-left:18px;padding-right:18px}}
@media(max-width:1040px){.tp-user-table-head{display:none}.tp-user-table-body{gap:12px;padding:16px}.tp-user-table-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px;border:1px solid var(--tp-border);border-radius:14px;background:var(--tp-panel-2)}.tp-user-table-row:first-child{border-top:1px solid var(--tp-border)}.tp-user-identity-cell{grid-column:1/-1;padding-bottom:12px;border-bottom:1px solid var(--tp-border)}.tp-user-cell[data-label]::before{content:attr(data-label);display:block;color:var(--tp-text-3);font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px}.tp-user-actions{grid-column:1/-1;justify-content:flex-start;padding-top:10px;border-top:1px solid var(--tp-border)}.tp-user-detail-grid,.tp-profile-layout{grid-template-columns:1fr}.tp-profile-security{position:static}.tp-profile-locked-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.tp-users-metric-grid{gap:12px}.tp-users-metric-grid .tp-metric-card{min-height:116px;padding:18px}.tp-user-table-row{grid-template-columns:1fr}.tp-user-identity-cell,.tp-user-actions{grid-column:1}.tp-user-edit-grid,.tp-profile-form-grid,.tp-profile-locked-grid{grid-template-columns:1fr}.tp-user-detail-list>div{grid-template-columns:1fr;gap:4px}.tp-user-status-stack>div,.tp-profile-security-list>div{grid-template-columns:1fr auto}.tp-user-status-stack>div>span:first-child,.tp-profile-security-list>div>span:first-child{grid-column:1/-1}.tp-profile-inline-link{justify-self:start}.tp-user-detail-actions{width:100%;margin-top:12px;justify-content:flex-start}.tp-profile-actions{flex-direction:column-reverse}.tp-profile-actions .tp-button{width:100%}}
/* TASKPILOT-USERS-PROFILE-0.3.3.9-END */
/* TASKPILOT-USERS-CREATE-0.3.3.9-BEGIN */
.tp-user-create-info{margin:0 0 18px}.tp-user-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tp-user-create-role{grid-column:1/-1;max-width:50%}
@media(max-width:700px){.tp-user-create-grid{grid-template-columns:1fr}.tp-user-create-role{grid-column:1;max-width:none}}
/* TASKPILOT-USERS-CREATE-0.3.3.9-END */
/* TASKPILOT-TOPBAR-READABILITY-0.3.3.9 */
.tp-topbar{background:var(--tp-bg)}
/* TASKPILOT-DASHBOARD-CONSISTENCY-0.3.3.11-BEGIN */
.tp-ops-attention-explainer{display:block;margin-top:5px;color:var(--tp-text-3);font-size:9px;font-weight:600;line-height:1.45;max-width:520px}.tp-ops-attention-source{display:block;color:var(--tp-accent);font-size:8px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;line-height:1.2}.tp-ops-attention-item>div{gap:4px}
/* TASKPILOT-DASHBOARD-CONSISTENCY-0.3.3.11-END */
