/* FutureTek theme layered over the bundled AdminKit stylesheet. */
:root { --ft-navy:#102b4a; --ft-deep:#0d213b; --ft-blue:#2469ad; --ft-line:#e5ebf2; --ft-muted:#68788c; }
body { background:#f4f6fa; color:#253447; }
.ft-btn-primary { background:var(--ft-navy); border-color:var(--ft-navy); font-weight:600; border-radius:7px; }
.ft-btn-primary:hover, .ft-btn-primary:focus { background:#1b4878; border-color:#1b4878; }
.ft-brand-symbol { display:inline-flex; align-items:center; justify-content:center; flex:0 0 37px; width:37px; height:37px; border-radius:9px; background:#fff; color:var(--ft-navy); font-size:23px; font-weight:800; line-height:1; }
.ft-kicker { font-size:11px; letter-spacing:0.16em; font-weight:800; color:var(--ft-blue); }
/* Login */
.ft-login-page { min-height:100vh; background:#fff; }
.ft-login-layout { min-height:100vh; display:grid; grid-template-columns:minmax(400px, 49%) minmax(420px, 51%); }
.ft-login-intro { background:linear-gradient(145deg, #0c2442 0%, #123c68 82%, #164b7c 100%); padding:48px clamp(35px,5vw,92px); display:flex; flex-direction:column; color:#fff; }
.ft-login-brand { display:inline-flex; align-items:center; gap:13px; width:max-content; text-decoration:none; color:#fff; font-size:21px; font-weight:600; letter-spacing:-0.02em; }
.ft-login-brand:hover { color:#fff; }
.ft-login-brand strong { font-weight:400; opacity:.8; }
.ft-login-intro-copy { margin:auto 0; max-width:540px; padding:50px 0; }
.ft-login-intro-copy .ft-kicker { color:#b5d3f1; }
.ft-login-intro-copy h1 { font-size:clamp(35px,3.25vw,54px); color:#fff; font-weight:700; letter-spacing:-.045em; line-height:1.15; margin:24px 0; }
.ft-login-intro-copy p { font-size:16px; line-height:1.8; color:#d0ddeb; max-width:490px; }
.ft-login-features { display:flex; flex-wrap:wrap; gap:9px; margin-top:27px; }
.ft-login-features span { padding:8px 12px; border:1px solid rgba(255,255,255,.24); border-radius:20px; font-size:12px; color:#e2edf8; }
.ft-login-intro-footer { color:#bdccdb; font-size:12px; margin:0; }
.ft-login-form-side { display:flex; flex-direction:column; padding:32px; min-width:0; }
.ft-login-form-wrap { width:100%; max-width:410px; margin:auto; padding:60px 0; }
.ft-login-heading { margin-bottom:32px; }
.ft-login-icon { display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:13px; background:#eef4fa; color:var(--ft-navy); margin-bottom:20px; }
.ft-login-heading h2 { font-size:30px; font-weight:700; letter-spacing:-.03em; color:#172e4b; margin-bottom:8px; }
.ft-login-heading p { color:var(--ft-muted); font-size:15px; }
.ft-login-form-wrap .form-label { font-weight:600; font-size:13px; color:#34465a; }
.ft-login-form-wrap .form-control { border:1px solid #d7e0e9; border-radius:7px; padding:13px 15px; font-size:14px; }
.ft-login-form-wrap .form-control:focus { border-color:var(--ft-blue); box-shadow:0 0 0 3px rgba(36,105,173,.12); }
.ft-login-form-wrap .ft-btn-primary { margin-top:9px; padding:12px; }
.ft-login-security { text-align:center; color:#8290a0; font-size:12px; margin-top:24px; }
.ft-login-copyright { text-align:center; color:#8d99a7; font-size:12px; margin:0; }
.ft-mobile-brand { display:none; }
/* Admin */
.ft-admin-wrapper .main { min-width:0; }
.ft-sidebar { background:var(--ft-deep); }
.ft-sidebar .sidebar-content { background:var(--ft-deep); display:flex; flex-direction:column; min-height:100vh; }
.ft-sidebar-brand { display:flex; align-items:center; gap:10px; font-size:18px; font-weight:600; text-decoration:none; padding:27px 22px 25px; }
.ft-sidebar-brand strong { font-weight:400; color:#b4c9de; }
.ft-sidebar .sidebar-header { color:#7892ae; letter-spacing:.1em; font-size:10px; }
.ft-sidebar .sidebar-item.active > .sidebar-link { background:#1d436e; border-left:3px solid #74b0e7; color:#fff; }
.ft-nav-icon { display:inline-flex; min-width:23px; justify-content:center; margin-right:8px; font-size:17px; }
.ft-nav-disabled { opacity:.42; cursor:not-allowed; }
.ft-sidebar-footer { margin-top:auto; color:#b7c9da; font-size:12px; padding:25px 23px; line-height:1.6; }
.ft-sidebar-footer span { color:#6e87a1; }
.ft-topbar { border-bottom:1px solid var(--ft-line); box-shadow:none; min-height:70px; }
.ft-topbar-title { font-weight:600; color:#223c58; margin-left:14px; }
.ft-menu-button { border:0; padding:8px; display:inline-flex; border-radius:6px; color:#48627c; background:transparent; }
.ft-menu-button:hover { background:#eef3f8; }
.ft-user-label { margin-right:20px; font-weight:600; font-size:13px; }
.ft-logout-form { margin:0; }
.ft-admin-content { padding-top:32px; max-width:1350px; margin:0 auto; width:100%; }
.ft-page-intro { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:28px; }
.ft-page-intro h1 { font-weight:700; font-size:27px; letter-spacing:-.025em; }
.ft-environment-label { background:#eaf0f7; color:#506986; font-size:12px; padding:7px 12px; border-radius:100px; }
.ft-status-card,.ft-form-card { border:1px solid var(--ft-line); box-shadow:0 2px 8px rgba(20,45,75,.025); border-radius:9px; }
.ft-status-card .card-body { padding:23px; }
.ft-status-heading { display:flex; align-items:center; justify-content:space-between; color:#657a90; font-size:13px; font-weight:600; margin-bottom:12px; }
.ft-status-dot { height:9px; width:9px; border-radius:50%; background:#d4a563; }
.ft-status-dot.ft-ok { background:#3aa77a; }
.ft-status-title { color:#193858; font-size:19px; font-weight:700; margin-bottom:5px; }
.ft-form-card { margin-bottom:18px; }
.ft-form-card .card-header { background:#fff; padding:22px 25px 17px; }
.ft-form-card .card-header h2 { font-weight:700; color:#243e59; }
.ft-form-card .card-body { padding:20px 25px 25px; }
.ft-setting-row { display:flex; gap:22px; align-items:center; justify-content:space-between; padding:12px 0; }
.ft-setting-row + .ft-setting-row { border-top:1px solid #edf1f6; }
.ft-setting-name { font-size:14px; font-weight:700; display:block; color:#263b52; margin-bottom:4px; cursor:pointer; }
.ft-setting-row .form-check-input { cursor:pointer; width:2.4em; height:1.3em; }
.ft-setting-row .form-check-input:checked { background-color:var(--ft-blue); border-color:var(--ft-blue); }
.ft-save-bar { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:11px 2px 26px; }
.ft-footer { background:transparent; border:0; }
@media (max-width: 992px) {
  .ft-login-layout { grid-template-columns:1fr; }
  .ft-login-intro { display:none; }
  .ft-login-form-side { min-height:100vh; }
  .ft-mobile-brand { display:flex; gap:8px; align-items:center; font-weight:700; margin-bottom:40px; color:var(--ft-navy); }
  .ft-mobile-brand .ft-brand-symbol { background:var(--ft-navy); color:#fff; }
}
@media (max-width: 768px) {
  .ft-admin-content { padding:22px 15px; }
  .ft-page-intro { align-items:flex-start; }
  .ft-environment-label { display:none; }
  .ft-save-bar { align-items:stretch; flex-direction:column; }
  .ft-login-form-side { padding:24px; }
  .ft-sidebar { position:fixed; left:0; top:0; bottom:0; z-index:1003; transform:translateX(-100%); transition:transform .2s; }
  body.ft-sidebar-open .ft-sidebar { transform:translateX(0); }
  body.ft-sidebar-open::after { content:""; position:fixed; inset:0; background:rgba(12,30,52,.5); z-index:1002; }
}
