
.release-contract{display:flex;gap:14px;align-items:center;padding:16px 18px;margin:0 0 18px;border:1px solid #19324a;border-radius:18px;background:#08131f}.release-contract strong{color:#77d7ed;white-space:nowrap}.release-contract span{color:#88a2b9}.release-bundle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}.release-bundle-item{padding:11px 12px;border:1px solid #1a3145;border-radius:13px;background:#07111b}.release-bundle-item span{display:block;color:#7590a7;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.release-bundle-item b{display:block;margin-top:3px;color:#eef6ff}.core-id{color:#73d8ec;font-weight:800;letter-spacing:.06em}.mobile-nav,.mobile-more-sheet{display:none}.control-reconnect{position:fixed;inset:0;z-index:10000;background:rgba(4,8,14,.94);backdrop-filter:blur(10px);display:grid;place-items:center;padding:22px}.control-reconnect[hidden]{display:none}.control-reconnect-card{width:min(440px,100%);padding:30px;border-radius:24px;border:1px solid #1c3850;background:#091521;text-align:center;box-shadow:0 20px 80px #0008}.control-reconnect-card .mark{margin:0 auto 18px;width:64px}.control-reconnect-card p{color:#8fa9bf}.reconnect-dots{display:flex;justify-content:center;gap:8px;margin:22px}.reconnect-dots i{width:9px;height:9px;border-radius:50%;background:#67d3ed;animation:ctlDot 1.1s infinite ease-in-out}.reconnect-dots i:nth-child(2){animation-delay:.15s}.reconnect-dots i:nth-child(3){animation-delay:.3s}@keyframes ctlDot{0%,80%,100%{opacity:.25;transform:scale(.7)}40%{opacity:1;transform:scale(1)}}
@media(max-width:760px){body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.app>aside{display:none!important}.app{display:block!important}.app>main{width:100%!important;min-width:0!important}.app main>header{grid-template-columns:1fr auto!important;padding-left:16px!important;padding-right:16px!important}.global-search-wrap{grid-column:1/-1;grid-row:2}.header-actions #refresh{display:none}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;z-index:9000;height:calc(66px + env(safe-area-inset-bottom));padding:6px 6px env(safe-area-inset-bottom);border-top:1px solid #183049;background:rgba(5,12,20,.97);backdrop-filter:blur(14px)}.mobile-nav button{appearance:none;border:0;background:transparent;color:#7790a6;display:grid;place-items:center;gap:2px;font-size:18px}.mobile-nav button b{font-size:10px;font-weight:650}.mobile-nav button.active{color:#74d9ef}.mobile-more-sheet{position:fixed;display:grid;place-items:end center;inset:0;z-index:8999;background:#0007;padding:18px 14px calc(78px + env(safe-area-inset-bottom))}.mobile-more-sheet[hidden]{display:none}.mobile-more-card{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;width:100%;padding:14px;border:1px solid #1b344b;border-radius:20px;background:#08131f}.mobile-more-card button{min-height:52px;border:1px solid #1d3851;border-radius:14px;background:#0a1724;color:#e8f4ff}.page-head{gap:12px}.page-head>button{width:100%}.release-bundle-grid{grid-template-columns:1fr}.table-shell{overflow-x:auto}.workspace-head{gap:12px}.workspace-head>div{min-width:0}}

/* 0.5.16 · NYLON update observability */
.nylon-update-node>div:first-child{min-width:0;flex:1}.nylon-progress-meta{color:#74b8dc!important;font-weight:700;letter-spacing:.02em}.nylon-progress-transfer{color:#55d6c2!important}.nylon-progress-message{display:block;max-width:780px;white-space:normal;color:#9bb1c7!important}.nylon-update-node .bad-text{margin-top:4px}

/* 0.5.18 · self-contained Control layout + release library repair */
.release-library{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));align-items:start}
.release-library>.nylon-warning{grid-column:1/-1;min-height:0!important;height:auto!important;margin:0 0 2px;padding:12px 14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.release-library>.nylon-warning b{white-space:nowrap}.release-library>.nylon-warning span{flex:1;min-width:260px}
.nylon-warning.compact{min-height:0;height:auto;padding:12px 14px;margin-bottom:12px}
.plus-voucher-panel{margin-top:24px}.plus-voucher-panel .panel-head{margin-bottom:14px}.plus-voucher-panel .mini-stats{margin:12px 0}
.plus-key-full{color:#72e5f4;user-select:all;font-size:11px;margin-top:4px}.generated-plus-keys{display:grid;gap:8px;margin:14px 0}.generated-plus-key{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(260px,1.3fr);gap:12px;align-items:center;padding:12px;border:1px solid #1c3045;border-radius:12px;background:#09121c}.generated-plus-key strong,.generated-plus-key small{display:block}.generated-plus-key small{color:#728ca5;margin-top:3px}.generated-plus-key code{padding:10px;border-radius:9px;background:#07111b;border:1px solid #1b3448;color:#72e5f4;user-select:all;word-break:break-all}
@media(max-width:760px){.release-library{grid-template-columns:1fr}.release-library>.nylon-warning{display:block}.release-library>.nylon-warning span{display:block;margin-top:5px;min-width:0}.generated-plus-key{grid-template-columns:1fr}}

/* 0.5.19 · restore NYLON page to canonical Control card/grid language */
#nylonView .nylon-principle{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 16px;padding:14px 16px;border:1px solid #1a3147;border-radius:16px;background:linear-gradient(135deg,rgba(57,140,255,.075),rgba(68,223,246,.025));box-shadow:inset 0 1px rgba(255,255,255,.02)}
#nylonView .nylon-principle strong{color:#dff6ff;font-size:12px;white-space:nowrap}
#nylonView .nylon-principle span{color:#7894ac;font-size:11px;line-height:1.5}
#nylonView #nylonStats.mini-stats>div{min-width:0;padding:14px 16px;border:1px solid #1a293c;border-radius:16px;background:linear-gradient(145deg,rgba(14,22,34,.95),rgba(9,15,24,.95));box-shadow:0 14px 38px rgba(0,0,0,.12)}
#nylonView #nylonStats.mini-stats span{display:block;color:#6e88a1;font-size:9px;letter-spacing:.11em;text-transform:uppercase}
#nylonView #nylonStats.mini-stats b{display:block;margin-top:6px;color:#edf7ff;font-size:22px;line-height:1}
#nylonView .nylon-cloudflare{margin-bottom:16px;overflow:hidden}
#nylonView .nylon-cloudflare>.panel-head{padding-bottom:16px;border-bottom:1px solid #172638}
#nylonView .nylon-cloudflare-body{display:grid;gap:12px;padding-top:16px}
#nylonView .nylon-cf-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#nylonView #nylonCloudflareBody .nylon-cf-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
#nylonView .nylon-cf-summary>div{min-width:0;padding:13px 14px;border:1px solid #1a2d42;border-radius:13px;background:#09131e}
#nylonView .nylon-cf-summary span{display:block;color:#64819b;font-size:8px;letter-spacing:.11em;text-transform:uppercase}
#nylonView .nylon-cf-summary b{display:block;margin-top:5px;color:#edf7ff;font-size:15px;line-height:1.25;overflow-wrap:anywhere}
#nylonView .nylon-cf-summary small{display:block;margin-top:5px;color:#708aa2;font-size:9px;line-height:1.45;letter-spacing:0}
#nylonView .nylon-cf-nodes{display:grid;gap:8px}
#nylonView .nylon-cf-node{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;padding:12px 14px;border:1px solid #182b3f;border-radius:13px;background:linear-gradient(135deg,#09131e,#08111a)}
#nylonView .nylon-cf-node>div:first-child{min-width:0;flex:1}
#nylonView .nylon-cf-node strong{display:block;color:#eaf5ff;font-size:12px;line-height:1.35}
#nylonView .nylon-cf-node small{display:block;margin-top:3px;color:#66829c;font-size:9px;line-height:1.45;letter-spacing:0}
#nylonView .nylon-update-node{align-items:flex-start}
#nylonView .nylon-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}
#nylonView .nylon-cf-node>.nylon-actions{flex:0 0 auto}
#nylonView .nylon-empty{padding:16px;border:1px dashed #22364b;border-radius:13px;background:#08111a;color:#6f8aa4;font-size:11px;text-align:center}
#nylonView .nylon-roles{display:flex;gap:6px;flex-wrap:wrap}
#nylonView .nylon-role{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border:1px solid #244158;border-radius:999px;background:#0a1722;color:#82cce0;font-size:8px;letter-spacing:.06em}
#nylonView .nylon-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.9fr);gap:16px;align-items:start}
#nylonView .nylon-node-list,#nylonView .nylon-enrolment-list{display:grid;gap:10px;margin-top:14px}
#nylonView .nylon-node,#nylonView .nylon-enrolment{padding:15px;border:1px solid #192b3f;border-radius:15px;background:#09121c}
#nylonView .nylon-node-head,#nylonView .nylon-enrolment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
#nylonView .nylon-node h3,#nylonView .nylon-enrolment h3{margin:0;color:#edf7ff;font-size:13px}
#nylonView .nylon-node-head small,#nylonView .nylon-enrolment-head small{display:block;margin-top:4px;color:#6e899f;font-size:9px;line-height:1.4;letter-spacing:0}
#nylonView .nylon-node .nylon-roles,#nylonView .nylon-enrolment .nylon-roles{margin-top:11px}
#nylonView .nylon-node-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:11px}
#nylonView .nylon-node-meta>div{min-width:0;padding:9px 10px;border:1px solid #172a3d;border-radius:10px;background:#07111a}
#nylonView .nylon-node-meta span{display:block;color:#607d96;font-size:7px;letter-spacing:.1em;text-transform:uppercase}
#nylonView .nylon-node-meta b{display:block;margin-top:4px;color:#dcecf7;font-size:10px;overflow-wrap:anywhere}
#nylonView .nylon-node>.nylon-actions,#nylonView .nylon-enrolment>.nylon-actions{margin-top:12px;padding-top:12px;border-top:1px solid #172638}
#nylonView .nylon-key{margin-top:11px;padding:11px 12px;border:1px solid #23425a;border-radius:11px;background:#06101a;color:#75e1f2;font:11px ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;user-select:all}
#nylonView .divider{margin:4px 0;border-top-color:#172638}
#nylonView #nylonUpdateBody>.divider{margin:4px 0 0}
#nylonView #nylonUpdateBody>.panel-head{margin-top:0;padding:2px 0 0}
#nylonView #nylonUpdateBody>.panel-head h3{margin:4px 0 0;font-size:16px}
#nylonView #nylonUpdateBody>.panel-head p{max-width:920px;margin:7px 0 0}
@media(max-width:1100px){#nylonView .nylon-cf-summary{grid-template-columns:repeat(2,minmax(0,1fr))}#nylonView #nylonCloudflareBody .nylon-cf-summary{grid-template-columns:repeat(2,minmax(0,1fr))}#nylonView .nylon-grid{grid-template-columns:1fr}}
@media(max-width:760px){#nylonView .nylon-principle{align-items:flex-start;flex-direction:column}#nylonView .nylon-principle strong{white-space:normal}#nylonView #nylonStats.mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))}#nylonView .nylon-cf-summary,#nylonView #nylonCloudflareBody .nylon-cf-summary{grid-template-columns:1fr}#nylonView .nylon-cf-node{align-items:flex-start;flex-direction:column}#nylonView .nylon-cf-node>.pill,#nylonView .nylon-cf-node>.nylon-actions{align-self:flex-start}#nylonView .nylon-actions{justify-content:flex-start}#nylonView .nylon-node-meta{grid-template-columns:1fr}}
