@import url("/assets/styles.css");

:root {
  --fms-bg: #05070b;
  --fms-deep: #080d13;
  --fms-surface: #0c131b;
  --fms-card: #0f1720;
  --fms-card-alt: #0a1118;
  --fms-line: #22303c;
  --fms-line-soft: rgba(141, 182, 216, .14);
  --fms-ink: #eff7ff;
  --fms-text: #cad9e6;
  --fms-muted: #8ca4b8;
  --fms-blue: #67bef8;
  --fms-green: #55d99f;
  --fms-amber: #f1bf61;
  --fms-red: #f27a88;
  --fms-shadow: 0 19px 54px rgba(0, 0, 0, .32);
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--fms-bg); }
body.fms-body { min-height: 100vh; margin: 0; color: var(--fms-text); background: radial-gradient(circle at 83% -8%, rgba(47, 131, 206, .15), transparent 27%), radial-gradient(circle at 4% 96%, rgba(25, 129, 93, .07), transparent 27%), var(--fms-bg); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.hidden { display: none !important; }

/* Landing */
.fms-landing { width: min(1440px, 100%); min-height: 100vh; margin: 0 auto; padding: 0 clamp(19px, 6vw, 92px) 44px; }
.fms-landing-nav { display: flex; min-height: 92px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--fms-line-soft); }
.fms-brand { display: inline-flex; align-items: center; gap: 11px; color: var(--fms-ink); text-decoration: none; }
.fms-brand strong { display: block; color: #f4f9ff; font-size: .83rem; font-weight: 950; letter-spacing: .15em; }
.fms-brand small { display: block; margin-top: 3px; color: #82bde7; font-size: .51rem; font-weight: 900; letter-spacing: .14em; }
.fms-crest { display: grid; width: 43px; height: 43px; place-items: center; border: 1px solid rgba(157, 205, 244, .25); border-radius: 12px; background: radial-gradient(circle at 50% 30%, rgba(89, 171, 232, .22), transparent 62%), #0a1620; box-shadow: inset 0 1px rgba(255,255,255,.07), 0 9px 24px rgba(0,0,0,.25); }
.fms-crest img { width: 38px; height: 38px; object-fit: contain; filter: drop-shadow(0 3px 4px rgba(0,0,0,.4)); }
.fms-quiet-link { color: #9db8cc; font-size: .69rem; font-weight: 850; text-decoration: none; }
.fms-quiet-link:hover { color: var(--fms-ink); }
.fms-landing-hero { display: grid; min-height: min(650px, calc(100vh - 225px)); grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr); align-items: center; gap: clamp(40px, 9vw, 140px); padding: 78px 0 55px; }
.fms-kicker { margin: 0; color: var(--fms-blue); font-size: .58rem; font-weight: 950; letter-spacing: .15em; text-transform: uppercase; }
.fms-landing h1 { max-width: 720px; margin: 16px 0 20px; color: var(--fms-ink); font-size: clamp(3.25rem, 6.1vw, 6rem); font-weight: 850; line-height: .91; letter-spacing: -.075em; }
.fms-landing-hero > div:first-child > p:not(.fms-kicker):not(.fms-landing-status) { max-width: 680px; margin: 0; color: #aac0d2; font-size: clamp(.93rem, 1.3vw, 1.07rem); line-height: 1.78; }
.fms-landing-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 29px; }
.fms-button { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; gap: 10px; border: 1px solid transparent; border-radius: 9px; padding: 10px 14px; color: var(--fms-ink); background: #14212c; font-size: .69rem; font-weight: 900; text-decoration: none; transition: transform .16s ease, border-color .16s ease, background .16s ease; }
.fms-button:hover { transform: translateY(-1px); }
.fms-button.primary { border-color: #53a9df; color: #061018; background: linear-gradient(135deg, #86d4ff, #58aeea); box-shadow: 0 10px 27px rgba(46, 145, 207, .22); }
.fms-button.primary:hover { background: linear-gradient(135deg, #a3defd, #6ab9ed); }
.fms-button.subtle { border-color: #2b3c4a; color: #b9cee0; background: rgba(18, 31, 42, .7); }
.fms-button.subtle:hover { border-color: #41617a; color: #edf7ff; background: #142434; }
.fms-button.warning { border-color: #dba64c; color: #25190a; background: linear-gradient(135deg, #f7d682, #e6ab43); }
.fms-button.full { width: 100%; }
.fms-landing-status { max-width: 570px; margin: 17px 0 0; color: #7f99ad; font-size: .67rem; line-height: 1.55; }
.fms-orbital { position: relative; width: min(420px, 31vw); min-width: 350px; aspect-ratio: 1; justify-self: center; }
.fms-orbit-ring { position: absolute; inset: 6%; border: 1px solid rgba(108, 184, 241, .22); border-radius: 50%; }
.ring-one { transform: rotateX(62deg) rotateZ(25deg); }
.ring-two { inset: 18%; border-color: rgba(76, 208, 150, .17); transform: rotateX(62deg) rotateZ(-44deg); }
.fms-orbit-core { position: absolute; inset: 31%; display: grid; place-items: center; border: 1px solid rgba(125, 207, 255, .36); border-radius: 50%; background: radial-gradient(circle at 40% 35%, #244a67, #0c1a26 63%); box-shadow: 0 0 0 19px rgba(61, 152, 214, .035), 0 0 68px rgba(72, 164, 223, .17); }
.fms-orbit-core img { width: 69%; height: 69%; object-fit: contain; filter: drop-shadow(0 5px 5px rgba(0,0,0,.42)); }
.orbit-label { position: absolute; padding: 6px 8px; border: 1px solid rgba(131, 183, 223, .17); border-radius: 6px; color: #9fc9e7; background: rgba(9, 17, 25, .78); font-size: .48rem; font-weight: 900; letter-spacing: .1em; white-space: nowrap; }
.orbit-label.top { top: 4%; left: 38%; }.orbit-label.left { top: 50%; left: -10%; }.orbit-label.right { top: 34%; right: -15%; }.orbit-label.bottom { bottom: 6%; left: 29%; color: #90dcb8; }
.fms-landing-rules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--fms-line-soft); border-bottom: 1px solid var(--fms-line-soft); }
.fms-landing-rules article { display: flex; min-height: 92px; align-items: center; gap: 13px; padding: 19px 22px; border-right: 1px solid var(--fms-line-soft); }.fms-landing-rules article:first-child { padding-left: 0; }.fms-landing-rules article:last-child { border-right: 0; }
.fms-landing-rules span { color: #628eae; font-size: .61rem; font-weight: 950; }.fms-landing-rules strong { display: block; color: #e8f4fc; font-size: .72rem; }.fms-landing-rules small { display: block; margin-top: 5px; color: #839aab; font-size: .63rem; line-height: 1.45; }

/* Authenticated shell */
.fms-app { display: grid; min-height: 100vh; grid-template-columns: 264px minmax(0, 1fr); }
.fms-sidebar { position: sticky; top: 0; display: flex; height: 100vh; flex-direction: column; border-right: 1px solid var(--fms-line); padding: 19px 13px 14px; background: linear-gradient(180deg, #080d13, #06090d); }
.sidebar-brand { margin: 2px 7px 21px; }.sidebar-brand .fms-crest { width: 39px; height: 39px; border-radius: 10px; }.sidebar-brand .fms-crest img { width: 35px; height: 35px; }
.fms-profile-chip { display: grid; grid-template-columns: 35px minmax(0, 1fr) 9px; align-items: center; gap: 9px; margin: 0 5px 21px; border: 1px solid #202e39; border-radius: 11px; padding: 8px; background: #0c151d; }
.fms-avatar { display: grid; overflow: hidden; width: 35px; height: 35px; place-items: center; border-radius: 50%; color: #ecf7ff; background: linear-gradient(135deg, #3c92cd, #183d5b); font-size: .76rem; font-weight: 900; }.fms-avatar img { width: 100%; height: 100%; object-fit: cover; }
.fms-profile-chip strong { display: block; overflow: hidden; color: #e6f3fb; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }.fms-profile-chip small { display: block; overflow: hidden; margin-top: 2px; color: #8199ad; font-size: .56rem; text-overflow: ellipsis; white-space: nowrap; }.fms-profile-chip i { width: 8px; height: 8px; border-radius: 50%; background: #516678; }.fms-profile-chip i.police { background: var(--fms-green); box-shadow: 0 0 0 4px rgba(78, 211, 151, .12); }
.fms-nav { display: grid; gap: 3px; }.fms-nav p { margin: 13px 10px 5px; color: #657c8e; font-size: .52rem; font-weight: 950; letter-spacing: .12em; }.fms-nav-item { position: relative; display: flex; min-height: 39px; align-items: center; gap: 10px; border: 1px solid transparent; border-radius: 8px; padding: 8px 10px; color: #9eb4c5; background: transparent; font-size: .68rem; font-weight: 850; text-align: left; }.fms-nav-item > span { display: grid; width: 17px; place-items: center; color: #6faedf; font-size: .89rem; }.fms-nav-item:hover { color: #e3f2fc; background: #101a23; }.fms-nav-item.active { border-color: rgba(75, 164, 224, .23); color: #ecf7ff; background: linear-gradient(90deg, rgba(40, 120, 177, .2), rgba(21, 47, 67, .15)); }.fms-nav-item.active::before { position: absolute; left: -14px; width: 3px; height: 20px; border-radius: 0 3px 3px 0; background: #6fc2f8; content: ""; }.fms-nav-item b { margin-left: auto; border-radius: 4px; padding: 3px 4px; color: #9daebb; background: #1d2933; font-size: .43rem; letter-spacing: .06em; }.fms-nav-item.police-ready b { color: #8ce7b9; background: rgba(44, 171, 109, .14); }
.fms-sidebar-footer { display: grid; gap: 10px; margin-top: auto; padding: 14px 8px 0; border-top: 1px solid var(--fms-line); }.fms-sidebar-footer a, .fms-sidebar-footer button { border: 0; padding: 0; color: #7faed0; background: transparent; font-size: .62rem; font-weight: 850; text-align: left; text-decoration: none; }.fms-sidebar-footer button { color: #a9b8c4; }.fms-sidebar-footer a:hover, .fms-sidebar-footer button:hover { color: #eef8ff; }.fms-sidebar-footer small { color: #627788; font-size: .52rem; }
.fms-workspace { min-width: 0; background: radial-gradient(circle at 55% -13%, rgba(53, 137, 204, .075), transparent 28%), transparent; }.fms-topbar { display: flex; min-height: 93px; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--fms-line); padding: 16px clamp(21px, 4vw, 56px); }.fms-topbar h1 { margin: 5px 0 0; color: #f0f7ff; font-size: clamp(1.38rem, 2.1vw, 1.9rem); letter-spacing: -.045em; }.fms-top-actions { display: flex; align-items: center; gap: 10px; }.fms-game-chip { display: inline-flex; align-items: center; gap: 7px; border: 1px solid #223240; border-radius: 999px; padding: 7px 10px; color: #a9bbc9; background: #0c141b; font-size: .61rem; font-weight: 850; }.fms-game-chip i { width: 6px; height: 6px; border-radius: 50%; background: #697d8c; }.fms-game-chip.live { color: #97e6bb; border-color: rgba(65, 204, 135, .25); background: rgba(30, 140, 89, .12); }.fms-game-chip.live i { background: #4cd596; box-shadow: 0 0 0 4px rgba(76,213,150,.11); }.fms-search-shortcut { display: inline-flex; min-height: 34px; align-items: center; gap: 7px; border: 1px solid #2a3b49; border-radius: 7px; padding: 7px 9px; color: #c1d4e3; background: #0c141b; font-size: .61rem; font-weight: 850; }.fms-search-shortcut:hover { border-color: #4b748f; color: #eaf6ff; }.fms-search-shortcut > span { color: #73bef0; font-size: .85rem; }.fms-search-shortcut kbd { border: 1px solid #314554; border-radius: 4px; padding: 1px 4px; color: #88a4b7; background: #121e28; font-size: .53rem; }
.fms-content { width: min(1540px, 100%); margin: 0 auto; padding: clamp(23px, 3.5vw, 46px) clamp(19px, 4vw, 56px) 62px; }.fms-view { display: none; }.fms-view.active { display: block; }

/* Common cards and form elements */
.fms-home-hero { display: flex; min-height: 218px; align-items: center; justify-content: space-between; gap: 28px; overflow: hidden; border: 1px solid #1f3d51; border-radius: 17px; padding: clamp(24px, 4vw, 42px); background: radial-gradient(circle at 81% 20%, rgba(54, 151, 220, .19), transparent 25%), linear-gradient(126deg, #0b2638, #0c131b 66%); }.fms-home-hero h2 { margin: 12px 0 8px; color: #f0f8ff; font-size: clamp(1.7rem, 3.2vw, 2.65rem); letter-spacing: -.055em; }.fms-home-hero h2 span { color: #89d0fa; }.fms-home-hero p:not(.fms-kicker) { max-width: 680px; margin: 0; color: #a8c4d7; font-size: .78rem; line-height: 1.65; }.fms-hero-live { display: flex; min-width: 202px; align-items: center; gap: 11px; border: 1px solid rgba(141, 205, 244, .16); border-radius: 10px; padding: 13px; background: rgba(5, 16, 25, .35); }.fms-hero-live > span { width: 8px; height: 8px; border-radius: 50%; background: #718491; }.fms-hero-live > span.live { background: #53d79d; box-shadow: 0 0 0 5px rgba(83,215,157,.12); }.fms-hero-live small { display: block; color: #78acd0; font-size: .5rem; font-weight: 950; letter-spacing: .1em; }.fms-hero-live strong { display: block; margin-top: 5px; color: #e9f6fd; font-size: .67rem; }
.fms-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin: 15px 0; }.fms-metrics article { min-height: 138px; border: 1px solid var(--fms-line); border-radius: 13px; padding: 17px; background: linear-gradient(145deg, #0e161e, #0a1017); box-shadow: 0 10px 25px rgba(0,0,0,.11); }.fms-metrics span { display: block; color: #87a4b9; font-size: .53rem; font-weight: 950; letter-spacing: .09em; }.fms-metrics strong { display: block; overflow: hidden; margin: 19px 0 5px; color: #edf7ff; font-size: clamp(1rem, 2vw, 1.35rem); text-overflow: ellipsis; white-space: nowrap; }.fms-metrics small { display: block; overflow: hidden; color: #8198ab; font-size: .59rem; text-overflow: ellipsis; white-space: nowrap; }
.fms-home-grid { display: grid; grid-template-columns: minmax(0, 1.07fr) minmax(260px, .65fr) minmax(260px, .65fr); gap: 15px; }.fms-card { border: 1px solid var(--fms-line); border-radius: 14px; padding: clamp(18px, 2.2vw, 26px); background: linear-gradient(145deg, var(--fms-card), var(--fms-card-alt)); box-shadow: 0 12px 28px rgba(0,0,0,.14); }.fms-card h2 { margin: 8px 0 0; color: #edf7ff; font-size: 1rem; letter-spacing: -.028em; }.fms-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }.fms-text-button { border: 0; padding: 0; color: #83c6f0; background: transparent; font-size: .63rem; font-weight: 850; }.fms-text-button:hover { color: #e7f7ff; }.fms-action-list { display: grid; gap: 1px; margin-top: 18px; }.fms-action-list button { display: grid; grid-template-columns: 32px minmax(0,1fr) auto; align-items: center; gap: 11px; border: 0; border-top: 1px solid #21313e; padding: 13px 1px; color: #dcecf8; background: transparent; text-align: left; }.fms-action-list button:hover { padding-right: 4px; background: linear-gradient(90deg, transparent, rgba(40,88,119,.1)); }.fms-action-list button > span:first-child { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 7px; font-weight: 900; }.tone-blue { color: #9bd8fb; background: rgba(61, 156, 217, .16); }.tone-green { color: #8de7bb; background: rgba(53, 178, 112, .15); }.tone-amber { color: #f6d184; background: rgba(225, 161, 44, .14); }.fms-action-list strong { display: block; color: #e1eff9; font-size: .69rem; }.fms-action-list small { display: block; margin-top: 3px; color: #8ca3b5; font-size: .59rem; }.fms-action-list b { color: #7898ad; }.fms-active-card { position: relative; overflow: hidden; border-color: #1e3a4b; background: radial-gradient(circle at 100% 100%, rgba(49, 142, 201, .14), transparent 40%), linear-gradient(145deg, #0d1d29, #0a1118); }.fms-active-character-card { display: grid; gap: 5px; margin-top: 24px; }.fms-active-character-card .fms-empty-icon { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 9px; color: #9acdf0; background: rgba(57, 145, 204, .15); }.fms-active-character-card strong { color: #e8f5fc; font-size: .82rem; }.fms-active-character-card small { color: #91aabd; font-size: .62rem; line-height: 1.5; }.fms-active-character-card .character-pnc { color: #89c7ed; font-size: .56rem; font-weight: 900; letter-spacing: .08em; }.fms-safety-card ul { display: grid; gap: 10px; margin: 20px 0 0; padding: 0; list-style: none; }.fms-safety-card li { position: relative; padding-left: 18px; color: #9eb3c4; font-size: .64rem; line-height: 1.45; }.fms-safety-card li::before { position: absolute; left: 0; color: #58d29d; content: "✓"; font-weight: 900; }
.fms-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 19px; }.fms-section-heading h2 { margin: 8px 0; color: #eef7ff; font-size: clamp(1.48rem, 2.8vw, 2.1rem); letter-spacing: -.055em; }.fms-section-heading p:not(.fms-kicker) { max-width: 770px; margin: 0; color: #93aabd; font-size: .72rem; line-height: 1.65; }.fms-count-chip, .fms-access-pill { flex: 0 0 auto; border: 1px solid #284052; border-radius: 999px; padding: 7px 10px; color: #9ccfed; background: #0c1a24; font-size: .59rem; font-weight: 850; }.fms-access-pill.allowed { color: #8be8b8; border-color: rgba(80,205,139,.28); background: rgba(35,148,92,.13); }.fms-access-pill.denied { color: #e3b5b9; border-color: rgba(220, 92, 103, .22); background: rgba(157, 44, 53, .12); }
.fms-two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }.civilian-layout { grid-template-columns: minmax(290px, .78fr) minmax(0, 1.22fr); }.fms-form-card h2 { margin-bottom: 19px; }.fms-form { display: grid; gap: 13px; }.fms-form label { display: grid; gap: 6px; color: #c3d5e3; font-size: .64rem; font-weight: 850; }.fms-form label > span small { color: #8fa4b6; font-size: .55rem; font-weight: 700; }.fms-form input, .fms-form select, .fms-form textarea, .fms-cad-form input { width: 100%; border: 1px solid #293946; border-radius: 8px; padding: 10px 11px; color: #e5f2fc; background: #070d13; font-size: .7rem; outline: none; transition: border-color .14s, box-shadow .14s, background .14s; }.fms-form textarea { min-height: 98px; resize: vertical; line-height: 1.5; }.fms-form input::placeholder, .fms-form textarea::placeholder, .fms-cad-form input::placeholder { color: #6c8294; }.fms-form input:focus, .fms-form select:focus, .fms-form textarea:focus, .fms-cad-form input:focus { border-color: #65baef; background: #0a1219; box-shadow: 0 0 0 3px rgba(80, 171, 228, .13); }.fms-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }.fms-form-note { margin: -2px 0 1px; color: #829bad; font-size: .58rem; line-height: 1.5; }
.fms-list-card { min-height: 100%; }.fms-character-list { display: grid; gap: 9px; margin-top: 17px; }.fms-empty-copy { margin: 20px 0; color: #8aa1b3; font-size: .68rem; }.fms-character-row { display: grid; grid-template-columns: 39px minmax(0,1fr) auto; align-items: center; gap: 11px; border: 1px solid #22323f; border-radius: 10px; padding: 9px; color: #dcebf6; background: #0a1118; text-align: left; }.fms-character-row:hover, .fms-character-row.selected { border-color: #3a759b; background: #0d1d28; }.fms-character-row .character-image { display: grid; overflow: hidden; width: 39px; height: 39px; place-items: center; border-radius: 9px; color: #b5dcf8; background: #143248; font-size: .77rem; font-weight: 900; }.fms-character-row .character-image img { width: 100%; height: 100%; object-fit: cover; }.fms-character-row strong { display: block; overflow: hidden; color: #edf7ff; font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }.fms-character-row small { display: block; margin-top: 3px; color: #85a0b3; font-size: .58rem; }.fms-character-row b { border-radius: 5px; padding: 4px 5px; color: #92e7b9; background: rgba(41, 163, 100, .15); font-size: .47rem; letter-spacing: .06em; }.fms-character-row b.inactive { color: #b0c0cc; background: #1a2630; }
.fms-dossier-card { display: none; margin-top: 15px; }.fms-dossier-card.populated { display: block; }.fms-empty-dossier { display: grid; min-height: 160px; place-items: center; align-content: center; gap: 7px; color: #91a8b8; text-align: center; }.fms-empty-dossier > span { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 9px; color: #92c9ed; background: #132737; font-weight: 900; }.fms-empty-dossier strong { color: #e7f4fc; font-size: .79rem; }.fms-empty-dossier small { max-width: 360px; color: #8ba3b5; font-size: .62rem; line-height: 1.45; }.fms-dossier-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }.fms-dossier-identity { display: flex; align-items: center; gap: 13px; }.fms-dossier-identity .character-image { display: grid; overflow: hidden; width: 52px; height: 52px; place-items: center; border-radius: 12px; color: #bce2fb; background: #16374d; font-size: 1rem; font-weight: 900; }.fms-dossier-identity .character-image img { width: 100%; height: 100%; object-fit: cover; }.fms-dossier-identity h2 { margin: 3px 0 4px; }.fms-dossier-identity p { margin: 0; color: #8aa5b8; font-size: .62rem; }.fms-status { display: inline-flex; border-radius: 999px; padding: 5px 8px; color: #a5bed0; background: #17232d; font-size: .55rem; font-weight: 850; }.fms-status.road { color: #86e7b6; background: rgba(41,162,100,.15); }.fms-status.attention { color: #f3c675; background: rgba(200,135,25,.15); }.fms-detail-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin-top: 18px; }.fms-detail-grid div { min-width: 0; border-radius: 9px; padding: 11px; background: #0a1118; }.fms-detail-grid span { display: block; margin-bottom: 5px; color: #7e99ad; font-size: .51rem; font-weight: 950; letter-spacing: .08em; }.fms-detail-grid strong { display: block; overflow: hidden; color: #e3eff8; font-size: .67rem; text-overflow: ellipsis; white-space: nowrap; }.fms-dossier-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 16px; }.fms-mini-button { border: 1px solid #2e566f; border-radius: 7px; padding: 7px 9px; color: #a6d7f5; background: #102535; font-size: .6rem; font-weight: 850; }.fms-mini-button:hover { color: #e8f7ff; border-color: #4f89ae; background: #163249; }.fms-edit-details { margin-top: 15px; border-top: 1px solid #21313e; padding-top: 12px; }.fms-edit-details summary { color: #91c8eb; cursor: pointer; font-size: .62rem; font-weight: 850; }.fms-inline-edit-form { margin-top: 14px; }
.fms-registry-card { margin-top: 15px; }.fms-vehicle-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin-top: 17px; }.fms-vehicle-card { border: 1px solid #22333f; border-radius: 10px; padding: 14px; background: #0a1118; }.fms-vehicle-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }.fms-vehicle-card h3 { margin: 0; color: #e8f4fc; font-size: .78rem; }.fms-vehicle-card p { margin: 4px 0 0; color: #8ba4b6; font-size: .62rem; }.fms-vehicle-card dl { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; margin: 15px 0 0; }.fms-vehicle-card dl div { min-width: 0; }.fms-vehicle-card dt { color: #7590a3; font-size: .49rem; font-weight: 950; letter-spacing: .07em; }.fms-vehicle-card dd { overflow: hidden; margin: 4px 0 0; color: #cfe1ed; font-size: .59rem; text-overflow: ellipsis; white-space: nowrap; }.fms-vehicle-card .policy-copy { margin-top: 11px; border-top: 1px solid #21313e; padding-top: 9px; color: #8da5b6; font-size: .58rem; }.fms-vehicle-card .policy-copy strong { color: #b9d8ea; }
.fms-rule-card { border: 1px solid #284054; border-radius: 8px; padding: 10px; color: #9fc6df; background: #0b1923; font-size: .62rem; line-height: 1.52; }.fms-rule-card strong { color: #dff1fd; }.fms-licence-list { display: grid; gap: 8px; margin-top: 17px; }.fms-licence-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px; border: 1px solid #233440; border-radius: 9px; padding: 10px; background: #0a1118; }.fms-licence-row strong { display: block; color: #e1eff8; font-size: .68rem; }.fms-licence-row small { display: block; margin-top: 4px; color: #8ca4b6; font-size: .58rem; }.fms-licence-row b { color: #8de5b8; font-size: .52rem; }

/* CAD / PNC */
.fms-cad-search-card { padding: 14px; }.fms-cad-form { display: flex; align-items: center; gap: 9px; }.fms-cad-form > span { color: #7fc9f6; font-size: 1.1rem; }.fms-cad-form input { flex: 1; min-width: 0; border: 0; padding-left: 0; background: transparent; }.fms-cad-form input:focus { box-shadow: none; }.fms-cad-form:focus-within { border-color: #64bbed; box-shadow: 0 0 0 3px rgba(80,171,228,.13); }.fms-cad-form { border: 1px solid #2a3b49; border-radius: 9px; padding: 2px 3px 2px 12px; background: #070d13; }.fms-cad-search-card .fms-form-note { margin: 9px 4px 0; }.fms-cad-layout { display: grid; grid-template-columns: minmax(280px, .71fr) minmax(0, 1.29fr); gap: 15px; margin-top: 15px; }.fms-results-card, .fms-search-dossier { min-height: 328px; }.fms-search-results { display: grid; gap: 7px; margin-top: 17px; }.fms-result-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; border: 1px solid #233440; border-radius: 9px; padding: 11px; color: #dcecf6; background: #0a1118; text-align: left; }.fms-result-row:hover, .fms-result-row.selected { border-color: #3d769a; background: #0e1d28; }.fms-result-row strong { display: block; overflow: hidden; color: #edf7ff; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }.fms-result-row small { display: block; margin-top: 4px; color: #89a2b4; font-size: .57rem; }.fms-result-row > b { color: #85bde0; font-size: .75rem; }.fms-result-vehicles { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 7px; }.fms-result-vehicles em { border-radius: 4px; padding: 3px 4px; color: #a9d3ec; background: #142737; font-size: .49rem; font-style: normal; font-weight: 850; }.fms-search-dossier.populated { display: block; }.fms-search-dossier .fms-empty-dossier { min-height: 275px; }.fms-pnc-sections { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 17px; }.fms-pnc-section { border-top: 1px solid #20313d; padding-top: 12px; }.fms-pnc-section h3 { margin: 0 0 9px; color: #bcd5e5; font-size: .59rem; letter-spacing: .09em; }.fms-pnc-section ul { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }.fms-pnc-section li { color: #94acbd; font-size: .59rem; line-height: 1.45; }.fms-pnc-section li strong { color: #e0eef7; }.fms-intelligence-list { grid-column: 1 / -1; }.fms-intelligence-list li { border-left: 2px solid #bd9344; padding-left: 8px; }.fms-intelligence-list li.comment { border-left-color: #4e9ed2; }.fms-intelligence-list small { display: block; margin-top: 3px; color: #748e9f; font-size: .52rem; }
.fms-police-lock { display: flex; align-items: center; gap: 16px; border: 1px solid #3a3031; border-radius: 12px; padding: 21px; color: #d5c1c2; background: linear-gradient(130deg, #1e1217, #101419); }.fms-police-lock > span { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 10px; color: #ef9ca5; background: rgba(202, 58, 74, .15); font-size: 1rem; }.fms-police-lock strong { display: block; color: #f0e8e9; font-size: .8rem; }.fms-police-lock p { margin: 4px 0 0; color: #af9699; font-size: .64rem; line-height: 1.5; }.fms-police-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; margin-top: 15px; }

.fms-toast { position: fixed; z-index: 100; right: 19px; bottom: 19px; max-width: min(410px, calc(100vw - 38px)); transform: translateY(16px); border: 1px solid rgba(61, 193, 125, .35); border-radius: 9px; padding: 11px 13px; color: #91ecbf; background: #0c2118; box-shadow: 0 14px 35px rgba(0,0,0,.3); font-size: .66rem; font-weight: 800; opacity: 0; pointer-events: none; transition: transform .18s, opacity .18s; }.fms-toast.show { transform: translateY(0); opacity: 1; }.fms-toast.error { border-color: rgba(225,84,99,.35); color: #ffabb3; background: #261014; }.fms-toast.warning { border-color: rgba(231,167,57,.35); color: #f6d183; background: #251a0c; }

@media (max-width: 1180px) {
  .fms-app { grid-template-columns: 230px minmax(0,1fr); }.fms-home-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.fms-action-card { grid-row: span 2; }.fms-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }.fms-orbital { min-width: 315px; }.fms-detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .fms-landing-hero { grid-template-columns: 1fr; min-height: auto; padding-top: 66px; }.fms-orbital { width: min(410px, 80vw); }.fms-landing-rules { grid-template-columns: 1fr; }.fms-landing-rules article, .fms-landing-rules article:first-child { min-height: auto; border-right: 0; border-bottom: 1px solid var(--fms-line-soft); padding: 15px 0; }.fms-landing-rules article:last-child { border-bottom: 0; }
  .fms-app { display: block; }.fms-sidebar { position: sticky; z-index: 20; display: grid; width: 100%; height: auto; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 7px 12px; padding: 10px 14px; border-right: 0; border-bottom: 1px solid var(--fms-line); overflow: visible; }.sidebar-brand { grid-column: 1; grid-row: 1; margin: 0; }.sidebar-brand > span:last-child { display: none; }.fms-profile-chip { grid-column: 2; grid-row: 1; margin: 0; border: 0; padding: 3px 0; background: transparent; }.fms-nav { display: flex; grid-column: 1 / -1; width: calc(100vw - 28px); gap: 4px; overflow-x: auto; }.fms-nav p, .fms-sidebar-footer { display: none; }.fms-nav-item { width: auto; min-width: max-content; min-height: 34px; padding: 7px 9px; font-size: .61rem; }.fms-nav-item.active::before { display: none; }.fms-nav-item > span { width: auto; }.fms-topbar { min-height: 81px; padding-inline: 20px; }.fms-content { padding: 22px 20px 44px; }.fms-two-column, .fms-cad-layout { grid-template-columns: 1fr; }.civilian-layout { grid-template-columns: 1fr; }.fms-home-grid { grid-template-columns: 1fr; }.fms-action-card { grid-row: auto; }.fms-police-actions { grid-template-columns: 1fr; }.fms-search-dossier { min-height: 250px; }
}
@media (max-width: 600px) {
  .fms-landing { padding-inline: 17px; }.fms-landing-nav { min-height: 77px; }.fms-quiet-link { font-size: .58rem; }.fms-landing h1 { font-size: clamp(3rem, 15vw, 4.6rem); }.fms-landing-hero { padding: 48px 0 38px; }.fms-orbital { min-width: 0; width: min(350px, 86vw); }.fms-landing-rules { margin-top: 8px; }.fms-topbar { align-items: flex-start; padding: 14px 15px; }.fms-top-actions .fms-game-chip { display: none; }.fms-search-shortcut { font-size: 0; min-height: 33px; }.fms-search-shortcut > span { font-size: .95rem; }.fms-search-shortcut kbd { display: none; }.fms-content { padding: 18px 13px 36px; }.fms-home-hero { min-height: auto; align-items: flex-start; flex-direction: column; padding: 22px; }.fms-hero-live { width: 100%; }.fms-metrics { gap: 8px; }.fms-metrics article { min-height: 107px; padding: 13px; }.fms-metrics strong { margin-top: 14px; font-size: .95rem; }.fms-card { padding: 16px; border-radius: 12px; }.fms-section-heading { align-items: flex-start; flex-direction: column; gap: 12px; }.fms-section-heading h2 { font-size: 1.5rem; }.fms-form-grid, .fms-vehicle-list, .fms-pnc-sections { grid-template-columns: 1fr; }.fms-cad-form { align-items: stretch; flex-wrap: wrap; padding: 8px; }.fms-cad-form > span { display: none; }.fms-cad-form input { flex-basis: 100%; padding: 3px; }.fms-cad-form .fms-button { width: 100%; }.fms-detail-grid { grid-template-columns: 1fr 1fr; }.fms-dossier-top { align-items: flex-start; flex-direction: column; }.fms-police-lock { align-items: flex-start; }.fms-orbit-ring { display: none; }.orbit-label { font-size: .42rem; }
}
