@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&family=Syne:wght@400;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&family=Syne:wght@400;500;600;700&display=swap";:root{--bg-base:#080c14;--bg-surface:#0d1525;--bg-elevated:#121d30;--bg-overlay:#182338;--accent-primary:#00d4ff;--accent-glow:#00d4ff26;--accent-amber:#f59e0b;--accent-red:#ef4444;--accent-green:#10b981;--accent-violet:#818cf8;--text-primary:#e2eaf5;--text-secondary:#7a92b3;--text-muted:#3d5475;--text-label:#00d4ff;--border-subtle:#00d4ff14;--border-default:#00d4ff2e;--border-active:#00d4ff80;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000080;--shadow-glow:0 0 20px #00d4ff1f;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--radius-xl:22px;--font-display:"Syne", sans-serif;--font-body:"Space Grotesk", sans-serif;--font-mono:"JetBrains Mono", monospace;--ease-out:cubic-bezier(.22, 1, .36, 1);--duration:.2s;--navbar-height:100px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-base);min-height:100%}body{isolation:isolate;color:var(--text-primary);font-family:var(--font-body);background-color:#0000;min-height:100vh;font-size:15px;line-height:1.6;position:relative}body:before{content:"";z-index:-1;pointer-events:none;background-color:var(--bg-base);background-image:url(/background.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;position:fixed;inset:0}#root{z-index:0;min-height:100vh;position:relative}main{top:var(--navbar-height);min-height:calc(100vh - var(--navbar-height));padding:0 10rem;position:relative}@media (width<=1200px){main{padding:0 var(--space-6)}}@media (width<=900px){main{padding:0 var(--space-4)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}h1,h2,h3,h4,h5{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;font-weight:700;line-height:1.2}h1{font-size:clamp(1.8rem,3vw,2.8rem)}h2{font-size:clamp(1.4rem,2.5vw,2rem)}h3{font-size:1.25rem}h4{font-size:1.05rem;font-family:var(--font-body);font-weight:600}p{color:var(--text-secondary)}code,.mono{font-family:var(--font-mono);color:var(--accent-primary);background:var(--accent-glow);border-radius:var(--radius-sm);padding:2px 6px;font-size:.88em}.page-header{margin-bottom:var(--space-7);padding-bottom:var(--space-5);border-bottom:1px solid var(--border-subtle);position:relative}.page-header:after{content:"";background:var(--accent-primary);width:80px;height:2px;box-shadow:0 0 12px var(--accent-primary);position:absolute;bottom:-1px;left:0}.page-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.18em;color:var(--accent-primary);margin-bottom:var(--space-2);font-size:.72rem;display:block}.badge{align-items:center;gap:var(--space-1);font-size:.72rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;border-radius:99px;padding:3px 10px;font-weight:500;display:inline-flex}.badge:before{content:"";border-radius:50%;flex-shrink:0;width:6px;height:6px}.badge-active{color:var(--accent-green);background:#10b9811f;border:1px solid #10b98140}.badge-active:before{background:var(--accent-green);animation:2s infinite pulse-green}.badge-warning{color:var(--accent-amber);background:#f59e0b1f;border:1px solid #f59e0b40}.badge-warning:before{background:var(--accent-amber)}.badge-error{color:var(--accent-red);background:#ef44441f;border:1px solid #ef444440}.badge-error:before{background:var(--accent-red);animation:1.5s infinite pulse-red}.badge-info{background:var(--accent-glow);color:var(--accent-primary);border:1px solid var(--border-default)}.badge-info:before{background:var(--accent-primary)}.badge-neutral{color:var(--text-secondary);border:1px solid var(--border-subtle);background:#ffffff0d}.badge-neutral:before{background:var(--text-muted)}@keyframes pulse-green{0%,to{opacity:1;box-shadow:0 0 #10b98166}50%{box-shadow:0 0 0 4px #10b98100}}@keyframes pulse-red{0%,to{opacity:1;box-shadow:0 0 #ef444480}50%{box-shadow:0 0 0 4px #ef444400}}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);transition:border-color var(--duration) var(--ease-out), box-shadow var(--duration) var(--ease-out), transform var(--duration) var(--ease-out)}.card:hover{border-color:var(--border-default);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.card-title{font-family:var(--font-body);color:var(--text-primary);font-size:.95rem;font-weight:600}.list-styled{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.list-styled li{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-md);border:1px solid var(--border-subtle);color:var(--text-secondary);transition:all var(--duration) var(--ease-out);font-size:.88rem;display:flex;position:relative;overflow:hidden}.list-styled li:before{content:"//";font-family:var(--font-mono);color:var(--accent-primary);opacity:.7;flex-shrink:0;margin-top:1px;font-size:.7rem}.list-styled li:hover{border-color:var(--border-default);color:var(--text-primary);background:var(--bg-overlay)}.list-styled li:hover:after{content:"";background:var(--accent-primary);width:2px;box-shadow:0 0 8px var(--accent-primary);position:absolute;top:0;bottom:0;left:0}.list-data{background:var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:1px;list-style:none;display:flex;overflow:hidden}.list-data li{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--bg-surface);transition:background var(--duration);font-size:.85rem;display:flex}.list-data li:hover{background:var(--bg-elevated)}.list-data .data-key{color:var(--text-muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;flex-shrink:0;font-size:.75rem}.list-data .data-value{color:var(--text-primary);text-align:right;font-weight:500}.list-ranked{gap:var(--space-2);counter-reset:ranked-counter;flex-direction:column;list-style:none;display:flex}.list-ranked li{counter-increment:ranked-counter;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-subtle);transition:all var(--duration) var(--ease-out);display:flex}.list-ranked li:before{content:counter(ranked-counter, decimal-leading-zero);font-family:var(--font-mono);color:var(--accent-primary);background:var(--accent-glow);border:1px solid var(--border-default);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.72rem;font-weight:500;display:flex}.list-ranked li:hover{border-color:var(--border-active);box-shadow:var(--shadow-glow)}.list-timeline{flex-direction:column;gap:0;list-style:none;display:flex;position:relative}.list-timeline:before{content:"";background:var(--border-default);width:1px;position:absolute;top:8px;bottom:8px;left:16px}.list-timeline li{align-items:flex-start;gap:var(--space-4);padding:var(--space-3) var(--space-3);padding-left:calc(var(--space-3) + 8px);display:flex;position:relative}.list-timeline .tl-dot{background:var(--bg-base);border:2px solid var(--border-default);z-index:1;border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:5px;position:relative}.list-timeline .tl-dot.active{background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:0 0 8px var(--accent-primary)}.list-timeline .tl-dot.done{background:var(--accent-green);border-color:var(--accent-green)}.list-timeline .tl-content{padding-bottom:var(--space-4);flex:1}.list-timeline .tl-label{color:var(--text-primary);margin-bottom:2px;font-size:.88rem;font-weight:500}.list-timeline .tl-meta{font-size:.75rem;font-family:var(--font-mono);color:var(--text-muted)}.stats-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.stat-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);transition:all var(--duration) var(--ease-out);position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--accent-primary);opacity:0;height:2px;transition:opacity var(--duration);position:absolute;top:0;left:0;right:0}.stat-card:hover:before{opacity:1}.stat-card:hover{border-color:var(--border-default)}.stat-value{font-family:var(--font-display);color:var(--text-primary);margin-bottom:var(--space-1);font-size:1.9rem;font-weight:800;line-height:1}.stat-label{font-size:.72rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;transition:all var(--duration) var(--ease-out);letter-spacing:.01em;border:none;font-size:.85rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent-primary);color:var(--bg-base);box-shadow:0 0 #00d4ff66}.btn-primary:hover{background:#2ae0ff;transform:translateY(-1px);box-shadow:0 0 16px #00d4ff59}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border-default);background:0 0}.btn-ghost:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-glow)}.btn-danger{color:var(--accent-red);background:#ef44441f;border:1px solid #ef444440}.btn-danger:hover{border-color:var(--accent-red);background:#ef444433}.data-table{border-collapse:collapse;width:100%;font-size:.88rem}.data-table th{text-align:left;padding:var(--space-3) var(--space-4);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);border-bottom:1px solid var(--border-default);font-size:.7rem;font-weight:500}.data-table td{padding:var(--space-3) var(--space-4);color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{color:var(--text-primary);background:#00d4ff08}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.form-label{font-size:.75rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.form-input{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--text-primary);font-family:var(--font-body);transition:border-color var(--duration), box-shadow var(--duration);outline:none;font-size:.9rem}.form-input::placeholder{color:var(--text-muted)}.form-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #00d4ff1a}.alert-banner{align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);margin-bottom:var(--space-4);border-left:3px solid;display:flex}.alert-banner.critical{border-left-color:var(--accent-red);background:#ef444412}.alert-banner.warning{border-left-color:var(--accent-amber);background:#f59e0b12}.alert-banner.info{background:var(--accent-glow);border-left-color:var(--accent-primary)}.alert-title{color:var(--text-primary);margin-bottom:2px;font-size:.9rem;font-weight:600}.alert-body{color:var(--text-secondary);font-size:.83rem}.text-accent{color:var(--accent-primary)}.text-muted{color:var(--text-muted)}.text-green{color:var(--accent-green)}.text-amber{color:var(--accent-amber)}.text-red{color:var(--accent-red)}.font-mono{font-family:var(--font-mono);font-size:.88em}.font-display{font-family:var(--font-display)}.section-gap{margin-bottom:var(--space-7)}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-center{align-items:center;gap:var(--space-3);display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeUp .4s var(--ease-out) both}.animate-in:first-child{animation-delay:0s}.animate-in:nth-child(2){animation-delay:60ms}.animate-in:nth-child(3){animation-delay:.12s}.animate-in:nth-child(4){animation-delay:.18s}.animate-in:nth-child(5){animation-delay:.24s}.animate-in:nth-child(6){animation-delay:.3s}.navbar{z-index:100;position:fixed;top:0;left:0;right:0}.navbar-bar{z-index:102;height:var(--navbar-height);justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-7);display:flex;position:relative}.navbar .logo{gap:.5rem;display:flex}.navbar .logo .icon{background-image:url(/NanoOrbit.svg);background-repeat:no-repeat;background-size:contain;width:40px;height:40px}.navbar-brand{align-items:center;gap:var(--space-3);margin-right:var(--space-7);flex-shrink:0;text-decoration:none;display:flex}.navbar-brand-icon{border-radius:var(--radius-md);background:var(--accent-glow);border:1px solid var(--border-active);justify-content:center;align-items:center;width:30px;height:30px;font-size:.9rem;display:flex;box-shadow:0 0 12px #00d4ff33}.navbar-brand-name{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.01em;font-size:1rem;font-weight:700}.navbar-brand-version{font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:3px;padding:1px 5px;font-size:.62rem}.navbar-nav{align-items:center;gap:var(--space-1);flex:1;list-style:none;display:flex}.navbar-nav a{align-items:center;gap:var(--space-2);border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--duration) var(--ease-out);white-space:nowrap;padding:6px 14px;font-size:.85rem;font-weight:500;text-decoration:none;display:flex;position:relative}.navbar-nav a .nav-icon{opacity:.7;font-size:.8rem}.navbar-nav a:hover{color:var(--text-primary);background:#ffffff0a}.navbar-nav a.active{color:var(--accent-primary);background:var(--accent-glow);border:1px solid var(--border-default)}.navbar-nav a.active .nav-icon{opacity:1}.nav-badge{min-width:16px;height:16px;font-size:.65rem;font-weight:600;font-family:var(--font-mono);background:var(--accent-red);color:#fff;border-radius:8px;justify-content:center;align-items:center;padding:0 4px;animation:2s infinite pulse-red;display:inline-flex}.navbar .links{-webkit-backdrop-filter:blur(16px)saturate(1.4);border-bottom:1px solid var(--border-subtle);background:#080c1440;border-radius:50px;align-items:center;gap:1rem;padding:.3rem .5rem;display:flex}.navbar .links a{color:var(--text-primary);padding:.5rem 2rem;text-decoration:none}.navbar .links .active{color:#080c14d9;background:#fff;border-radius:50px;align-items:center;display:flex}.navbar-session{align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.navbar-user{color:var(--text-secondary);background:0 0;flex-direction:column;align-items:flex-end;gap:2px;padding:0;font-size:.75rem;display:flex}.navbar-role{color:var(--accent-primary);text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}.navbar-logout{white-space:nowrap}.navbar-desktop{align-items:center;gap:var(--space-4);flex:1;justify-content:flex-end;min-width:0;display:flex}@media (width>=1501px){.navbar-desktop .links{z-index:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.navbar .logo,.navbar-session{z-index:2;position:relative}}.navbar-toggle{-webkit-backdrop-filter:blur(12px);cursor:pointer;background:#080c148c;border:.5px solid #ffffff1f;border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;display:none}.navbar-toggle-bar{background:var(--text-primary);border-radius:99px;width:100%;height:2px;transition:transform .2s,opacity .2s;display:block}.navbar--open .navbar-toggle-bar:first-child{transform:translateY(7px)rotate(45deg)}.navbar--open .navbar-toggle-bar:nth-child(2){opacity:0}.navbar--open .navbar-toggle-bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.navbar-mobile-menu{top:var(--navbar-height);z-index:101;gap:var(--space-4);padding:var(--space-4);-webkit-backdrop-filter:blur(20px);max-height:calc(100vh - var(--navbar-height));background:#080c14eb;border-bottom:.5px solid #ffffff1a;flex-direction:column;display:flex;position:fixed;left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px #00000059}.navbar-mobile-menu[hidden]{display:none!important}.navbar-mobile-links{flex-direction:column;gap:8px;display:flex}.navbar-mobile-links a{color:var(--text-primary);background:#ffffff0a;border:.5px solid #ffffff14;border-radius:24px;padding:14px 18px;font-size:.95rem;font-weight:500;text-decoration:none;transition:background .2s,border-color .2s,color .2s;display:block}.navbar-mobile-links a:hover{background:#ffffff14}.navbar-mobile-links a.active{color:#080c14e6;background:#fff;border-color:#0000}.navbar-mobile-session{gap:var(--space-3);padding:var(--space-4);background:#ffffff0a;border:.5px solid #ffffff14;border-radius:24px;flex-direction:column;display:flex}.navbar-mobile-user{flex-direction:column;gap:4px;display:flex}.navbar-mobile-user-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#ffffff8c;font-size:.68rem;font-weight:600}.navbar-mobile-user strong{color:var(--text-primary);font-size:.95rem}.navbar-mobile-logout{justify-content:center;width:100%}.navbar-backdrop{z-index:99;cursor:pointer;background:#04081073;border:none;margin:0;padding:0;position:fixed;inset:0}.navbar-end{align-items:center;gap:var(--space-3);margin-left:auto;display:flex}.navbar-status{align-items:center;gap:var(--space-2);font-family:var(--font-mono);color:var(--accent-green);background:#10b98114;border:1px solid #10b98133;border-radius:99px;padding:4px 10px;font-size:.72rem;display:flex}.navbar-status:before{content:"";background:var(--accent-green);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2s infinite pulse-green}@media (width<=1500px){:root{--navbar-height:80px}.navbar-bar{padding:var(--space-3) var(--space-4)}.navbar .logo h2{font-size:1.1rem}.navbar .logo .icon{width:32px;height:32px}.navbar-desktop{display:none}.navbar-toggle{display:flex}}@media (width<=768px){.navbar-brand-version,.navbar-nav a span:not(.nav-icon):not(.nav-badge){display:none}}.layout{min-height:100vh;padding-top:60px;display:flex}.layout-main{min-width:0;padding:var(--space-7) var(--space-7);flex:1}@media (width<=1024px){.layout-main{padding:var(--space-6) var(--space-5)}}@media (width<=640px){.layout-main{padding:var(--space-5) var(--space-4)}}.layout-inner{width:100%;max-width:1200px;margin:0 auto}.content-grid{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.content-grid.cols-3{grid-template-columns:repeat(3,1fr)}.content-grid.cols-auto{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.col-span-2{grid-column:span 2}.col-span-full{grid-column:1/-1}@media (width<=900px){.content-grid,.content-grid.cols-3{grid-template-columns:1fr}.col-span-2{grid-column:span 1}}.section{margin-bottom:var(--space-7)}.section-title{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.section-title h2{font-size:1.1rem;font-family:var(--font-body);color:var(--text-primary);font-weight:600}.section-title:after{content:"";background:var(--border-subtle);flex:1;height:1px}.layout-sidebar{width:260px;padding:var(--space-5) var(--space-4);border-right:1px solid var(--border-subtle);background:var(--bg-surface);flex-shrink:0;height:calc(100vh - 60px);position:sticky;top:60px;overflow-y:auto}@media (width<=1024px){.layout-sidebar{display:none}}.layout-footer{margin-top:var(--space-8);padding:var(--space-5) 0;border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.footer-info{font-family:var(--font-mono);color:var(--text-muted);font-size:.72rem}.fullpage-card{justify-content:center;align-items:center;gap:var(--space-4);text-align:center;min-height:40vh;color:var(--text-muted);flex-direction:column;display:flex}.fullpage-card .icon{opacity:.4;font-size:2.5rem}.satellites-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.satellite-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);transition:all var(--duration) var(--ease-out);position:relative;overflow:hidden}.satellite-card:after{content:"";pointer-events:none;background:radial-gradient(circle,#00d4ff0f 0%,#0000 70%);width:100px;height:100px;position:absolute;top:-40px;right:-40px}.satellite-card:hover{border-color:var(--border-default);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.satellite-name{font-family:var(--font-mono);color:var(--accent-primary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-1);font-size:.8rem;font-weight:500}.satellite-title{color:var(--text-primary);margin-bottom:var(--space-4);font-size:1rem;font-weight:600}.satellite-meta{gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-subtle);grid-template-columns:1fr 1fr;display:grid}.satellite-meta-item{flex-direction:column;gap:2px;display:flex}.satellite-meta-label{font-size:.68rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.satellite-meta-value{color:var(--text-primary);font-size:.88rem;font-weight:500}.signal-bar{align-items:center;gap:var(--space-2);margin-top:var(--space-3);display:flex}.signal-bar-label{font-size:.72rem;font-family:var(--font-mono);color:var(--text-muted);flex-shrink:0;width:40px}.signal-bar-track{background:var(--bg-overlay);border-radius:99px;flex:1;height:4px;overflow:hidden}.signal-bar-fill{background:linear-gradient(90deg, var(--accent-primary), #00d4ff99);height:100%;transition:width .8s var(--ease-out);border-radius:99px}.signal-bar-value{font-size:.72rem;font-family:var(--font-mono);color:var(--accent-primary);text-align:right;flex-shrink:0;width:32px}.comms-panel{gap:var(--space-5);grid-template-columns:1fr 340px;display:grid}@media (width<=900px){.comms-panel{grid-template-columns:1fr}}.message-feed{gap:var(--space-3);flex-direction:column;display:flex}.message-item{gap:var(--space-3);padding:var(--space-4);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:border-color var(--duration);display:flex}.message-item:hover{border-color:var(--border-default)}.message-item.unread{border-left:2px solid var(--accent-primary);background:#00d4ff08}.message-avatar{border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-default);width:36px;height:36px;font-size:.8rem;font-family:var(--font-mono);color:var(--accent-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.message-content{flex:1;min-width:0}.message-header{margin-bottom:var(--space-1);justify-content:space-between;align-items:center;display:flex}.message-from{color:var(--text-primary);font-size:.88rem;font-weight:600}.message-time{font-family:var(--font-mono);color:var(--text-muted);font-size:.72rem}.message-subject{color:var(--text-secondary);margin-bottom:2px;font-size:.85rem}.message-preview{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.mission-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);transition:all var(--duration) var(--ease-out)}.mission-card:hover{border-color:var(--border-default);box-shadow:var(--shadow-glow)}.mission-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:flex-start;display:flex}.mission-id{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}.progress-track{background:var(--bg-overlay);height:6px;margin:var(--space-3) 0;border-radius:99px;overflow:hidden}.progress-fill{height:100%;transition:width 1s var(--ease-out);border-radius:99px;position:relative}.progress-fill.in-progress{background:linear-gradient(90deg, var(--accent-primary), #00d4ff80)}.progress-fill.in-progress:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d);width:30px;height:100%;animation:1.5s infinite shimmer;position:absolute;top:0;right:0}.progress-fill.completed{background:var(--accent-green)}.progress-fill.paused{background:var(--accent-amber)}@keyframes shimmer{0%{opacity:0;transform:translate(-20px)}50%{opacity:1}to{opacity:0;transform:translate(10px)}}.progress-labels{font-family:var(--font-mono);color:var(--text-muted);margin-top:var(--space-2);justify-content:space-between;font-size:.72rem;display:flex}.alert-list{gap:var(--space-2);flex-direction:column;display:flex}.alert-item{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--duration) var(--ease-out);cursor:pointer;border-left:3px solid;display:flex}.alert-item:hover{background:var(--bg-elevated);transform:translate(2px)}.alert-item.critical{border-left-color:var(--accent-red);background:#ef44440a}.alert-item.warning{border-left-color:var(--accent-amber);background:#f59e0b0a}.alert-item.info{border-left-color:var(--accent-primary);background:#00d4ff08}.alert-item.resolved{border-left-color:var(--accent-green);opacity:.6}.alert-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;display:flex}.alert-item.critical .alert-icon{background:#ef44441f}.alert-item.warning .alert-icon{background:#f59e0b1f}.alert-item.info .alert-icon{background:var(--accent-glow)}.alert-item.resolved .alert-icon{background:#10b9811f}.alert-body{flex:1;min-width:0}.alert-item-title{color:var(--text-primary);margin-bottom:2px;font-size:.9rem;font-weight:600}.alert-item-detail{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.alert-meta{align-items:flex-end;gap:var(--space-1);flex-direction:column;flex-shrink:0;display:flex}.alert-timestamp{font-family:var(--font-mono);color:var(--text-muted);font-size:.7rem}.filter-bar{align-items:center;gap:var(--space-2);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.filter-chip{border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;transition:all var(--duration) var(--ease-out);background:0 0;border-radius:99px;padding:5px 14px;font-size:.78rem;font-weight:500}.filter-chip:hover,.filter-chip.active{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-glow)}.login-page{min-height:100vh;padding:var(--space-6);justify-content:center;align-items:center;display:flex}.login-card{width:min(100%,440px);padding:var(--space-6) var(--space-7)}.login-card:hover{transform:none}.login-header{gap:var(--space-4);margin-bottom:var(--space-6);align-items:flex-start;display:flex}.login-header h1{margin-bottom:var(--space-1);font-size:1.6rem}.login-header p{font-size:.88rem}.login-logo{filter:drop-shadow(0 0 12px #00d4ff59);flex-shrink:0}.login-form{gap:var(--space-5);flex-direction:column;display:flex}.login-submit{width:100%;padding:var(--space-3) var(--space-5);justify-content:center}.login-error{margin-bottom:0}.login-hint{margin-top:var(--space-5);font-size:.8rem;line-height:1.5}.login-roles{margin-top:var(--space-5)}.auth-loading{min-height:100vh;color:var(--text-secondary);font-family:var(--font-mono);justify-content:center;align-items:center;font-size:.85rem;display:flex}.satShell{-webkit-backdrop-filter:blur(16px);background:#080c14d9;border:.5px solid #ffffff14;border-radius:50px;max-width:1500px;padding:20px;font-family:Syne,sans-serif;position:relative;top:50%;left:50%;transform:translate(-50%)}.headerRow{border-bottom:.5px solid #ffffff0f;justify-content:space-around;align-items:center;margin-bottom:8px;padding:4px 20px 12px;display:flex}.hcell{letter-spacing:.1em;text-transform:uppercase;color:#fff;text-align:center;flex-shrink:0;width:100px;font-size:9px;font-weight:600}.satRow{cursor:default;background:#ffffff0a;border:.5px solid #ffffff12;border-radius:50px;justify-content:space-around;align-items:center;gap:14px;margin-bottom:8px;padding:12px 20px;transition:background .2s,border-color .2s;display:flex}.satRow:last-child{margin-bottom:0}.satRow:hover{background:#ffffff14;border-color:#ffffff21}.satIcon{color:#b4d2ffb3;background:#ffffff12;border:.5px solid #ffffff1f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.satId{color:var(--text-primary);letter-spacing:.02em;flex-shrink:0;min-width:64px;font-family:Space Mono,monospace;font-size:14px}.divider{background:#ffffff1a;flex-shrink:0;width:.5px;height:20px}.satName{color:#ffffffe6;flex-shrink:0;min-width:120px;font-size:16px;font-weight:600}.satFormatBadge{text-align:center;letter-spacing:.01em;border-radius:5px;flex-shrink:0;min-width:34px;padding:3px 8px;font-family:Space Mono,monospace;font-size:14px;font-weight:700}.fmt1u{color:#f09595;background:#e24b4a38;border:.5px solid #e24b4a59}.fmt3u{color:#fac775;background:#ba751738;border:.5px solid #ba751759}.fmt6u{color:#c0dd97;background:#63992238;border:.5px solid #63992259}.fmt12u{color:#85b7eb;background:#378add38;border:.5px solid #378add59}.satCell{color:#ffffff8c;flex-shrink:0;font-size:12px}.w88{min-width:88px}.w72{min-width:72px}.w56{min-width:56px}.satCell strong{color:#ffffffd1;font-size:16px;font-weight:500;display:block}.orbitPill{letter-spacing:.06em;text-transform:uppercase;border-radius:20px;padding:2px 9px;font-size:10px;font-weight:600;display:inline-block}.orbitleo{color:#afa9ec;background:#7f77dd2e;border:.5px solid #7f77dd4d}.orbitmeo{color:#5dcaa5;background:#1d9e752e;border:.5px solid #1d9e754d}.orbitgeo{color:#ed93b1;background:#d4537e2e;border:.5px solid #d4537e4d}.orbitsso{color:#85b7eb;background:#378add2e;border:.5px solid #378add4d}.satBatteryCell strong{white-space:nowrap;font-family:Space Mono,monospace}.batHigh strong{color:#97c459}.batMed strong{color:#ef9f27}.batLow strong{color:#e24b4a}.satState{text-align:center;color:#ffffff8c;padding:48px 24px;font-size:14px}.satStateError{color:#f09595}.satPage{width:100%;min-width:0;max-width:1500px;margin:0 auto}.satPage .satShell.satListShell{box-sizing:border-box;-webkit-overflow-scrolling:touch;scrollbar-width:thin;width:100%;max-width:100%;position:relative;top:auto;left:auto;overflow-x:auto;transform:none}.satListShell .headerRow,.satListShell .satRow{grid-template-columns:36px minmax(56px,72px) 1px minmax(80px,1.2fr) minmax(40px,52px) minmax(80px,96px) minmax(52px,68px) minmax(56px,72px) minmax(88px,1fr);justify-content:stretch;align-items:center;gap:10px 12px;min-width:820px;display:grid}.satListShell .headerRow{justify-content:stretch;padding-left:20px;padding-right:20px}.satListShell .satRow{justify-content:stretch}.satListShell .headerRow>*,.satListShell .satRow>*{text-align:center;width:auto;min-width:0}.satListShell .satIcon{justify-self:center;width:36px}.satListShell .satId{min-width:0}.satListShell .divider{justify-self:center;width:1px}.satListShell .satName{text-align:center;text-overflow:ellipsis;white-space:nowrap;justify-self:stretch;min-width:0;overflow:hidden}.satListShell .hcellFmt,.satListShell .satFormatBadge{justify-self:center;width:auto;min-width:40px;max-width:52px}.satListShell .hcell.w88,.satListShell .satCell.w88,.satListShell .hcell.w72,.satListShell .satCell.w72,.satListShell .hcell.w56,.satListShell .satCell.w56,.satListShell .hcellBat,.satListShell .satBatteryCell{justify-self:center;min-width:0}.satListShell .satRow *{width:auto;text-align:inherit}@media (width<=600px){.satListShell{border-radius:24px;padding:12px}.satListShell .headerRow,.satListShell .satRow{grid-template-columns:32px minmax(52px,64px) 1px minmax(72px,1fr) minmax(36px,48px) minmax(72px,88px) minmax(48px,60px) minmax(52px,64px) minmax(80px,1fr);gap:8px;min-width:760px;padding-left:12px;padding-right:12px}.satListShell .hcell{letter-spacing:.08em;font-size:8px}.satListShell .satFormatBadge{min-width:34px;max-width:48px;padding:3px 6px;font-size:12px}.satListShell .satCell strong{font-size:14px}.satListShell .orbitPill{padding:2px 7px;font-size:9px}.satListShell .satBatteryCell strong{font-size:14px}}.commPage{width:100%;min-width:0;max-width:1500px;padding-bottom:var(--space-6);flex-direction:column;gap:20px;margin:0 auto;display:flex}.commPage .satShell.commShell,.commPage .planShell{box-sizing:border-box;width:100%;max-width:100%;position:relative;top:auto;left:auto;transform:none}.commPage .satShell.commShell{-webkit-overflow-scrolling:touch;scrollbar-width:thin;overflow-x:auto}.planShell{padding:var(--space-6) var(--space-7)}.planShell:hover{transform:none}.planHeader{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:.5px solid #ffffff14;display:flex}.planHeader h2{margin-bottom:var(--space-1);font-size:1.35rem}.planSubtitle{color:var(--text-secondary);font-size:.88rem}.planRoleTag{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#85b7eb;background:#378add26;border:.5px solid #378add59;border-radius:20px;flex-shrink:0;padding:4px 12px;font-size:.68rem;font-weight:600}.planForm select.form-input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;cursor:pointer}.planFormGrid{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.planForm .form-input{width:100%}.planForm .form-input[type=datetime-local]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.planFeedback{margin-top:var(--space-5);margin-bottom:0}.planActions{margin-top:var(--space-6);justify-content:flex-end;display:flex}.planSubmit{padding:var(--space-3) var(--space-6)}.planState{text-align:center;padding:var(--space-5);color:var(--text-secondary);font-size:.9rem}.planStateError{color:#f09595}@media (width<=600px){.planShell{padding:var(--space-5);border-radius:24px}.planHeader{flex-direction:column;align-items:flex-start}.planActions{justify-content:stretch}.planSubmit{justify-content:center;width:100%}}.satPage{width:100%;min-width:0;max-width:1500px;padding-bottom:var(--space-6);flex-direction:column;gap:20px;margin:0 auto;display:flex}.satPage .satShell{box-sizing:border-box;width:100%;max-width:100%;position:relative;top:auto;left:auto;transform:none}.statutShell,.desorbShell{margin-top:0}.statutSatList{margin-bottom:var(--space-6);flex-direction:column;gap:8px;display:flex}.statutSatHeader,.statutSatRow{grid-template-columns:minmax(88px,120px) minmax(120px,1fr) minmax(120px,160px);align-items:center;gap:12px;padding:0 4px;display:grid}.statutSatHeader{letter-spacing:.1em;text-transform:uppercase;color:#ffffffa6;border-bottom:.5px solid #ffffff14;padding-bottom:8px;font-size:9px;font-weight:600}.statutSatRow{background:#ffffff0a;border:.5px solid #ffffff12;border-radius:24px;padding:10px 16px;transition:background .2s,border-color .2s}.statutSatRow:hover{background:#ffffff12}.statutSatRowSelected{background:#378add1a;border-color:#378add59}.statutSatId{color:#ffffffe6;font-family:Space Mono,monospace;font-size:13px}.statutSatNom{color:#ffffffe0;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.statutBadge{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:20px;padding:4px 10px;font-family:Space Mono,monospace;font-size:10px;font-weight:700;display:inline-block}.statutBadgeOperationnel{color:#97c459;background:#97c45938;border:.5px solid #97c45966}.statutBadgeVeille{color:#ef9f27;background:#ef9f2738;border:.5px solid #ef9f2766}.statutBadgeDesorbite{color:#afa9ec;background:#7f77dd38;border:.5px solid #7f77dd66}.statutBadgeDefaillant{color:#f09595;background:#e24b4a38;border:.5px solid #e24b4a66}.statutForm{padding-top:var(--space-5);border-top:.5px solid #ffffff14}.desorbNote{color:var(--text-secondary)}.planRoleTagDanger{color:#f09595;background:#ef444426;border-color:#ef444459}.desorbConfirm{padding:var(--space-4);background:#ef444414;border:.5px solid #ef444440;border-radius:14px}.desorbConfirmTitle{margin:0 0 var(--space-2);color:var(--accent-red);font-size:1.05rem;font-weight:600}.desorbConfirmText{margin:0 0 var(--space-4);color:var(--text-secondary);line-height:1.5}.desorbConfirmActions{gap:var(--space-3);flex-wrap:wrap;display:flex}@media (width<=700px){.statutSatHeader,.statutSatRow{text-align:left;grid-template-columns:1fr;gap:6px}.statutSatHeader span:not(:first-child){display:none}.statutSatRow{border-radius:18px}}.comHighlight{background:#378add1f;border:.5px solid #378add59;border-radius:50px;align-items:center;gap:12px;margin-bottom:12px;padding:14px 24px;display:flex}.comHighlightBadge{letter-spacing:.12em;text-transform:uppercase;color:#85b7eb;background:#378add40;border:.5px solid #378add73;border-radius:20px;flex-shrink:0;padding:4px 10px;font-family:Space Mono,monospace;font-size:9px;font-weight:700}.comHighlightText{color:#ffffffe0;min-width:0;font-size:14px}.comHighlightText strong{color:#fff;font-weight:600}.comHighlightVol{color:#85b7eb;flex-shrink:0;margin-left:auto;font-family:Space Mono,monospace;font-size:13px}.commRowActive{background:#378add1a;border-color:#378add59}.commRowActive:hover{background:#378add24}.commShell .headerRow,.commShell .commRow{grid-template-columns:36px minmax(56px,72px) 1px minmax(80px,1.2fr) minmax(52px,64px) minmax(76px,92px) minmax(68px,84px) minmax(100px,1.2fr) minmax(76px,88px);justify-content:stretch;align-items:center;gap:10px 12px;display:grid}.commShell .headerRow{justify-content:stretch;padding-left:20px;padding-right:20px}.commShell .commRow{justify-content:stretch}.commShell .headerRow>*,.commShell .commRow>*{text-align:center;width:auto;min-width:0}.commShell .commRow *{width:auto;text-align:inherit}.commShell .satIcon{justify-self:center;width:36px}.commShell .satId{min-width:0}.commShell .divider{justify-self:center;width:1px}.commShell .satName{text-align:center;text-overflow:ellipsis;white-space:nowrap;justify-self:stretch;min-width:0;overflow:hidden}.commShell .hcellName{text-align:center}.commShell .hcellFen,.commShell .commFenBadge{justify-self:center;width:auto;min-width:52px;max-width:64px}.commFenBadge{color:#afa9ec;box-sizing:border-box;background:#7f77dd38;border:.5px solid #7f77dd59;border-radius:5px;flex-shrink:0;padding:3px 10px;font-family:Space Mono,monospace;font-size:14px;font-weight:700;line-height:1.2}.commShell .hcellVol,.commShell .commVolCell,.commShell .hcellMoy,.commShell .commMoyCell{justify-self:center}.commVolCell strong,.commMoyCell strong{font-family:Space Mono,monospace;font-size:14px}.commShell .satCell.w120{justify-self:center;min-width:0;max-width:100%}.commShell .satCell.w120 strong{font-size:16px;font-weight:500}.commShell .hcellStations,.commShell .commStationsCell{justify-self:stretch;width:100%;min-width:0;max-width:100%;overflow:hidden}.commStationsCell{justify-content:center;align-items:center;display:flex}.commStationsPill{letter-spacing:.06em;color:#5dcaa5;white-space:nowrap;box-sizing:border-box;background:#1d9e752e;border:.5px solid #1d9e754d;border-radius:20px;max-width:100%;padding:3px 10px;font-family:Space Mono,monospace;font-size:14px;font-weight:600;display:inline-block}.commState{text-align:center;color:#ffffff8c;padding:48px 24px;font-size:14px}.commStateError{color:#f09595}.commShell .headerRow,.commShell .commRow{min-width:880px}@media (width<=1100px){.commShell .hcellFen,.commShell .commFenBadge{min-width:52px;max-width:64px}}@media (width<=600px){.comHighlight{border-radius:24px;flex-wrap:wrap;padding:12px 16px}.comHighlightVol{text-align:right;width:100%;margin-left:0}.commShell{border-radius:24px;padding:12px}.commShell .headerRow,.commShell .commRow{grid-template-columns:32px minmax(52px,64px) 1px minmax(72px,1fr) minmax(44px,56px) minmax(68px,80px) minmax(60px,76px) minmax(96px,1.1fr) minmax(64px,76px);gap:8px;min-width:800px;padding-left:12px;padding-right:12px}.commShell .hcell{letter-spacing:.08em;font-size:8px}.commShell .hcellFen{min-width:44px;max-width:56px}.commFenBadge{min-width:40px;max-width:52px;padding:3px 8px;font-size:12px}.commShell .satCell.w120 strong{font-size:14px}.commStationsPill{padding:3px 8px;font-size:12px}}.missionHighlight{background:#fbbf241f;border:.5px solid #fbbf2459;border-radius:50px;align-items:center;gap:12px;margin-bottom:12px;padding:14px 24px;display:flex}.missionHighlightBadge{letter-spacing:.12em;text-transform:uppercase;color:#fac775;background:#fbbf2440;border:.5px solid #fbbf2473;border-radius:20px;flex-shrink:0;padding:4px 10px;font-family:Space Mono,monospace;font-size:9px;font-weight:700}.missionHighlightText{color:#ffffffe0;min-width:0;font-size:14px}.missionHighlightText strong{color:#fff;font-weight:600}.missionRowSousDotee{background:#fbbf241a;border-color:#fbbf2459}.missionRowSousDotee:hover{background:#fbbf2424}.missionsPage{width:100%;min-width:0;max-width:1500px;padding-bottom:var(--space-6);flex-direction:column;gap:20px;margin:0 auto;display:flex}.missionsPage .satShell.missionShell,.missionsPage .satShell.planShell{box-sizing:border-box;width:100%;max-width:100%;position:relative;top:auto;left:auto;transform:none}.missionsPage .satShell.missionShell{-webkit-overflow-scrolling:touch;scrollbar-width:thin;overflow-x:auto}.missionShell .headerRow,.missionShell .missionRow{grid-template-columns:36px minmax(72px,96px) 1px minmax(90px,1.2fr) minmax(88px,1fr) minmax(88px,100px) minmax(72px,88px) 28px minmax(72px,88px) minmax(84px,96px);justify-content:stretch;align-items:center;gap:10px 12px;min-width:980px;display:grid}.missionShell .headerRow{justify-content:stretch;padding-left:20px;padding-right:20px}.missionShell .missionRow{cursor:default;background:#ffffff0a;border:.5px solid #ffffff12;border-radius:50px;margin-bottom:8px;padding:12px 20px;transition:background .2s,border-color .2s}.missionShell .missionRow:last-child{margin-bottom:0}.missionShell .missionRow:hover{background:#ffffff14;border-color:#ffffff21}.missionShell .headerRow>*,.missionShell .missionRow>*{text-align:center;width:auto;min-width:0}.missionShell .satIcon{justify-self:center;width:36px}.missionShell .satId{min-width:0}.missionShell .divider{justify-self:center;width:1px}.missionShell .satName{text-align:center;text-overflow:ellipsis;white-space:nowrap;justify-self:stretch;min-width:0;overflow:hidden}.missionShell .hcellZone,.missionShell .missionZoneCell{justify-self:center;min-width:0}.missionZonePill{letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;color:#5dcaa5;background:#1d9e752e;border:.5px solid #1d9e754d;border-radius:20px;max-width:100%;padding:2px 9px;font-size:10px;font-weight:600;display:inline-block;overflow:hidden}.missionShell .hcellDate,.missionShell .missionDateCell,.missionShell .hcellPart,.missionShell .hcellOp,.missionShell .missionPartBadge,.missionShell .missionOpBadge{justify-self:center}.missionCountSpacer{width:100%;min-width:0}.missionCountBadge{color:#afa9ec;box-sizing:border-box;background:#7f77dd38;border:.5px solid #7f77dd59;border-radius:5px;min-width:40px;padding:3px 10px;font-family:Space Mono,monospace;font-size:14px;font-weight:700;line-height:1.2}.missionOpBadge{color:#85b7eb;background:#378add38;border-color:#378add59}.missionOpBadgeWarn{color:#fac775;background:#fbbf2438;border-color:#fbbf2459}.missionShell .hcellStatus,.missionShell .missionStatusCell{justify-self:center}.missionSousDoteeBadge{letter-spacing:.08em;text-transform:uppercase;color:#fac775;white-space:nowrap;background:#fbbf2438;border:.5px solid #fbbf2466;border-radius:20px;padding:4px 10px;font-family:Space Mono,monospace;font-size:9px;font-weight:700}.missionOkBadge{letter-spacing:.08em;text-transform:uppercase;color:#97c459;background:#97c4592e;border:.5px solid #97c45959;border-radius:20px;padding:4px 10px;font-family:Space Mono,monospace;font-size:9px;font-weight:700}.missionState{text-align:center;color:#ffffff8c;padding:48px 24px;font-size:14px}.missionStateError{color:#f09595}@media (width<=600px){.missionHighlight{border-radius:24px;flex-wrap:wrap;padding:12px 16px}.missionShell{border-radius:24px;padding:12px}.missionShell .headerRow,.missionShell .missionRow{grid-template-columns:32px minmax(64px,80px) 1px minmax(72px,1fr) minmax(72px,.9fr) minmax(76px,92px) minmax(56px,72px) 20px minmax(56px,72px) minmax(72px,84px);gap:8px;min-width:900px;padding-left:12px;padding-right:12px}.missionShell .hcell{letter-spacing:.08em;font-size:8px}.missionCountBadge{min-width:34px;padding:3px 8px;font-size:12px}.missionShell .missionDateCell strong{font-size:14px}.missionZonePill,.missionSousDoteeBadge,.missionOkBadge{padding:3px 8px;font-size:8px}}.alerteHighlight{background:#ffffff0a;border:.5px solid #ffffff1a;border-radius:50px;align-items:center;gap:12px;margin-bottom:12px;padding:14px 24px;display:flex}.alerteHighlightActive{background:#e24b4a1f;border-color:#e24b4a66}.alerteHighlightBadge{text-align:center;color:#ffffffbf;background:#ffffff14;border:.5px solid #ffffff26;border-radius:20px;flex-shrink:0;min-width:36px;padding:4px 10px;font-family:Space Mono,monospace;font-size:18px;font-weight:700}.alerteHighlightActive .alerteHighlightBadge{color:#f09595;background:#e24b4a47;border-color:#e24b4a80}.alerteHighlightText{color:#ffffffe0;text-transform:capitalize;font-size:14px}.alerteHighlightActive .alerteHighlightText{color:#fff}.alerteRowCritique{background:#e24b4a1a;border-color:#e24b4a59}.alerteRowCritique:hover{background:#e24b4a24}.alertesPage{width:100%;min-width:0;max-width:1500px;margin:0 auto}.alertesPage .satShell.alerteShell{box-sizing:border-box;-webkit-overflow-scrolling:touch;scrollbar-width:thin;width:100%;max-width:100%;position:relative;top:auto;left:auto;overflow-x:auto;transform:none}.alerteShell .headerRow,.alerteShell .alerteRow{grid-template-columns:36px minmax(88px,110px) 1px minmax(100px,1.2fr) minmax(80px,100px) minmax(96px,116px) minmax(120px,140px);justify-content:stretch;align-items:center;gap:10px 12px;min-width:820px;display:grid}.alerteShell .headerRow{justify-content:stretch;padding-left:20px;padding-right:20px}.alerteShell .alerteRow{cursor:default;background:#ffffff0a;border:.5px solid #ffffff12;border-radius:50px;margin-bottom:8px;padding:12px 20px;transition:background .2s,border-color .2s}.alerteShell .alerteRow:last-child{margin-bottom:0}.alerteShell .alerteRow:hover{background:#ffffff14;border-color:#ffffff21}.alerteShell .headerRow>*,.alerteShell .alerteRow>*{text-align:center;width:auto;min-width:0}.alerteShell .satIcon{color:#f09595d9;justify-self:center;width:36px}.alerteShell .satId{min-width:0}.alerteShell .satName{text-align:center;text-overflow:ellipsis;white-space:nowrap;justify-self:stretch;min-width:0;overflow:hidden}.alerteShell .hcellType,.alerteShell .alerteTypeCell,.alerteShell .hcellEtat,.alerteShell .alerteEtatCell,.alerteShell .hcellPriorite,.alerteShell .alertePrioriteCell{justify-self:center}.alerteTypeCell strong{color:#ffffffd1;font-family:Space Mono,monospace;font-size:14px;font-weight:500}.alerteEtat{letter-spacing:.04em;white-space:nowrap;border-radius:20px;padding:3px 9px;font-size:10px;font-weight:600;display:inline-block}.alerteEtatDegrade{color:#ef9f27;background:#ef9f2738;border:.5px solid #ef9f2766}.alerteEtatHorsService{color:#f09595;background:#e24b4a38;border:.5px solid #e24b4a66}.alertePriorite{letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border-radius:20px;padding:5px 12px;font-family:Space Mono,monospace;font-size:10px;font-weight:700;display:inline-block}.alertePrioriteCritique{color:#ffb4b4;background:#e24b4a4d;border:.5px solid #e24b4a8c;box-shadow:0 0 12px #e24b4a40}.alertePrioriteSurveillance{color:#fac775;background:#ef9f2747;border:.5px solid #ef9f2780;box-shadow:0 0 10px #ef9f272e}.alerteState{text-align:center;color:#ffffff8c;padding:48px 24px;font-size:14px}.alerteStateError{color:#f09595}@media (width<=600px){.alerteHighlight{border-radius:24px;padding:12px 16px}.alerteShell{border-radius:24px;padding:12px}.alerteShell .headerRow,.alerteShell .alerteRow{grid-template-columns:32px minmax(76px,96px) 1px minmax(88px,1fr) minmax(68px,84px) minmax(84px,100px) minmax(108px,124px);gap:8px;min-width:820px;padding-left:12px;padding-right:12px}.alerteShell .hcell{letter-spacing:.08em;font-size:8px}.alertePriorite{padding:4px 10px;font-size:9px}.alerteEtat{padding:2px 7px;font-size:9px}.alerteTypeCell strong{font-size:12px}}.historiquePage{flex-direction:column;gap:20px;width:100%;min-width:0;max-width:1500px;margin:0 auto;display:flex}.historiqueFilters{-webkit-backdrop-filter:blur(16px);z-index:2;background:#080c14d9;border:.5px solid #ffffff14;border-radius:50px;flex-wrap:wrap;align-items:flex-end;gap:16px 20px;padding:18px 24px;display:flex;position:relative;overflow:visible}.historiqueFilterField{flex-direction:column;flex:1;gap:6px;min-width:180px;display:flex}.historiqueFilterField label{letter-spacing:.1em;text-transform:uppercase;color:#ffffffa6;font-size:9px;font-weight:600}.historiqueFilterInput{color:#ffffffe6;background:#ffffff0f;border:.5px solid #ffffff1f;border-radius:24px;outline:none;padding:10px 16px;font-family:Space Mono,monospace;font-size:13px;transition:border-color .2s,background .2s}.historiqueFilterInput:focus{background:#ffffff14;border-color:#378add80}.historiqueSelect{width:100%;position:relative}.historiqueSelectTrigger{color:#ffffffe6;cursor:pointer;background:#ffffff0f;border:.5px solid #ffffff1f;border-radius:24px;outline:none;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 16px;font-family:Space Mono,monospace;font-size:13px;transition:border-color .2s,background .2s,box-shadow .2s;display:flex}.historiqueSelectTrigger:hover,.historiqueSelectOpen .historiqueSelectTrigger{background:#ffffff14;border-color:#378add73}.historiqueSelectOpen .historiqueSelectTrigger{box-shadow:0 0 0 3px #378add1f}.historiqueSelectValue{text-align:left;min-width:0}.historiqueSelectChevron{color:#ffffff8c;flex-shrink:0;transition:transform .2s}.historiqueSelectOpen .historiqueSelectChevron{color:#85b7eb;transform:rotate(180deg)}.historiqueSelectMenu{z-index:20;-webkit-backdrop-filter:blur(16px);background:#0a0e18fa;border:.5px solid #ffffff24;border-radius:18px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 8px);left:0;right:0;box-shadow:0 12px 32px #00000073}.historiqueSelectOption{text-align:left;color:#ffffffe0;cursor:pointer;background:0 0;border:.5px solid #0000;border-radius:14px;width:100%;padding:10px 14px;font-family:Space Mono,monospace;font-size:13px;transition:background .15s,border-color .15s,color .15s;display:block}.historiqueSelectOption:hover{background:#ffffff0f}.historiqueSelectOptionSelected{color:#fff;background:#378add2e;border-color:#378add59}.historiqueSelectOptionAll.historiqueSelectOptionSelected{background:#ffffff1a;border-color:#ffffff2e}.historiqueSelectOptionRealisee:hover,.historiqueSelectOptionRealisee.historiqueSelectOptionSelected{color:#c0dd97;background:#97c4592e;border-color:#97c45959}.historiqueSelectOptionPlanifiee:hover,.historiqueSelectOptionPlanifiee.historiqueSelectOptionSelected{color:#85b7eb;background:#378add33;border-color:#378add66}.historiqueSelectOptionEchouee:hover,.historiqueSelectOptionEchouee.historiqueSelectOptionSelected{color:#f09595;background:#e24b4a33;border-color:#e24b4a66}.historiqueFilterBtn{letter-spacing:.04em;color:#fff;cursor:pointer;background:#378add59;border:.5px solid #378add8c;border-radius:24px;flex-shrink:0;padding:10px 22px;font-family:Syne,sans-serif;font-size:13px;font-weight:600;transition:background .2s,border-color .2s}.historiqueFilterBtn:hover:not(:disabled){background:#378add7a}.historiqueFilterBtn:disabled{opacity:.6;cursor:default}.historiquePage .satShell.historiqueShell{box-sizing:border-box;-webkit-overflow-scrolling:touch;scrollbar-width:thin;width:100%;max-width:100%;position:relative;top:auto;left:auto;overflow-x:auto;transform:none}.historiqueMeta{color:#ffffff8c;padding:0 8px 10px;font-family:Space Mono,monospace;font-size:12px}.historiqueShell .headerRow,.historiqueShell .historiqueRow{grid-template-columns:36px minmax(48px,60px) minmax(120px,1.1fr) minmax(56px,68px) minmax(72px,88px) minmax(90px,1fr) minmax(72px,88px) minmax(90px,1fr) minmax(64px,76px) minmax(72px,88px) minmax(88px,104px);justify-content:stretch;align-items:center;gap:10px;min-width:1100px;display:grid}.historiqueShell .headerRow{justify-content:stretch;padding-left:20px;padding-right:20px}.historiqueShell .historiqueRow{cursor:default;background:#ffffff0a;border:.5px solid #ffffff12;border-radius:50px;margin-bottom:8px;padding:12px 20px;transition:background .2s,border-color .2s}.historiqueShell .historiqueRow:last-child{margin-bottom:0}.historiqueShell .historiqueRow:hover{background:#ffffff14;border-color:#ffffff21}.historiqueShell .headerRow>*,.historiqueShell .historiqueRow>*{text-align:center;width:auto;min-width:0}.historiqueShell .satIcon{color:#85b7ebd9;justify-self:center;width:36px}.historiqueShell .satId,.historiqueShell .historiqueSatId,.historiqueShell .historiqueStationId{min-width:0}.historiqueShell .satName,.historiqueShell .historiqueStationName strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.historiqueShell .satName{text-align:center;justify-self:stretch}.historiqueDateCell strong,.historiqueDureeCell strong,.historiqueElevCell strong,.historiqueVolCell strong,.historiqueStationName strong{color:#ffffffd1;font-family:Space Mono,monospace;font-size:14px;font-weight:500}.historiqueStatut{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:20px;padding:4px 10px;font-family:Space Mono,monospace;font-size:9px;font-weight:700;display:inline-block}.historiqueStatutRealisee{color:#97c459;background:#97c45938;border:.5px solid #97c45966}.historiqueStatutPlanifiee{color:#85b7eb;background:#378add38;border:.5px solid #378add66}.historiqueStatutEchouee{color:#f09595;background:#e24b4a38;border:.5px solid #e24b4a66}.historiqueState{text-align:center;color:#ffffff8c;padding:48px 24px;font-size:14px}.historiqueStateError{color:#f09595}@media (width<=600px){.historiqueFilters{border-radius:24px;padding:14px 16px}.historiqueFilterField{min-width:100%}.historiqueFilterBtn{width:100%}.historiqueShell{border-radius:24px;padding:12px}.historiqueShell .headerRow,.historiqueShell .historiqueRow{gap:8px;min-width:980px;padding-left:12px;padding-right:12px}.historiqueShell .hcell{letter-spacing:.08em;font-size:8px}.historiqueDateCell strong,.historiqueDureeCell strong,.historiqueElevCell strong,.historiqueVolCell strong,.historiqueStationName strong{font-size:12px}}.instrumentsPage{width:100%;min-width:0;max-width:1500px;padding-bottom:var(--space-6);margin:0 auto;overflow-x:hidden}.instrumentsPage .satShell.instrumentsShell{box-sizing:border-box;width:100%;max-width:100%;position:relative;top:auto;left:auto;overflow:visible;transform:none}.instrumentsListScroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;width:100%;min-width:0;max-width:100%;margin-bottom:var(--space-6);overflow-x:auto}.instrumentsToolbar{margin-bottom:var(--space-5);padding-bottom:var(--space-5);border-bottom:.5px solid #ffffff14;flex-wrap:wrap;align-items:center;gap:16px 24px;display:flex}.instrumentsFilterField{align-items:center;gap:var(--space-3);flex-direction:row;flex:none;display:flex}.instrumentsFilterField .form-label{white-space:nowrap;margin:0}.instrumentsShell .planFeedback{margin-top:var(--space-4);margin-bottom:var(--space-5)}.instrumentsSelect{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;flex-shrink:0;width:280px;max-width:100%}.instrumentsToolbar .instrumentsSatMeta{margin-left:auto}.instrumentsSatMeta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;font-size:.9rem;display:flex}.instrumentsSatLabel{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#ffffff8c;font-size:.68rem;font-weight:600}.instrumentsSatStatut{font-family:var(--font-mono);color:#85b7eb;background:#378add26;border:.5px solid #378add59;border-radius:20px;padding:3px 10px;font-size:.72rem}.instrumentsList{flex-direction:column;gap:8px;min-width:760px;display:flex}.instrumentsHeader,.instrumentsRow{grid-template-columns:minmax(100px,130px) minmax(120px,1fr) minmax(100px,150px) minmax(200px,260px) minmax(110px,130px);align-items:center;gap:12px;padding:0 4px;display:grid}.instrumentsHeader{letter-spacing:.1em;text-transform:uppercase;color:#ffffffa6;border-bottom:.5px solid #ffffff14;padding-bottom:8px;font-size:9px;font-weight:600}.instrumentsRow{background:#ffffff0a;border:.5px solid #ffffff12;border-radius:24px;padding:12px 16px;transition:background .2s,border-color .2s}.instrumentsRow:hover{background:#ffffff12}.instrumentsId{color:#ffffffe6;font-family:Space Mono,monospace;font-size:13px}.instrumentsNom{color:#ffffffe0;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.instrumentsType{color:#ffffffb8;font-size:13px}.instrumentsEtatCell{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.instrumentsEtatSelect{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;flex:1;min-width:140px;padding:8px 12px;font-size:.82rem}.instrEtatBadge{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:20px;flex-shrink:0;padding:4px 10px;font-family:Space Mono,monospace;font-size:10px;font-weight:700;display:inline-block}.instrEtatNominal{color:#97c459;background:#97c45938;border:.5px solid #97c45966}.instrEtatDegrade{color:#ef9f27;background:#ef9f2738;border:.5px solid #ef9f2766}.instrEtatHorsService{color:#f09595;background:#e24b4a38;border:.5px solid #e24b4a66}.instrumentsActions{justify-content:flex-end;display:flex}.instrumentsRemoveBtn{padding:8px 14px;font-size:.78rem}.instrumentsState{text-align:center;padding:var(--space-5);color:var(--text-secondary);font-size:.9rem}.instrumentsStateError{color:#f09595}.instrumentsAddForm{padding-top:var(--space-5);border-top:.5px solid #ffffff14}.instrumentsAddTitle{margin:0 0 var(--space-4);font-size:.78rem;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#ffffff8c;font-weight:600}@media (width<=900px){.instrumentsToolbar .instrumentsSatMeta{flex:100%;justify-content:flex-start;margin-left:0}}@media (width<=640px){.instrumentsSelect{width:min(280px,100%)}}
