*{box-sizing:border-box}:root{--bg:#f2f5f9;--panel:#fff;--border:#d4dce6;--text:#23303d;--text-muted:#5b6b7c;--accent:#1f6feb;--accent-dark:#17548f;--error:#c62828;--ok:#2e7d32;--warn:#b26a00;--navy:#1c2c3d;--navy-2:#243b54;--cta:#f5a623;--cta-dark:#dd8f10;--radius:8px;--radius-lg:14px;--shadow-card:0 2px 8px #1c2c3d0d;font-family:Segoe UI,system-ui,-apple-system,sans-serif}html,body,#root{background:var(--bg);height:100%;color:var(--text);margin:0;padding:0}button{font-family:inherit}input,select{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:#fff;width:100%;padding:7px 9px;font-family:inherit;font-size:14px}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}.app{flex-direction:column;height:100vh;display:flex}.app__header{background:var(--navy);color:#fff;z-index:10;justify-content:space-between;align-items:center;padding:10px 24px;display:flex;position:relative;box-shadow:0 2px 12px #0a121c59}.app__header .btn{color:#fff;background:0 0;border-color:#ffffff59;padding:6px 14px;font-size:13px}.app__header .btn:hover:not(:disabled){color:var(--navy);background:#fff;border-color:#fff}.app__brand{align-items:center;gap:14px;min-width:0;display:flex}.app__logo{width:auto;height:30px;display:block}.app__header h1{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:18px;font-weight:600;overflow:hidden}@media (width<=700px){.app__header h1{display:none}}.app__header-actions{align-items:center;gap:10px;display:flex}.stepper{background:var(--panel);border-bottom:1px solid var(--border);display:flex;overflow-x:auto}.stepper__item{cursor:pointer;min-width:110px;color:var(--text-muted);background:0 0;border:none;border-bottom:3px solid #0000;flex-direction:column;flex:1;align-items:center;gap:4px;padding:10px 6px;font-size:12px;display:flex}.stepper__item--active{color:var(--navy);border-bottom-color:var(--cta);font-weight:600}.stepper__item--done{color:var(--ok)}.stepper__index{background:var(--border);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-weight:600;display:inline-flex}.stepper__item--active .stepper__index{background:var(--navy);color:#fff}.stepper__item--done .stepper__index{background:var(--ok);color:#fff}.app__content{flex:1;padding:20px;overflow:auto}.app__footer{background:var(--panel);border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.app__footer-buttons{gap:10px;display:flex}.btn{border-radius:var(--radius);border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;padding:9px 22px;font-size:14px}.btn:disabled{opacity:.5;cursor:default}.btn--primary{background:var(--cta);border-color:var(--cta);color:#1b2635;font-weight:700}.btn--primary:hover:not(:disabled){background:var(--cta-dark);border-color:var(--cta-dark)}.form-error{color:var(--error);font-weight:600}.step-form{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:900px;box-shadow:var(--shadow-card);margin:0 auto;padding:22px 26px}.step-form h2{color:var(--navy);margin:14px 0 10px;font-size:16px}.step-form h2:first-child{margin-top:0}.step-form h3{margin:12px 0 6px;font-size:14px}.form-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px 16px;margin-bottom:8px;display:grid}.form-grid--column{grid-template-columns:1fr}.field{flex-direction:column;gap:4px;font-size:13px;display:flex}.field__label{color:var(--text-muted);font-weight:600}.field--error input,.field--error select{border-color:var(--error)}.field__error{color:var(--error);font-size:12px}.toggle{gap:6px;display:flex}.toggle__btn{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:#fff;flex:1;padding:7px}.toggle__btn--active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.data-table{border-collapse:collapse;width:100%;margin:8px 0 14px;font-size:13px}.data-table th,.data-table td{border:1px solid var(--border);text-align:left;padding:6px 10px}.data-table th{background:#eef2f7}.data-table--small td,.data-table--small th{padding:4px 8px;font-size:12px}.hint{color:var(--text-muted);font-size:13px}.badge{border-radius:20px;margin-bottom:8px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-block}.badge--ok{color:var(--ok);background:#e2f3e5}.badge--bad{color:var(--error);background:#fbe4e2}.badge--unknown{color:var(--warn);background:#f4ecd9}.step-3d{grid-template-columns:400px 1fr;gap:16px;height:100%;min-height:480px;display:grid}.step-3d__panel{max-width:none;margin:0;overflow:auto}.step-3d__scene{border:1px solid var(--border);border-radius:var(--radius-lg);min-height:480px;box-shadow:var(--shadow-card);background:#dbe4ee;overflow:hidden}.lashing-list{margin:0;padding:0;font-size:13px;list-style:none}.lashing-list li{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;padding:4px 0;display:flex}.lashing-list button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:5px;padding:3px 8px;font-size:12px}.cargo-items-bar{border-bottom:1px solid var(--border);background:#eef2f7;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 20px;display:flex}.cargo-item-chip{border:1px solid var(--border);background:#fff;border-radius:16px;align-items:center;font-size:13px;display:inline-flex;overflow:hidden}.cargo-item-chip--active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.cargo-item-chip--invalid{border-color:var(--error)}.cargo-item-chip--invalid .cargo-item-chip__select{color:var(--error)}.cargo-item-chip__select{cursor:pointer;background:0 0;border:none;padding:5px 10px;font-size:13px}.cargo-item-chip--active .cargo-item-chip__select{color:var(--accent-dark);font-weight:600}.cargo-item-chip__remove{border:none;border-left:1px solid var(--border);cursor:pointer;color:var(--text-muted);background:0 0;padding:5px 8px}.cargo-item-chip__remove:hover{color:var(--error)}.cargo-item-chip__add{cursor:pointer;color:var(--accent-dark);padding:5px 12px;font-weight:600}.results-bar{border-top:1px solid var(--border);background:#eaf0f7;flex-wrap:wrap;align-items:center;gap:14px;padding:8px 20px;font-size:13px;display:flex}.results-bar__chip{border-radius:14px;align-items:center;padding:3px 12px;font-size:12px;font-weight:600;display:inline-flex}.results-bar__chip--ok{color:var(--ok);background:#e2f3e5}.results-bar__chip--bad{color:var(--error);background:#fbe4e2}.results-bar__chip--unknown{color:var(--warn);background:#f4ecd9}.results-bar__value{font-variant-numeric:tabular-nums;color:var(--text)}.results-bar__legend{color:var(--text-muted);margin-left:auto;font-size:11px}.warning-banner{border:1px solid #e2b25e;border-left:4px solid var(--warn);color:#6d4a00;background:#fdf3e0;border-radius:6px;margin:8px 0;padding:10px 12px;font-size:13px}.summary-badges{gap:24px;margin-bottom:10px;display:flex}@media (width<=900px){.step-3d{grid-template-columns:1fr}}.auth-loading{height:100vh;color:var(--text-muted);justify-content:center;align-items:center;font-size:15px;display:flex}.btn--danger{border-color:var(--error);color:var(--error)}.btn--danger:hover:not(:disabled){background:var(--error);color:#fff}.landing{background:#fff;flex-direction:column;min-height:100vh;display:flex}@media (prefers-reduced-motion:no-preference){html:has(.landing){scroll-behavior:smooth}}.landing [id]{scroll-margin-top:84px}a.btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.btn--sm{padding:6px 16px;font-size:13px}.btn--outline{color:#fff;background:0 0;border-color:#ffffff73;font-weight:600}.btn--outline:hover:not(:disabled){color:var(--navy);background:#fff;border-color:#fff}.btn--cta{background:var(--cta);border-color:var(--cta);color:#1b2635;padding:12px 28px;font-size:15px;font-weight:700}.btn--cta:hover:not(:disabled){background:var(--cta-dark);border-color:var(--cta-dark)}.landing__header{z-index:40;background:var(--navy);color:#fff;position:sticky;top:0;box-shadow:0 2px 12px #0a121c59}.landing__header-inner{justify-content:space-between;align-items:center;gap:18px;max-width:1120px;margin:0 auto;padding:12px 24px;display:flex}.landing__brand{color:#fff;white-space:nowrap;align-items:center;gap:10px;font-size:16px;font-weight:600;text-decoration:none;display:flex}.landing__logo{width:auto;height:28px;display:block}.landing__nav{gap:22px;display:flex}.landing__nav a{color:#ffffffd9;padding:6px 0;font-size:14px;text-decoration:none}.landing__nav a:hover{color:#fff}.landing__header-actions{align-items:center;gap:10px;display:flex}.lang-switch{border:1px solid #ffffff4d;border-radius:999px;gap:2px;padding:3px;display:flex}.lang-switch button{color:#ffffffbf;letter-spacing:.3px;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:4px 11px;font-size:12.5px;font-weight:600}.lang-switch button.is-active{color:var(--navy);background:#fff}.lang-switch button:not(.is-active):hover{color:#fff}@media (width<=950px){.landing__nav{display:none}}.hero{color:#fff;background:linear-gradient(150deg,#1c2c3d 0%,#243b54 55%,#2c4a68 100%);padding:64px 24px 80px;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(60% 50% at 82% 8%,#6096d247,#0000 70%);position:absolute;inset:0}.hero__inner{flex-wrap:wrap;align-items:flex-start;gap:48px;max-width:1120px;margin:0 auto;display:flex;position:relative}.hero__pitch{flex:520px;min-width:300px}.hero__badge{color:#dce8f5;background:#ffffff0f;border:1px solid #ffffff59;border-radius:999px;margin-bottom:20px;padding:6px 14px;font-size:13px;display:inline-block}.hero h1{letter-spacing:-.5px;margin:0 0 16px;font-size:clamp(34px,4.6vw,52px);font-weight:800;line-height:1.08}.hero__subtitle{color:#c7d5e4;max-width:560px;margin:0 0 28px;font-size:17px;line-height:1.6}.hero__cta{flex-wrap:wrap;gap:14px;margin-bottom:28px;display:flex}.hero__chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.hero__chips li{color:#d7e2ee;background:#ffffff1a;border:1px solid #ffffff24;border-radius:999px;padding:5px 12px;font-size:12.5px}.hero__mock{max-width:920px;margin:56px auto 0;position:relative}.hero__mock-caption{text-align:center;color:#a9bccf;margin:14px 0 0;font-size:13px}.login-card{min-width:280px;color:var(--text);background:#fff;border-radius:14px;flex-direction:column;flex:0 340px;gap:14px;padding:26px;display:flex;box-shadow:0 18px 50px #080f1959}.login-card h2{color:var(--navy);margin:0;font-size:19px}.login-card__hint{color:var(--text-muted);margin:0;font-size:13px}.login-card__field{color:var(--text-muted);flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.login-card .btn--primary{width:100%;padding:11px}.login-card__note{color:var(--text-muted);margin:0;font-size:12px}.mock{background:#101a26;border:1px solid #ffffff14;border-radius:14px;overflow:hidden;box-shadow:0 24px 60px #050a1273}.mock__chrome{background:#182635;align-items:center;gap:6px;padding:10px 14px;display:flex}.mock__chrome span{border-radius:50%;width:10px;height:10px}.mock__chrome span:first-child{background:#e0604f}.mock__chrome span:nth-child(2){background:#e8b93e}.mock__chrome span:nth-child(3){background:#5fb861}.mock__chrome em{color:#8fa3b8;background:#0f1926;border-radius:6px;margin-left:10px;padding:3px 14px;font-size:12px;font-style:normal}.mock__body{background:linear-gradient(#16222f,#101a26);padding:18px 18px 14px}.mock__scene{width:100%;height:auto;display:block}.mock__hud{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.mock__pill{color:#cdd9e5;background:#ffffff14;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;display:inline-flex}.mock__pill svg{width:14px;height:14px}.mock__pill--ok{color:#7ede9c;background:#42a05a38;font-weight:600}.lsection{padding:84px 24px}.lsection--alt{background:var(--bg)}.lsection__head,.card-grid,.steps,.plans,.faq,.lsection__footnote,.pricing__trainer{max-width:1120px;margin-left:auto;margin-right:auto}.lsection__head{text-align:center;margin-bottom:44px}.lsection__head h2{letter-spacing:-.3px;color:var(--navy,#1c2c3d);margin:0 0 12px;font-size:clamp(26px,3vw,34px)}.lsection__head p{max-width:640px;color:var(--text-muted);margin:0 auto;font-size:16px;line-height:1.6}.lsection__footnote{text-align:center;color:var(--text-muted);margin-top:28px;font-size:12.5px}.card-grid{gap:22px;display:grid}.card-grid--3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.lcard{border:1px solid var(--border);background:#fff;border-radius:14px;padding:26px;transition:transform .18s,box-shadow .18s;box-shadow:0 2px 8px #1c2c3d0d}.lcard:hover{transform:translateY(-3px);box-shadow:0 12px 30px #1c2c3d1a}.lcard__icon{width:46px;height:46px;color:var(--accent);background:#e8f0fa;border-radius:12px;justify-content:center;align-items:center;margin-bottom:16px;display:inline-flex}.licon{width:24px;height:24px}.lcard h3{color:#1c2c3d;margin:0 0 8px;font-size:17px}.lcard p{color:var(--text-muted);margin:0;font-size:14.5px;line-height:1.6}.lcard__bullets{flex-direction:column;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:flex}.lcard__bullets li{color:var(--text);padding-left:24px;font-size:14px;line-height:1.5;position:relative}.lcard__bullets li:before{content:"✓";color:var(--ok);font-weight:700;position:absolute;left:0}.steps{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px;margin:0 auto;padding:0;list-style:none;display:grid}.steps__item{border:1px solid var(--border);background:#fff;border-radius:14px;padding:28px 26px}.steps__num{color:#fff;background:#1c2c3d;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:14px;font-size:17px;font-weight:700;display:inline-flex}.steps__item h3{color:#1c2c3d;margin:0 0 8px;font-size:17px}.steps__item p{color:var(--text-muted);margin:0;font-size:14.5px;line-height:1.6}.stats{color:#fff;background:#1c2c3d;padding:52px 24px}.stats__inner{text-align:center;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px;max-width:1120px;margin:0 auto;display:grid}.stats__item strong{letter-spacing:-1px;font-size:40px;font-weight:800;display:block}.stats__item span{color:#b9c8d8;max-width:220px;margin:6px auto 0;font-size:14px;line-height:1.45;display:block}.quote{border:1px solid var(--border);background:#fff;border-radius:14px;flex-direction:column;gap:16px;margin:0;padding:26px;display:flex}.quote blockquote{color:var(--text);margin:0;padding-top:22px;font-size:15px;line-height:1.65;position:relative}.quote blockquote:before{content:"„";color:#c9d9ec;font-family:Georgia,serif;font-size:52px;line-height:1;position:absolute;top:-14px;left:-4px}.quote figcaption{flex-direction:column;gap:2px;margin-top:auto;display:flex}.quote figcaption strong{color:#1c2c3d;font-size:14px}.quote figcaption span{color:var(--text-muted);font-size:13px}.plans{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch;gap:24px;display:grid}.plan{border:1px solid var(--border);background:#fff;border-radius:16px;flex-direction:column;gap:14px;padding:30px 26px 26px;display:flex;position:relative}.plan--hot{border:2px solid var(--accent);box-shadow:0 16px 40px #1f6feb24}.plan__badge{background:var(--accent);color:#fff;white-space:nowrap;border-radius:999px;padding:4px 14px;font-size:12px;font-weight:700;position:absolute;top:-13px;left:50%;transform:translate(-50%)}.plan h3{color:#1c2c3d;margin:0;font-size:18px}.plan__price{margin:0}.plan__price strong{letter-spacing:-1px;color:#1c2c3d;font-size:38px;font-weight:800}.plan__price span{color:var(--text-muted);margin-top:2px;font-size:12.5px;display:block}.plan__tagline{color:var(--text-muted);margin:0;font-size:14px}.plan__features{flex-direction:column;flex:1;gap:9px;margin:0;padding:0;list-style:none;display:flex}.plan__features li{color:var(--text);padding-left:24px;font-size:14px;line-height:1.5;position:relative}.plan__features li:before{content:"✓";color:var(--ok);font-weight:700;position:absolute;left:0}.plan .btn{width:100%;padding:11px}.pricing__trainer{text-align:center;color:var(--text);margin-top:12px;font-size:14px}.pricing__trainer a{color:var(--accent-dark);font-weight:600}.faq{max-width:760px}.faq__item{border-bottom:1px solid var(--border)}.faq__item summary{cursor:pointer;color:#1c2c3d;padding:18px 40px 18px 2px;font-size:15.5px;font-weight:600;list-style:none;position:relative}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary:after{content:"+";color:var(--accent);font-size:24px;font-weight:400;transition:transform .18s;position:absolute;top:50%;right:8px;translate:0 -50%}.faq__item[open] summary:after{transform:rotate(45deg)}.faq__item p{color:var(--text-muted);margin:0;padding:0 32px 18px 2px;font-size:14.5px;line-height:1.65}.final-cta{color:#fff;text-align:center;background:linear-gradient(135deg,#1c2c3d 0%,#1f4f8b 100%);padding:84px 24px}.final-cta__inner{max-width:720px;margin:0 auto}.final-cta h2{letter-spacing:-.3px;margin:0 0 10px;font-size:clamp(24px,3vw,32px)}.final-cta p{color:#cfdcec;margin:0 0 28px;font-size:16px}.signup-card{max-width:560px;color:var(--text);text-align:left;background:#fff;border-radius:14px;flex-direction:column;gap:14px;margin:0 auto;padding:26px;display:flex;box-shadow:0 18px 50px #080f1959}.signup-card__row{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=560px){.signup-card__row{grid-template-columns:1fr}}.signup-card__field{color:var(--text-muted);flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.signup-card__field em{font-style:normal;font-weight:400}.signup-card textarea{border:1px solid var(--border);color:var(--text);resize:vertical;background:#fff;border-radius:6px;width:100%;padding:7px 9px;font-family:inherit;font-size:14px}.signup-card textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.signup-card .btn--cta{width:100%}.signup-card__hint{color:var(--text-muted);text-align:center;margin:0;font-size:12px;font-weight:400}.signup-card--done{text-align:center;gap:8px}.signup-card--done h3{color:var(--ok);margin:0;font-size:20px}.signup-card--done p{color:var(--text);margin:0;font-size:14.5px;line-height:1.6}.final-cta__direct{margin:22px 0 0;font-size:14px}.final-cta__direct a{color:#fff;font-weight:600}.lfooter{color:#aebccb;background:#14202e}.lfooter__inner{grid-template-columns:2fr 1fr 1fr;gap:40px;max-width:1120px;margin:0 auto;padding:56px 24px 36px;display:grid}.lfooter__brand{color:#fff;align-items:center;gap:10px;margin-bottom:12px;font-weight:600;display:flex}.lfooter__col p{margin:0;font-size:13.5px;line-height:1.6}.lfooter__col h3{text-transform:uppercase;letter-spacing:.8px;color:#7f92a6;margin:0 0 12px;font-size:13px}.lfooter__col a{color:#c3d0dd;padding:4px 0;font-size:14px;text-decoration:none;display:block}.lfooter__col a:hover{color:#fff}.lfooter__bottom{color:#7f92a6;border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;max-width:1120px;margin:0 auto;padding:18px 24px 26px;font-size:12.5px;display:flex}.lfooter__bottom p{max-width:760px;margin:0;line-height:1.5}@media (width<=760px){.lsection{padding:56px 18px}.hero{padding:44px 18px 64px}.stats__item strong{font-size:32px}.lfooter__inner{grid-template-columns:1fr;gap:28px}}.admin-overlay{z-index:100;background:#141e2a8c;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.admin-panel{background:var(--panel);border-radius:var(--radius-lg);width:100%;max-width:900px;padding:20px 24px}.admin-panel__header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.admin-panel__header h2{margin:0;font-size:18px}.admin-panel__error{margin-bottom:12px}.admin-panel__table{border-collapse:collapse;width:100%;font-size:14px}.admin-panel__table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-size:12px}.admin-panel__table th,.admin-panel__table td{border-bottom:1px solid var(--border);padding:8px 10px}.admin-panel__role{background:var(--bg);color:var(--text-muted);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.admin-panel__role--admin{background:var(--accent);color:#fff}.admin-panel__actions{justify-content:flex-end;gap:8px;display:flex}.admin-panel__actions .btn{padding:5px 12px;font-size:13px}.admin-panel__add{margin-top:20px}.admin-panel__signups{margin-top:28px}.admin-panel__signups h3{margin:0 0 10px;font-size:15px}.admin-panel__empty{color:var(--text-muted);margin:0;font-size:13px}.admin-panel__msg{overflow-wrap:anywhere;max-width:240px;color:var(--text-muted);font-size:13px}.admin-panel__add h3{margin:0 0 10px;font-size:15px}.admin-panel__add-fields{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.admin-panel__add-fields label{color:var(--text-muted);flex-direction:column;flex:150px;gap:4px;font-size:13px;font-weight:600;display:flex}
