.relay-dashboard{background:radial-gradient(ellipse at 70% 0,#1a355425,transparent 55%),var(--bg);min-height:100vh}.relay-dashboard h1{font-size:clamp(30px,4vw,42px);letter-spacing:-.04em}.relay-dashboard h2{font-size:21px;letter-spacing:-.025em}.relay-dashboard h3{font-size:16px;letter-spacing:-.01em}.relay-dashboard button,.relay-dashboard input,.relay-dashboard select{font:inherit}.relay-dashboard button,.relay-dashboard .btn{border:1px solid var(--line);border-radius:9px;padding:9px 14px;background:#172132;color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:14px;font-weight:600;min-height:42px}.relay-dashboard button:hover,.relay-dashboard .btn:hover{background:#23334a}.relay-dashboard .primary{background:#397eeb;border-color:#568fe8}.relay-dashboard button:disabled{opacity:.5;cursor:wait}.login-card{max-width:560px;margin:12vh auto;padding:38px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#162235aa,#0d121d);box-shadow:0 30px 120px #15499c17}.login-card h1{margin:24px 0 16px}.login-card p{margin-bottom:24px}.login-card .btn{margin-bottom:14px}.login-card small{display:block;color:var(--muted)}.dash-shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}.dash-sidebar{padding:28px 18px 20px;border-right:1px solid var(--line);background:#0b1019;position:sticky;top:0;height:100vh;overflow:auto;display:flex;flex-direction:column;gap:22px}.dash-sidebar .brand{padding:0 12px;font-size:25px}.dash-sidebar nav{display:flex;height:auto;flex-direction:column;align-items:stretch;gap:4px}.dash-sidebar nav a{padding:9px 13px;border-radius:8px;color:#9ba9bd;font-size:14px;transition:background .15s}.dash-sidebar nav a:hover{background:#141f30;color:#fff}.dash-sidebar nav a[aria-current=page]{color:#9fc4ff;background:#397eeb20;box-shadow:inset 2px 0 #679dff}.nav-label{font-size:10px;letter-spacing:.14em;color:#697d99;margin:14px 13px 6px}.sidebar-foot{margin-top:auto;font-size:12px;color:var(--muted);padding:10px}.dash-content{min-width:0}.dash-top{height:78px;padding:0 40px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px;background:#080b1277}.dash-top .account{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}.dash-top img{border-radius:50%}.dash-main{max-width:1120px;margin:auto;padding:40px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:32px}.page-head p{max-width:650px;margin-top:10px;font-size:14px}.breadcrumb{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#80a4d9;margin-bottom:12px}.dash-card{border:1px solid var(--line);border-radius:13px;background:linear-gradient(125deg,#111a29b3,#0e141fcc);padding:24px;margin-bottom:20px}.dash-card h2{margin-bottom:8px}.dash-card>p{font-size:13px;margin-bottom:20px}.server-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.server-card{display:flex;flex-direction:column;gap:15px;margin:0;padding:24px}.server-card img,.guild-initial{width:50px;height:50px;border-radius:14px;background:#294773;display:grid;place-items:center;font-weight:700}.server-card p{font-size:13px}.server-card .btn{margin-top:auto}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat{padding:20px;border:1px solid var(--line);border-radius:12px;background:#121b29}.stat strong{display:block;font-size:30px;line-height:1.4;margin:8px 0}.stat span,.stat small{font-size:12px;color:var(--muted)}.health-row{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}.health-row:last-child{border:0}.health-row>div{flex:1}.health-row p{font-size:12px}.status-dot{color:#73cca7;font-weight:bold}.status-dot.attention{color:#f0bf75}.health-row a{font-size:13px;color:var(--blue)}.progress{height:6px;background:#203047;border-radius:5px;margin:22px 0;overflow:hidden}.progress>div{height:100%;background:#619ef9}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field.full{grid-column:1/-1}.field>span,.field>label{font-size:13px;font-weight:600}.field small,.help{font-size:12px;color:var(--muted);line-height:1.5}.field input:not([type=checkbox]),.field select,.dash-sidebar select{background:#080e19;border:1px solid #2a3548;border-radius:8px;color:#e6eefc;min-height:43px;padding:10px 12px;width:100%;min-width:0}.toggle-line{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}.toggle-line input{width:20px;height:20px;accent-color:#5e9cff;flex-shrink:0}.toggle-line small{display:block;font-size:12px;color:var(--muted)}.picker{position:relative}.picker summary{list-style:none;cursor:pointer;border:1px solid #2a3548;border-radius:8px;padding:10px 12px;background:#080e19;min-height:43px;font-size:13px;overflow-wrap:anywhere}.picker summary::after{content:'⌄';float:right;margin-left:8px;color:var(--muted)}.picker[open] summary{border-color:var(--blue)}.picker-options{position:absolute;z-index:12;top:100%;width:100%;min-width:200px;background:#101a29;border:1px solid #334764;border-radius:9px;padding:10px;box-shadow:0 16px 40px #0008}.picker-search{margin-bottom:8px}.picker-list{max-height:230px;overflow:auto}.picker-option{display:flex;align-items:center;gap:10px;padding:9px 5px;font-size:13px;cursor:pointer}.picker-option input{accent-color:#649cff}.picker-option.disabled{opacity:.5}.picker-option small{display:block}.role-dot{width:8px;height:8px;border-radius:50%;background:#7c95b9;flex-shrink:0}.save-bar{position:sticky;bottom:16px;z-index:10;border:1px solid #2a4161;border-radius:12px;padding:14px 20px;background:#101b2cf2;backdrop-filter:blur(15px);display:flex;align-items:center;gap:12px;box-shadow:0 8px 40px #0004}.save-bar span{flex:1;font-size:13px;color:var(--muted)}.rank-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(160px,2fr) auto;gap:15px;padding:16px 0;border-top:1px solid var(--line);align-items:center}.rank-row>strong{font-size:14px}.rank-row small{display:block;font-weight:400;color:var(--muted)}.action-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.subheading{margin:25px 0 16px;padding-top:20px;border-top:1px solid var(--line)}.error-box{border:1px solid #704d43;background:#35211e70;border-radius:9px;padding:14px;color:#f3c5b0;font-size:14px;margin:15px 0}.info-box{border:1px solid #294568;background:#19335533;border-radius:9px;padding:14px;font-size:13px;color:#b7c9e2;margin-bottom:20px}.job{padding:12px 0;font-size:13px;border-bottom:1px solid var(--line)}.job small{display:block;color:var(--muted)}.person-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.mobile-nav{display:none!important}#notice{position:fixed;right:24px;top:90px;z-index:50;max-width:min(440px,calc(100vw - 32px));padding:0}#notice:not(:empty){border:1px solid #456489;border-radius:12px;background:#142238;padding:16px 20px;box-shadow:0 8px 35px #0006;font-size:14px}.empty{text-align:center;padding:40px 20px}.empty h2{margin:15px}.empty p{max-width:470px;margin:0 auto 24px}.check-group{display:flex;gap:18px;flex-wrap:wrap;font-size:13px}.check-group label{display:flex;gap:8px;align-items:center}.check-group input{accent-color:#679dff}
@media(max-width:1050px){.dash-shell{grid-template-columns:215px minmax(0,1fr)}.dash-main{padding:28px}.dash-top{padding:0 28px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}}
@media(max-width:760px){.dash-shell{display:block}.dash-sidebar{display:none;position:fixed;z-index:30;width:280px;box-shadow:0 0 0 100vmax #0008}.dash-sidebar.open{display:flex}.mobile-nav{display:inline-flex!important}.dash-top{padding:12px 18px;height:auto;min-height:68px}.dash-top .account>span{display:none}.dash-main{padding:26px 18px}.page-head{gap:12px}.page-head h1{font-size:30px}.dash-card{padding:19px}.rank-row{grid-template-columns:1fr auto}.rank-row .field{grid-column:1/-1;grid-row:2}.save-bar{bottom:10px;padding:12px;flex-wrap:wrap}.save-bar span{flex-basis:100%}.login-card{margin:8vh 18px;padding:28px}.stats{gap:10px}.stat{padding:15px}.stat strong{font-size:26px}.health-row{gap:10px}.health-row a{white-space:nowrap}.person-row{grid-template-columns:1fr}.picker-options{min-width:0}.sidebar-foot{padding-bottom:30px}}
.chain-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:24px 0 14px}.chain-count{font-size:12px;color:#bad2f6;background:#28538d30;border:1px solid #34578066;border-radius:30px;padding:5px 12px}.chain-list .chain-row{border:1px solid var(--line);border-radius:12px;background:#0a111ccc;padding:20px;grid-template-columns:minmax(190px,1.2fr) minmax(180px,1fr) auto;gap:18px}.chain-identity{display:flex;align-items:center;gap:12px;min-width:0}.chain-identity strong{font-size:15px;overflow-wrap:anywhere}.chain-position{height:26px;min-width:26px;display:grid;place-items:center;color:#86afe9;background:#1c2e47;border:1px solid #304b70;border-radius:7px;font-size:12px}.chain-color{width:12px;height:12px;flex-shrink:0;border-radius:50%;background:#7997bd;display:grid;place-items:center}.chain-icon{width:22px;height:22px;object-fit:contain}.chain-arrow{color:#57769f;font-size:23px;margin:4px 0 4px 32px;line-height:1.2}.chain-warning,.chain-ready{grid-column:1/-1;font-size:12px}.chain-warning p{color:#f1c694;font-size:12px;line-height:1.6}.chain-ready{color:#88baa9}.chain-list .chain-invalid{border-color:#76543966}.chain-empty{padding:26px 20px;border:1px dashed #344763;border-radius:12px}.chain-empty p{font-size:13px;margin-top:10px}.chain-row .picker-options{min-width:0}
@media(max-width:1100px){.chain-list .chain-row{grid-template-columns:minmax(0,1fr) auto}.chain-row .field{grid-column:1/-1;grid-row:2}.chain-row>button{grid-column:2;grid-row:1}.chain-warning,.chain-ready{grid-row:3}}
@media(max-width:600px){.chain-list .chain-row{padding:14px;gap:14px}.chain-identity{gap:8px}.chain-identity strong{font-size:14px}.chain-position{min-width:23px;width:23px}.chain-color{width:8px;height:8px}.chain-row>button{padding:8px 10px;font-size:12px}.chain-arrow{margin-left:23px}.chain-summary{margin-top:18px}}

/* Searchable Discord emoji picker shares the dashboard's existing picker surface. */
.emoji-picker summary{display:flex;align-items:center;gap:10px;min-height:46px;list-style:none}.emoji-picker summary::-webkit-details-marker{display:none}.emoji-chevron{margin-left:auto}.emoji-preview{width:28px;height:28px;object-fit:contain;flex-shrink:0}.emoji-picker summary>span:not(.emoji-chevron){overflow-wrap:anywhere;min-width:0}.emoji-results{max-height:280px;overflow:auto;overscroll-behavior:contain}.emoji-option{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;text-align:left;border:0;border-radius:8px;background:transparent;padding:9px 10px;color:inherit}.emoji-option:hover,.emoji-option:focus-visible{background:rgba(72,144,255,.15)}.emoji-option.selected{background:rgba(72,144,255,.2);color:#9bc8ff}.emoji-name{flex:1;min-width:0;overflow-wrap:anywhere}.emoji-option small{font-size:12px;opacity:.7}.emoji-count{display:block;padding:8px 10px}.emoji-warning{color:#f0bf75;line-height:1.5}.emoji-empty{padding:12px}.emoji-clear{color:#9bc8ff}.emoji-field{min-width:0}.emoji-picker .picker-options{max-width:100%;box-sizing:border-box}.emoji-option:disabled{opacity:.5;cursor:not-allowed}
.emoji-picker summary::after{display:none}.emoji-picker .emoji-option{justify-content:flex-start;border:0;background:transparent}.emoji-picker .emoji-option:hover,.emoji-picker .emoji-option:focus-visible{background:rgba(72,144,255,.15)}.emoji-picker .emoji-option.selected{background:rgba(72,144,255,.2);color:#9bc8ff}.emoji-field .emoji-warning{color:#f0bf75}

/* Keep sidebar scrolling while hiding only its scrollbar. */
.dash-sidebar{scrollbar-width:none;-ms-overflow-style:none}
.dash-sidebar::-webkit-scrollbar{display:none}


.person-filters{display:grid;grid-template-columns:2fr repeat(4,minmax(100px,1fr));gap:12px;margin:20px 0}.roster-list{display:flex;flex-direction:column;gap:8px}.relay-dashboard .roster-row{display:grid;grid-template-columns:1.5fr .8fr 1fr 1fr;gap:18px;width:100%;text-align:left;justify-content:stretch;background:#0d1522;padding:16px}.roster-row small,.person-facts small{display:block;font-weight:400;color:var(--muted);margin-top:5px}.person-badges{display:flex;gap:5px;flex-wrap:wrap}.person-badge{display:inline-block;border:1px solid #355073;background:#1b335355;color:#a9cfff;border-radius:20px;padding:3px 9px;font-size:12px}.person-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:20px 0}.person-facts strong{display:block;margin-top:5px}.person-cert,.person-history{padding:18px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.person-cert>*,.person-history>*{margin-bottom:8px}.person-warning{color:#f0bf75!important}.person-cert summary{cursor:pointer;color:#a9cfff}.person-cert details{padding:10px 0}.roster-row>div{min-width:0;overflow-wrap:anywhere}@media(max-width:1100px){.person-filters{grid-template-columns:1fr 1fr}.relay-dashboard .roster-row{grid-template-columns:1fr 1fr}}@media(max-width:600px){.person-filters,.person-facts{grid-template-columns:1fr}.relay-dashboard .roster-row{gap:12px;padding:14px}.person-facts{gap:12px}}

.personnel-toolbar{margin-bottom:20px}.person-cert .action-row{margin-top:12px}.person-history small{display:block;color:var(--muted)}
