/* Shared layout for every administrative view. */
.bulk-location-option{padding:16px 20px;border:1px solid var(--line);border-radius:12px;background:#f3f6ef}.bulk-location-option p{line-height:1.6;margin-top:8px!important}
.report-card{margin:0}.report-card .section-heading{flex-wrap:wrap}.report-card .section-toolbar{margin:18px 0 0}.report-message{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.report-card h3{overflow-wrap:anywhere}
.code-location-options{display:grid;gap:10px;max-height:40dvh;overflow:auto}.code-location-option{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:10px;margin:0;font-size:15px;cursor:pointer}.code-location-option:has(input:checked){background:#edf5e9;border-color:#7d9e70}.code-location-option input{width:18px;height:18px;flex-shrink:0}.code-location-option>span{min-width:0;overflow-wrap:anywhere}.code-location-option small{display:block;margin-top:4px;color:var(--muted)}
#install-fields:not(:empty){margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
#install-status:empty{display:none}
#install-status{margin:20px 0 0;line-height:1.65;overflow-wrap:anywhere}
#install-status.install-success{padding:16px 20px;background:#edf5e9;border:1px solid #d5e4ce;border-radius:12px;color:#295e46}
#install-fields>button{margin:0}
.country-picker{width:100%;margin-top:8px;display:flex;align-items:center;justify-content:space-between;min-height:50px!important;text-align:left}.country-picker #country-value{display:flex;align-items:center;gap:12px;min-width:0}.country-picker #country-value>span{overflow-wrap:anywhere}.country-picker .location-flag{width:28px;height:21px}.country-dialog{width:min(540px,calc(100vw - 32px))}.country-dialog input{font-size:16px;min-height:48px}.country-options{display:grid;gap:6px;margin-top:16px;max-height:45dvh;overflow:auto}.country-option{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);text-align:left;min-height:52px}.country-option:hover,.country-option[aria-pressed=true]{background:#edf5e9;border-color:#75956c}.country-option>span{flex:1;min-width:0;overflow-wrap:anywhere}.country-option>small{color:var(--muted)}
.admin-main:has(#content form) #new-code,.admin-main:has(#install-fields) #new-code{display:none}
.form-back{display:block;background:transparent;color:var(--green);padding:0 0 16px;min-height:44px;margin-bottom:12px;text-align:left;font-size:14px}
:root{--muted:#64736b}
.admin-main{padding:28px clamp(24px,3vw,48px) 48px;max-width:1800px;width:100%;margin:0 auto}
.admin-top{align-items:center;gap:16px;min-height:44px}
#logout-mobile{display:none}
.page-heading{margin:32px 0;align-items:center}.page-heading h1{line-height:1.2}.page-heading p{margin:10px 0 0;font-size:14px}
.admin-main button{min-height:44px;line-height:1.35;gap:8px}
.admin-main button:disabled{cursor:not-allowed}
.admin-main .primary,.admin-main .secondary{padding:12px 18px;border-radius:10px}
.admin-main .notice{font-size:13px;line-height:1.65;margin:0 0 24px;padding:16px 20px}
.section-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 24px}.section-toolbar h3,.section-heading h3{margin:0;font-size:20px;font-weight:600}.section-toolbar p{margin:5px 0 0;font-size:13px;color:var(--muted)}
.server-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0 0 32px}
.server-card{min-width:0;padding:24px;border-radius:16px;display:flex;flex-direction:column}
.server-header{gap:16px;align-items:flex-start;flex-wrap:wrap}.server-title{display:flex;gap:12px;align-items:center;min-width:0}.server-title h3{font-size:23px;font-weight:600;overflow-wrap:anywhere}.server-country{font-size:12px;color:var(--muted)}
.location-flag{width:36px;height:27px;object-fit:cover;border-radius:4px;border:1px solid #0001;flex-shrink:0}.location-placeholder{font-size:30px}
.server-card .ip{margin:16px 0 20px;font-size:13px;overflow-wrap:anywhere;line-height:1.5}
.metrics{padding:20px 0;border-bottom:1px solid var(--line);gap:16px}.metrics small{font-size:11px;text-transform:none}.metrics strong{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}
.server-public-status{display:flex;gap:10px;align-items:flex-start;background:#f5f7f2;border-radius:10px;padding:14px 16px;margin:20px 0 16px}.server-public-status small{display:block;color:var(--muted);font-size:11px;margin-bottom:3px}.server-public-status strong{font-size:14px}.server-public-status p{margin:6px 0 0;font-size:13px;overflow-wrap:anywhere}.status-dot{width:8px;height:8px;border-radius:50%;background:#b78a48;flex-shrink:0;margin-top:7px}.status-dot.is-ready{background:#3e865d}
.server-details{font-size:13px;margin-bottom:20px}.server-details summary{cursor:pointer;color:var(--muted);padding:4px 0}.server-details dl{margin:12px 0 0}.server-details dl>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:6px 0}.server-details dt{color:var(--muted)}.server-details dd{margin:0;overflow-wrap:anywhere}
.server-actions{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.server-actions .secondary{padding:10px 8px;font-size:13px}.server-actions [data-install]{grid-column:1/-1}
.stat{border-radius:16px;padding:22px}.stat p{font-size:13px}.stat strong{font-variant-numeric:tabular-nums}.stat .muted{font-size:18px}
.panel{border-radius:16px;padding:24px;margin-bottom:24px}.panel>h3{margin:0 0 18px;font-size:20px;font-weight:600}
.panel:has(form){max-width:920px}.form-grid{gap:24px;align-items:start}.form-grid>div,.form-grid>label{min-width:0}.form-grid label{font-size:14px;margin:0;line-height:1.5}.form-grid label input:not([type=checkbox]),.form-grid label select{display:block;margin-top:8px;min-height:48px;font-size:16px}.form-grid fieldset{min-width:0;margin:0;padding:18px 20px}.form-grid legend{font-size:13px;font-weight:600;padding:0 6px}.form-grid .check{display:flex;align-items:flex-start;gap:10px;margin:8px 0;min-height:28px}.check input[type=checkbox]{flex-shrink:0;width:18px;height:18px;margin:2px 0 0}.form-grid .notice,.form-grid p{margin:0}.form-grid>button{justify-self:start}.form-grid .full:has(>button){padding-top:8px}
.table-wrap table{font-size:14px}.table-wrap th{font-size:11px}.table-wrap td{vertical-align:top;line-height:1.7}.table-wrap td button{min-height:40px;font-size:12px}.table-wrap td:first-child{min-width:170px}.table-wrap small{font-size:12px}
.event{padding:18px 0;font-size:14px;align-items:flex-start}.event>span{min-width:0;overflow-wrap:anywhere}.event time{font-size:12px;white-space:nowrap;flex-shrink:0}
.code-actions{flex-wrap:wrap}.code-actions [data-archive-code],.code-actions [data-unarchive-code]{grid-column:1/-1}.code-card .code-actions button{white-space:normal}
.login-card{padding:32px}.login-card h2{font-size:27px}.login-card input{font-size:16px;min-height:48px}.login-card label{font-size:14px}.login-card #login-error{color:var(--red)}
@media(max-width:1200px){.server-grid{grid-template-columns:1fr}.server-actions{display:flex;flex-wrap:wrap}.server-actions button{flex:1}.server-actions [data-install]{flex-basis:100%}}
@media(max-width:720px){
 .sidebar{padding:18px 16px}.sidebar .brand{margin-bottom:20px}.nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.nav button{padding:12px 6px;font-size:12px;min-height:44px}.admin-main{padding:20px 16px 36px}.admin-top{font-size:11px;padding-bottom:16px}.admin-top>span:first-child{display:none}#logout-mobile{display:inline-flex;margin-left:12px;min-height:36px;padding:8px 12px}.admin-top>span:last-child{display:flex;align-items:center;justify-content:space-between;width:100%}
 .page-heading{margin:24px 0;flex-wrap:wrap;gap:16px}.page-heading h1{font-size:28px}.page-heading p{font-size:13px}.page-heading>.primary{padding:12px 18px;font-size:14px}.section-toolbar{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:20px}.section-toolbar>.primary{width:100%}
 .server-card,.panel{padding:20px;border-radius:14px}.server-grid{gap:20px}.server-title h3{font-size:21px}.metrics{gap:10px}.metrics strong{font-size:18px}.server-actions{display:grid;grid-template-columns:1fr 1fr}.server-actions button:first-child{grid-column:1/-1}.server-actions button{min-height:46px}.stats{gap:12px;margin-bottom:24px}.stat{padding:16px}.stat strong{font-size:27px}.stat p{font-size:12px}
 .form-grid{gap:20px}.form-grid fieldset{padding:14px}.form-grid>button{width:100%}.event{flex-direction:column;gap:6px}.archive-toolbar>button{flex:1;padding:12px 10px!important}
 .table-wrap{overflow:visible}.table-wrap table,.table-wrap tbody{display:block}.table-wrap thead{display:none}.table-wrap tr{display:block;padding:16px 0;border-bottom:1px solid var(--line)}.table-wrap tr:first-child{padding-top:0}.table-wrap tr:last-child{border:0;padding-bottom:0}.table-wrap td{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;border:0;padding:7px 0;font-size:13px;overflow-wrap:anywhere}.table-wrap td::before{content:attr(data-label);color:var(--muted);font-size:12px}.table-wrap td:first-child{display:block;font-size:16px;font-weight:600;padding-bottom:12px}.table-wrap td:first-child::before{display:none}.table-wrap td:last-child{display:flex;flex-wrap:wrap;padding-top:12px}.table-wrap td:last-child::before{display:none}.table-wrap td:last-child button{flex:1;margin:0}.table-wrap td.empty{display:block}
}
