:root{--bg:#0b0f0c;--bg-deep:#090c09;--bg-panel:#111712;--bg-panel-strong:#161d17;--bg-panel-soft:#1b241d;--line:#7e927638;--line-strong:#a8be7652;--text:#e2ead8;--text-dim:#aab59f;--text-faint:#7f8a79;--accent:#92b15a;--accent-strong:#b9cc72;--accent-cool:#4f8f77;--warning:#e5b96b;--danger:#b85a52;--shadow:0 18px 36px #0000005c;--shadow-soft:0 10px 20px #00000038}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{color:var(--text);background:radial-gradient(circle at 0 0,#7b8e4a1f 0%,#0000 28%),radial-gradient(circle at right 18%,#3f5f4a1f 0%,#0000 22%),linear-gradient(#101511 0%,#0b0f0c 45%,#090c09 100%);font-family:IBM Plex Sans,Segoe UI,sans-serif}body:before{content:"";pointer-events:none;opacity:.28;background:linear-gradient(#ffffff05,#ffffff05),repeating-linear-gradient(0deg,#ffffff05 0 1px,#0000 1px 4px);position:fixed;inset:0}a{color:inherit}.auth-page,.missions-page,.mission-editor-page,.page-feedback{min-height:100%}.auth-page,.page-feedback{justify-content:center;align-items:center;padding:24px;display:flex}.auth-card,.mission-card,.missions-toolbar,.missions-header,.mission-editor-page__topbar,.mission-editor-page__share,.page-feedback{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(#131a14f5 0%,#0f1410fa 100%);border-radius:14px}.auth-card{flex-direction:column;gap:12px;width:min(100%,420px);padding:24px;display:flex}.auth-card h1,.mission-editor-page__meta strong{color:#edf3dd;margin:0}.auth-card p,.mission-editor-page__meta span,.missions-header p{color:var(--text-dim);margin:0}.auth-card label{flex-direction:column;gap:6px;display:flex}.auth-card input,.missions-toolbar input,.missions-toolbar select,.mission-editor-page__share input,.mission-editor-page__share select,.mission-editor-page__share-inline input,.mission-editor-page__share-inline select{width:100%;color:var(--text);background:#0a0e0bd1;border:1px solid #7a8e7047;border-radius:8px;padding:10px 12px}.auth-links{color:var(--accent-strong);justify-content:space-between;gap:12px;font-size:.86rem;display:flex}.auth-error,.auth-success,.missions-feedback{border-radius:10px;padding:10px 12px;font-size:.84rem}.auth-error,.page-feedback--error{color:#ffd2d2;background:#b85a5229;border:1px solid #b85a523d}.auth-success,.missions-feedback{color:#dff0cb;background:#92b15a1f;border:1px solid #92b15a2e}.missions-page,.mission-editor-page{flex-direction:column;gap:14px;padding:14px;display:flex}.mission-editor-page{height:100%;min-height:0;overflow:hidden}.missions-header,.missions-toolbar,.mission-editor-page__share{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.missions-header__logo{width:220px;margin-bottom:8px;display:block}.missions-header__actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.mission-editor-page__topbar-actions,.mission-editor-page__share-inline--toolbar{flex-wrap:wrap;flex:560px;justify-content:flex-end;align-items:center;gap:10px;display:flex}.missions-toolbar{justify-content:flex-start}.missions-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.mission-card{flex-direction:column;gap:10px;padding:18px;text-decoration:none;display:flex}.mission-card__topline{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.mission-card__title-row{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.mission-card__owner{color:var(--text-dim);font-size:.76rem}.mission-card__settings-btn{color:#d8e3ce;cursor:pointer;background:#0a0e0bb8;border:1px solid #7a8e7038;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;font-size:.95rem;transition:border-color .11s,transform .11s,background-color .11s;display:inline-flex}.mission-card__settings-btn:hover{border-color:#b9cc726b;transform:translateY(-1px)}.mission-card strong{color:#edf3dd;font-size:1rem;line-height:1.25}.mission-card span,.mission-card em,.missions-pagination{color:var(--text-dim)}.mission-card em{font-size:.8rem;font-style:normal}.missions-pagination{justify-content:center;align-items:center;gap:12px;padding-bottom:14px;display:flex}.mission-editor-page__meta{flex-direction:column;gap:4px;min-width:0;display:flex}.mission-editor-page__meta--toolbar{min-width:220px;max-width:320px}.mission-create-modal{width:min(100%,520px)}.mission-form__counter{color:var(--text-faint);text-align:right;font-size:.7rem}.mission-form__row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.share-modal-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:50;background:#070b08ad;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.share-modal{background:linear-gradient(#131a14fa 0%,#0f1410fc 100%);border:1px solid #7a8e7038;border-radius:18px;flex-direction:column;gap:12px;width:min(100%,860px);padding:18px;display:flex;box-shadow:0 24px 60px #0000006b}.share-modal__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.share-modal__header--nested{margin-bottom:8px}.share-modal__header strong{color:#edf3dd;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;font-size:1rem;display:block}.share-modal__header span,.share-modal__note,.share-modal__qr-block span{color:var(--text-dim);font-size:.82rem}.share-modal__grid,.share-modal__result,.share-modal__actions{flex-wrap:wrap;gap:10px;display:flex}.share-modal__field,.share-modal__link-block,.share-modal__qr-block{flex-direction:column;gap:6px;display:flex}.share-modal__field{flex:260px}.share-modal__field span{color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.share-modal__field input,.share-modal__field select,.share-modal__link-block input{width:100%;color:var(--text);background:#0a0e0bd1;border:1px solid #7a8e7047;border-radius:10px;padding:9px 12px}.share-modal__actions{align-items:center}.share-modal__result{align-items:stretch}.share-modal__link-block{flex:360px}.share-modal__qr-block{background:#0c110d99;border:1px solid #7a8e7029;border-radius:14px;justify-content:center;align-items:center;min-width:200px;padding:14px}.share-modal__qr-block svg{max-width:100%;height:auto}.share-modal__access-list,.share-modal__access-items{flex-direction:column;gap:10px;display:flex}.share-modal__access-item{background:#0c110d8f;border:1px solid #7a8e7029;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.share-modal__access-item strong{color:#edf3dd;margin-bottom:4px;font-size:.86rem;display:block}.share-modal__access-item span{color:var(--text-dim);font-size:.78rem}.mission-editor-page__planner{flex:auto;min-height:0;display:flex;position:relative;overflow:hidden}.mission-editor-page__planner>*{flex:auto;min-height:0}.mission-editor-page__save-error{z-index:4;max-width:360px;position:absolute;top:12px;right:12px}.app-shell{grid-template-rows:72px minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:10px;height:100%;padding:10px;display:grid}.content-shell{--right-panel-width:325px;--bottom-panel-height:255px;grid-template-rows:minmax(0, 1fr) 10px minmax(170px, var(--bottom-panel-height));min-height:0;display:grid}.top-toolbar{border:1px solid var(--line-strong);box-shadow:var(--shadow);background:linear-gradient(#182018f0 0%,#111712fa 100%),linear-gradient(90deg,#92b15a12 0%,#0000 44%);border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px 18px;padding:12px 18px;display:grid;position:relative;overflow:visible}.top-toolbar:after{content:"";pointer-events:none;opacity:.6;background:linear-gradient(90deg,#b9cc721f 0%,#0000 22%);position:absolute;inset:0}.top-toolbar__brand{z-index:1;justify-content:flex-start;align-self:center;align-items:center;gap:12px;min-width:0;min-height:56px;margin-top:0;display:flex;position:relative}.top-toolbar__logo-shell{justify-content:center;align-items:center;height:56px;padding:0;display:flex}.top-toolbar__logo{border-radius:14px;flex:none;width:46px;height:46px;box-shadow:0 10px 22px #0000003d}.top-toolbar__logo--horizontal{width:320px;height:auto;box-shadow:none;border-radius:0;display:block}.top-toolbar__actions{z-index:1;flex-wrap:wrap;justify-content:flex-end;align-self:center;align-items:center;gap:8px;min-width:0;min-height:56px;margin-top:0;display:flex;position:relative}.top-toolbar__context{z-index:1;flex-wrap:wrap;justify-content:center;align-self:center;align-items:center;gap:10px;min-width:0;min-height:56px;display:flex;position:relative}.toolbar-field{flex-direction:column;justify-content:center;gap:2px;min-width:200px;display:flex}.toolbar-field span{color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;margin-top:-2px;font-size:.7rem}.toolbar-field select,.toolbar-field input{color:var(--text);background:#0a0e0bd1;border:1px solid #7a8e7047;border-radius:8px;padding:8px 9px}.toolbar-uav-control{align-items:center;gap:8px;display:flex;position:relative}.toolbar-uav-control select,.toolbar-uav-control input{min-width:180px}.toolbar-uav-control input::placeholder{color:var(--text-faint)}.toolbar-icon-btn{color:#d8e3ce;cursor:pointer;background:#0a0e0bb8;border:1px solid #7a8e7038;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;display:inline-flex}.toolbar-uav-menu{z-index:12;background:#0c110dfa;border:1px solid #7a8e7038;border-radius:12px;flex-direction:column;gap:4px;min-width:100%;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 14px 30px #00000057}.toolbar-uav-menu__item{color:#d8e3ce;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:8px 10px}.toolbar-uav-menu__item:hover,.toolbar-uav-menu__item.is-active{background:#92b15a24;border-color:#7a8e702e}.btn{color:#d8e3ce;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:linear-gradient(#212a22f5 0%,#181f19f5 100%);border:1px solid #8a9c6b47;border-radius:9px;padding:8px 13px;font-size:.79rem;font-weight:700;transition:transform .11s,background-color .11s,border-color .11s,box-shadow .11s;box-shadow:inset 0 1px #ffffff0a}.btn:hover{border-color:#b9cc726b;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff0d,0 8px 16px #00000038}.btn:focus-visible{border-color:#c6d684b3;outline:none;box-shadow:inset 0 1px #ffffff0d,0 0 0 3px #92b15a24,0 8px 16px #00000038}.btn--active{color:#f4f8e8;background:linear-gradient(#6c833df5 0%,#546630fa 100%);border-color:#c6d68485}.btn--danger{color:#f2d4d1;background:linear-gradient(#4c211ef5 0%,#3b1917f5 100%);border-color:#b85a526b}.btn--wide{width:100%}.workspace{grid-template-columns:minmax(0, 1fr) 10px minmax(260px, var(--right-panel-width));min-height:0;display:grid}.panel-resizer{background:linear-gradient(#6d815914 0%,#6d815938 100%);border-radius:999px;transition:background-color .12s,box-shadow .12s;position:relative}.panel-resizer:before{content:"";border-radius:inherit;opacity:0;background:linear-gradient(#b9cc722e 0%,#4f8f772e 100%);transition:opacity .12s;position:absolute;inset:0}.panel-resizer:hover:before,.panel-resizer.is-active:before{opacity:1}.panel-resizer--vertical{cursor:col-resize;width:10px}.panel-resizer--vertical:after{content:"";background:linear-gradient(#c9d8a3b3 0%,#6f8760d9 100%);border-radius:999px;width:4px;height:74px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.panel-resizer--horizontal{cursor:row-resize;height:10px;margin:6px 0}.panel-resizer--horizontal:after{content:"";background:linear-gradient(90deg,#c9d8a3b3 0%,#6f8760d9 100%);border-radius:999px;width:88px;height:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.panel-resizer.is-active{box-shadow:0 0 0 1px #b9cc7229,0 0 20px #92b15a38}.panel-resizer:focus-visible{outline:none;box-shadow:0 0 0 2px #c6d68433,0 0 0 5px #92b15a1f}.map-canvas{border:1px solid var(--line-strong);width:100%;height:100%;box-shadow:var(--shadow);border-radius:14px;overflow:hidden}.map-canvas-wrap{min-height:0;position:relative}.map-canvas__overlay{color:#f0f4e8;max-width:360px;box-shadow:var(--shadow-soft);z-index:3;background:#101411e6;border:1px solid #e5b96b52;border-radius:11px;flex-direction:column;gap:7px;padding:13px 15px;display:flex;position:absolute;inset:18px auto auto 18px}.map-canvas__overlay strong{letter-spacing:.05em;text-transform:uppercase;color:#f2dfb8;font-size:.84rem}.map-canvas__overlay span{color:#c5cfbd;font-size:.78rem;line-height:1.45}.map-canvas__legend{min-width:220px;box-shadow:var(--shadow-soft);z-index:3;background:#0c100de0;border:1px solid #7a8e7038;border-radius:11px;padding:12px 14px;position:absolute;top:18px;right:18px}.map-canvas__legend strong{color:#edf3dd;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;font-size:.78rem;display:block}.map-canvas__legend ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.map-canvas__legend li{color:var(--text-dim);align-items:center;gap:8px;font-size:.77rem;display:flex}.map-legend-swatch{background:#7aa2f7;border-radius:999px;width:10px;height:10px;box-shadow:0 0 0 1px #ffffff14}.map-legend-swatch--active{background:#23b5d3}.right-panel,.bottom-panel{border:1px solid var(--line);min-height:0;box-shadow:var(--shadow);background:linear-gradient(#131a14f5 0%,#0f1410fa 100%),linear-gradient(90deg,#92b15a08 0%,#0000 25%);border-radius:14px}.right-panel{padding:12px;overflow:auto}.right-panel--command-editor{flex-direction:column;gap:10px;display:flex}.panel-block{background:linear-gradient(#1b241df5 0%,#151c16f5 100%);border:1px solid #788c6e2e;border-radius:12px;padding:12px;box-shadow:inset 0 1px #ffffff05}.panel-block+.panel-block{margin-top:10px}.panel-block h3,.bottom-panel__header h3{color:#edf3dd;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:.86rem}.field-label,.bottom-panel__header span,.hint{color:var(--text-dim);font-size:.76rem}.hint--spaced{margin:0 0 10px;display:block}.field-label{letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;display:block}.field-input,.mission-table input,.mission-table select,.bottom-panel select,.bottom-panel input{width:100%;color:var(--text);background:#0a0e0bd1;border:1px solid #7a8e7047;border-radius:8px;margin-bottom:8px;padding:8px 9px}.field-input--compact{margin-bottom:0}.field-input:focus,.mission-table input:focus,.mission-table select:focus{border-color:#b9cc7285;outline:none;box-shadow:0 0 0 3px #92b15a1f}.stat-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.stat-list li{color:var(--text-dim);justify-content:space-between;align-items:center;font-size:.84rem;display:flex}.stat-list strong{color:var(--accent-strong);font-weight:700}.bottom-panel{flex-direction:column;display:flex}.bottom-panel__header{background:linear-gradient(#181f19f5 0%,#131914fa 100%);border-bottom:1px solid #7688692e;justify-content:space-between;align-items:center;padding:11px 14px;display:flex}.command-chip,.support-chip{color:#dbe8bc;letter-spacing:.08em;text-transform:uppercase;background:#92b15a1a;border:1px solid #b9cc722e;border-radius:999px;justify-content:center;align-items:center;padding:4px 8px;font-size:.68rem;font-weight:700;display:inline-flex}.support-chip{color:#c6e4d5;background:#4f8f771f}.vehicle-support-list{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.command-header-card{background:#0c110da3;border:1px solid #7a8e7033;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;padding:10px 11px;display:flex}.command-header-card strong{color:#eef4df;margin-top:7px;font-size:.92rem;display:block}.command-seq{color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.command-description{color:var(--text-dim);margin:0 0 12px;font-size:.8rem;line-height:1.55}.command-field-grid{gap:10px;display:grid}.command-field-card{background:#0d120eb8;border:1px solid #7a8e7029;border-radius:12px;flex-direction:column;gap:7px;padding:10px;display:flex}.command-field-card--empty{justify-content:center}.command-field-card__label{color:#e8efdb;letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;font-size:.77rem;font-weight:700;display:flex}.command-field-card__label em{color:var(--accent-strong);font-size:.7rem;font-style:normal}.command-field-card__hint{color:var(--text-dim);font-size:.73rem;line-height:1.5}.command-notes{background:#1a150d59;border:1px solid #e5b96b29;border-radius:12px;margin-top:12px;padding:10px 11px}.command-notes strong{color:#f0ddb0;letter-spacing:.06em;text-transform:uppercase;font-size:.76rem}.command-notes ul{color:#d6ceb8;margin:8px 0 0;padding-left:18px;font-size:.75rem;line-height:1.5}.terrain-summary{text-transform:uppercase}.terrain-summary--safe{color:#9ece6a}.terrain-summary--caution{color:#f6d98a}.terrain-summary--danger{color:#ff8b8b}.terrain-summary--unknown{color:var(--text-faint)}.terrain-profile{background:#0d120eb8;border:1px solid #7a8e7029;border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.terrain-profile--empty{justify-content:center}.terrain-profile__empty-copy{flex-direction:column;gap:8px;display:flex}.terrain-profile__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.terrain-profile__header strong{color:#edf3dd;letter-spacing:.06em;text-transform:uppercase;font-size:.86rem;display:block}.terrain-profile__header span{color:var(--text-dim);font-size:.74rem}.terrain-profile__summary{color:var(--text-dim);flex-direction:column;align-items:flex-end;gap:4px;font-size:.74rem;display:flex}.terrain-profile__chart{width:100%;height:auto;display:block}.terrain-profile__bg{fill:#090d0af0;stroke:#7a8e7029}.terrain-profile__terrain{fill:none;stroke:#a88d6b;stroke-width:3px;stroke-linejoin:round;stroke-linecap:round}.terrain-profile__flight{fill:none;stroke:#5fd4e8;stroke-width:3px;stroke-linejoin:round;stroke-linecap:round}.terrain-profile__legend{color:var(--text-dim);flex-wrap:wrap;gap:12px;font-size:.74rem;display:flex}.terrain-profile__legend span{align-items:center;gap:6px;display:inline-flex}.terrain-profile__swatch{border-radius:999px;width:12px;height:3px}.terrain-profile__swatch--terrain{background:#a88d6b}.terrain-profile__swatch--flight{background:#5fd4e8}.terrain-badge{letter-spacing:.08em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;min-width:76px;padding:4px 8px;font-size:.7rem;font-weight:700;display:inline-flex}.terrain-badge--safe{color:#9ece6a;background:#9ece6a29}.terrain-badge--caution{color:#f6d98a;background:#f6d98a29}.terrain-badge--danger{color:#ff8b8b;background:#ff6b6b29}.terrain-badge--unknown{color:var(--text-dim);background:#aab59f1f}.table-wrap{min-height:0;overflow:auto}.mission-table{border-collapse:collapse;width:100%;min-width:980px}.mission-table--compact{min-width:920px}.mission-table th,.mission-table td{text-align:left;border-bottom:1px solid #76886921;padding:8px;font-size:.76rem}.mission-table thead th{z-index:1;color:#d8e3ce;letter-spacing:.05em;text-transform:uppercase;background:#111712fa;position:sticky;top:0}.mission-table tbody tr{cursor:pointer;transition:background-color .12s}.mission-table tbody tr:hover{background:#455d3e38}.mission-table tbody tr.is-selected{background:#92b15a2e}.mission-table tbody tr.is-dragging{opacity:.45}.mission-table tbody tr.is-drag-over{background:#7aa2f738;box-shadow:inset 0 2px #7aa2f7bf,inset 0 -2px #7aa2f7bf}.mission-table td{color:#cfd8c6}.table-location,.table-parameter-summary{flex-direction:column;gap:4px;display:flex}.table-location strong,.table-parameter-summary strong{color:#edf3dd;font-size:.75rem}.table-location span,.table-parameter-summary span{color:var(--text-dim);font-size:.72rem;line-height:1.4}.table-location--muted{color:var(--text-faint)}.mission-table input,.mission-table select{margin-bottom:0;font-size:.75rem}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#111712d1}::-webkit-scrollbar-thumb{background:#7a8e7059;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#b9cc726b}@media (width<=980px){.app-shell{grid-template-rows:auto minmax(0,1fr)}.content-shell{grid-template-rows:minmax(0,1fr) 210px}.workspace{grid-template-rows:minmax(0,1fr) 230px;grid-template-columns:minmax(0,1fr)}.panel-resizer{display:none}.top-toolbar{flex-direction:column;align-items:flex-start;gap:10px;min-height:88px;display:flex}.top-toolbar__brand{justify-content:flex-start;align-items:flex-start}.top-toolbar__logo--horizontal{width:240px}.top-toolbar__context,.top-toolbar__actions{flex-wrap:wrap}.toolbar-field{min-width:100%}}
