:root{--navy:#071a38;--navy2:#0c2e60;--blue:#286af0;--sky:#0dc5e6;--aqua:#0dbfa8;--orange:#fa8b2c;--violet:#815beb;--pink:#ec4e91;--ink:#112a4d;--muted:#73839a;--border:#e5ecf5;--off:#f4f7fc;--card:#fff;--shadow:0 8px 26px rgba(32,56,99,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#07152e;color:var(--ink);font-family:'DM Sans',system-ui,-apple-system,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(37,110,237,.35);outline-offset:2px}.showcase{min-height:100vh;display:grid;grid-template-columns:minmax(340px,480px) minmax(450px,1fr);background:linear-gradient(116deg,#081a39 0%,#102a57 52%,#0b1d3c 100%)}.presenter{padding:32px clamp(24px,3vw,46px);color:white;max-height:100vh;overflow:auto;scrollbar-width:thin;scrollbar-color:#40618e transparent;display:flex;flex-direction:column}.brandline{display:flex;align-items:center;gap:12px}.brandmark{height:45px;width:45px;background:linear-gradient(145deg,#05dce6,#1e59e9);display:grid;place-items:center;font:900 20px system-ui,-apple-system,"Segoe UI",sans-serif;border-radius:14px;position:relative}.brandmark span{position:absolute;font-size:12px;color:#ff9b33;right:3px;top:3px}.brandline strong{font:800 24px system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-1px}.brandline small{display:block;font-size:9px;letter-spacing:2.5px;color:#8ca9d2;font-weight:800;margin-top:2px}.presenter-intro{margin-top:30px}.pill{display:inline-flex;border-radius:100px;padding:8px 12px;font-size:10px;font-weight:800;letter-spacing:1.1px}.pill-aqua{background:rgba(10,209,209,.13);border:1px solid rgba(10,209,209,.38);color:#7eedec}.presenter-intro h1{font:800 clamp(33px,3vw,48px)/1.08 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-1.5px;margin:17px 0 12px}.presenter-intro em{color:#50e5f1;font-style:normal}.presenter-intro p{color:#aec2df;line-height:1.65;margin:0;font-size:13px;max-width:430px}.presenter-role{background:#102d59;border:1px solid #2a4876;border-radius:16px;padding:14px 17px;margin-top:24px;display:flex;justify-content:space-between;align-items:center}.presenter-role span,.presenter-steps-head span{letter-spacing:1.6px;color:#92b0d8;font-size:10px;font-weight:900}.presenter-role div{color:white;font-weight:800}.presenter-steps-head{display:flex;justify-content:space-between;align-items:center;margin:24px 0 10px}.plain{background:none;border:0;color:#69def2;font-size:12px;padding:6px}.presenter-steps{display:flex;flex-direction:column;gap:6px}.journey-step{width:100%;display:flex;align-items:center;gap:12px;background:transparent;border:1px solid transparent;border-radius:13px;color:#9eb6d6;padding:10px;text-align:left}.journey-step .num{width:29px;height:29px;flex:0 0 29px;border-radius:9px;background:#1d355d;display:grid;place-items:center;font-weight:900;font-size:11px;color:#96b9e7}.journey-step strong{display:block;color:#c5d5eb;font-size:12px;font-weight:800}.journey-step small{display:block;font-size:10px;color:#7b98bf;margin-top:2px}.journey-step.active{background:#153a72;border:1px solid #437acc;box-shadow:0 6px 18px rgba(2,12,40,.15)}.journey-step.active .num{background:linear-gradient(130deg,#05cce5,#2870ef);color:white}.journey-step.active strong{color:white}.journey-step.done .num{background:rgba(6,199,166,.2);color:#50e0ba}.presenter-notes{margin-top:16px;padding:14px 16px;border-radius:14px;background:linear-gradient(130deg,rgba(242,142,39,.18),rgba(34,97,190,.15));border:1px solid rgba(242,142,39,.25)}.presenter-notes label{color:#ffca91;font-weight:900;font-size:10px;letter-spacing:1.4px}.presenter-notes p{font-size:12px;line-height:1.55;color:#e3eaf5;margin:7px 0 0}.presenter-actions{margin-top:12px;display:grid;grid-template-columns:1fr 1.35fr;gap:8px}.presenter-actions button{min-height:42px;border-radius:12px;font-weight:800;font-size:11px}.secondary-btn{border:1px solid #36557e;background:#12325e;color:#bcd1ec}.primary-btn{border:0;color:white;background:linear-gradient(100deg,#087fdc,#1f67eb)}.presenter-foot{color:#6684ad;font-size:10px;line-height:1.5;margin-top:16px}.device-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 60% 30%,#22417a 0%,#13264e 48%,#0b1b39 100%);padding:14px;min-height:100vh}.stage-toolbar{display:flex;justify-content:space-between;align-items:center;width:min(100%,600px);margin:0 auto 11px;gap:8px}.stage-label{font-size:10px;letter-spacing:1.4px;font-weight:900;color:#b7d2f4;white-space:nowrap}.stage-label small{font-size:9px;color:#7899c5;letter-spacing:0;font-weight:500}.live-dot,.caption-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#1bd7af;box-shadow:0 0 12px #1bd7af;margin-right:6px}.toolbar-buttons{display:flex;gap:6px}.toolbar-btn{border:1px solid #486087;border-radius:9px;background:#1a3258;color:#dce9fd;font-size:10px;padding:9px 10px}.device{width:390px;height:min(82vh,844px);min-height:660px;border:7px solid #0a1020;border-radius:46px;background:#f4f7fc;box-shadow:0 35px 75px rgba(0,5,20,.64),0 0 0 2px #6680a7;position:relative;display:flex;flex-direction:column;overflow:hidden;isolation:isolate}.phone-top{height:15px;position:absolute;top:4px;left:0;right:0;z-index:5;pointer-events:none}.phone-island{margin:auto;width:95px;height:20px;border-radius:20px;background:#060b16}.home-indicator{height:19px;display:grid;place-items:center;background:#f4f7fc;flex:0 0 19px}.home-indicator div{height:4px;width:112px;background:#1d2c47;border-radius:5px}.app-shell{flex:1;min-height:0;overflow:hidden}.app-shell #app{height:100%;display:flex;flex-direction:column;overflow:hidden}.stage-caption{color:#8fa8d0;text-align:center;font-size:10px;margin-top:12px}.stage-caption strong{color:#d8e8fb}.toast{position:fixed;z-index:100;left:50%;bottom:22px;transform:translate(-50%,30px);opacity:0;pointer-events:none;border-radius:14px;padding:12px 16px;background:#122c53;color:white;font-size:13px;font-weight:700;box-shadow:0 14px 35px #0005;max-width:min(90vw,460px);text-align:center;transition:all .2s}.toast.show{opacity:1;transform:translate(-50%,0)}
/* app */.app-header{flex:0 0 auto;background:linear-gradient(125deg,#0b234b 0%,#113d80 75%,#1b5dd4 100%);color:white;padding:32px 19px 20px;position:relative;overflow:hidden}.app-header:before{content:'';position:absolute;right:-55px;bottom:-80px;height:230px;width:230px;border-radius:50%;background:radial-gradient(circle,#19dbea35,transparent 70%)}.app-top{display:flex;align-items:center;justify-content:space-between;position:relative}.app-brand{display:flex;align-items:center;gap:8px;font:800 23px system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-.7px}.app-brand img{height:30px;width:30px}.app-brand span{color:#ff9e41}.app-badge{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.23);border-radius:99px;padding:5px 9px;color:#cce5fd;font-size:9px;letter-spacing:1px;font-weight:800}.app-role{margin-top:13px;display:flex;justify-content:space-between;gap:7px;position:relative;align-items:end}.role-text label{color:#86b5ef;text-transform:uppercase;font-size:9px;letter-spacing:1.1px;font-weight:900;display:block;margin-bottom:3px}.role-text strong{font:700 18px system-ui,-apple-system,"Segoe UI",sans-serif}.role-select{max-width:136px;background:#1d4e94;color:white;border:1px solid #517aba;border-radius:10px;padding:8px 20px 8px 7px;font-size:10px;font-weight:800;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;background-size:12px}.app-body{flex:1;overflow-y:auto;padding:17px 16px 24px;background:#f3f6fc;scrollbar-width:thin;scrollbar-color:#bdcee5 transparent}.app-body::-webkit-scrollbar{width:4px}.app-body::-webkit-scrollbar-thumb{background:#c5d3e7;border-radius:4px}.bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);flex:0 0 66px;background:#fff;border-top:1px solid #e6edf6;padding:7px 8px 8px;box-shadow:0 -5px 14px rgba(3,26,65,.045)}.nav-item{background:none;border:0;color:#8d9bb0;display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;border-radius:11px;font-size:9px;font-weight:800}.nav-item.active{color:#1b63d4;background:#ecf3ff}.nav-item svg{width:19px;height:19px}.section-head{display:flex;align-items:start;justify-content:space-between;gap:8px;margin-bottom:14px}.section-head h2{font:800 21px/1.17 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-.5px;margin:0;color:#122b53}.section-head p{font-size:11px;color:#8090a7;margin:5px 0 0;line-height:1.35}.section-eyebrow{color:#3476d0;font-size:9px;letter-spacing:1.1px;text-transform:uppercase;font-weight:900;margin-bottom:5px}.mini-badge{padding:5px 8px;font-size:9px;font-weight:900;border-radius:100px;white-space:nowrap;display:inline-flex;align-items:center;gap:3px}.mini-badge.blue{color:#246ad8;background:#e7f0ff}.mini-badge.green{color:#098c75;background:#dffaf1}.mini-badge.orange{color:#b76a1c;background:#fff1dd}.mini-badge.violet{color:#6a4db4;background:#f0eaff}.mini-badge.red{color:#c34e5e;background:#ffe9ed}.sim-label{font-size:9px;color:#7087a9;background:#eaf0fb;border:1px solid #d5e0f1;padding:5px 8px;border-radius:99px;font-weight:800}.hero-photo{min-height:132px;display:flex;flex-direction:column;justify-content:end;position:relative;border-radius:19px;overflow:hidden;background:linear-gradient(5deg,rgba(4,22,60,.94),rgba(8,38,88,.05)),url('assets/railway-hero.jpg') center/cover no-repeat;padding:15px 16px;color:#fff;box-shadow:var(--shadow);margin-bottom:14px}.hero-photo strong{font:800 18px/1.12 system-ui,-apple-system,"Segoe UI",sans-serif}.hero-photo small{color:#e2edfa;font-size:10px;margin-top:5px}.card{background:white;border:1px solid var(--border);border-radius:17px;padding:14px;box-shadow:var(--shadow);margin-bottom:12px}.card-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:11px}.card-title strong{font:800 13px system-ui,-apple-system,"Segoe UI",sans-serif}.card-title small{font-size:9px;color:#8090a7}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:12px}.stat{background:white;border-radius:15px;padding:13px;border:1px solid var(--border)}.stat small{color:#7e8da4;font-size:10px;font-weight:700}.stat strong{display:block;font:900 28px system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-1px;margin:7px 0 3px}.stat .change{font-size:9px;color:#8090a7}.stat.blue{background:#e7f0ff;border-color:#cfe1ff}.stat.green{background:#e2fcf6;border-color:#bcf0df}.stat.orange{background:#fff1dd;border-color:#ffe1b8}.stat.violet{background:#f1ebff;border-color:#e4d9ff}.progress-track{height:8px;background:#edf2f8;border-radius:99px;overflow:hidden}.progress-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#1767e7,#0ac7ca);transition:width .25s}.kpi-line{display:flex;justify-content:space-between;font-size:10px;margin:8px 0;color:#62718c;font-weight:600}.kpi-line b{color:#193253}.action-stack{display:flex;flex-direction:column;gap:8px}.action-row{display:flex;align-items:center;gap:11px;padding:11px;border-radius:12px;background:#f6f9fd;border:1px solid #eaf0f9}.action-icon{height:38px;width:38px;border-radius:12px;display:grid;place-items:center;flex:0 0 38px;background:#e1edff;color:#276cdb}.action-icon.orange{background:#fff0dd;color:#e88c2d}.action-icon.green{background:#e0faf4;color:#0c9c85}.action-icon.violet{background:#f0e8ff;color:#8e61e5}.action-row .info{flex:1;min-width:0}.action-row strong{display:block;font-size:11px;color:#223959}.action-row small{font-size:10px;color:#8190a6;line-height:1.3;display:block;margin-top:2px}.link-btn{border:0;background:none;color:#1f65dc;font-size:10px;font-weight:900;padding:8px 2px}.btn{border:0;border-radius:11px;padding:11px 13px;font-size:11px;font-weight:900;display:inline-flex;justify-content:center;align-items:center;gap:7px;transition:transform .1s;min-height:38px}.btn:active{transform:scale(.98)}.btn-primary{color:white;background:linear-gradient(105deg,#1467e6,#1b88ec);box-shadow:0 5px 12px #176dea2c}.btn-teal{color:white;background:linear-gradient(105deg,#089b92,#10c7a5)}.btn-orange{color:#fff;background:linear-gradient(105deg,#ea8428,#fdad47)}.btn-violet{color:white;background:linear-gradient(105deg,#784de0,#9f77eb)}.btn-ghost{color:#1d56ae;background:#e8f0ff}.btn-light{border:1px solid #d5dfed;background:white;color:#345078}.btn-full{width:100%}.btn-sm{min-height:31px;padding:7px 11px;font-size:10px}.btn-row{display:flex;gap:7px;margin-top:10px;flex-wrap:wrap}.btn-row>.btn{flex:1}.form-group{margin-bottom:12px}.form-group label{display:block;font-size:10px;font-weight:900;color:#37516e;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{width:100%;border:1px solid #d8e3f1;background:#f8faff;border-radius:10px;padding:10px 11px;font-size:12px;color:#1b3556}.form-group textarea{resize:vertical;min-height:68px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.tabline{display:flex;gap:6px;overflow-x:auto;padding-bottom:3px;margin-bottom:14px}.tabpill{border:1px solid #dce6f5;border-radius:100px;background:#fff;padding:8px 11px;color:#7f8ca0;font-size:10px;font-weight:800;white-space:nowrap}.tabpill.active{background:#153e86;color:#fff;border-color:#153e86}.process-step{display:flex;align-items:center;gap:10px;padding:10px 0;position:relative}.process-step:not(:last-child):after{content:'';width:1px;background:#d9e6f7;height:12px;position:absolute;left:15px;bottom:-7px}.step-circle{display:grid;place-items:center;border-radius:10px;height:32px;width:32px;background:#e8f0ff;color:#2b68d2;font-size:12px;font-weight:900;flex:0 0 32px}.step-circle.done{background:#dff9ef;color:#059c7a}.process-step .txt{flex:1}.process-step strong{display:block;font-size:11px}.process-step small{font-size:10px;color:#8b9bb0}.check-item{display:flex;align-items:start;gap:10px;padding:11px;border:1px solid #e6edf6;background:#f8faff;border-radius:11px;margin:7px 0}.check-item input{accent-color:#0eae97;width:18px;height:18px;margin:0;flex:0 0 18px}.check-item strong{font-size:11px;display:block}.check-item small{font-size:10px;color:#8190a6;display:block;margin-top:3px}.wo-banner{padding:15px;background:linear-gradient(130deg,#113c7c,#1870d6);color:white;border-radius:16px;position:relative;overflow:hidden;margin-bottom:12px}.wo-banner:after{content:'JR';position:absolute;right:-3px;bottom:-43px;font:900 119px system-ui,-apple-system,"Segoe UI",sans-serif;color:#ffffff0b;pointer-events:none}.wo-banner .wo-code{font-size:10px;color:#b6d8ff;letter-spacing:.7px}.wo-banner h3{font:800 17px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;margin:8px 0}.wo-banner p{font-size:10px;color:#d4e7ff;margin:0}.wo-banner .mini-badge{margin-top:9px;background:#ffffff26;color:#fff}.notice{border-radius:12px;padding:12px;display:flex;gap:8px;align-items:flex-start;margin:11px 0;font-size:10px;line-height:1.5}.notice svg{width:17px;flex:0 0 17px}.notice.info{background:#e8f1ff;color:#23538c}.notice.warn{background:#fff1dc;color:#995b20}.notice.success{background:#e0f8ed;color:#0b7b63}.notice.danger{background:#ffe9ed;color:#a93f4d}.person{display:flex;align-items:center;gap:10px;padding:8px 0}.avatar{height:35px;width:35px;border-radius:12px;display:grid;place-items:center;font:900 12px system-ui,-apple-system,"Segoe UI",sans-serif;background:#e4edff;color:#286bd7;flex:0 0 35px}.person .info{flex:1}.person strong{font-size:11px;display:block}.person small{display:block;font-size:9px;color:#8394ab;margin-top:3px}.score-rail{display:flex;align-items:center;gap:8px}.score-rail b{font-size:12px}.score-rail .progress-track{flex:1}.chip-group{display:flex;gap:5px;flex-wrap:wrap}.chip{background:#eaf1fc;color:#50709b;font-size:9px;padding:6px 8px;border-radius:100px;font-weight:800}.chip.orange{background:#fff0df;color:#ce7c2b}.chip.green{background:#e2f9f0;color:#128d72}.chip.violet{background:#f1eaff;color:#7954c1}.item-divider{height:1px;background:#edf1f7;margin:10px 0}.timeline{display:flex;justify-content:space-between;gap:4px;margin:10px 0 14px}.timeline .bubble{background:#e8eff9;padding:6px 8px;border-radius:8px;font-size:9px;font-weight:900;color:#8195b3;text-align:center;flex:1}.timeline .bubble.ok{background:#dcf8ed;color:#079e7d}.timeline .bubble.now{background:#176fea;color:white}.field-row{display:flex;justify-content:space-between;padding:9px 0;font-size:11px;gap:9px;border-bottom:1px solid #edf1f5}.field-row .key{color:#8090a9}.field-row .val{color:#203958;text-align:right;font-weight:800}.meter-line{display:flex;align-items:center;gap:8px;margin:8px 0}.meter-line span{width:100px;font-size:10px;color:#637c98}.meter-line .progress-track{flex:1}.meter-line strong{font-size:11px;width:33px;text-align:right}.slider{width:100%;accent-color:#1973e9}.rating-stars{display:flex;justify-content:space-between;gap:7px}.rating-stars button{flex:1;border:1px solid #dce7f5;border-radius:10px;background:#fff;color:#8aa1bc;height:39px;font-size:19px}.rating-stars button.on{color:#ed9b2b;border-color:#edb06a;background:#fff6e8}.dot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.tiny-card{border-radius:12px;background:#f6f9ff;border:1px solid #e8effa;padding:11px}.tiny-card b{font:900 18px system-ui,-apple-system,"Segoe UI",sans-serif;display:block}.tiny-card small{font-size:9px;color:#7d8fa6}.muted-note{font-size:10px;color:#8395ad;line-height:1.5}.empty{text-align:center;padding:26px 8px;color:#8292a8}.empty svg{width:36px;height:36px;color:#8ea1b9}.empty strong{display:block;font-size:12px;color:#314b6c;margin-top:10px}.empty p{font-size:11px;margin-bottom:0}.attachment{display:flex;gap:8px;align-items:center;font-size:10px;padding:10px;background:#f3f8fd;border-radius:10px;margin-top:8px}.attachment strong{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toggle-row{display:flex;gap:10px;align-items:center}.toggle-row input{accent-color:#0ea889}.divider{height:1px;background:#e5edf6;margin:14px 0}.chart-bars{height:102px;display:flex;align-items:end;gap:9px;padding:7px 0}.chart-bars>div{flex:1;background:linear-gradient(#4ebdf1,#2364db);border-radius:6px 6px 0 0}.signal{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:700}.signal:before{content:'';width:7px;height:7px;border-radius:50%;background:#16bf9e}.signal.wait:before{background:#f6a33c}.signal.red:before{background:#e75666}.footer-note{font-size:9px;color:#92a1b5;text-align:center;padding:9px 0}.role-dropdown-panel{display:none}
/* presentation full app */body.fullscreen .showcase{grid-template-columns:1fr}body.fullscreen .presenter{display:none}body.fullscreen .device-stage{min-height:100vh}body.fullscreen .device{height:min(89vh,844px)}
@media(max-width:1000px){.showcase{grid-template-columns: minmax(300px,410px) 1fr}.presenter{padding:24px}.presenter-intro h1{font-size:34px}.device{width:380px}.stage-label small{display:none}}@media(max-width:790px){.showcase{display:block;background:#f3f6fc;min-height:100dvh}.presenter,.stage-toolbar,.stage-caption,.phone-top,.home-indicator{display:none!important}.device-stage{display:block;min-height:100dvh;padding:0;background:#f3f6fc}.device{width:100%;height:100dvh;min-height:0;border:0;border-radius:0;box-shadow:none}.app-header{padding-top:calc(19px + env(safe-area-inset-top))}.bottom-nav{padding-bottom:calc(8px + env(safe-area-inset-bottom));flex-basis:calc(66px + env(safe-area-inset-bottom))}.stage-caption{display:none}}
@media(min-width:791px) and (max-height:770px){.presenter-intro{margin-top:12px}.presenter-intro h1{font-size:31px;margin:9px 0}.presenter-role{margin-top:12px}.presenter-steps-head{margin-top:12px}.journey-step{padding:7px}.presenter-notes{padding:9px}.device{height:88vh;min-height:620px}}

@media(min-width:791px){.presenter{overflow:hidden}.presenter-steps{min-height:110px;overflow-y:auto;flex:1;scrollbar-width:thin;scrollbar-color:#2b5487 transparent}.presenter-intro{flex:0 0 auto}.presenter-actions,.presenter-notes,.presenter-foot,.presenter-role,.presenter-steps-head{flex:0 0 auto}}
