/* FFC Orbit / GAW MaterialM client prototype, adapted from user-supplied MaterialM Bootstrap 5 theme. */
:root{--brand:#00a1ff;--brand-deep:#087bd2;--brand-alt:#8965e5;--soft:#f8fafd;--ink:#111c2d;--muted:#66758c;--border:#e4ebf3;--navy:#111c2d;--teal:#00a88e;--blue:#00a1ff;--surface:#fff;--bg:#f8fafd;--shadow:0 10px 30px rgba(17,28,45,.045)}
html,body{font-family:Inter,'Segoe UI',Arial,sans-serif;font-size:14px;background:#f8fafd;color:#202d43}
body{overflow-x:hidden}#app{display:block;min-height:100vh}button{font-family:inherit}button:focus-visible{outline:3px solid #c8eaff;outline-offset:2px}
.page-wrapper{display:block;min-height:100vh;background:#f8fafd}.page-wrapper .left-sidebar{position:fixed!important;top:0!important;left:0!important;width:270px!important;height:100vh!important;z-index:100;background:#fff;border-right:1px solid #ecf1f7;box-shadow:0 6px 32px rgba(16,30,60,.025);overflow-y:auto;padding-bottom:18px}
.left-sidebar .brand-logo{padding:23px 20px 20px;min-height:91px}.orbit-brand{background:transparent;border:0;display:flex;align-items:center;gap:12px;text-align:left;color:#16253b;padding:0}.orbit-brand-logo{height:43px;width:43px;border-radius:13px;background:linear-gradient(135deg,#00b3ff,#6277fa);color:#fff;font-size:25px;display:grid;place-items:center;box-shadow:0 8px 20px rgba(0,161,255,.24)}.orbit-brand strong{display:block;font-size:18px;letter-spacing:-.035em;line-height:1.1}.orbit-brand strong em{font-style:normal;color:#079fed}.orbit-brand small{display:block;font-size:10px;color:#8694a6;font-weight:600;letter-spacing:.025em;margin-top:5px}.sidebar-section-kicker{font-size:10px;color:#a3afc0;letter-spacing:.16em;font-weight:800;padding:13px 26px 0}
.left-sidebar .sidebar-nav{padding-top:4px}.sidebar-nav ul{list-style:none;padding:0;margin:0}.sidebar-nav .nav-small-cap{font-size:10px;font-weight:800;letter-spacing:.13em;color:#9ba9bb;margin:22px 0 9px;padding:0 25px}.sidebar-nav .sidebar-item{padding:0 14px;margin:3px 0}.sidebar-nav .sidebar-link{display:flex;align-items:center;gap:12px;width:100%;border:0;border-radius:12px;background:transparent;padding:12px 13px;text-align:left;font-size:13px;font-weight:650;color:#586981;cursor:pointer;transition:background .12s,color .12s}.sidebar-nav .sidebar-link i{font-size:21px;line-height:1}.sidebar-nav .sidebar-link:hover{background:#f0f8ff;color:#008bd9}.sidebar-nav .sidebar-link.active{background:#e9f7ff;color:#008fd6}.nav-count{margin-left:auto;background:#d6efff;color:#058dd1;border-radius:30px;padding:2px 8px;font-size:10px;font-weight:800}.sidebar-feature{margin:30px 17px 20px;padding:20px;background:linear-gradient(142deg,#e2f5ff,#f1edff);border-radius:16px;color:#25405e}.sidebar-feature-icon{height:38px;width:38px;display:grid;place-items:center;background:#fff;border-radius:11px;color:#00a1ff;font-size:23px;margin-bottom:12px}.sidebar-feature strong{font-size:13px;display:block}.sidebar-feature p{font-size:11px;color:#71809a;line-height:1.55;margin:8px 0 16px}.sidebar-feature-button{border:0;background:#fff;color:#188fcd;font-size:11px;font-weight:800;padding:9px 12px;border-radius:8px;display:flex;align-items:center;gap:7px}.sidebar-note{margin:15px 20px;padding:0 3px;color:#778499;font-size:10px;font-weight:750;letter-spacing:.04em}.sidebar-note small{display:block;margin:6px 0 0 12px;font-weight:500;letter-spacing:0}.prototype-dot{display:inline-block;width:6px;height:6px;background:#ffae1f;border-radius:50%;margin-right:6px;vertical-align:middle}
.page-wrapper .body-wrapper{min-height:100vh;background:#f8fafd!important;margin-left:270px!important}.page-wrapper .app-header{position:fixed!important;left:270px!important;right:0!important;top:0!important;width:calc(100% - 270px)!important;height:79px;background:#fff!important;border-bottom:1px solid #edf1f5;box-shadow:none!important;z-index:80}.app-header .navbar{min-height:78px;padding:0 33px;gap:15px;display:flex;flex-wrap:nowrap}.app-header .sidebartoggler{display:none;border:0;background:none;font-size:23px;padding:8px;color:#576a84}.nav-location{display:flex;align-items:center;white-space:nowrap;font-size:12px;min-width:0}.nav-location strong{font-weight:700;color:#263650;overflow:hidden;text-overflow:ellipsis}.crumb-link{background:transparent;border:0;padding:0;color:#7890a8;font-weight:700}.crumb-slash{color:#c3cedb;margin:0 11px}.top-controls{flex-shrink:0}.demo-label{display:inline-flex;align-items:center;gap:5px;background:#fff3db;color:#a77722;border:1px solid #ffedc7;border-radius:16px;padding:6px 10px;font-size:10px;letter-spacing:.07em;font-weight:800;white-space:nowrap}.avatar-badge{height:34px;width:34px;background:#e4f5ff;border:2px solid white;border-radius:50%;color:#008fce;font-weight:800;font-size:10px;display:grid;place-items:center;box-shadow:0 1px 5px #0f395310}.top-user-select{max-width:224px;min-width:168px;border-color:#e1e8f2;font-size:11px;border-radius:8px;padding:7px 28px 7px 9px}.signout{white-space:nowrap;display:flex;align-items:center;gap:5px;min-height:33px}.signout i{font-size:16px}
#main-wrapper[data-layout=vertical][data-header-position=fixed] .body-wrapper>.orbit-container{padding:116px 34px 48px!important;max-width:1540px!important}.orbit-container{max-width:1540px!important}.gaw-view{min-height:calc(100vh - 220px)}.orbit-footer{border-top:1px solid #e9eef5;margin-top:33px;padding-top:20px;text-align:center;color:#97a4b4;font-size:11px}
/* Orbit portal */
.orbit-welcome{background:linear-gradient(116deg,#057ad0 0%,#00aaff 54%,#6480ee 100%);border-radius:18px;min-height:243px;color:#fff;position:relative;overflow:hidden;box-shadow:0 15px 28px #00a1ff15}.orbit-welcome .card-body{padding:37px 43px;display:flex;align-items:center;min-height:243px}.hero-copy{position:relative;z-index:2;max-width:660px}.hero-overline{font-size:11px;font-weight:800;letter-spacing:.15em;display:flex;gap:7px;align-items:center;color:#d9f4ff}.orbit-welcome h1{font-size:30px;letter-spacing:-.04em;color:#fff;margin:13px 0 9px}.orbit-welcome h1 span{color:#e6f8ff}.orbit-welcome p{font-size:13px;color:#e0f4ff;line-height:1.65;max-width:560px;margin:0}.hero-buttons{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px}.hero-buttons .btn{border:0;border-radius:10px;padding:10px 17px;color:#147fca;font-weight:800}.hero-detail{font-size:11px;color:#e5f5ff}.hero-detail i{font-size:16px;vertical-align:middle;margin-right:4px}.hero-art{position:absolute;width:360px;height:360px;right:12px;top:-62px;opacity:.93}.hero-ring{position:absolute;border-radius:50%;border:1px solid #ffffff66}.hero-ring.a{width:305px;height:305px;top:30px;left:15px}.hero-ring.b{width:220px;height:220px;top:73px;left:57px;border-width:2px;border-style:dashed}.hero-art-icon{position:absolute;top:119px;left:106px;width:125px;height:125px;display:grid;place-items:center;background:linear-gradient(138deg,#ffffff4a,#ffffff12);border:2px solid #ffffff52;backdrop-filter:blur(4px);color:#fff;border-radius:33px;font-size:73px;box-shadow:0 25px 65px #004da833}.hero-float{position:absolute;border-radius:16px;background:#fff;box-shadow:0 10px 35px #0054a544;display:grid;place-items:center;width:50px;height:50px;font-size:26px;color:#0799e6}.hero-float.one{left:22px;top:80px}.hero-float.two{right:12px;top:165px;color:#936ce4}.hero-float.three{left:55px;bottom:50px;color:#14ba9b}
.orbit-metric{height:100%;border:1px solid #e8edf5;border-radius:15px;box-shadow:0 4px 15px #15294708}.orbit-metric .card-body{display:flex;align-items:center;gap:18px;padding:23px}.metric-icon{width:59px;height:59px;flex-shrink:0;display:grid;place-items:center;border-radius:16px;font-size:28px}.icon-blue{background:#e0f4ff;color:#009eea}.icon-green{background:#d7f9f2;color:#0bad92}.icon-purple{background:#ede7ff;color:#8861df}.icon-neutral{background:#f2f5f9;color:#91a2b6}.orbit-metric .text-muted{font-size:12px;color:#77869b!important;font-weight:650}.metric-value{font-size:27px;font-weight:850;color:#192c47;letter-spacing:-.04em;line-height:1.15;margin:4px 0}.orbit-metric small{font-size:11px;color:#94a2b3}
.directory-top{display:flex;align-items:end;justify-content:space-between;gap:18px;flex-wrap:wrap}.directory-top .kicker{margin-bottom:6px}.directory-top h2{font-size:23px;letter-spacing:-.03em;margin:0 0 5px}.directory-top p{color:#8b9bad;font-size:12px;margin:0}.directory-count{background:#e3f5ff;color:#008ace;font-size:12px;padding:4px 9px;border-radius:40px;vertical-align:middle}.search-app-box{max-width:340px}.search-app-box .input-group-text,.search-app-box .form-control{border-color:#dfe7f0;background:#fff}.search-app-box .btn{border-radius:0 9px 9px 0;padding:9px 17px;font-weight:750}.orbit-app-grid>div{display:flex}.app-tile{height:100%;min-height:187px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:#fff;border:1px solid #e8edf5;border-radius:15px;padding:20px 21px;color:#26364e;box-shadow:0 5px 19px #112f5408;transition:all .17s;cursor:pointer}.app-tile:hover{transform:translateY(-3px);border-color:#a6dbfa;box-shadow:0 10px 22px rgba(0,135,216,.12)}.app-tile.is-live{border-color:#a8dbf8;background:linear-gradient(150deg,#fff,#f4fbff)}.app-icon{height:49px;width:49px;display:grid;place-items:center;border-radius:15px;margin-bottom:14px;font-size:25px}.app-title{font-size:14px;font-weight:800;line-height:1.35;margin-bottom:6px}.app-desc{font-size:11px;color:#8998aa;line-height:1.55;min-height:32px}.app-bottom{display:flex;justify-content:space-between;align-items:center;width:100%;gap:10px;margin-top:auto;padding-top:15px}.app-bottom .badge{font-size:9px;letter-spacing:.035em;padding:7px 9px;border-radius:6px}.app-bottom i{font-size:17px}.directory-disclaimer{font-size:11px;color:#91a0af;margin-top:18px}.directory-disclaimer i{font-size:16px;vertical-align:middle;margin-right:5px}
/* Login */
.orbit-login-shell{min-height:100vh;padding:35px;display:flex;align-items:center;justify-content:center;position:relative;background:radial-gradient(circle at 95% 8%,#e7efff,#f8fafd 38%,#eaf8ff 100%);overflow:hidden}.login-grid{max-width:1160px;display:grid;grid-template-columns:1.03fr .97fr;padding:0!important;min-height:680px;border-radius:24px;box-shadow:0 28px 90px #2b568b1c;background:#fff;overflow:hidden;position:relative;z-index:1}.login-story{color:white;background:linear-gradient(145deg,#0578c4,#08aefa 54%,#576fea);position:relative;overflow:hidden;padding:48px}.login-story:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 85% 50%,#ffffff22,transparent 48%)}.login-story-content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column}.login-story-brand{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:650;letter-spacing:-.02em}.login-story-brand .orbit-brand-logo{background:#ffffff32;border:1px solid #ffffff44;box-shadow:none}.login-story-brand strong{font-weight:850}.story-chip{margin-top:73px;font-size:10px;font-weight:850;letter-spacing:.15em;color:#d8f4ff;display:flex;align-items:center;gap:7px}.login-story h2{font-size:37px;line-height:1.22;color:#fff;letter-spacing:-.045em;max-width:470px;margin:15px 0}.login-story h2 em{font-style:normal;color:#e6f8ff}.login-story p{color:#e6f6ff;font-size:13px;line-height:1.8;max-width:390px}.login-story-visual{height:210px;position:relative;margin-top:0;flex:1;min-height:177px}.visual-orbit{position:absolute;border:1px solid #ffffff55;border-radius:50%;width:260px;height:260px;left:calc(50% - 130px);top:-32px}.visual-orbit-inner{border-style:dashed;width:165px;height:165px;left:calc(50% - 82px);top:13px}.visual-core{position:absolute;width:113px;height:113px;border-radius:29px;left:calc(50% - 56px);top:39px;background:#ffffff39;border:1px solid #ffffff66;display:grid;place-items:center;font-size:65px;box-shadow:0 18px 46px #03549655}.visual-icon{width:49px;height:49px;display:grid;place-items:center;color:#0b90cf;background:white;border-radius:14px;font-size:25px;position:absolute;box-shadow:0 9px 24px #0a559d50}.visual-one{left:17%;top:8px}.visual-two{right:15%;top:72px;color:#7c5adc}.visual-three{left:23%;bottom:20px;color:#06ae93}.story-foot{display:flex;gap:14px;flex-wrap:wrap;font-size:10px;color:#daf4ff}.story-foot span{display:flex;align-items:center;gap:4px}.story-foot i{font-size:14px}.login-form-side{padding:48px 53px;display:flex;align-items:center}.login-card{width:100%;max-width:420px;margin:auto;box-shadow:none;background:transparent}.login-card .card-body{padding:0!important}.login-mobile-brand{display:none}.kicker{color:#0496dc;font-size:10px;letter-spacing:.16em;font-weight:850}.login-heading{font-size:29px;letter-spacing:-.045em;line-height:1.2;margin:11px 0 13px;color:#17283c}.login-card .text-muted{font-size:12px;line-height:1.7;color:#8a97aa!important}.demo-warning{display:flex;align-items:flex-start;gap:10px;background:#fff8e8;border:1px solid #ffe6af;color:#8b6728;border-radius:11px;padding:13px;font-size:11px;line-height:1.55;margin:0}.demo-warning i{font-size:20px;flex-shrink:0}.login-card .form-label{font-size:12px;color:#2d405a}.login-card .form-select{border:1px solid #dfe7ef;color:#40566f;min-height:50px;font-size:13px}.orbit-login-button{min-height:50px;display:flex;align-items:center;justify-content:center;gap:11px;border-radius:10px;font-size:14px;font-weight:800;box-shadow:0 10px 24px #04a2ff2b}.login-form-separator{display:flex;align-items:center;gap:12px;color:#9eabb9;letter-spacing:.14em;font-size:9px;font-weight:850;margin:26px 0 19px}.login-form-separator:before,.login-form-separator:after{content:'';height:1px;background:#e4ebf3;flex:1}.login-info-points{display:grid;gap:12px;color:#71809a;font-size:11px}.login-info-points div{display:flex;align-items:center;gap:9px}.login-info-points i{color:#06b8a9;font-size:17px}.login-legal{font-size:10px;color:#a8b3c0;margin:31px 0 0}.login-footer{position:absolute;bottom:9px;color:#9aaabe;font-size:10px}
/* GAW domain UI rides on MaterialM cards and controls. */
.gaw-view .heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:25px}.gaw-view h1{font-size:27px;color:#182b43;font-weight:800;letter-spacing:-.035em}.gaw-view h2{font-size:18px;color:#233c59;font-weight:800}.gaw-view .eyebrow{color:#03a0e9;font-size:10px;letter-spacing:.16em}.gaw-view .subhead{color:#8392a5;font-size:12px}.gaw-view .panel,.gaw-view .stat{background:#fff;border:1px solid #e7edf4;border-radius:14px;box-shadow:0 5px 25px #15294707}.gaw-view .panel{padding:25px}.gaw-view .stat{padding:22px;position:relative;overflow:hidden}.gaw-view .stat:before{content:'';height:5px;width:40px;position:absolute;left:22px;top:0;border-radius:0 0 5px 5px;background:#00a1ff}.gaw-view .stat:nth-child(2):before{background:#8965e5}.gaw-view .stat:nth-child(3):before{background:#fbbf40}.gaw-view .stat:nth-child(4):before{background:#06c1a2}.gaw-view .stat strong{color:#152f4d;font-size:34px}.gaw-view .stats{gap:16px}.gaw-view .btn{display:inline-flex;align-items:center;gap:6px;border-radius:9px;font-weight:750}.gaw-view .btn.primary{background:#00a1ff;border-color:#00a1ff;color:#fff}.gaw-view .btn.primary:hover{background:#087bd2;border-color:#087bd2}.gaw-view .btn.teal{background:#00b89b;border-color:#00b89b;color:#fff}.gaw-view .btn.small{font-size:12px}.gaw-view .field input,.gaw-view .field select,.gaw-view .field textarea{border-color:#e1e9f1;border-radius:9px}.gaw-view .table{margin-bottom:0}.gaw-view .table td,.gaw-view .table th{padding:12px}.gaw-view .hstep{border-color:#e4ebf3}.gaw-view .hstep .steplabel{background:#e0f4ff;color:#008ddd}.gaw-view .tabs button.active{border-color:#00a1ff;color:#008fdc}.gaw-view .badge{font-size:10px}.gaw-view .notice{border-radius:10px}.gaw-view .cardlink:hover{background:#f7fcff;border-color:#bae5ff}.gaw-view .timeline li:before{background:#02a6f0}
.modaloverlay{z-index:9999!important}.modaloverlay .modal{display:block!important;position:relative!important;inset:auto!important;height:auto!important;margin:0!important;overflow:visible!important;max-height:90vh;overflow-y:auto!important}.toast{z-index:10000!important}
.mobile-close{display:none;background:transparent;border:0;font-size:21px;color:#56647a}.mobile-sidebar-backdrop{display:none}
@media(max-width:1199px){.app-header .sidebartoggler{display:block!important}.page-wrapper .left-sidebar{transform:translateX(-105%);transition:transform .2s}.page-wrapper.show-sidebar .left-sidebar{transform:translateX(0);box-shadow:0 15px 60px #263c5e45}.page-wrapper .body-wrapper{margin-left:0!important}.page-wrapper .app-header{left:0!important;width:100%!important}.mobile-close{display:block}.page-wrapper.show-sidebar .mobile-sidebar-backdrop{display:block;position:fixed;inset:0;background:#15263b65;z-index:90}.hero-art{opacity:.65;right:-90px}#main-wrapper[data-layout=vertical][data-header-position=fixed] .body-wrapper>.orbit-container{padding:111px 24px 40px!important}}
@media(max-width:880px){.login-grid{grid-template-columns:1fr;max-width:570px;min-height:0}.login-story{display:none}.login-form-side{padding:44px}.login-mobile-brand{display:flex;align-items:center;gap:10px;font-weight:850;margin-bottom:24px;font-size:16px}.login-mobile-brand .orbit-brand-logo{height:34px;width:34px;font-size:21px}.login-card{max-width:none}}
@media(max-width:720px){.app-header .navbar{padding:10px 13px;gap:8px;flex-wrap:wrap;min-height:90px}.nav-location{flex:1}.top-controls{width:100%;justify-content:flex-end!important;gap:7px!important}.top-user-select{max-width:200px;min-width:130px}.avatar-badge{display:none}#main-wrapper[data-layout=vertical][data-header-position=fixed] .body-wrapper>.orbit-container{padding:153px 13px 35px!important}.orbit-welcome .card-body{padding:26px 23px;min-height:228px}.orbit-welcome h1{font-size:24px}.hero-art{display:none}.directory-top{align-items:stretch}.search-app-box{max-width:none;width:100%}.gaw-view .heading{flex-direction:column}.gaw-view .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gaw-view .panel{padding:17px}.gaw-view .hstep{grid-template-columns:35px 1fr}.gaw-view .infogrid{grid-template-columns:1fr}.orbit-login-shell{padding:13px}.login-form-side{padding:29px 24px}.login-footer{display:none}}
@media(max-width:420px){.gaw-view .stats{grid-template-columns:1fr}.demo-label{display:none}.nav-location{font-size:11px}.orbit-welcome h1{font-size:22px}.app-header .navbar{min-height:84px}.login-heading{font-size:26px}}
@media print{.left-sidebar,.app-header,.orbit-footer,.mobile-sidebar-backdrop{display:none!important}.page-wrapper .body-wrapper{margin:0!important}#main-wrapper[data-layout=vertical][data-header-position=fixed] .body-wrapper>.orbit-container{padding:0!important}}

.orbit-toast{position:fixed;right:24px;bottom:22px;z-index:10000;background:#183b55;color:#fff;border-radius:11px;box-shadow:0 12px 40px #17436a44;padding:14px 17px;max-width:min(420px,calc(100vw - 36px));font-size:12px;line-height:1.5;display:block;opacity:1}
