@import url("foundation.css");
/* Hawk: compact sidebar. Dove: horizontal navigation. Both preserve the original form controls. */
html[data-falcon-portal] {
 --fx-canvas:#0a1323;--fx-surface:#111f34;--fx-raised:#192a43;--fx-field:#0e1a2c;--fx-line:#293b55;
 --fx-text:#e7eef9;--fx-muted:#9cacc3;--fx-accent:#6da8ff;--fx-active:#203b60;--fx-sidebar:208px;
 --admin-page:var(--fx-canvas);--admin-surface:var(--fx-surface);--admin-raised:var(--fx-raised);
 --admin-field:var(--fx-field);--admin-border:var(--fx-line);--admin-text:var(--fx-text);--admin-muted:var(--fx-muted);--admin-accent:var(--fx-accent);
 background:var(--fx-canvas);color:var(--fx-text);
}
html[data-falcon-portal=dove] {--fx-canvas:#0d1925;--fx-surface:#152636;--fx-raised:#1d3546;--fx-field:#10202e;--fx-line:#30485a;--fx-accent:#79c8d9;--fx-active:#244656}
html[data-falcon-portal][data-admin-theme=light] {--fx-canvas:#f3f6fb;--fx-surface:#fff;--fx-raised:#edf2f9;--fx-field:#f8fafd;--fx-line:#dbe3ee;--fx-text:#19263b;--fx-muted:#68778d;--fx-accent:#2765c5;--fx-active:#e4eefc}
html[data-falcon-portal=dove][data-admin-theme=light] {--fx-canvas:#f3f7f7;--fx-raised:#eaf2f3;--fx-line:#d7e3e5;--fx-accent:#187389;--fx-active:#dfeff2}
html[data-falcon-portal] body {font:13px/1.5 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--fx-text);background:var(--fx-canvas)}
html[data-falcon-portal] * {box-sizing:border-box}
html[data-falcon-portal] :focus-visible {outline:2px solid var(--fx-accent);outline-offset:3px}
html[data-falcon-portal] svg {fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.fx-brand {display:flex;align-items:center;gap:10px;flex-shrink:0}
.fx-brand-mark {width:32px;height:32px;object-fit:cover;border-radius:8px}
.fx-brand-type strong {font-size:20px;font-weight:650;letter-spacing:-.3px;color:var(--fx-text)}
.fx-theme-toggle,.fx-nav-toggle {width:34px;height:34px;display:grid;place-items:center;padding:0;background:var(--fx-raised);border:1px solid var(--fx-line);border-radius:8px;color:var(--fx-text);cursor:pointer;font-size:20px}
.fx-nav-toggle svg {width:18px;height:18px}
.fx-theme-toggle:hover,.fx-nav-toggle:hover {border-color:var(--fx-accent)}
/* Login: one restrained card; the two portals have distinct proportions and alignment. */
html[data-falcon-portal] .fx-login {min-height:100vh;background:var(--fx-canvas)!important}
html[data-falcon-portal] .fx-login>.wrapper {padding:8vh 20px;min-height:100vh;background:transparent!important;display:flex;align-items:center;justify-content:center;flex-direction:column}
.fx-login-layout {width:400px;max-width:100%;border:1px solid var(--fx-line);border-radius:16px;background:var(--fx-surface);box-shadow:0 24px 70px #0002;padding:28px}
html[data-falcon-portal=dove] .fx-login-layout {width:480px;border-radius:3px;border-top:3px solid var(--fx-accent);box-shadow:none;padding:38px 42px}
.fx-login-head {display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}
.fx-login-panel h1 {font-size:19px;font-weight:550;margin:0 0 22px;color:var(--fx-text)}
.fx-login .login-box {width:100%!important;margin:0!important;box-shadow:none!important;background:transparent!important}
.fx-login .login-logo,.fx-login .login-box-msg,.fx-login .login-box>.login-box-footer,.fx-login .login-box-footer,.fx-login .footer {display:none!important}
html[data-falcon-portal] .fx-login .login-box-body {width:100%!important;background:transparent!important;padding:0!important;border:0!important;box-shadow:none!important}
.fx-login #loginForm {padding:0!important;margin:0!important}
.fx-login #loginForm .form-group {margin-bottom:18px!important}
.fx-field-label {display:block;margin-bottom:7px;color:var(--fx-muted);font-size:12px;font-weight:450}
html[data-falcon-portal] .fx-login .form-control {height:44px!important;padding:10px 36px 10px 12px!important;font-size:14px}
html[data-falcon-portal] .fx-login .form-control-feedback {top:auto!important;bottom:3px!important;height:38px;line-height:38px;color:var(--fx-muted)}
.fx-login #btnSubmit {width:100%;min-height:44px;font-size:14px;border-radius:7px!important;margin-top:8px}
html[data-falcon-portal] .fx-login input[type=checkbox] {width:15px!important;height:15px!important;min-height:15px!important;vertical-align:middle;margin-right:5px}
/* Main shell. Original navigation nodes are moved, never cloned. */
html[data-falcon-portal] .fx-shell>.wrapper {padding:0!important;background:var(--fx-canvas)!important}
html[data-falcon-portal] .fx-shell .main-header {position:fixed!important;top:0;left:var(--fx-sidebar);right:0;height:60px;max-height:none!important;background:var(--fx-surface)!important;z-index:1030;border-bottom:1px solid var(--fx-line)}
.fx-shell .main-header>.logo,.fx-shell .sidebar-toggle,.fx-shell .main-footer {display:none!important}
html[data-falcon-portal] .fx-shell .main-header>.navbar {margin:0!important;min-height:60px;height:60px;background:transparent!important;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border:0!important;float:none!important}
.fx-toolbar {display:flex;align-items:center;gap:12px}
html[data-falcon-portal=hawk] .fx-toolbar>.fx-brand {display:none}
.fx-shell .navbar-custom-menu {margin-left:auto}
.fx-shell .navbar-custom-menu .nav>li>a {background:transparent!important;color:var(--fx-muted)!important;padding:18px 12px}
.fx-shell .navbar-custom-menu .dropdown-menu {background:var(--fx-surface)!important;border-color:var(--fx-line)!important;color:var(--fx-text)!important;border-radius:8px}
.fx-rail {position:fixed;left:0;top:0;bottom:0;width:var(--fx-sidebar);background:var(--fx-surface);border-right:1px solid var(--fx-line);display:flex;flex-direction:column;z-index:1031}
.fx-rail>.fx-brand {height:60px;padding:0 18px;border-bottom:1px solid var(--fx-line)}
.fx-rail-scroll {overflow:auto;flex:1;padding:12px 9px;scrollbar-width:thin;scrollbar-color:var(--fx-line) transparent}
html[data-falcon-portal] .fx-rail .main-sidebar {position:static!important;width:100%!important;padding:0!important;min-height:0!important;height:auto!important;transform:none!important;margin:0!important;background:transparent!important;box-shadow:none}
html[data-falcon-portal] .fx-rail .sidebar {padding:0!important;height:auto!important;overflow:visible!important;background:transparent!important}
.fx-rail .slimScrollDiv {height:auto!important;overflow:visible!important}
.fx-rail .slimScrollBar,.fx-rail .slimScrollRail,.fx-rail .user-panel {display:none!important}
.fx-rail .sidebar-menu,.fx-rail #topMenu {list-style:none;padding:0;margin:0;float:none!important;display:block;width:100%;background:transparent!important}
.fx-rail .sidebar-menu>li,.fx-rail #topMenu>li {float:none!important;margin:3px 0!important;white-space:normal}
html[data-falcon-portal] .fx-rail .sidebar-menu>li>a {display:flex!important;align-items:center;gap:9px;padding:10px 10px!important;margin:0!important;min-height:40px;border:0!important;border-radius:6px;color:var(--fx-muted)!important;font-size:12px;line-height:1.5;background:transparent!important}
html[data-falcon-portal] .fx-rail .sidebar-menu>li>a>span {display:inline!important;position:static!important;background:transparent!important;width:auto!important;white-space:normal!important;padding:0!important;margin:0!important;flex:1}
html[data-falcon-portal] .fx-rail .sidebar-menu>li>a>.pull-right-container {flex:0 0 auto!important}
.fx-rail .sidebar-menu>li>a>i {width:18px;font-size:14px;text-align:center}
html[data-falcon-portal] .fx-rail .sidebar-menu>li>a:hover,html[data-falcon-portal] .fx-rail .sidebar-menu>li.active>a,html[data-falcon-portal] .fx-rail .sidebar-menu>li.menu-open>a {color:var(--fx-accent)!important;background:var(--fx-active)!important}
html[data-falcon-portal] .fx-rail .treeview-menu {background:transparent!important;border:0;margin:3px 0 8px 18px!important;padding:0 0 0 7px!important;border-left:1px solid var(--fx-line);position:static!important;width:auto!important;box-shadow:none}
html[data-falcon-portal] .fx-rail .treeview-menu>li>a {font-size:12px;padding:8px!important;white-space:normal;color:var(--fx-muted);border-radius:5px}
html[data-falcon-portal] .fx-rail .treeview-menu>li.active>a {color:var(--fx-accent)!important;background:var(--fx-active)!important}
html[data-falcon-portal] .fx-shell .content-wrapper {position:relative!important;top:0!important;left:auto!important;width:auto!important;margin-top:0!important;margin-left:var(--fx-sidebar)!important;padding-top:60px!important;min-height:100vh!important;background:var(--fx-canvas)!important;transform:none!important}
.fx-shell #tabpanel {width:100%!important}
.fx-shell .tabpanel_tab_content {height:40px!important;background:var(--fx-surface)!important;border:0!important;border-bottom:1px solid var(--fx-line)!important;padding:0 10px}
.fx-shell .tabpanel_mover>li {height:40px;width:150px;padding:10px 25px 10px 10px;background:transparent!important;border:0!important;border-bottom:2px solid transparent!important;color:var(--fx-muted)}
.fx-shell .tabpanel_mover>li.active {background:var(--fx-active)!important;border-bottom-color:var(--fx-accent)!important}
.fx-shell .tabpanel_mover>li .title,.fx-shell .tabpanel_mover>li .icon_title {color:var(--fx-muted)!important;font-size:12px}
.fx-shell .tabpanel_mover>li.active .title {color:var(--fx-accent)!important}
.fx-shell .tabpanel_mover>li .closer {top:14px;opacity:.7}
html[data-admin-theme=dark] .fx-shell .tabpanel_mover>li .closer {filter:brightness(0) invert(.7)}
.fx-shell .tabpanel_left_scroll,.fx-shell .tabpanel_right_scroll {top:8px}
.fx-shell .tabpanel_move_content,.fx-shell .tabpanel_content {background:var(--fx-canvas)!important;border:0!important}
.fx-shell .tabpanel_content .html_content {padding:0!important;background:var(--fx-canvas)!important}
.fx-shell .tabpanel_tab_content a {color:inherit!important}
.fx-shell .tabpanel {border:0!important}
html[data-falcon-portal] .div_RightMenu ul {background:var(--fx-surface);border-color:var(--fx-line);color:var(--fx-text)}
html[data-falcon-portal] .div_RightMenu ul li.RM_mouseover {background:var(--fx-active)}
.fx-nav-toggle,.fx-nav-shade {display:none}
/* Dove's full-width command bar replaces the left sidebar on desktop. */
@media(min-width:901px) {
 html[data-falcon-portal=dove] .fx-shell .main-header {left:0;height:64px}
 html[data-falcon-portal=dove] .fx-shell .main-header>.navbar {height:64px;min-height:64px;padding:0 26px}
 html[data-falcon-portal=dove] .fx-rail {top:64px;right:0;bottom:auto;width:100%;height:60px;border:0;border-bottom:1px solid var(--fx-line);background:var(--fx-canvas)}
 html[data-falcon-portal=dove] .fx-rail>.fx-brand {display:none}
 html[data-falcon-portal=dove] .fx-rail-scroll {display:flex;align-items:flex-start;gap:14px;padding:8px 20px;overflow-x:auto;overflow-y:hidden}
 html[data-falcon-portal=dove] .fx-rail .sidebar-menu {display:flex!important;align-items:flex-start;gap:6px;width:auto}
 html[data-falcon-portal=dove] .fx-rail #topMenu {width:auto!important;flex:0 0 auto}
 html[data-falcon-portal=dove] .fx-rail .main-sidebar {width:auto!important;flex:0 0 auto}
 html[data-falcon-portal=dove] .fx-rail .sidebar-menu>li {position:relative;flex-shrink:0}
 html[data-falcon-portal=dove] .fx-rail .sidebar-menu>li>a {border-radius:20px;padding:9px 14px!important;min-height:36px;white-space:nowrap}
 html[data-falcon-portal=dove] .fx-rail .sidebar-menu>li>a>span {white-space:nowrap!important}
 html[data-falcon-portal=dove] .fx-rail .treeview-menu {position:fixed!important;top:114px!important;left:20px!important;min-width:210px;max-height:60vh;overflow:auto;margin:0!important;padding:6px!important;background:var(--fx-surface)!important;border:1px solid var(--fx-line)!important;border-radius:8px;box-shadow:0 12px 24px #0003}
 html[data-falcon-portal=dove] .fx-rail .treeview:not(.fx-submenu-open)>.treeview-menu {display:none!important}
 html[data-falcon-portal=dove] .fx-rail .treeview.fx-submenu-open>.treeview-menu {display:block!important}
 html[data-falcon-portal=dove] .fx-shell .content-wrapper {margin-left:0!important;padding-top:124px!important}
}
/* Compact forms, tables, dialogs and actual dashboard data. */
html[data-falcon-portal] .main-content {padding:16px!important;background:var(--fx-canvas)!important}
html[data-falcon-portal] .box-main {border:1px solid var(--fx-line)!important;border-radius:8px;box-shadow:none!important;background:var(--fx-surface)!important;overflow:visible}
html[data-falcon-portal=dove] .box-main {border-radius:3px}
html[data-falcon-portal] .box-main>.box-header {border-bottom:1px solid var(--fx-line)!important;padding:14px 18px!important;background:var(--fx-surface)!important;border-radius:8px 8px 0 0}
html[data-falcon-portal] .box-main>.box-header .box-title {font-size:16px;font-weight:550;color:var(--fx-text)!important;line-height:1.5}
html[data-falcon-portal] .box-body {padding:18px!important;border-radius:0 0 8px 8px}
html[data-falcon-portal] .box-footer {padding:12px 18px!important}
html[data-falcon-portal] .form-control,html[data-falcon-portal] .select2-container .select2-choice,html[data-falcon-portal] .select2-selection {height:34px;min-height:34px;border:1px solid var(--fx-line)!important;border-radius:5px!important;box-shadow:none!important;color:var(--fx-text)!important;background:var(--fx-field)!important}
html[data-falcon-portal] textarea.form-control {height:auto;min-height:80px}
html[data-falcon-portal] .form-group>label {font-size:12px;font-weight:450;color:var(--fx-muted)!important}
html[data-falcon-portal] .btn {padding:7px 14px;border-radius:5px!important;font-size:12px;line-height:18px;box-shadow:none!important}
html[data-falcon-portal] .btn-primary,html[data-falcon-portal] .btn-info,html[data-falcon-portal] .layui-layer-btn0 {background:var(--fx-accent)!important;border:1px solid var(--fx-accent)!important;color:#fff!important}
html[data-admin-theme=dark][data-falcon-portal] .btn-primary,html[data-admin-theme=dark][data-falcon-portal] .btn-info {color:#0a1930!important}
html[data-falcon-portal] .btn-default {background:var(--fx-raised)!important;border-color:var(--fx-line)!important;color:var(--fx-text)!important}
html[data-falcon-portal] .fx-filter {display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;background:var(--fx-field);padding:14px!important;margin:0 0 16px!important;border:1px solid var(--fx-line);border-radius:6px}
.fx-filter:before,.fx-filter:after {display:none!important}
html[data-falcon-portal] .fx-filter>.form-group {margin:0!important;display:flex;flex-wrap:wrap;gap:6px;align-items:center;max-width:100%}
html[data-falcon-portal] .fx-filter .control-label {margin:0!important;white-space:normal}
html[data-falcon-portal] .ui-jqgrid {border:1px solid var(--fx-line)!important;border-radius:6px!important;max-width:100%;overflow:hidden}
html[data-falcon-portal] .ui-jqgrid .ui-jqgrid-hdiv {border-bottom:1px solid var(--fx-line)!important;background:var(--fx-raised)!important}
html[data-falcon-portal] .ui-jqgrid .ui-jqgrid-htable th {height:38px!important;font-weight:550;font-size:11px;color:var(--fx-muted)!important;background:var(--fx-raised)!important;border-color:var(--fx-line)!important}
html[data-falcon-portal] .ui-jqgrid tr.jqgrow td {height:40px;padding:8px 10px!important;color:var(--fx-text);background:var(--fx-surface)!important;border-color:var(--fx-line)!important;font-size:12px}
html[data-falcon-portal] .ui-jqgrid tr.jqgrow:nth-child(even) td {background:var(--fx-field)!important}
html[data-falcon-portal] .ui-jqgrid tr.jqgrow:hover td,html[data-falcon-portal] .ui-jqgrid tr.ui-state-highlight td {background:var(--fx-active)!important}
html[data-falcon-portal] .ui-jqgrid .ui-jqgrid-pager {background:var(--fx-surface)!important;padding:8px!important;height:auto!important;min-height:42px;border-top:1px solid var(--fx-line)!important}
html[data-falcon-portal] .ui-jqgrid-bdiv {scrollbar-width:thin;scrollbar-color:var(--fx-line) var(--fx-field)}
html[data-falcon-portal] .layui-layer,html[data-falcon-portal] .modal-content {border:1px solid var(--fx-line);border-radius:8px!important;overflow:hidden;box-shadow:0 24px 80px #0005}
html[data-falcon-portal] .layui-layer-title {background:var(--fx-raised)!important;border-bottom:1px solid var(--fx-line)!important}
html[data-falcon-portal] .layui-layer-content {background:var(--fx-surface)!important}
html[data-falcon-portal] .fx-home .box-main {background:transparent!important;border:0!important;box-shadow:none!important}
html[data-falcon-portal] .fx-metrics {display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;padding:0!important;background:transparent!important}
.fx-metrics:before,.fx-metrics:after {display:none!important}
html[data-falcon-portal] .fx-metrics>.fx-metric-group {grid-column:span 12;min-width:0;margin:0!important;width:auto!important;white-space:normal!important;background:var(--fx-surface)!important;border:1px solid var(--fx-line);border-radius:8px;padding:18px!important}
.fx-metrics>.fx-metric-group-0 {grid-column:span 4!important}
.fx-metrics>.fx-metric-group-1 {grid-column:span 8!important}
.fx-metrics>.fx-metric-group-2 {display:grid!important;grid-template-columns:1fr 1fr;gap:24px}
.fx-metrics>.fx-metric-group-2>.form-group {margin:0!important;width:auto!important;min-width:0}
html[data-falcon-portal] .fx-metrics .row {display:flex;flex-wrap:wrap;gap:14px 12px;margin:0!important;background:transparent!important}
.fx-metrics .row:before,.fx-metrics .row:after {display:none}
.fx-metrics .row>[class*=col-] {float:none;width:auto;flex:1;min-width:105px;padding:0!important}
.fx-metrics .row>.col-xs-12 {flex-basis:100%}
.fx-metrics .row+.row {margin-top:14px!important;padding-top:14px;border-top:1px solid var(--fx-line)}
.fx-metrics .form-group {margin-bottom:0}
html[data-falcon-portal] .fx-metrics label {font-size:11px!important;font-weight:400;color:var(--fx-muted)!important;white-space:normal;line-height:1.6}
html[data-falcon-portal] .fx-metrics .fx-metric-value {font-size:24px!important;font-weight:550;letter-spacing:-.5px;color:var(--fx-text)!important;margin:7px 3px 0 0;font-variant-numeric:tabular-nums;word-break:break-word}
html[data-falcon-portal] .fx-metrics .row+.row .fx-metric-value {font-size:17px!important}
.fx-legacy-empty-home {display:none!important}
.fx-home-start {padding:0}
.fx-quick-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.fx-quick-link {display:flex;align-items:center;gap:10px;background:var(--fx-surface);border:1px solid var(--fx-line);border-radius:6px;padding:20px;text-align:left;color:var(--fx-text)}
.fx-quick-link>svg {width:18px;height:18px;flex-shrink:0;color:var(--fx-accent)}
.fx-quick-link>svg:last-child {margin-left:auto;width:15px}
.fx-quick-link:hover {background:var(--fx-active)}
@media(max-width:1200px) and (min-width:901px) {
 html[data-falcon-portal=dove] .fx-rail-scroll {overflow-x:auto;overflow-y:hidden}
 html[data-falcon-portal=dove] .fx-rail .treeview-menu {position:fixed!important;top:114px!important;left:20px!important}
}
@media(max-width:900px) {
 html[data-falcon-portal] .fx-shell .main-header {left:0;height:60px}
 html[data-falcon-portal] .fx-shell .main-header>.navbar {padding:0 14px}
 html[data-falcon-portal] .fx-shell .content-wrapper {margin-left:0!important;padding-top:60px!important}
 html[data-falcon-portal=hawk] .fx-toolbar>.fx-brand {display:flex}
 .fx-rail {transform:translateX(-100%);transition:transform .16s;box-shadow:20px 0 60px #0004}
 .fx-nav-open .fx-rail {transform:translateX(0)}
 .fx-nav-toggle {display:grid}
 .fx-nav-open .fx-nav-shade {display:block;position:fixed;inset:0;background:#03091399;border:0;z-index:1029}
 .fx-shell .navbar-custom-menu .nav>li>a {padding:12px 7px}
 .fx-quick-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .fx-metrics>.fx-metric-group-0,.fx-metrics>.fx-metric-group-1 {grid-column:span 12!important}
}
@media(max-width:600px) {
 html[data-falcon-portal] .fx-login>.wrapper {padding:24px 16px}
 html[data-falcon-portal] .fx-login-layout {padding:26px 22px}
 html[data-falcon-portal] .main-content {padding:12px!important}
 html[data-falcon-portal] .box-body {padding:12px!important}
 .fx-metrics>.fx-metric-group-2 {grid-template-columns:1fr;gap:20px}
 .fx-quick-grid {grid-template-columns:1fr}
 .fx-filter>.form-group {flex:1 1 140px}
 .fx-filter input,.fx-filter select {max-width:100%}
 .fx-shell .navbar-custom-menu .hidden-xs,.fx-shell .navbar-custom-menu>.navbar-nav>li:not(.user-menu):not(:last-child) {display:none}
}
@media(prefers-reduced-motion:reduce) {html[data-falcon-portal] * {transition:none!important;scroll-behavior:auto!important}}
@media print {.fx-rail,.fx-nav-shade,.fx-toolbar {display:none!important}html[data-falcon-portal] .fx-shell .content-wrapper {margin-left:0!important;padding-top:0!important}}
@media(min-width:901px) {html[data-falcon-portal=dove] .fx-shell .tabpanel_content {height:calc(100vh - 164px)!important}}
.fx-shell .main-header .navbar>.logo {display:none!important}
html[data-falcon-portal] .fx-login input[type=checkbox].form-control {padding:0!important;min-width:15px!important;display:inline-block!important}
