@charset "UTF-8";
:root{--ink:#17283b;--muted:#748094;--blue:#176ce8;--nav:#122537;--line:#e4eaf1;--paper:#f5f7fb;--green:#157a61;--radius:14px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}h1{font-size:32px;line-height:1.2;letter-spacing:-1px;margin-bottom:10px}h2{font-size:19px;letter-spacing:-.3px;margin-bottom:18px}h3{font-size:16px}p{margin-bottom:16px}small,.small{font-size:12px}.muted{color:var(--muted)}.eyebrow{display:block;font-size:10px;font-weight:750;letter-spacing:1.6px;margin-bottom:13px;color:var(--blue)}.mono,code,pre{font-family:ui-monospace,"SFMono-Regular",Consolas,monospace}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:8px;padding:11px 18px;background:var(--blue);color:white;font-size:13px;font-weight:600;line-height:1.4;font-family:inherit;cursor:pointer;text-decoration:none;white-space:nowrap}button:hover,.button:hover{background:#1058c2;text-decoration:none}button:disabled{opacity:.45;cursor:not-allowed}.secondary{background:white;color:var(--ink);border-color:var(--line)}.secondary:hover{background:#edf3fa}.danger{color:#bc3747}.text-button{background:transparent;color:var(--blue);padding:6px 0}.text-button:hover{background:transparent;text-decoration:underline}.wide{width:100%}.light{background:white;color:#124d9a}.light:hover{background:#dbeaff}label{display:block;font-size:12px;font-weight:600;color:#566378;margin-bottom:16px}input,select,textarea{display:block;width:100%;border:1px solid #dce3ec;background:#fff;border-radius:8px;padding:11px 12px;color:var(--ink);font-size:14px;line-height:1.4;font-family:inherit;margin-top:7px;min-width:0}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #a8cdfa;outline-offset:1px}.checkbox{display:flex;align-items:center;gap:10px}.checkbox input{width:auto;margin:0}form>button{margin-top:2px}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.sidebar{position:fixed;left:0;top:0;bottom:0;width:238px;background:var(--nav);color:#ced9e2;padding:30px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:17px;line-height:1.25;white-space:nowrap}.brand:hover{text-decoration:none}.brand small{display:block;font-size:9px;letter-spacing:2.5px;font-weight:500;color:#90abc3;margin-top:6px}.brand-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#2778ed;color:white;font-size:25px}.nav-caption{font-size:9px;letter-spacing:1.7px;color:#6f8ba3;font-weight:700;margin:44px 12px 13px}.sidebar nav a{display:flex;align-items:center;gap:13px;color:#96aec3;padding:12px 14px;border-radius:8px;font-size:13px;margin-bottom:4px}.sidebar nav a:hover{background:#1c344a;text-decoration:none;color:white}.sidebar nav a span{font-size:17px;width:21px;text-align:center}.sidebar nav a.active{background:#214365;color:#fff}.sidebar-bottom{margin-top:auto}.demo-note{font-size:10px;border:1px solid #2c4257;border-radius:9px;padding:12px;margin-top:24px}.demo-note small{display:block;color:#6e8aa1;font-size:10px;padding-left:15px;margin-top:4px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#58d1b0;margin-right:6px}.user-link{display:flex;gap:10px;align-items:center;color:white;font-size:12px;margin:22px 0 8px}.user-link small{display:block;color:#91a5b8;font-size:10px}.avatar{width:34px;height:34px;background:#314c66;color:#d7e8f6;border-radius:50%;display:flex;justify-content:center;align-items:center;font-weight:700}.shell{margin-left:238px}.topbar{height:73px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 38px}.breadcrumb{font-size:12px;color:#7e8a9b}.training-label{font-size:9px;font-weight:750;color:#a97a19;background:#fff7df;letter-spacing:.8px;border:1px solid #f1e4be;padding:5px 9px;border-radius:5px}.menu-toggle{display:none}.content{max-width:1450px;padding:34px 38px 18px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.page-heading p{color:var(--muted);font-size:13px;margin-bottom:0}.page-heading .badge{vertical-align:middle;font-size:10px;letter-spacing:.3px}.hero-panel{border-radius:var(--radius);background:linear-gradient(115deg,#154e91,#277ce2);color:white;padding:30px 34px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;margin-bottom:24px;min-height:246px}.hero-panel .eyebrow{color:#a7d0ff;font-size:9px}.hero-panel h2{font-size:30px;line-height:1.25;font-weight:650;margin-bottom:13px}.hero-panel p{font-size:12px;color:#c9dffd;max-width:350px}.hero-route{display:flex;gap:20px;align-items:center;width:46%;justify-content:center}.hero-route>span{font-size:8px;letter-spacing:1.4px;color:#afd2fc;white-space:nowrap}.hero-route strong{display:block;font-size:42px;color:white;letter-spacing:-1.5px}.flight-line{min-width:95px;text-align:center;font-size:25px;border-bottom:1px dashed #7cb0ee;padding-bottom:10px}.flight-line small{display:block;font-size:7px;letter-spacing:1px;color:#b3d3fc;margin-top:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin:0 0 26px}.stats article{border:1px solid var(--line);border-radius:12px;background:white;padding:20px 22px}.stats span{color:#5c6c7e;font-size:12px}.stats strong{display:block;font-size:31px;font-weight:650;margin:9px 0 4px}.stats small{color:#95a0af;font-size:10px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:25px;margin-bottom:22px}.narrow{max-width:750px}.two-column{display:grid;grid-template-columns:1.35fr 1fr;gap:22px}.cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.section-heading h2{margin-bottom:0}.section-heading a{font-size:12px}.section-heading p{margin-top:8px;margin-bottom:0}.empty{text-align:center;padding:30px 20px;color:var(--muted);font-size:13px}.empty>span{font-size:32px;color:#9abae5;display:block;margin-bottom:10px}.empty h3{color:#596a7e}.list-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 0;border-bottom:1px solid #edf1f6;font-size:12px;color:var(--ink)}.list-row:last-child{border:0}.list-row small,.segment small,.airline small,.fare small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.checklist p{font-size:12px;color:#5b6b7e;display:flex;align-items:center;gap:12px;margin-bottom:19px}.checklist span{background:#f0f5fc;border-radius:7px;font-size:10px;color:#4883d0;padding:6px 8px;font-weight:700}.badge{display:inline-block;font-size:9px;line-height:1.5;letter-spacing:.4px;padding:4px 9px;border-radius:5px;background:#edf2f8;color:#5f7288;font-weight:700;white-space:nowrap}.badge.held,.badge.guided{background:#fff3d6;color:#a87d21}.badge.ticketed,.badge.issued,.badge.pass,.badge.active,.badge.confirmed{background:#e5f5ef;color:#2b866d}.badge.cancelled,.badge.refunded,.badge.disabled,.badge.retry{background:#fae9ed;color:#bb5361}.badge.exam,.badge.exchanged,.badge.reissue{background:#eee9fb;color:#7b60b5}.alert{padding:14px 18px;background:#e8f6ef;border:1px solid #c8e8da;color:#267152;border-radius:9px;margin-bottom:22px;font-size:13px}.alert.error{background:#fff0f0;color:#b3384b;border-color:#f2d3d7}.alert.info{background:#edf4ff;color:#346191;border-color:#d7e5fb}.alert p{margin:8px 0 0}.search-form{display:grid;grid-template-columns:1fr 1fr 1.4fr 1.2fr auto;align-items:end;gap:16px}.search-form label{margin-bottom:0}.search-form button{margin-bottom:0;height:43px}.search-form+p{margin-top:19px;margin-bottom:0}.flight-card{border:1px solid var(--line);border-radius:var(--radius);background:white;margin-bottom:20px;display:grid;grid-template-columns:1.2fr 1.6fr 1fr;gap:25px;padding:24px;align-items:center}.airline{display:flex;gap:12px;align-items:center;font-size:12px}.flight-icon{display:inline-flex;width:38px;height:38px;border-radius:10px;background:#edf4fe;color:#3280e9;align-items:center;justify-content:center;font-size:23px}.flight-times{display:flex;justify-content:space-around;align-items:center;gap:12px}.flight-times strong{font-size:22px;font-weight:650}.flight-times small{display:block;font-size:11px;color:var(--muted)}.duration{text-align:center;font-size:10px;color:#6e7d90}.duration span{display:block;border-bottom:1px solid #dce6f0;color:#acc4e0;font-size:15px;padding:0 20px}.duration small{font-size:9px;margin-top:6px}.fare{text-align:right}.fare>strong{font-size:19px}.fare button{margin-top:12px;padding:8px 16px;font-size:12px}.fare-rules{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px;font-size:11px;color:#6c7e95}.fare-rules p{margin-top:12px;margin-bottom:0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 20px}.form-grid.three{grid-template-columns:repeat(3,1fr)}.form-grid button{align-self:end;justify-self:start;margin-bottom:16px}.full{grid-column:1/-1}.inline-form{display:flex;gap:15px;align-items:end;margin-bottom:22px;max-width:600px}.inline-form label{flex:1;margin:0}.inline-form button{height:43px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:10px;color:#8b97a8;font-weight:650;letter-spacing:.5px;text-transform:uppercase;background:#f8fafd;padding:13px 12px;white-space:nowrap}td{padding:15px 12px;border-bottom:1px solid #eef2f7;vertical-align:top}td details{min-width:180px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;border-bottom:1px solid var(--line);padding-bottom:12px}.tabs a{font-size:12px;color:#7c8a9d;padding:8px 13px;border-radius:7px}.tabs a.active{color:#2166bd;background:#e6effd;font-weight:650}.segment{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-size:13px}.panel h2:not(:first-child){margin-top:25px}.price-line{display:flex;justify-content:space-between;gap:16px;padding:17px 0;border-bottom:1px solid var(--line);font-size:13px}.price-line.total{font-size:17px;border-top:2px solid #dbe8f7;margin-top:15px}.price-line+p{margin-top:20px}.history-item{margin-bottom:10px}.history-item summary{font-weight:600}.history-item summary span{font-size:11px;color:var(--muted);font-weight:400;float:right}details{border-top:1px solid var(--line);padding:14px 0}details summary{cursor:pointer;font-size:12px}details form{margin-top:20px}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f8fc;border-radius:8px;padding:16px;font-size:12px;color:#50657d}code{background:#f0f4fa;padding:2px 4px}.terminal{background:#102132;border-radius:14px;overflow:hidden;box-shadow:0 12px 28px #10213212}.terminal-bar{background:#193247;padding:14px 22px;color:#9bb9d0;font-size:10px;letter-spacing:1px;display:flex;align-items:center}.terminal-bar small{margin-left:auto;font-size:9px}.terminal-output{height:480px;overflow:auto;padding:24px;font-size:12px}.terminal-output pre{color:#a2e0c7;background:transparent;padding:0;line-height:1.8;margin-bottom:25px}.terminal-command{color:#68a9f8;font-family:monospace;margin-bottom:7px}.terminal-entry{border-top:1px solid #203d53;padding-top:14px;margin-top:14px}.terminal-input{display:flex;gap:12px;align-items:center;padding:14px 22px;background:#172f43;color:#80b6ee}.terminal-input input{background:transparent;border:0;color:#d5e8f8;margin:0;outline:none;font-family:monospace}.terminal-input button{font-size:11px;padding:9px 14px}.attempt-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#eaf1ff;border:1px solid #d3e2fc;border-radius:12px;padding:18px 22px;margin-bottom:25px}.attempt-banner small{display:block;margin-top:5px;color:#6c7d96}.inline-actions{display:flex;align-items:center;gap:10px}.grading-list{display:flex;gap:18px;flex-wrap:wrap;font-size:12px}.grading-list span{color:#1b9c72;font-size:17px}.score{font-size:26px;color:var(--blue)}.lesson-body{line-height:1.9;color:#627086}.training-watermark{background:#fff0e8;color:#b66237;font-size:13px;font-weight:700;padding:15px;margin-bottom:25px;border:1px dashed #e8b593;text-align:center}.receipt{max-width:1000px}footer{font-size:10px;color:#95a0ae;margin-top:25px;padding:14px 0;border-top:1px solid var(--line)}.auth-page{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:30px}.auth-card{width:100%;max-width:430px;padding:35px;background:white;border-radius:18px}.auth-page .auth-card{box-shadow:0 20px 60px #203a5010}.auth-card h2{font-size:26px;line-height:1.2}.auth-card p{color:var(--muted);font-size:13px}.login-layout{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-story{background:linear-gradient(150deg,#11283e,#1b527f);color:white;padding:55px 65px;display:flex;flex-direction:column;justify-content:center}.login-story .brand{margin-bottom:85px}.login-story .eyebrow{color:#7faedd}.login-story h1{font-size:45px;line-height:1.18;letter-spacing:-1.5px;margin-bottom:24px}.login-story p{max-width:440px;font-size:14px;color:#9ebbd2;line-height:1.8}.route-art{display:flex;gap:25px;align-items:center;margin-top:40px}.route-art>span:first-child{font-size:30px;font-weight:650}.route-art>span:last-child{font-size:10px;letter-spacing:1.4px}.route-art>div{font-size:27px;flex:1;border-bottom:1px dashed #5783a5;text-align:center}.route-art small{display:block;font-size:8px;letter-spacing:2px;color:#81a9c9;margin:10px 0}.login-pills{display:flex;gap:15px;margin-top:60px;flex-wrap:wrap}.login-pills span{font-size:10px;border:1px solid #416888;border-radius:20px;padding:6px 12px;color:#afc9df}.login-form{display:flex;justify-content:center;align-items:center;background:#fff;padding:40px}
@media(min-width:1600px){.content{padding-top:44px}.hero-panel{min-height:280px}}
@media(max-width:1100px){.sidebar{width:210px}.shell{margin-left:210px}.content{padding:25px}.topbar{padding:0 25px}.hero-route{gap:10px}.hero-route strong{font-size:32px}.search-form{grid-template-columns:repeat(2,1fr)}.flight-card{grid-template-columns:1fr 1.3fr}.fare{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;text-align:left}.fare form{margin-left:auto}.fare small{margin-left:15px}.fare button{margin-top:0}.hero-panel{padding:25px}.stats article{padding:16px}.login-story{padding:45px}.login-story h1{font-size:38px}}
@media(max-width:800px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:238px}.nav-open .sidebar{transform:translateX(0)}.shell{margin-left:0}.menu-toggle{display:inline-flex;padding:7px 10px}.topbar{height:62px;padding:0 20px}.topbar .breadcrumb{margin-right:auto}.content{padding:25px 20px}.hero-route{display:none}.hero-panel{min-height:225px}.two-column,.cards-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.page-heading{align-items:flex-start}h1{font-size:27px}.page-heading>.button{font-size:11px;padding:9px 12px}.form-grid.three{grid-template-columns:repeat(2,1fr)}.attempt-banner{align-items:flex-start;flex-direction:column}.login-layout{grid-template-columns:1fr}.login-story{display:none}.login-form{min-height:100vh;padding:20px}.auth-card{padding:25px}.terminal-output{height:420px}.history-item summary span{float:none;display:block}}
@media(max-width:500px){.content{padding:20px 14px}.panel{padding:20px 16px}.page-heading{flex-direction:column;gap:15px}.stats{gap:12px}.stats article{padding:16px}.search-form,.form-grid,.form-grid.three{grid-template-columns:1fr}.flight-card{grid-template-columns:1fr;padding:20px;gap:20px}.flight-times{justify-content:space-between}.fare{flex-wrap:wrap;gap:8px}.fare small{margin:0}.terminal-input{padding:12px}.terminal-input button{padding:8px;font-size:10px}.inline-form{flex-direction:column;align-items:stretch}.terminal-bar{padding:12px}.training-label{font-size:8px}.breadcrumb{font-size:10px}}
@media print{body{background:white}.sidebar,.topbar,.page-heading,.tabs,footer,.print-button,.attempt-banner{display:none!important}.shell{margin:0}.content{padding:0}.receipt{border:0;padding:15px}.training-watermark{color:#b66237!important;background:white!important}table{font-size:12px}}

