#accountGate{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f4f6f5}
.account-panel{width:min(460px,100%);background:white;border:1px solid #dae2dd;border-top:4px solid #247a55;border-radius:6px;padding:26px}
.account-panel img{width:150px;height:auto;margin-bottom:18px}.account-tabs{display:flex;gap:8px;margin:18px 0}.account-tabs button{flex:1}.account-tabs button[aria-selected=true]{background:#247a55;color:white}
.account-panel label{margin:14px 0}.account-panel button[type=submit]{width:100%;margin-top:12px}.account-message{min-height:24px;color:#b33737;white-space:pre-wrap}
#accountTools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}#accountTools span{padding-right:8px}
#accountAdmin{width:min(1100px,calc(100% - 24px))}.admin-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0}.admin-actions input{width:90px}.admin-actions label{display:flex;align-items:center;gap:8px;margin:0}.admin-output{width:100%;min-height:100px;border:1px solid #cedad3;padding:10px;font:14px monospace}
#accountAdmin td:last-child{display:flex;gap:6px}#accountAdmin table{font-size:13px}#accountAdmin .scroll{max-height:360px}#accountAdmin h3{margin-top:22px}.account-dialog{width:min(460px,calc(100% - 24px))}.account-close{float:right}
.account-presence{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0;padding:14px 0;border-top:1px solid #dae2dd;border-bottom:1px solid #dae2dd}.account-presence div{min-width:0}.account-presence dt{color:#6c7c73;font-size:13px;overflow-wrap:anywhere}.account-presence dd{margin:6px 0 0;font-size:24px;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}#accountOnline{color:#247a55}#accountOffline{color:#63717b}#accountDisabled{color:#a33b30}@media(max-width:480px){.account-presence{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){#app>header{flex-wrap:wrap}#accountTools{width:100%}.account-panel{padding:20px}}

.monitor-dialog{width:min(760px,calc(100% - 24px));padding:22px;max-height:85vh}
.monitor-toolbar{display:flex;gap:10px;margin:14px 0}.monitor-toolbar select{flex:1}
.log-entry{display:grid;grid-template-columns:145px 145px minmax(0,1fr);gap:5px 12px;padding:10px 0;border-bottom:1px solid #dae2dd;font-size:13px}.log-entry time{color:#66786d}.log-entry div{grid-column:auto}.log-entry p{margin:3px 0;color:#66786d;overflow-wrap:anywhere}
.server-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.server-card{padding:14px;border:1px solid #dae2dd;border-radius:6px}.server-card span,.server-card b,.server-card small{display:block}.server-card b{font-size:20px;margin:8px 0;color:#247a55}.server-card small{color:#66786d;margin-top:7px;line-height:1.5}.server-card progress{width:100%;height:9px;accent-color:#247a55}
@media(max-width:600px){.server-grid{grid-template-columns:1fr}.log-entry{grid-template-columns:1fr}.log-entry div{grid-column:1}}

.server-inline{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:12px;color:#66786d;margin-left:auto;padding:6px 12px;border:1px solid #dae2dd;border-radius:5px}.server-inline b{color:#247a55}.import-dialog{width:min(1160px,calc(100% - 24px));max-height:90vh}.import-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px}.import-fields label{margin:5px 0}.import-fields textarea{width:100%;min-height:64px;font:inherit;padding:7px;border:1px solid #cedad3}.import-fields .wide{grid-column:1/-1}.import-note{padding:10px;background:#fff5df;color:#805d20}.import-errors{color:#b33737;white-space:pre-wrap}.import-review{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px}.import-list{max-height:55vh;overflow:auto}.import-list button{display:block;width:100%;text-align:left;margin-bottom:6px;font-size:12px}.import-list [aria-pressed=true]{border-color:#247a55;background:#eaf3ed}.import-mapping{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.import-dialog .scroll{max-height:250px}.import-dialog td,.import-dialog th{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.import-history{margin-top:20px}.import-history p{border-top:1px solid #dae2dd;padding-top:10px}@media(max-width:800px){.server-inline{margin:0}.import-fields,.import-mapping{grid-template-columns:1fr 1fr}.import-review{grid-template-columns:1fr}.import-list{max-height:160px}}

.import-review{align-items:start}#importEditor{max-height:58vh;overflow:auto;padding-right:8px}.import-fields .wide{min-width:0}.import-fields .wide label{display:block}@media(max-width:800px){#importEditor{max-height:50vh}}

/* Keep account controls beside server status and logout. */
#accountTools{margin-left:auto;justify-content:flex-end;flex-shrink:0}
.server-inline{margin-left:0;flex-shrink:0}
@media(max-width:1100px){#app>header{flex-wrap:wrap}#accountTools{margin-left:auto;flex-wrap:wrap}}
@media(max-width:800px){#accountTools{width:100%;margin-left:0;justify-content:flex-start}.server-inline{margin-left:0}}

/* Place server metrics after logout in the header. */
#app>header>#logout{order:1}
#app>header>.server-inline{order:2}

/* Monitor thresholds and distinct header actions. */
#openAnnouncementImport{background:#247a55;border-color:#247a55;color:#fff;font-weight:600}
#openAnnouncementImport:hover{background:#1b6042}
#app>header>#logout{background:#fff5f3;border-color:#dca49b;color:#a33b30;font-weight:600}
#app>header>#logout:hover{background:#ffe8e3}
.server-inline{gap:10px;font-variant-numeric:tabular-nums}
.server-inline.monitor-healthy{background:#f0f8f2;border-color:#b7d6bf}
.server-inline.monitor-warning{background:#fff8e7;border-color:#e8c675}
.server-inline.monitor-danger{background:#fff0ef;border-color:#df9995}
.server-inline.monitor-unknown{background:#f3f5f4;border-color:#dae2dd}
.server-inline .metric-healthy,.server-inline .metric-healthy b{color:#247a55}
.server-inline .metric-warning,.server-inline .metric-warning b{color:#986100}
.server-inline .metric-danger,.server-inline .metric-danger b{color:#bd3027}
.server-inline .metric-unknown,.server-inline .metric-unknown b{color:#748078}
.monitor-state{font-weight:600;font-size:11px}
.monitor-warning .monitor-state{color:#986100}.monitor-danger .monitor-state{color:#bd3027}
.server-inline{min-width:0;max-width:100%;flex-shrink:1}.server-inline>span{min-width:0;overflow-wrap:anywhere}
