*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#07101f;color:#0d1728;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}body{overscroll-behavior-y:none}.app-root{min-height:100vh;min-height:100dvh;background:#f6f4ef}.splash{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:radial-gradient(circle at 72% 8%,rgba(242,163,58,.13),transparent 35%),linear-gradient(150deg,#091327,#06101e);transition:opacity .35s ease,visibility .35s ease}.splash.hide{opacity:0;visibility:hidden;pointer-events:none}.splash-inner{width:min(92vw,760px);text-align:center;padding:24px}.splash img{display:block;width:100%;max-width:680px;height:auto;margin:0 auto 36px;background:#fff;padding:12px 14px;border-radius:18px}.splash-title{color:#fff;font-size:clamp(19px,4vw,28px);font-weight:800;letter-spacing:-.02em}.splash-loader{width:120px;height:3px;border-radius:99px;background:rgba(255,255,255,.13);overflow:hidden;margin:24px auto 0}.splash-loader span{display:block;width:42%;height:100%;background:var(--accent);animation:load 1.1s ease-in-out infinite}@keyframes load{0%{transform:translateX(-110%)}100%{transform:translateX(350%)}}
button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh;min-height:100dvh;padding-bottom:84px}.topbar{position:sticky;top:0;z-index:40;background:rgba(8,17,31,.96);backdrop-filter:blur(16px);color:#fff;padding:calc(10px + env(safe-area-inset-top)) 16px 11px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:12px}.brandmark{width:146px;max-width:42vw;height:auto;display:block;background:#fff;padding:4px 6px;border-radius:8px}.topbar-main{min-width:0;flex:1}.eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#d39a48;font-weight:800}.top-title{font-size:15px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.top-actions{display:flex;align-items:center;gap:7px}.icon-btn{width:42px;height:42px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;border-radius:14px;display:grid;place-items:center;position:relative}.icon-btn svg{width:20px;height:20px}.badge-dot{position:absolute;right:7px;top:7px;width:8px;height:8px;border-radius:50%;background:#f2515d;box-shadow:0 0 0 3px #0b1423}.online-dot{width:9px;height:9px;border-radius:50%;background:#33c978;box-shadow:0 0 0 3px rgba(51,201,120,.14)}.online-dot.off{background:#f2a33a}.content{width:min(1180px,100%);margin:0 auto;padding:18px 14px 28px}.bottomnav{position:fixed;left:0;right:0;bottom:0;z-index:45;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-top:1px solid #dedbd4;padding:7px 7px calc(7px + env(safe-area-inset-bottom));display:flex;justify-content:center;gap:4px}.navitem{border:0;background:transparent;color:#667085;min-width:60px;max-width:126px;flex:1;padding:5px 6px;border-radius:13px;font-size:10px;font-weight:700;display:flex;flex-direction:column;align-items:center;gap:3px}.navitem svg{width:21px;height:21px}.navitem.active{background:#0d1728;color:#fff}.navitem .count{position:absolute}.desktop-side{display:none}
.hero{background:linear-gradient(140deg,#0c1628 0%,#111c31 72%,#302116 145%);color:#fff;border-radius:24px;padding:22px;overflow:hidden;position:relative;box-shadow:0 16px 45px rgba(13,23,40,.16)}.hero:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-75px;top:-55px;border:32px solid rgba(242,163,58,.22)}.hero h1{font-size:clamp(24px,7vw,39px);line-height:1.05;letter-spacing:-.04em;margin:6px 0 8px;max-width:720px}.hero p{margin:0;color:#c6cedc;font-size:14px;line-height:1.55;max-width:700px}.hero-row{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;z-index:1}.hero-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:999px;font-size:11px;color:#e6ebf3}.kicker{font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:900;color:#b1782f}.section{margin-top:18px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 2px 10px}.section-head h2{font-size:19px;letter-spacing:-.025em;margin:0;color:#111827}.section-head p{margin:2px 0 0;color:#77808f;font-size:12px}.linkbtn{border:0;background:transparent;color:#855c21;font-weight:800;font-size:12px;padding:7px}.grid{display:grid;grid-template-columns:1fr;gap:12px}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{background:#fff;border:1px solid #e5e1da;border-radius:18px;padding:15px;box-shadow:0 5px 18px rgba(13,23,40,.04)}.stat .n{font-size:27px;line-height:1;font-weight:900;letter-spacing:-.045em}.stat .l{font-size:11px;color:#757f8f;margin-top:7px;font-weight:700}.card{background:#fff;border:1px solid #e5e1da;border-radius:20px;padding:16px;box-shadow:0 6px 22px rgba(13,23,40,.045)}.card.clickable{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.card.clickable:active{transform:scale(.99)}.coach-card{position:relative;overflow:hidden}.coach-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.coach-no{font-weight:950;font-size:23px;letter-spacing:-.04em}.coach-dest{font-size:12px;color:#77808f;margin-top:3px}.pill{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;background:#f1f4f7;color:#394455;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.pill.at_venue{background:#edf1f8;color:#43526b}.pill.left_venue{background:#fff0d8;color:#8a5a16}.pill.at_halt{background:#ffe5e6;color:#9d323a}.pill.reached{background:#dcf7e8;color:#207243}.coach-count{display:flex;align-items:baseline;gap:6px;margin-top:18px}.coach-count b{font-size:35px;line-height:.9;letter-spacing:-.05em}.coach-count span{font-size:11px;color:#7b8491;font-weight:700}.progress{height:7px;background:#eeeae4;border-radius:99px;overflow:hidden;margin-top:12px}.progress i{display:block;height:100%;background:linear-gradient(90deg,#f2a33a,#d98522);border-radius:99px}.meta-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:13px;font-size:11px;color:#687384}.avatar-stack{display:flex}.avatar,.avatar-img{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#0d1728;color:#fff;border:2px solid #fff;font-size:10px;font-weight:900;overflow:hidden}.avatar-stack .avatar,.avatar-stack .avatar-img{margin-left:-8px}.avatar-stack>:first-child{margin-left:0}.avatar-img img{width:100%;height:100%;object-fit:cover}.btn{min-height:46px;border-radius:14px;padding:10px 15px;border:1px solid transparent;font-weight:850;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn svg{width:18px;height:18px}.btn.primary{background:#0d1728;color:#fff}.btn.accent{background:var(--accent);color:#14110c}.btn.light{background:#f4f1eb;color:#182134;border-color:#e5e1da}.btn.danger{background:#fff0f1;color:#a32d37;border-color:#f5ccd0}.btn.success{background:#e5f8ed;color:#216e43;border-color:#c6ecd6}.btn.block{width:100%}.btn.small{min-height:37px;padding:7px 11px;border-radius:11px;font-size:11px}.btn:disabled{opacity:.48;cursor:not-allowed}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.form-card{background:#fff;border:1px solid #e3e0da;border-radius:22px;padding:18px}.field{margin-bottom:13px}.field label{display:block;font-size:11px;font-weight:850;color:#414c5f;margin:0 0 6px}.input,.field input,.field select,.field textarea{width:100%;border:1px solid #dcd8d0;background:#fff;color:#172033;border-radius:13px;min-height:47px;padding:11px 12px;outline:none;font-size:14px}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#b98031;box-shadow:0 0 0 3px rgba(242,163,58,.12)}.help{font-size:11px;line-height:1.45;color:#7c8594;margin-top:6px}.searchbox{position:sticky;top:71px;z-index:16;background:#f6f4ef;padding:2px 0 10px}.searchinput{width:100%;height:51px;border:1px solid #dcd8d0;background:#fff;border-radius:16px;padding:0 15px 0 44px;font-size:15px;outline:none;box-shadow:0 6px 18px rgba(13,23,40,.05)}.searchwrap{position:relative}.searchwrap svg{position:absolute;left:14px;top:15px;width:21px;height:21px;color:#77808f}.list{display:flex;flex-direction:column;gap:9px}.person-row{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e4e0d9;border-radius:17px;padding:11px;min-height:68px}.person-row.clickable{cursor:pointer}.person-photo{width:46px;height:46px;border-radius:13px;background:#e9e7e2;overflow:hidden;display:grid;place-items:center;color:#697384;font-weight:900;flex:0 0 auto}.person-photo img{width:100%;height:100%;object-fit:cover}.person-main{min-width:0;flex:1}.person-name{font-weight:880;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-sub{font-size:11px;color:#788291;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-actions{display:flex;gap:6px;align-items:center}.empty{background:#fff;border:1px dashed #d7d2ca;border-radius:18px;padding:30px 18px;text-align:center;color:#747e8d}.empty b{display:block;color:#293346;margin-bottom:5px}.status-stepper{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.status-btn{border:1px solid #ddd9d2;background:#fff;border-radius:17px;padding:14px 10px;text-align:left;min-height:76px}.status-btn b{display:block;font-size:13px}.status-btn span{display:block;color:#808895;font-size:10px;margin-top:4px}.status-btn.active{background:#0d1728;color:#fff;border-color:#0d1728}.status-btn.active span{color:#bfc8d6}.offlinebar{position:fixed;left:12px;right:12px;bottom:82px;z-index:44;border-radius:14px;background:#3d2a10;color:#fff;padding:10px 12px;box-shadow:0 10px 30px rgba(0,0,0,.2);display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px}.offlinebar strong{color:#ffd58f}.toaststack{position:fixed;right:12px;left:12px;top:calc(72px + env(safe-area-inset-top));z-index:100;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{align-self:flex-end;max-width:470px;background:#0f192b;color:#fff;border:1px solid rgba(255,255,255,.12);padding:11px 13px;border-radius:13px;box-shadow:0 14px 40px rgba(0,0,0,.22);font-size:12px;pointer-events:auto}.toast.error{background:#6f2028}.toast.ok{background:#184b32}.modalback{position:fixed;inset:0;z-index:90;background:rgba(5,10,18,.62);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center}.modal{width:min(720px,100%);max-height:92dvh;overflow:auto;background:#f7f5f0;border-radius:24px 24px 0 0;padding:18px 16px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -20px 50px rgba(0,0,0,.22)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.modal-head h3{margin:0;font-size:19px}.modal-close{width:39px;height:39px;border:1px solid #ddd8d0;background:#fff;border-radius:12px}.confirm-profile{text-align:center}.confirm-profile .person-photo{width:100px;height:100px;border-radius:24px;margin:6px auto 13px}.confirm-profile h2{margin:0;font-size:24px;letter-spacing:-.035em}.confirm-profile p{margin:7px 0 20px;color:#6f7a8c}.warning{background:#fff4df;border:1px solid #efcf98;color:#6e4a13;border-radius:15px;padding:11px 12px;font-size:11px;line-height:1.5}.dangerbox{background:#fff0f0;border:1px solid #f2c8ca;color:#78262c;border-radius:15px;padding:12px;font-size:12px}.successbox{background:#e8f8ee;border:1px solid #c8ead5;color:#255d3d;border-radius:15px;padding:12px;font-size:12px}.syncbox{display:flex;align-items:center;gap:9px;font-size:11px;color:#596477}.syncspin{width:14px;height:14px;border:2px solid #d6dbe3;border-top-color:#0d1728;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.tablewrap{overflow:auto;background:#fff;border:1px solid #e3dfd7;border-radius:18px}.table{width:100%;border-collapse:collapse;min-width:720px}.table th{background:#0d1728;color:#fff;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:11px}.table td{font-size:12px;padding:11px;border-bottom:1px solid #eeeae4;vertical-align:middle}.table tr:last-child td{border-bottom:0}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#eeeae4;border-radius:8px;padding:4px 6px;font-size:10px;word-break:break-all}.landing{min-height:100vh;min-height:100dvh;background:radial-gradient(circle at 75% 3%,rgba(242,163,58,.16),transparent 30%),#07101f;color:#fff;padding:calc(28px + env(safe-area-inset-top)) 18px calc(30px + env(safe-area-inset-bottom))}.landing-inner{width:min(760px,100%);margin:0 auto}.landing-logo{width:min(100%,680px);display:block;margin:0 auto 34px;background:#fff;padding:10px 12px;border-radius:18px}.landing h1{font-size:clamp(31px,9vw,58px);line-height:.98;letter-spacing:-.05em;margin:0 0 12px}.landing p{color:#b9c2d1;line-height:1.6;font-size:14px}.role-grid{display:grid;gap:11px;margin-top:25px}.role-card{width:100%;text-align:left;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.055);color:#fff;border-radius:20px;padding:17px;display:flex;align-items:center;gap:13px}.role-card .ico{width:47px;height:47px;border-radius:15px;background:rgba(242,163,58,.13);color:#f2a33a;display:grid;place-items:center;flex:0 0 auto}.role-card svg{width:22px;height:22px}.role-card b{display:block;font-size:14px}.role-card span{display:block;font-size:11px;color:#aeb8c7;margin-top:4px;line-height:1.45}.landing .form-card{background:#0d1728;border-color:rgba(255,255,255,.11);color:#fff;margin-top:18px}.landing .field label{color:#cbd3de}.landing .field input,.landing .field select,.landing .field textarea{background:#07101f;border-color:#2b3546;color:#fff}.backlink{border:0;background:transparent;color:#f1b75f;padding:0 0 12px;font-weight:800}.login-tabs{display:flex;gap:6px;background:#081120;border-radius:14px;padding:5px;margin-bottom:16px}.login-tab{flex:1;border:0;background:transparent;color:#96a2b4;border-radius:10px;padding:9px;font-size:11px;font-weight:800}.login-tab.active{background:#f2a33a;color:#19140d}.photo-picker{display:grid;grid-template-columns:84px 1fr;gap:12px;align-items:center}.photo-preview{width:84px;height:84px;border-radius:20px;background:#111b2d;border:1px solid #2b3546;overflow:hidden;display:grid;place-items:center;color:#7f8b9e;font-size:10px;text-align:center}.photo-preview img{width:100%;height:100%;object-fit:cover}.visitor-page{min-height:100vh;min-height:100dvh;background:#f6f4ef;padding-bottom:28px}.visitor-hero{background:#07101f;color:#fff;padding:calc(18px + env(safe-area-inset-top)) 16px 24px;border-radius:0 0 30px 30px}.visitor-logo{width:min(100%,520px);display:block;margin:0 auto 21px;background:#fff;padding:8px 10px;border-radius:14px}.visitor-coach{text-align:center}.visitor-coach .big{font-size:54px;font-weight:950;letter-spacing:-.06em;color:#fff}.visitor-coach .dest{color:#f2b14f;font-weight:800;margin-top:4px}.match-card{margin:-2px 14px 0;padding:14px;border-radius:18px;position:relative}.match-card.good{background:#e4f8eb;border:1px solid #c4ebd2;color:#1f6e42}.match-card.bad{background:#ffe9ea;border:1px solid #f3c4c8;color:#8f2b34}.match-card.neutral{background:#fff5df;border:1px solid #eed3a4;color:#74501c}.itinerary{position:relative;margin-top:10px}.itin-item{display:grid;grid-template-columns:58px 1fr;gap:11px;position:relative;padding-bottom:15px}.itin-time{font-size:11px;font-weight:850;color:#8c642a;padding-top:3px}.itin-body{background:#fff;border:1px solid #e4e0d9;border-radius:15px;padding:12px}.itin-body b{font-size:13px}.itin-body p{font-size:11px;color:#758091;margin:5px 0 0;line-height:1.45}.cap-card{display:flex;align-items:center;gap:11px}.call{margin-left:auto;width:42px;height:42px;border-radius:13px;background:#0d1728;color:#fff;display:grid;place-items:center;text-decoration:none}.import-drop{border:2px dashed #d8d2c8;border-radius:18px;padding:20px;background:#fbfaf7;text-align:center}.seg{display:flex;gap:5px;background:#ebe8e2;border-radius:13px;padding:4px}.seg button{flex:1;border:0;background:transparent;border-radius:10px;padding:8px 6px;font-size:10px;font-weight:850;color:#667180}.seg button.active{background:#fff;color:#111827;box-shadow:0 2px 8px rgba(0,0,0,.06)}.qrbox{text-align:center;background:#fff;border:1px solid #e3dfd7;border-radius:18px;padding:16px}.qrbox img{width:220px;height:220px;max-width:100%;object-fit:contain;background:#fff}.qrbox .code{display:block;margin-top:10px;text-align:left}.install-tip{background:#111b2d;color:#d9e0e9;border:1px solid #263249;border-radius:16px;padding:12px;margin-top:15px;font-size:11px;line-height:1.55}.fab{position:fixed;right:16px;bottom:92px;width:54px;height:54px;border-radius:18px;background:var(--accent);border:0;color:#17120b;display:grid;place-items:center;box-shadow:0 12px 28px rgba(129,84,22,.28);z-index:30}.fab svg{width:24px;height:24px}.muted{color:#7a8595}.tiny{font-size:10px}.nowrap{white-space:nowrap}.mt0{margin-top:0}.mt8{margin-top:8px}.mt12{margin-top:12px}.mt16{margin-top:16px}.mb0{margin-bottom:0}.hidden{display:none!important}
@media (min-width:720px){.content{padding:24px}.stats{grid-template-columns:repeat(4,1fr)}.grid.coaches{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.modalback{align-items:center;padding:20px}.modal{border-radius:24px;max-height:88vh}.role-grid{grid-template-columns:repeat(3,1fr)}.role-card{display:block}.role-card .ico{margin-bottom:11px}.status-stepper{grid-template-columns:repeat(4,1fr)}}
@media (min-width:1024px){.shell{display:grid;grid-template-columns:235px 1fr;padding-bottom:0}.desktop-side{display:flex;position:sticky;top:0;height:100vh;background:#091326;color:#fff;padding:18px 14px;flex-direction:column;z-index:50}.desktop-side img{width:100%;margin:9px 0 24px;background:#fff;padding:8px;border-radius:12px}.side-nav{display:flex;flex-direction:column;gap:5px}.side-nav .navitem{max-width:none;width:100%;flex:none;flex-direction:row;justify-content:flex-start;min-height:45px;padding:10px 12px;font-size:12px;gap:10px;color:#aeb8c7}.side-nav .navitem.active{background:#172238;color:#fff}.side-footer{margin-top:auto;font-size:10px;color:#738098;line-height:1.5}.maincol{min-width:0}.bottomnav{display:none}.topbar{padding-left:24px;padding-right:24px}.topbar .brandmark{display:none}.content{padding:25px 28px 40px}.grid.coaches{grid-template-columns:repeat(3,minmax(0,1fr))}.offlinebar{left:255px;bottom:18px}.toaststack{left:auto;width:470px}.fab{bottom:28px;right:28px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
