/* Falcon Platform additions on top of the FALCON PLM v2.0.41 styles (falcon-v2.css).
   Same colours, borders and spacing; only new screens (sign-in, two-factor, account) are added here. */

/* Fix from the review: popups must sit above the page header (header is z-index 1000). */
.modal{z-index:2000!important}
.confirm-overlay.falcon-confirm{z-index:3000!important}
.falcon-modal-wide{width:min(1100px,96vw)!important}
.falcon-modal-narrow{width:min(720px,96vw)!important}
body.falcon-modal-open{overflow:hidden}

.boot-loading{min-height:100vh;display:grid;place-items:center;background:#111827;color:#fff;font-weight:800;letter-spacing:.5px}

/* Navigation links behave exactly like the v2 buttons. */
a.nav-btn{display:flex;align-items:center;text-decoration:none}
a.falcon-admin-tile,a.settings-console-tile{text-decoration:none;color:inherit;display:flex;flex-direction:column}
a.primary,a.secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:9px 13px;border-radius:7px;font-size:12px}
a.small-btn{padding:6px 10px}
.falcon-back-btn{font-weight:700}
.falcon-console-return{display:block;text-decoration:none;border-radius:7px}
.falcon-user-links{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px;padding-left:44px}
.falcon-user-links a,.falcon-user-links .link-btn{color:#cbd5e1!important;font-size:11px;text-decoration:none;background:none!important;border:0!important;padding:0!important;cursor:pointer}
.falcon-user-links a:hover,.falcon-user-links .link-btn:hover{color:#fff!important;text-decoration:underline}
body.sidebar-collapsed .falcon-user-links{display:none}

/* Messages */
.form-message{padding:10px 12px;border-radius:7px;border:1px solid #fde68a;background:#fffbeb;color:#92400e;font-size:12px;line-height:1.45;margin-bottom:12px}
.form-message.error{border-color:#fecaca;background:#fef2f2;color:#991b1b}
.form-message.ok{border-color:#bbf7d0;background:#f0fdf4;color:#166534}
.form-grid .form-message{grid-column:1/-1}
.field-error{border-color:#dc2626!important;box-shadow:0 0 0 2px rgba(220,38,38,.15)!important}
.falcon-toast{position:fixed;right:20px;bottom:20px;z-index:4000;max-width:min(420px,92vw);padding:12px 16px;border-radius:9px;background:#111827;color:#fff;font-size:12px;line-height:1.45;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.falcon-toast.error{background:#991b1b}
.danger-link{color:#b91c1c!important}

.falcon-support-banner{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 14px;padding:10px 14px;border:1px solid #fcd34d;border-radius:9px;background:#fffbeb;color:#92400e;font-size:12px}

/* Sign-in pages */
.falcon-auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:32px 16px;background:var(--bg,#f5f6f8)}
.falcon-auth-card{width:min(420px,100%);background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(15,23,42,.08)}
.falcon-auth-card.wide{width:min(560px,100%)}
.falcon-auth-brand{background:linear-gradient(135deg,#111827,#1f2d44);color:#fff;padding:20px 24px;display:flex;flex-direction:column;gap:3px}
.falcon-auth-brand strong{font-size:16px;letter-spacing:.6px}
.falcon-auth-brand span{font-size:12px;color:#9ca3af}
.falcon-auth-body{padding:22px 24px 24px}
.falcon-auth-body h1{font-size:18px;margin:0 0 6px}
.falcon-auth-sub{margin:0 0 16px;color:var(--muted,#6b7280);font-size:12px;line-height:1.5}
.falcon-auth-form{display:flex;flex-direction:column;gap:12px}
.falcon-auth-form .form-group{display:flex!important;flex-direction:column;gap:5px}
.falcon-auth-form label{font-size:12px;font-weight:700}
.falcon-auth-form input{width:100%}
.falcon-auth-form small{color:var(--muted,#6b7280);font-size:11px;line-height:1.4}
.falcon-auth-submit{width:100%;min-height:40px}
.falcon-auth-link{display:block;text-align:center;font-size:12px;color:#2563eb;margin-top:10px;background:none;border:0;width:100%;cursor:pointer}
.falcon-auth-foot{color:var(--muted,#6b7280);font-size:11px;margin:0}
.falcon-code-input{font-size:20px!important;letter-spacing:6px;text-align:center;font-weight:700}

.falcon-2fa-steps ol{margin:0 0 16px;padding-left:20px;display:flex;flex-direction:column;gap:12px;font-size:12px;line-height:1.5}
.falcon-qr{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:8px}
.falcon-qr img{border:1px solid var(--line,#e5e7eb);border-radius:8px;background:#fff}
.falcon-qr small{color:var(--muted,#6b7280);line-height:1.6}
.falcon-secret{font-size:13px;font-weight:700;color:#111827;word-break:break-all}
.falcon-recovery p{font-size:12px;line-height:1.55}
.falcon-recovery-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 16px}
.falcon-recovery-codes code{padding:9px;border:1px dashed #9ca3af;border-radius:7px;text-align:center;font-size:14px;font-weight:700;background:#f9fafb}
.falcon-continue{margin-left:auto}

.falcon-workspace-list{display:flex;flex-direction:column;gap:10px;margin-bottom:6px}
.falcon-workspace-card{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:12px 14px!important;border:1px solid var(--line,#e5e7eb)!important;border-radius:10px!important;background:#fff!important;cursor:pointer}
.falcon-workspace-card:hover:not([disabled]){border-color:#2563eb!important;background:#eff6ff!important}
.falcon-workspace-card[disabled]{opacity:.55;cursor:not-allowed}
.falcon-workspace-card.platform{background:#f8fafc!important}
.falcon-workspace-card strong,.falcon-workspace-card small{display:block}
.falcon-workspace-card small{color:var(--muted,#6b7280);font-size:11px;margin-top:2px}
.falcon-org-initials{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:#111827;color:#fff;font-weight:800;flex:none}

/* Admin Console and workspace additions */
.falcon-intro-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}
.falcon-console-intro.compact{display:flex!important;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.falcon-platform-kpis.compact{padding:0}
.falcon-organisations-table td small{display:block;color:var(--muted,#6b7280);margin-top:2px}
.falcon-billing-note p{margin:10px 0 0}
.falcon-module-box{border:1px solid var(--line,#e5e7eb);border-radius:9px;padding:10px 12px;background:#f9fafb}
.falcon-module-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}
.falcon-feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px 16px;margin-bottom:12px}
.falcon-feature-form{display:flex;flex-direction:column;gap:12px}
.check-row{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px}
.check-row input{min-height:0;width:auto}
.falcon-inline-checks{display:flex;gap:18px;flex-wrap:wrap}
.falcon-inline-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.falcon-inline-row input{min-width:220px}
.falcon-inline-form .settings-action-card{display:flex;flex-direction:column;gap:8px}
.falcon-file-btn{cursor:pointer;display:inline-flex;align-items:center;padding:9px 13px}
.organisation-logo-preview img{max-width:100%;max-height:100%;object-fit:contain}
.falcon-invite-link textarea{width:100%;font-family:ui-monospace,Consolas,monospace;font-size:12px}
.falcon-invite-link p{font-size:12px;line-height:1.5}
.falcon-row-disabled td{opacity:.6}

.falcon-module-chips{display:flex;flex-wrap:wrap;gap:8px}
.falcon-module-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--line,#e5e7eb);border-radius:8px;background:#fff;color:#111827;text-decoration:none;font-size:12px;font-weight:700}
.falcon-module-chip .nav-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.falcon-module-chip small{font-weight:400;color:#92400e;background:#fef3c7;border-radius:999px;padding:1px 7px;font-size:10px}
.falcon-coming-soon{text-align:center;padding:40px 20px!important;display:flex;flex-direction:column;align-items:center;gap:10px}
.falcon-coming-soon h3{font-size:16px!important}
.falcon-coming-soon p{max-width:560px;color:var(--muted,#6b7280);font-size:12px;line-height:1.6;margin:0 0 6px}
.falcon-coming-soon .falcon-admin-tile-icon svg{width:28px;height:28px}

.falcon-support-entry{background:#fffbeb}
.falcon-changes{margin-top:6px;font-size:11px}
.falcon-changes summary{cursor:pointer;color:#2563eb}
.falcon-changes table{margin-top:6px;border-collapse:collapse;width:100%;max-width:640px}
.falcon-changes th,.falcon-changes td{border:1px solid var(--line,#e5e7eb);padding:4px 7px;text-align:left;vertical-align:top;font-size:11px;word-break:break-word}

/* Header calendar */
.falcon-cal-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.falcon-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center;font-size:12px}
.falcon-cal-grid b{font-size:11px;color:var(--muted,#6b7280)}
.falcon-cal-grid span{padding:5px 0;border-radius:6px}
.falcon-cal-grid span.today{background:#2563eb;color:#fff;font-weight:700}

@media (max-width:760px){
  .falcon-module-fields,.falcon-recovery-codes{grid-template-columns:1fr}
  .falcon-platform-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
