.monitor-page{padding:30px 0 70px;min-height:70vh}
.monitor-subnav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 26px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px rgba(17,24,39,.04)}
.monitor-subnav a,.monitor-subnav button{display:inline-flex;align-items:center;padding:10px 14px;border:0;border-radius:11px;background:transparent;color:#344054;font:inherit;font-size:14px;font-weight:900;cursor:pointer}
.monitor-subnav a:hover,.monitor-subnav a.active,.monitor-subnav button:hover{background:#fff0ed;color:var(--primary);text-decoration:none}
.monitor-subnav form{margin-left:auto}
.monitor-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}
.monitor-title-row h1{font-size:clamp(34px,5vw,54px);line-height:1.05;margin:0 0 10px}
.monitor-muted{color:var(--muted)}
.agent-state{min-width:210px;padding:15px 18px;border-radius:16px;display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);background:#fff}
.agent-state strong{font-size:15px}.agent-state span{font-size:13px;color:var(--muted)}
.agent-state.online{border-color:#a6e5cc;background:#ecfdf3}.agent-state.online strong{color:#08724c}
.agent-state.offline{border-color:#f1b4ae;background:#fff0ed}.agent-state.offline strong{color:#9a281a}
.monitor-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:28px}
.monitor-kpis article{padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 20px rgba(17,24,39,.04)}
.monitor-kpis span{display:block;color:var(--muted);font-size:13px;font-weight:800}.monitor-kpis strong{display:block;font-size:30px;line-height:1.1;margin-top:4px}
.monitor-kpis .good{border-top:4px solid #16815b}.monitor-kpis .warn{border-top:4px solid #d98716}.monitor-kpis .bad{border-top:4px solid #c53030}.monitor-kpis .muted{border-top:4px solid #667085}
.asic-group{margin:0 0 28px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.asic-group-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8fafc)}
.asic-group-head h2{margin:0;font-size:25px}.asic-group-head span{color:var(--muted);font-weight:800}
.asic-table-wrap,.settings-table-wrap{overflow:auto;width:100%}
.asic-table{width:100%;min-width:2100px;border-collapse:separate;border-spacing:0;font-size:13px}
.asic-table th{position:sticky;top:0;z-index:2;text-align:left;white-space:nowrap;padding:13px 12px;background:#f2f4f7;color:#475467;border-bottom:1px solid var(--line);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.asic-table td{padding:13px 12px;border-bottom:1px solid #edf0f4;vertical-align:top;white-space:nowrap}
.asic-table tr:last-child td{border-bottom:0}.asic-table tbody tr:hover td{background:#fbfcfe}
.asic-table td strong{display:block}.asic-table td small{display:block;color:var(--muted);margin-top:3px}
.asic-table .wrap{white-space:normal;min-width:265px;word-break:break-word}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace}
.status-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:950;white-space:nowrap}
.status-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.status-pill.ok{background:#e8fff4;color:#08724c}.status-pill.warning{background:#fff7e6;color:#a15c00}.status-pill.critical{background:#fff0ed;color:#a62b1c}.status-pill.offline,.status-pill.unknown{background:#f2f4f7;color:#475467}
.status-critical td:first-child{box-shadow:inset 4px 0 #c53030}.status-warning td:first-child{box-shadow:inset 4px 0 #d98716}.status-offline td:first-child{box-shadow:inset 4px 0 #667085}
.monitor-empty,.monitor-error,.monitor-warning{padding:18px 20px;border-radius:16px;margin:16px 0;background:#fff;border:1px solid var(--line)}
.monitor-error,.monitor-warning{background:#fff7e6;color:#8b4b00;border-color:#f5d492;font-weight:800}
.monitor-auth-wrap{min-height:65vh;display:grid;place-items:center;padding:48px 20px}
.monitor-auth-card{width:min(480px,100%);padding:30px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}
.monitor-auth-wide{width:min(720px,100%)}.monitor-auth-card h1{font-size:38px;line-height:1.08;margin:0 0 12px}
.monitor-form{display:grid;gap:16px;margin-top:22px}.monitor-form label,.monitor-settings-form label{display:grid;gap:7px;color:#344054;font-weight:800}
.monitor-form fieldset{display:grid;gap:15px;border:1px solid var(--line);border-radius:16px;padding:18px}.monitor-form legend{padding:0 8px;font-weight:950}
.monitor-settings-form{display:grid;gap:18px;margin-bottom:26px}.settings-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 10px 28px rgba(17,24,39,.05)}
.settings-card h2{margin:0 0 16px;font-size:25px}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.settings-table{border-collapse:collapse;width:100%;min-width:1320px;font-size:13px}.settings-table th,.settings-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.settings-table th{background:#f8fafc;color:#475467;font-size:12px}.settings-table input[type=number]{min-width:90px;padding:9px}.settings-table input[type=text],.settings-table input:not([type]){padding:9px}
.settings-table td small{display:block;color:var(--muted)}.device-settings{min-width:820px}.board-checks{display:flex;gap:9px}.board-checks label{display:inline-flex;align-items:center;gap:4px}.board-checks input{width:auto}.device-settings input[type=checkbox]{width:auto}
.add-device-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.toggle-label{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important;justify-content:flex-start;gap:9px!important}.toggle-label input{width:auto}.block-code{display:block;padding:14px;border-radius:12px;background:#111827;color:#e5e7eb;overflow:auto;word-break:break-all}
.incident-list{display:grid;gap:14px}.incident-card{padding:20px;background:#fff;border:1px solid var(--line);border-left:5px solid #667085;border-radius:16px;box-shadow:0 8px 22px rgba(17,24,39,.04)}
.incident-card.warning{border-left-color:#d98716}.incident-card.critical{border-left-color:#c53030}.incident-card.resolved{opacity:.72}.incident-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.incident-card h2{margin:13px 0 7px;font-size:21px}.incident-card p{margin:0;color:#475467}.incident-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px;color:var(--muted);font-size:13px;font-weight:800}
@media(max-width:1100px){.monitor-kpis{grid-template-columns:repeat(3,1fr)}.settings-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.monitor-title-row{align-items:flex-start;flex-direction:column}.agent-state{width:100%}.monitor-kpis{grid-template-columns:1fr 1fr}.settings-grid,.add-device-grid{grid-template-columns:1fr}.monitor-subnav form{margin-left:0}.monitor-auth-card{padding:22px}}

/* AutoHelper monitor table layout v1.1.5 */
.asic-table{min-width:2050px;table-layout:fixed}
.asic-table col.col-status{width:112px}.asic-table col.col-ip{width:132px}.asic-table col.col-name{width:96px}
.asic-table col.col-rate-current{width:116px}.asic-table col.col-rate-average{width:116px}
.asic-table col.col-reject{width:120px}.asic-table col.col-uptime{width:112px}
.asic-table col.col-temp-pcb,.asic-table col.col-temp-chip{width:180px}
.asic-table col.col-stratum{width:278px}.asic-table col.col-worker{width:170px}.asic-table col.col-fans{width:160px}
.asic-table col.col-boards{width:175px}.asic-table col.col-power{width:94px}.asic-table col.col-last-poll{width:170px}
.asic-table th.col-rate-current,.asic-table th.col-rate-average{white-space:nowrap;line-height:1.13}.asic-table td.metric-rate{font-variant-numeric:tabular-nums}
.asic-table td.metric-rate,.asic-table td.metric-uptime,.asic-table td.metric-power{vertical-align:middle}
.asic-table td.metric-model{white-space:normal;line-height:1.2;font-weight:400;vertical-align:middle}
.asic-table td.metric-ip,.asic-table td.metric-rate-average{font-weight:850}
.asic-table td.metric-rate-current{font-weight:400}

/* Dedicated monitor shell v1.1.5 */
body.monitor-app-body .site-header,
body.monitor-app-body .site-footer{display:none!important}
body.monitor-app-body main{min-height:100vh}
body.monitor-app-body .monitor-page{padding-top:18px}
body.monitor-app-body .monitor-subnav{margin-top:0}


/* AutoHelper incidents/settings v1.1.7 */
.incident-toolbar{display:flex;flex-direction:column;align-items:flex-end;gap:7px;min-width:230px}
.incident-toolbar small{color:var(--muted);font-size:12px;font-weight:700;text-align:right}
.incident-clear-form{margin:0}
.button.incident-clear-button{border-color:#f0aaa2;background:#fff6f4;color:#9a281a;box-shadow:none}
.button.incident-clear-button:hover{background:#fff0ed;color:#7f1d14}
.settings-card-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.settings-card-actions .button{min-width:210px}
@media(max-width:720px){.incident-toolbar{align-items:flex-start;min-width:0;width:100%}.incident-toolbar small{text-align:left}.settings-card-actions{justify-content:stretch}.settings-card-actions .button{width:100%;min-width:0}}

/* AutoHelper metric alert cells v1.1.8 */
.asic-table td.metric-alert{font-weight:850;position:relative;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}
.asic-table td.metric-alert-critical{background:#fff0ed!important;color:#a62b1c!important;box-shadow:inset 0 0 0 1px #f1b4ae}
.asic-table td.metric-alert-warning{background:#fff7e6!important;color:#a15c00!important;box-shadow:inset 0 0 0 1px #f5d492}
.asic-table tbody tr:hover td.metric-alert-critical{background:#ffe6e1!important}
.asic-table tbody tr:hover td.metric-alert-warning{background:#ffefcc!important}
/* AutoHelper notification controls v1.1.10 */
.notification-mode-legend {
    display: grid;
    gap: 8px;
    margin: 14px 0 18px;
    padding: 14px 16px;
    border-radius: 14px;
    background: #f7f8fb;
    color: #596274;
    font-size: 13px;
}
.device-notification-list {
    display: grid;
    gap: 10px;
}
.notification-device-card {
    border: 1px solid #e2e6ed;
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
}
.notification-device-card > summary {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 48px;
    padding: 11px 14px;
    cursor: pointer;
    list-style: none;
    background: #fafbfc;
}
.notification-device-card > summary::-webkit-details-marker { display: none; }
.notification-device-card > summary::after {
    content: '▾';
    margin-left: auto;
    color: #7a8495;
    transition: transform .18s ease;
}
.notification-device-card[open] > summary::after { transform: rotate(180deg); }
.notification-custom-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 999px;
    background: #fff3d6;
    color: #9b6500;
    font-size: 11px;
    font-weight: 700;
}
.notification-rule-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    gap: 12px 16px;
    padding: 16px;
}
.notification-rule-grid label {
    display: grid;
    gap: 6px;
    color: #30394a;
    font-size: 13px;
    font-weight: 600;
}
.notification-rule-grid select { width: 100%; }
.incident-notification-panel {
    display: grid;
    gap: 10px;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(90, 99, 116, .16);
}
.notification-state {
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 13px;
    line-height: 1.45;
}
.notification-state.enabled { background: #eef8f3; color: #176e4d; }
.notification-state.no-reminders { background: #fff7e5; color: #8a5a00; }
.notification-state.off { background: #f2f3f6; color: #586171; }
.notification-state.paused { background: #fff0e8; color: #a24e1a; }
.notification-settings-link {
    width: fit-content;
    font-size: 13px;
    font-weight: 700;
}
.incident-mute-form {
    display: grid;
    grid-template-columns: minmax(170px, 220px) minmax(190px, 240px) auto;
    gap: 10px;
    align-items: end;
}
.incident-mute-form label {
    display: grid;
    gap: 5px;
    color: #5f6878;
    font-size: 12px;
    font-weight: 600;
}
.incident-mute-form select,
.incident-mute-form input { width: 100%; }
.incident-unmute-form { margin: 0; }
@media (max-width: 900px) {
    .notification-rule-grid { grid-template-columns: 1fr; }
    .incident-mute-form { grid-template-columns: 1fr; }
}
/* End AutoHelper notification controls v1.1.10 */

/* AutoHelper manual SMTP result and incident counters v1.1.14 */
.mail-test-result-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.monitor-kpis.incident-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}
@media(max-width:1100px){.monitor-kpis.incident-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.monitor-kpis.incident-kpis{grid-template-columns:1fr 1fr}}
/* End AutoHelper manual SMTP result and incident counters v1.1.14 */



/* AUTOHELPER_HASHRATE_V1119_BEGIN */
/* AutoHelper period-average hashrate dashboard and history v1.1.19 */
.hashrate-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 28px}
.hashrate-summary-card{display:block;padding:20px 22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#fff,#f8fafc);box-shadow:0 9px 24px rgba(17,24,39,.05);color:inherit}
.hashrate-summary-title{display:block;font-size:21px;font-weight:950;color:#101828}.hashrate-summary-card small{display:block;margin-top:3px;color:var(--muted);font-weight:750}
.hashrate-summary-card>div{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.hashrate-summary-card>div>span{display:block;padding:13px 15px;border-radius:13px;background:#fff;border:1px solid #eaecf0;color:var(--muted);font-size:12px;font-weight:850}.hashrate-summary-card>div strong{display:block;margin-top:4px;color:#101828;font-size:23px;line-height:1.1;font-variant-numeric:tabular-nums}
.hashrate-summary-average-link{display:block;color:inherit;text-decoration:none;border-radius:8px}.hashrate-summary-average-link:hover strong{color:#b93828;text-decoration:underline;text-decoration-style:dashed;text-underline-offset:4px}
.hashrate-summary-chart-link{display:inline-flex;margin-top:14px;color:#b93828;font-style:normal;font-size:13px;font-weight:900;text-decoration:none}.hashrate-summary-chart-link:hover{text-decoration:underline}
.hashrate-cell-link{display:inline-block;color:inherit;text-decoration:none;border-bottom:1px dashed transparent}.hashrate-cell-link:hover{color:#b93828;border-bottom-color:currentColor;text-decoration:none}.metric-alert .hashrate-cell-link{color:inherit}
.dashboard-check label{display:grid;justify-items:center;gap:4px;min-width:86px;cursor:pointer}.dashboard-check input{width:18px;height:18px}.dashboard-check span{font-size:11px;font-weight:850;color:var(--muted);white-space:nowrap}
.history-title-row{align-items:center}.history-back-link{display:inline-flex;align-items:center;padding:11px 15px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#344054;font-weight:900;text-decoration:none}.history-back-link:hover{background:#fff0ed;color:var(--primary);text-decoration:none}
.history-controls-card{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:20px 22px;margin-bottom:18px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 22px rgba(17,24,39,.04)}
.history-controls-card label{display:grid;gap:7px;min-width:min(500px,100%);font-weight:900;color:#344054}.history-controls-card select{min-width:320px}
.history-periods{display:flex;gap:7px;flex-wrap:wrap}.history-periods a{display:inline-flex;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;color:#475467;font-size:13px;font-weight:900;text-decoration:none}.history-periods a:hover,.history-periods a.active{background:#fff0ed;border-color:#efb4ac;color:#a62b1c;text-decoration:none}
.history-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.history-summary-grid article{padding:16px 17px;background:#fff;border:1px solid var(--line);border-radius:15px}.history-summary-grid span{display:block;color:var(--muted);font-size:12px;font-weight:850}.history-summary-grid strong{display:block;margin-top:4px;font-size:21px;font-variant-numeric:tabular-nums}
.history-chart-card{padding:22px;background:#fff;border:1px solid var(--line);border-radius:19px;box-shadow:var(--shadow)}.history-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:15px}.history-chart-head h2{margin:0;font-size:26px}.history-chart-head p{margin:5px 0 0;color:var(--muted);font-weight:750}
.history-legend{display:flex;gap:16px;align-items:center;flex-wrap:wrap;color:#475467;font-size:13px;font-weight:900}.history-legend span:before{content:"";display:inline-block;width:22px;height:3px;margin-right:7px;vertical-align:middle;border-radius:99px}.history-legend .average:before{background:#1b6fc2}
.history-chart-wrap{position:relative;min-height:350px;border:1px solid #eef0f4;border-radius:15px;overflow:hidden;background:#fff}.history-chart-wrap canvas{display:block;width:100%;height:420px;cursor:crosshair}.history-chart-tooltip{position:absolute;z-index:4;display:grid;gap:4px;min-width:190px;padding:10px 12px;border-radius:11px;background:rgba(16,24,40,.94);color:#fff;box-shadow:0 8px 25px rgba(16,24,40,.25);font-size:12px;pointer-events:none}.history-chart-tooltip strong{font-size:12px}.history-chart-tooltip span{font-weight:800}.history-chart-tooltip .average{color:#8cc8ff}.history-empty{display:grid;place-items:center;min-height:350px;color:var(--muted);font-weight:850}.history-chart-axis-note{margin-top:10px;color:var(--muted);font-size:12px;text-align:right}
@media(max-width:1100px){.history-summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.hashrate-summary-grid{grid-template-columns:1fr}.hashrate-summary-card>div{grid-template-columns:1fr 1fr}.history-controls-card,.history-chart-head{align-items:stretch;flex-direction:column}.history-controls-card label,.history-controls-card select{min-width:0;width:100%}.history-chart-wrap canvas{height:360px}.history-back-link{width:100%;justify-content:center}}
@media(max-width:480px){.hashrate-summary-card>div,.history-summary-grid{grid-template-columns:1fr}.history-chart-wrap canvas{height:330px}}
/* AUTOHELPER_HASHRATE_V1119_END */
