@import url('extra.css');:root{--navy:#071a3d;--blue:#0c3970;--gold:#c9a44c;--ink:#12213f;--muted:#667085;--bg:#f3f6fb;--line:#e6eaf0}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 Arial,sans-serif}
a{color:inherit;text-decoration:none}
.top{min-height:76px;display:flex;align-items:center;gap:36px;padding:0 4%;background:var(--navy);color:#fff}
.brand{display:flex;align-items:center;gap:11px}
.brand>b{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--gold);color:var(--navy);font-size:20px}.brand>.brand-plane .ui-icon{width:25px;height:25px;stroke-width:1.75}
.brand span,.profile span{display:flex;flex-direction:column}
.brand small,.profile small{color:#b8c8e6;font-size:11px}
.top nav{display:flex;gap:5px;flex:1}
.top nav a{padding:10px 11px;border-radius:9px}
.top nav a:hover{background:#ffffff14}
.profile{display:flex;align-items:center;gap:14px}
.profile>a{padding:8px 11px;border:1px solid #ffffff30;border-radius:9px}
.wrap{max-width:1500px;margin:auto;padding:32px 4%}
.page-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}
.page-head h1{font-size:30px;margin:4px 0}
.page-head h1 small{font-size:16px;color:var(--muted)}
.page-head p{color:var(--muted);margin:0}
.eyebrow{color:#99752a;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800}
.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid transparent;border-radius:11px;padding:11px 18px;background:var(--gold);color:var(--navy);font-weight:800;line-height:1.2;vertical-align:middle;cursor:pointer}
.btn.ghost{background:#fff;border:1px solid var(--line)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}
.stats article,.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 4px 18px #102a5610}
.stats article:before{content:'';display:block;width:46px;height:5px;border-radius:3px;background:var(--gold);margin-bottom:13px}
.stats b{display:block;font-size:29px}
.stats span{color:var(--muted)}
.dashboard{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px}
.map-panel{overflow:hidden;border-radius:22px;background:var(--blue);box-shadow:0 12px 30px #071a3d25}
.map-title{padding:20px 24px;color:#fff}
.map-title h2,.map-title p{margin:0}
.map-title p{color:#c6d9f6}
#map{height:480px}
.pin{position:relative;display:block;width:22px;height:22px;border:3px solid #fff;border-radius:50% 50% 50% 0;background:#0b3978;box-shadow:0 3px 10px #071a3d99;transform:rotate(-45deg);transform-origin:50% 50%}
.pin:after{position:absolute;top:50%;left:50%;width:6px;height:6px;content:"";border-radius:50%;background:#e8cb79;transform:translate(-50%,-50%)}
.pin.ok{background:#0b3978}
.simfly-map-marker{border:0!important;background:transparent!important;filter:drop-shadow(0 6px 7px rgba(5,25,55,.28));transform-origin:50% 100%;transition:transform 160ms ease,filter 160ms ease}.simfly-map-marker svg{display:block;width:32px;height:42px;overflow:visible}.simfly-map-marker path{fill:#0b5da8;stroke:#fff;stroke-width:2}.simfly-map-marker circle{fill:#fff;stroke:#fff;stroke-width:1.5}.simfly-map-marker--active path{fill:#0b5da8}.simfly-map-marker--warning path,.simfly-map-marker--limited path,.simfly-map-marker--preparation path{fill:#e0a51b}.simfly-map-marker--inactive path,.simfly-map-marker--alert path,.simfly-map-marker--temporary-closed path{fill:#c7473b}.simfly-map-marker.is-selected{z-index:1000!important;filter:drop-shadow(0 9px 10px rgba(5,25,55,.36));transform:translateY(-3px) scale(1.14)}
.attention{display:block;border:1px solid #edf0f4;background:#f8fafc;border-radius:13px;padding:13px;margin:10px 0}
.attention small,td small{display:block;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}
.full{grid-column:1/-1}
.stack{display:grid;gap:14px}
.stack h2{margin:0}
label{font-weight:700;color:#344054}
input,select,textarea{width:100%;margin-top:6px;padding:11px 12px;border:1px solid #d8dee8;border-radius:9px;background:#fff;font:inherit;color:var(--ink)}
.two{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr);gap:20px}
.table-scroll{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:13px;border-bottom:1px solid #edf0f4;white-space:nowrap}
th{font-size:12px;color:var(--muted);text-transform:uppercase}
.tag{background:#edf3fc;color:var(--blue);padding:5px 8px;border-radius:7px}
.link{color:var(--blue);font-weight:800}
.alert{padding:12px 14px;border-radius:9px;margin:14px 0}
.alert.error{background:#fff0f0;color:#b42318}
.alert.success{background:#ecfdf3;color:#067647}
.login,.install{min-height:100vh;display:grid;place-items:center;padding:24px}
.login{background-color:#071a3d;background-image:linear-gradient(110deg,rgba(3,16,39,.54),rgba(7,42,86,.2)),url('media/login-airport-indonesia.png?v=43.0');background-position:center;background-size:cover;background-attachment:fixed;background-repeat:no-repeat}
.install{background:linear-gradient(135deg,#05152f,#0c3970)}
.login-card{position:relative;z-index:2;width:min(1060px,100%);min-height:590px;display:grid;grid-template-columns:minmax(0,1.28fr) minmax(350px,.72fr);background:#fff;border:1px solid rgba(255,255,255,.6);border-radius:26px;overflow:hidden;box-shadow:0 34px 90px rgba(1,12,31,.55)}
.login-hero{position:relative;isolation:isolate;overflow:hidden;padding:42px;color:#fff;background:linear-gradient(135deg,#071a3d,#0b4786);display:flex;flex-direction:column;justify-content:space-between;gap:26px}
.login-hero__fallback{position:absolute;z-index:0;inset:0;display:block;overflow:hidden;background:linear-gradient(135deg,#0b4786,#071a3d);pointer-events:none}.login-hero__fallback svg{display:block;width:100%;height:100%}
.login-hero__media{position:absolute;z-index:1;inset:0;display:block;margin:0;overflow:hidden;background:transparent;pointer-events:none}
.login-hero__media img{position:absolute;inset:0;width:100%;height:100%;display:block;max-width:none;object-fit:cover;object-position:56% center;background:transparent;color:transparent;opacity:1}
.login-hero:before{position:absolute;z-index:2;inset:0;content:"";background:linear-gradient(180deg,rgba(3,17,43,.14) 0%,rgba(3,17,43,.05) 37%,rgba(3,17,43,.7) 100%),linear-gradient(90deg,rgba(3,17,43,.28),transparent 62%);pointer-events:none}
.login-hero:after{position:absolute;z-index:4;inset:0;content:"";border:1px solid #fff2;pointer-events:none}
.login-hero>:not(.login-hero__media):not(.login-hero__fallback){position:relative;z-index:3}
.login-visual-tags{display:flex;align-items:flex-start;align-self:flex-start;gap:8px;flex-wrap:wrap;margin-top:auto;margin-bottom:-7px}.login-visual-tags span{display:inline-flex;align-items:center;min-height:29px;padding:6px 10px;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:rgba(4,25,57,.55);color:#fff;font-size:10px;font-weight:850;letter-spacing:.04em;box-shadow:0 8px 20px rgba(1,13,31,.22);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.login-visual-tags span:before{content:"";display:block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:#e5c76f;box-shadow:0 0 0 3px rgba(229,199,111,.15)}
.login-hero__copy{max-width:610px;padding:17px 18px;border-left:3px solid #e5c76f;border-radius:0 15px 15px 0;background:linear-gradient(90deg,rgba(3,17,43,.56),rgba(3,17,43,.14));backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.login-hero h1{margin:8px 0;font-size:clamp(31px,3.2vw,43px);line-height:1.08;text-shadow:0 3px 18px rgba(0,0,0,.52)}
.login-hero p{margin:0;color:#eef4fc;line-height:1.55;text-shadow:0 2px 10px rgba(0,0,0,.58)}
.login-form{position:relative;padding:58px 42px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 100% 0,rgba(213,177,88,.15),transparent 32%),linear-gradient(180deg,#fff,#f8fafc)}
.login-form:before{content:"";position:absolute;top:0;left:0;width:5px;height:100%;background:linear-gradient(180deg,#d9b85e,#0b3978)}
.login-form__eyebrow{margin-bottom:9px;color:#9a7626;font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.login-agency{display:flex;align-items:center;gap:13px;margin:0 0 23px;padding:13px 14px;border:1px solid #dbe3ed;border-radius:14px;background:linear-gradient(135deg,#fff,#f4f7fb);box-shadow:0 8px 22px rgba(15,43,81,.07)}.login-agency__logos{display:flex;align-items:center;gap:8px;flex:0 0 auto}.login-agency__logos img{display:block;width:48px;height:48px;object-fit:contain}.login-agency__logos img:first-child{width:43px}.login-agency>div:last-child{display:grid;min-width:0;gap:3px}.login-agency strong{overflow-wrap:anywhere;color:#0b3978;font-size:13px;line-height:1.3}.login-agency span{overflow-wrap:anywhere;color:#64788f;font-size:10px;font-weight:700;line-height:1.35}
.login-form h2{font-size:28px;margin:0}
.login-form>p{color:var(--muted)}
.login-form form,.install-card form{display:grid;gap:16px;margin-top:18px}
.login-form form button{min-height:48px;border-radius:11px;background:linear-gradient(135deg,#0b3978,#0d559e);box-shadow:0 10px 24px rgba(11,57,120,.24)}
.login-form__security{display:block;margin-top:20px;color:#718197;font-size:10px;text-align:center}
.install-card{width:min(520px,100%);background:#fff;padding:38px;border-radius:24px}
.install-card h1{margin-bottom:4px}
.install-card>p,.install-card>small{color:var(--muted)}
@media(max-width:850px){.top nav{display:none}
.profile span{display:none}
.stats{grid-template-columns:1fr 1fr}
.dashboard,.two{grid-template-columns:1fr}
.login-card{grid-template-columns:1fr;min-height:0}.login-hero{min-height:430px}
.form-grid{grid-template-columns:1fr}
.full{grid-column:auto}
}
@media(max-width:520px){.stats{grid-template-columns:1fr}
.page-head{align-items:flex-start;gap:16px;flex-direction:column}
.wrap{padding:22px 16px}
.login{padding:12px;background-attachment:scroll}.login-card{border-radius:19px}.login-form,.login-hero,.install-card{padding:26px}.login-hero{min-height:390px}.login-hero h1{font-size:30px}.login-visual-tags{gap:6px}.login-visual-tags span{padding:5px 8px;font-size:9px}.login-hero__copy{padding:14px}.login-agency{align-items:flex-start;flex-direction:column}.login-agency__logos img{width:44px;height:44px}.login-agency__logos img:first-child{width:40px}
}
