/* GHMS corporate workspace. Shared by administrative and operational screens. */
:root {
  --primary:#173b65; --primary-active:#102b4b; --brand-accent:#173b65;
  --ink:#23333e; --body:#43535d; --muted:#687781; --muted-soft:#75838b;
  --canvas:#fff; --surface-soft:#f3f6f7; --surface-card:#fff; --surface-strong:#dde4e7;
  --surface-dark:#152a43; --surface-dark-elevated:#223e5e; --on-dark-soft:#bac8d0;
  --hairline:#dbe2e6; --hairline-soft:#e9eef0; --success:#287250; --warning:#99691e; --danger:#b44343;
  --text-primary:var(--ink); --text-secondary:var(--muted); --bg-input:#fff; --radius-m:5px;
  --rounded-md:5px; --rounded-lg:6px; --rounded-xl:8px; --sidebar-width:244px; --header-height:76px;
  --shadow-sm:0 1px 2px #22333e06; --shadow-md:0 3px 12px #22333e09;
  --bg-deep:#edf1f3; --bg-surface:#fff; --accent-primary:#173b65; --accent-secondary:#586f82;
  --text-main:#23333e; --text-dim:#687781; --border-glass:#dbe2e6;
  --status-ok:#287250; --status-warn:#99691e; --status-alert:#b44343;
  --primary-color:var(--primary); --border-color:var(--hairline); --text-muted:var(--muted); --bg-body:#edf1f3; --secondary:#586f82; --gray:#687781;
}
body {font-family:'Segoe UI',Arial,sans-serif; font-size:14px; color:var(--ink); background:#edf1f3; line-height:1.5}
button,input,select,textarea {font-family:inherit}
h1,h2,h3,h4 {letter-spacing:-.025em; line-height:1.3}
h1 {font-size:28px} h2 {font-size:23px} h3 {font-size:18px}
button,a,input,select,textarea {transition:background-color .15s,border-color .15s}
:focus-visible {outline:3px solid #8aa8cb; outline-offset:3px}
.sidebar {padding:24px 12px 16px; border-right:1px solid #152833; flex-shrink:0}
.sidebar-header {padding:0 14px 22px; margin-bottom:16px; border-bottom:1px solid #ffffff20}
.sidebar-header img {max-width:145px!important; max-height:48px!important; object-fit:contain}
.workspace-label {display:block;font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#b5c5ce;margin-top:12px}
.nav-menu {scrollbar-width:none;-ms-overflow-style:none}
.nav-menu::-webkit-scrollbar {display:none;width:0;height:0}
.nav-section {font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#91a6b2;padding:18px 14px 8px}
.nav-item a {border-radius:4px;padding:10px 13px;font-size:13px;border-left:0}
.nav-item a.active {background:#ffffff12;color:#fff}
.nav-item a:hover {background:#ffffff0c;color:#fff}
.nav-item i {font-size:14px;opacity:.85}
.main-content {min-width:0;background:#edf1f3}
.top-bar {flex-shrink:0;padding:0 32px;gap:16px;background:#fff}
.topbar-heading {display:flex;align-items:center;gap:16px;min-width:0}
.page-title {font-size:19px;letter-spacing:-.02em}
.breadcrumb-label {font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:3px}
.user-menu {background:none;border-radius:0;border-left:1px solid var(--hairline);padding:0 0 0 20px}
.user-avatar {background:#e8eef5;color:var(--primary);border-radius:5px;width:34px;height:34px}
.user-menu span {font-size:12px;gap:4px}
.content-wrapper {padding:28px 32px;gap:0}
.app-footer {text-align:left;font-size:11px;padding:22px 0 4px;color:var(--muted);border-top:1px solid #dbe2e6}
.card {border:1px solid var(--hairline);padding:24px;margin-bottom:22px;box-shadow:var(--shadow-sm);border-radius:6px}
.card:hover,.stat-card:hover {box-shadow:var(--shadow-sm)}
.card-header {padding-bottom:17px;margin-bottom:20px;border-bottom:1px solid var(--hairline-soft);gap:14px;flex-wrap:wrap}
.card-title {font-size:16px;font-weight:600}
.card>h3 {padding-bottom:16px;margin-bottom:24px;border-bottom:1px solid var(--hairline-soft)}
.stats-grid {gap:18px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.stat-card {padding:24px;gap:18px;border-radius:6px;border:1px solid var(--hairline)}
.stat-icon {background:#eaf0f7!important;color:#345b86;width:44px;height:44px;flex-basis:44px;border-radius:4px;font-size:18px}
.stat-info h3 {font-size:30px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-1px}
.stat-info p {font-size:10px;letter-spacing:.08em;margin-top:5px}
.btn {height:auto;min-height:38px;padding:10px 15px;border-radius:4px;font-size:12px;font-weight:600;line-height:1.25;box-shadow:none}
.btn-primary {background:var(--primary);border:1px solid var(--primary);color:#fff}
.btn-secondary {background:#fff;border:1px solid #cad4d9;color:#3e515c}
.btn-danger {background:#b44343;border:1px solid #b44343}
.btn:hover {transform:none;box-shadow:none}
button:disabled,.btn[aria-disabled=true] {opacity:.55;cursor:not-allowed}
.table-container {border:1px solid var(--hairline);border-radius:4px}
table {font-variant-numeric:tabular-nums}
th {background:#f0f4f5;padding:12px 15px;color:#576b77;font-size:10px;letter-spacing:.075em;white-space:nowrap}
td {padding:13px 15px;font-size:13px;color:#344752;border-bottom:1px solid #e6ecef}
tbody tr:nth-child(even) {background:#fafbfc}
tbody tr:hover td {background:#f0f5f5}
td .btn {min-height:30px;font-size:11px;padding:7px 10px}
.form-group {margin-bottom:20px;min-width:0}
label {font-size:12px;font-weight:600;color:#425661;margin-bottom:7px;letter-spacing:0}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea,.custom-select {background:#fff;border:1px solid #c9d3d9;border-radius:4px;padding:10px 12px;color:#23333e;min-height:42px;box-shadow:0 1px 2px #152a4303;font-size:14px;max-width:100%;box-sizing:border-box}
input:focus,select:focus,textarea:focus {border-color:#527ba7;box-shadow:0 0 0 3px #173b6514;outline:none}
input[readonly],textarea[readonly],input:disabled,select:disabled {background:#f3f6f7;color:#647681}
input[type=checkbox],input[type=radio] {accent-color:#173b65;width:16px;height:16px}
textarea {line-height:1.6;min-height:90px}
::placeholder {color:#8b979e;opacity:1}
.badge {border-radius:4px;font-size:10px;letter-spacing:.035em;padding:4px 8px;min-height:23px}
.badge-info {background:#e8eef3;color:#425e74}
.report-tabs {border-bottom:1px solid #ccd7dc;padding-bottom:10px;gap:6px!important}
.report-tabs .tab-btn {font-family:inherit;border:1px solid #d7e0e4;border-radius:4px;padding:10px 15px;font-size:12px;box-shadow:none}
.report-tabs .tab-btn:hover {transform:none;box-shadow:none}
.report-tabs .tab-btn.active {background:#173b65;border-color:#173b65}
.content-wrapper .custom-select {height:44px;padding:10px 12px;border:1px solid #c9d3d9;border-radius:4px;background:#fff;line-height:normal}
.block-title {font-size:15px;border-bottom:1px solid #dbe2e6!important}
.animate-fade-in {animation:none}
.dashboard-intro {display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;padding:4px 0 0}
.eyebrow {font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#657d88;font-weight:600;margin-bottom:8px}
.dashboard-intro h1 {margin:0 0 6px;font-size:28px}
.dashboard-intro p {color:var(--muted);font-size:13px}
.dashboard-date {text-align:right;font-size:13px;color:#435964;white-space:nowrap;border-left:1px solid #ccd7dc;padding-left:24px}
.dashboard-date small {display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#75848c;margin-bottom:5px}
.menu-toggle {display:none;border:1px solid #dbe2e6;background:#fff;border-radius:4px;width:36px;height:36px;color:#23333e;cursor:pointer}
.nav-backdrop {display:none}
.split-screen-container {height:100vh;min-height:680px}
.login-content-side {flex:0 0 46%;min-width:440px;background:#fff;padding:60px;flex-direction:column}
.login-content-side::before,.auth-brand-section::after {display:none}
.auth-card {max-width:370px;display:block;min-height:0;border-radius:0;box-shadow:none;overflow:visible;background:none}
.auth-brand-section {background:none;padding:0 0 32px;min-height:0;color:#23333e}
.auth-brand-section img {width:160px!important;max-width:160px!important;margin-bottom:18px!important;background:transparent;padding:0;border-radius:0;box-sizing:border-box}
.auth-brand-section p {font-size:10px;color:#657781;letter-spacing:.12em;text-transform:uppercase;line-height:1.7}
.auth-form-section {padding:28px 0 0;border-top:1px solid #dbe2e6}
.auth-form-section h2 {font-size:26px!important;margin-bottom:8px!important;font-weight:600}
.auth-intro {color:#687781;font-size:13px;margin:0 0 28px}
.auth-form-section .btn {font-size:13px!important;min-height:44px;margin-top:6px!important}
.auth-footer {bottom:24px;font-size:10px;max-width:370px;text-align:left;line-height:1.6}
.login-image-side {padding:70px;background-position:center}
.login-image-side::after {background:rgba(20,41,53,.76)}
.hero-headline {font-size:42px;line-height:1.15;letter-spacing:-1px;font-weight:500;text-shadow:none;max-width:540px}
.hero-subheadline {font-size:16px;color:#d8e3e8;max-width:480px;line-height:1.8}
.hero-divider {background:#91afd0;width:50px;height:2px}
.hero-supporting-text {font-size:12px;color:#c1d0d8;max-width:420px}
/* Dedicated operational screens retain their workflow and live controls. */
body.operations-workspace {display:block;height:auto;overflow:auto;background:#edf1f3;background-image:none;padding:0}
body.operations-workspace::after {display:none}
.operations-workspace .board-container {padding:26px;animation:none}
.operations-workspace .board-nav,.operations-workspace .header-card {background:#fff;border:1px solid #dbe2e6;border-radius:5px;box-shadow:none;backdrop-filter:none;gap:20px}
.operations-workspace .brand-section h1 {font-family:inherit;font-size:21px;letter-spacing:-.4px}
.operations-workspace .brand-section h1 {background:none;-webkit-text-fill-color:#23333e;color:#23333e}
.operations-workspace .brand-section h1 {font-weight:600;text-transform:none}
.operations-workspace .kpi-val {font-family:'Segoe UI',Arial,sans-serif;font-size:36px;letter-spacing:-1px}
.operations-workspace .live-status {background:#eaf2ef;color:#28684d;border-color:#c4d9cf;box-shadow:none}
.operations-workspace .empty-state {border:1px solid #dbe2e6;border-radius:5px;padding:48px 24px}
.operations-workspace .status-in-progress {border-image:none;animation:none}
.operations-workspace .flight-strip,.operations-workspace .hud-card,.operations-workspace .section {background:#fff;box-shadow:none;border-radius:5px;backdrop-filter:none}
.operations-workspace .flight-strip {border:1px solid #dbe2e6;border-left:1px solid #dbe2e6!important;border-image:none!important}
.operations-workspace .flight-strip:hover {transform:none;box-shadow:0 2px 8px #23333e0c}
.operations-workspace .hud-card {border:1px solid #dbe2e6;border-top:1px solid #dbe2e6}
.operations-workspace .hud-card::before,.operations-workspace .hud-card::after,.hud-bottom-left,.hud-bottom-right {display:none}
.operations-workspace .date-picker-wrap {background:#f3f6f7;border:1px solid #dbe2e6;color:#23333e}
.operations-workspace .back-link {font-size:11px;color:#435c69;border-color:#dbe2e6}
.operations-workspace .back-link:hover {background:#eaf0f7;color:#173b65}
.operations-workspace .flight-no,.operations-workspace .port-code,.operations-workspace .kpi-val {font-family:'Consolas',monospace;font-weight:600;text-shadow:none}
.operations-workspace .flight-grid {grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}
.operations-workspace .section {border:1px solid #dbe2e6}
.operations-workspace .section h3 {font-size:16px;color:#345474;border-bottom:1px solid #dbe2e6;padding-bottom:14px}
.operations-workspace .btn-save {background:#173b65!important;font-family:inherit;font-size:14px;border-radius:4px}
.operations-workspace .btn-add {background:#edf2f8;color:#173b65;border-color:#9bb2ce}
.operations-workspace .time-badge {border-radius:4px;background:#edf2f8;color:#173b65;font-size:13px}
.content-wrapper .create-form-container,.content-wrapper .report-container {font-family:inherit;border:1px solid #dbe2e6;border-radius:5px;box-shadow:none;width:100%}
.content-wrapper .form-group label {text-transform:none;letter-spacing:0;color:#425661}
.content-wrapper .form-title h2 {letter-spacing:-.02em;font-weight:600}
.print-header-branded {display:none}
/* Equipment map: retain stand geometry and safety markings without radar effects. */
.content-wrapper .apron-viewport {background:#263c48;border:1px solid #b8c8d0;border-radius:5px;box-shadow:none}
.content-wrapper .apron-map-container {background-image:none}
.content-wrapper .apron-map-container::after {display:none}
.content-wrapper .flight-info-card {background:#f7fafb;border:1px solid #a3b8c2;box-shadow:0 2px 5px #12252e20;animation:none;border-radius:3px}
.content-wrapper .flight-info-card:hover {background:#fff;border-color:#7094bb}
.content-wrapper .fic-flight {color:#173b65}.content-wrapper .fic-dest {color:#627883}
.content-wrapper .fic-eq-count {background:#e9f2ec;color:#286342;border-color:#bfd7c8}
.content-wrapper .stand-tooltip {background:#263c48;border-color:#839da9;box-shadow:0 3px 10px #15283330;backdrop-filter:none}
.content-wrapper .eq-grid {grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:18px}
.content-wrapper .eq-card {border:1px solid #dbe2e6;border-radius:5px;box-shadow:none}
.content-wrapper .eq-status {font-size:10px;border-radius:4px;letter-spacing:.03em}
.content-wrapper .eq-flight-badge {background:#edf2f8;border-color:#cad8e8;border-radius:4px}
.content-wrapper .modal-content {max-width:calc(100% - 32px);border-radius:6px}
@media(min-width:901px) and (max-width:1180px) {
  :root {--sidebar-width:220px}.sidebar {align-items:stretch;padding:20px 10px}.sidebar-header {padding:0 12px 20px}.nav-item a {justify-content:flex-start;font-size:12px;padding:9px}.nav-item i {margin-right:10px;width:20px;font-size:14px}
}
@media(max-width:900px) {
  .sidebar {position:fixed;inset:0 auto 0 0;width:260px;height:100dvh;padding:24px 12px;align-items:stretch;border-radius:0;transform:translateX(-100%);transition:transform .2s;z-index:200}
  .sidebar-header {display:block;padding:0 14px 22px}.nav-menu {display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;align-items:stretch;gap:0}.nav-item {flex:0 0 auto;scroll-snap-align:none}.nav-item a {flex-direction:row;justify-content:flex-start;font-size:13px;text-align:left;min-height:42px;padding:10px 13px;gap:0}.nav-item i {width:22px;margin-right:10px;font-size:14px}
  .sidebar {visibility:hidden}.nav-open .sidebar {transform:translateX(0);visibility:visible}.nav-open .nav-backdrop {display:block;position:fixed;inset:0;background:#15283380;z-index:150;border:0}
  .menu-toggle {display:block;flex-shrink:0}.main-content {width:100%}.top-bar {height:70px;padding:0 18px}.content-wrapper {height:calc(100dvh - 70px);padding:20px 18px}.breadcrumb-label {font-size:9px}.page-title {font-size:16px;max-width:48vw}.user-menu {padding-left:12px}.topbar-heading {gap:10px}
  .dashboard-intro {align-items:flex-start}.dashboard-intro h1 {font-size:23px}.dashboard-date {display:none}.stats-grid {grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.card {padding:20px}
  .operations-workspace .board-nav,.operations-workspace .header-card {position:static;flex-wrap:wrap}.operations-workspace .grid-5 {grid-template-columns:repeat(2,minmax(0,1fr))}.operations-workspace .board-container {padding:16px}
  .split-screen-container {display:block;height:auto;min-height:100dvh}.login-content-side {width:100%;min-width:0;min-height:100dvh;padding:40px 24px;background:#fff;justify-content:center}.auth-card {max-width:370px;width:100%;border-radius:0}.auth-footer {position:static;margin-top:32px;padding:0;width:100%;text-shadow:none}.login-image-side {display:none}.auth-brand-section {text-align:left;align-items:flex-start}
}
@media(max-width:540px) {.operations-workspace .grid-2,.operations-workspace .grid-5 {grid-template-columns:1fr}.dashboard-intro h1 {font-size:21px}.stats-grid {grid-template-columns:1fr}.user-menu span {display:none}.content-wrapper {padding:18px 12px}.card {padding:16px}input,select,textarea {font-size:16px!important}.operations-workspace .timer-section {flex-wrap:wrap}.dynamic-row {flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce) {*,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print {
  @page {size:A4;margin:14mm}
  body,.app-container,.main-content {display:block!important;height:auto!important;overflow:visible!important;background:#fff!important}
  .nav-backdrop,.menu-toggle,.dashboard-date {display:none!important}
  .content-wrapper {display:block!important;padding:0!important;height:auto!important;overflow:visible!important}
  .card {padding:0!important;margin-bottom:7mm!important;border:0!important;break-inside:auto!important;page-break-inside:auto!important;box-shadow:none!important}
  .card-header {break-after:avoid}.table-container {overflow:visible!important;border:0}
  table {display:table!important;min-width:0!important;width:100%!important;font-size:9pt;border-collapse:collapse!important}
  thead {display:table-header-group!important}tbody {display:table-row-group!important}tr {display:table-row!important;break-inside:avoid}th,td {display:table-cell!important;font-size:9pt!important;padding:7px!important;white-space:normal!important;border-bottom:1px solid #ccd7dc!important}
  th {background:#edf2f3!important;color:#23333e!important}td::before {display:none!important}
  h1,h2,h3 {break-after:avoid;color:#23333e!important}.print-header-branded {border-bottom:2px solid #173b65!important}
  .badge {color:#23333e!important;border:1px solid #cad4d9;background:#fff!important}
}
