/* FlowTeam Employee Portal — intentionally neutral/white-label. No legacy brand styling. */
.flowteam-shell,.flowteam-login-card{--ft-shadow:0 12px 34px rgba(15,23,42,.08);font-family:var(--ft-font-ar,inherit);color:var(--ft-text,#111827);box-sizing:border-box}
.flowteam-shell[dir=ltr],.flowteam-login-card[dir=ltr]{font-family:var(--ft-font-en,inherit)}
.flowteam-shell *,.flowteam-login-card *{box-sizing:border-box}
.flowteam-shell{width:100%;max-width:none;min-width:0;min-height:100vh;margin:0;background:var(--ft-surface-alt,#f8fafc);border-block:1px solid var(--ft-border,#e2e8f0);border-inline:0;border-radius:0;overflow-x:hidden;overflow-y:visible;box-shadow:none;line-height:1.55;position:relative}
.ft-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;background:var(--ft-surface,#fff);border-bottom:1px solid var(--ft-border,#e2e8f0)}
.ft-brand,.ft-user,.ft-header-actions{display:flex;align-items:center;gap:12px}.ft-brand img{max-width:132px;max-height:42px;object-fit:contain}.ft-brand-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--ft-primary),var(--ft-accent))}.ft-brand strong,.ft-user span{display:block}.ft-brand small,.ft-user small{display:block;color:var(--ft-muted);font-size:12px}.ft-user{display:block;text-align:end}.ft-lang{width:36px;height:36px;border-radius:10px;border:1px solid var(--ft-border);display:grid;place-items:center;text-decoration:none;color:var(--ft-text);background:var(--ft-surface)}
.ft-tabs{display:flex;gap:6px;padding:10px 14px;background:var(--ft-surface,#fff);border-bottom:1px solid var(--ft-border);overflow:auto;scrollbar-width:thin}.ft-tab{appearance:none;border:0;background:transparent;color:var(--ft-muted);padding:10px 14px;border-radius:10px;white-space:nowrap;cursor:pointer;font:inherit;font-weight:600;display:flex;align-items:center;gap:7px}.ft-tab:hover{background:var(--ft-surface-alt);color:var(--ft-text)}.ft-tab.is-active{background:var(--ft-primary);color:#fff}.ft-count{min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:inline-grid;place-items:center;background:color-mix(in srgb,#fff 22%,transparent);font-size:11px}
.ft-content{padding:22px}.ft-pane{display:none}.ft-pane.is-active{display:block}.ft-welcome{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:24px;border-radius:var(--ft-radius);background:var(--ft-surface);border:1px solid var(--ft-border);margin-bottom:16px}.ft-welcome small{color:var(--ft-muted)}.ft-welcome h1{font-size:28px;line-height:1.25;margin:3px 0 5px;color:var(--ft-text)}.ft-welcome p{margin:0;color:var(--ft-muted)}.ft-status{padding:7px 11px;border-radius:999px;background:color-mix(in srgb,var(--ft-success) 11%,#fff);color:var(--ft-success);font-size:12px;font-weight:700;border:1px solid color-mix(in srgb,var(--ft-success) 22%,#fff)}
.ft-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}.ft-stat,.ft-card{background:var(--ft-surface,#fff);border:1px solid var(--ft-border,#e2e8f0);border-radius:var(--ft-radius,16px)}.ft-stat{padding:17px}.ft-stat small{display:block;color:var(--ft-muted);font-size:12px}.ft-stat strong{display:block;margin-top:5px;font-size:21px;color:var(--ft-text)}.ft-stat span{display:block;color:var(--ft-muted);font-size:11px;margin-top:2px}.ft-card{padding:20px}.ft-card h2,.ft-card-head h2{font-size:17px;margin:0;color:var(--ft-text)}.ft-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.ft-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ft-align-start{align-items:start}.ft-mt{margin-top:16px}.ft-kv{display:grid;gap:0}.ft-kv>div{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px dashed var(--ft-border)}.ft-kv>div:last-child{border-bottom:0}.ft-kv span{color:var(--ft-muted);font-size:13px}.ft-kv strong{text-align:end;font-size:13px;font-weight:650;color:var(--ft-text)}
.ft-form{display:grid;gap:13px}.ft-form label{display:grid;gap:6px;font-size:12px;font-weight:650;color:var(--ft-text)}.ft-form input,.ft-form textarea,.ft-form select{width:100%;border:1px solid var(--ft-border);background:var(--ft-surface);color:var(--ft-text);border-radius:10px;padding:10px 11px;font:inherit;font-size:13px;outline:0}.ft-form input:focus,.ft-form textarea:focus,.ft-form select:focus{border-color:var(--ft-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--ft-accent) 14%,transparent)}.ft-form select[multiple]{min-height:150px}.ft-password-wrap{position:relative}.ft-password-wrap input{padding-inline-end:68px}.ft-password-toggle{position:absolute;inset-inline-end:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--ft-accent);font:inherit;font-size:12px;cursor:pointer;padding:6px}
.ft-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--ft-border);border-radius:10px;padding:9px 13px;background:var(--ft-surface);color:var(--ft-text);text-decoration:none;font:inherit;font-size:13px;font-weight:650;cursor:pointer;line-height:1.2}.ft-btn:hover{filter:brightness(.98)}.ft-btn-primary{background:var(--ft-primary);border-color:var(--ft-primary);color:#fff}.ft-btn-success{background:var(--ft-success);border-color:var(--ft-success);color:#fff}.ft-btn-danger{background:var(--ft-danger);border-color:var(--ft-danger);color:#fff}.ft-btn-sm{padding:6px 9px;font-size:11px}.ft-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.ft-table-wrap{overflow:auto}.ft-table{width:100%;border-collapse:collapse;min-width:620px}.ft-table th,.ft-table td{padding:11px 9px;border-bottom:1px solid var(--ft-border);font-size:12px;text-align:start;vertical-align:middle}.ft-table th{color:var(--ft-muted);font-weight:650;background:var(--ft-surface-alt)}.ft-table tbody tr:last-child td{border-bottom:0}.ft-table code{font-size:11px;white-space:nowrap}.ft-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:var(--ft-surface-alt);color:var(--ft-text);border:1px solid var(--ft-border);font-size:10px;font-weight:700}.ft-badge.is-danger{background:color-mix(in srgb,var(--ft-danger) 9%,#fff);color:var(--ft-danger);border-color:color-mix(in srgb,var(--ft-danger) 22%,#fff)}.ft-badge.is-muted{color:var(--ft-muted)}
.ft-empty{padding:26px;text-align:center;color:var(--ft-muted);font-size:13px;border:1px dashed var(--ft-border);border-radius:12px;background:var(--ft-surface-alt)}.ft-alert{padding:12px 14px;border-radius:10px;margin:10px 0;border:1px solid var(--ft-border);font-size:13px}.ft-alert-warning{background:#fffbeb;color:#92400e;border-color:#fde68a}.ft-alert-danger{background:#fef2f2;color:#991b1b;border-color:#fecaca}
.ft-warning-item{padding:15px 0;border-bottom:1px solid var(--ft-border)}.ft-warning-item:last-child{border-bottom:0}.ft-warning-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.ft-warning-top strong{display:block}.ft-warning-top span:not(.ft-badge){display:block;color:var(--ft-muted);font-size:11px;margin-top:3px}.ft-warning-item p{font-size:13px;color:var(--ft-text)}.ft-objection-status{margin-top:10px;padding:9px 11px;background:var(--ft-surface-alt);border-radius:9px;font-size:12px}.ft-objection-form{margin-top:12px;padding:13px;border:1px solid var(--ft-border);border-radius:12px;background:var(--ft-surface-alt)}.ft-inline-details summary{cursor:pointer;font-size:11px;color:var(--ft-danger)}.ft-inline-details form{position:absolute;z-index:10;background:#fff;border:1px solid var(--ft-border);box-shadow:var(--ft-shadow);padding:12px;border-radius:12px;min-width:240px}.ft-warning-preview{margin:4px 0;border:1px solid var(--ft-border);border-radius:12px;overflow:hidden;background:#dfe4ea;padding:12px}.ft-warning-preview iframe{width:100%;height:540px;border:0;background:#fff;border-radius:6px}
.ft-approval{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--ft-border)}.ft-approval:last-child{border-bottom:0}.ft-approval div strong,.ft-approval div span{display:block}.ft-approval div span{font-size:11px;color:var(--ft-muted)}.ft-approval form{display:flex;align-items:center;gap:7px}.ft-approval input{min-width:160px;border:1px solid var(--ft-border);border-radius:9px;padding:7px;font:inherit}
.ft-eval-grid,.ft-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ft-eval,.ft-team-person{padding:13px;border:1px solid var(--ft-border);border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.ft-eval small,.ft-eval strong,.ft-eval span,.ft-team-person strong,.ft-team-person span{display:block}.ft-eval small,.ft-eval span,.ft-team-person span{font-size:11px;color:var(--ft-muted)}.ft-eval b{font-size:22px}.ft-team-person{justify-content:flex-start}.ft-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--ft-primary);color:#fff;font-weight:800;flex:0 0 auto}
.flowteam-login-card{width:min(430px,calc(100% - 32px));margin:56px auto;background:var(--ft-surface,#fff);border:1px solid var(--ft-border);border-radius:var(--ft-radius);padding:24px;box-shadow:var(--ft-shadow)}.ft-login-brand{margin-bottom:18px}.ft-login-brand img{max-width:160px;max-height:52px;object-fit:contain}.flowteam-login-card form{display:grid;gap:14px}.flowteam-login-card label{display:grid;gap:6px;font-size:13px;font-weight:650}.flowteam-login-card input{width:100%;border:1px solid var(--ft-border);border-radius:10px;padding:11px;font:inherit}
@media(max-width:980px){.ft-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ft-grid-2{grid-template-columns:1fr}.ft-header{padding:17px}.ft-content{padding:15px}}
@media(max-width:640px){.flowteam-shell{margin:0;border-radius:0;border-inline:0;box-shadow:none}.ft-header{align-items:flex-start}.ft-user{display:none}.ft-tabs{padding:8px}.ft-tab{padding:9px 11px}.ft-welcome{padding:18px}.ft-welcome h1{font-size:22px}.ft-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-content{padding:10px}.ft-card{padding:15px}.ft-kv>div{display:block}.ft-kv strong{display:block;text-align:start;margin-top:3px}.ft-approval{align-items:flex-start;flex-direction:column}.ft-approval form{width:100%;flex-wrap:wrap}.ft-approval input{flex:1}.ft-eval-grid,.ft-team-grid{grid-template-columns:1fr}.ft-warning-top{flex-direction:column}.ft-warning-preview iframe{height:420px}}

/* Full-viewport mode is applied by JS using measured physical offsets, avoiding 100vw/RTL overflow bugs. */
.flowteam-shell.ft-viewport-ready{max-width:none!important;}
.ft-team-person>div:last-child{min-width:0;flex:1}.ft-team-warning{margin-top:7px}
