@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}.block{display:block}.hidden{display:none}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}:root{color:#1c1c1c;background-color:#f8f9fa;font-family:Manrope,Segoe UI,sans-serif}body{background:#f8f9fa;min-height:100vh;margin:0}#root{min-height:100vh}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}:root{--brand: #a30d2d;--brand-2: #9e0b2b;--accent: #f2b21b;--bg: #f8f9fa;--card: #ffffff;--text: #1c1c1c;--muted: #6b6b6b;--border: #dadada;--shadow: 0 18px 40px rgba(28, 28, 28, .08)}.wrap{width:100%;max-width:80%;margin:0 auto}header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 10px 28px #1c1c1c0f}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;flex-wrap:nowrap}.autofill-trap{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.nav{display:flex;gap:12px;flex-wrap:nowrap;align-items:center;max-width:720px;justify-content:center;margin:0 auto;flex:1 1 auto}.nav button{background:transparent;border:none;font-weight:600;color:var(--muted);cursor:pointer;padding:8px 6px 10px;font-family:inherit;position:relative;min-width:0;width:auto;transition:color .2s ease,border-color .2s ease}.nav button:after{content:"";position:absolute;left:50%;bottom:2px;width:22px;height:2px;background:transparent;transform:translate(-50%);border-radius:999px;transition:background .2s ease}.nav button.active{color:var(--brand)}.nav button.active:after{background:var(--brand)}.nav button:hover{color:var(--brand)}.nav button:hover:after{background:#a30d2d4d}.user-button{background:#a30d2d1a;border:1px solid rgba(163,13,45,.2);color:var(--brand);padding:8px 14px;border-radius:999px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.user-button:hover{transform:translateY(-1px);box-shadow:0 8px 18px #1c1c1c1f}main{padding:24px 0 60px}.section{display:none}.section.active{display:block}.section-title{margin:0 0 6px;font-size:1.6rem}.section-subtitle{margin:0 0 20px;color:var(--muted)}.refresh-button{border:1px solid var(--border);background:#fff;border-radius:999px;padding:6px 14px;cursor:pointer;font-weight:600;font-family:inherit;color:var(--muted);transition:all .2s ease;white-space:nowrap}.refresh-button:hover{color:var(--brand);border-color:#a30d2d66;background:#a30d2d14}.panel{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:var(--shadow);margin-bottom:16px}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.stat{border:1px solid var(--border);border-radius:12px;padding:12px;background:#fff}.stat h3{margin:0;font-size:.9rem;color:var(--muted);font-weight:600}.stat div{font-size:1.4rem;font-weight:700;margin-top:6px}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.tabs button{border:1px solid var(--border);background:#fff;border-radius:999px;padding:6px 14px;cursor:pointer;font-weight:600;font-family:inherit;color:var(--muted);transition:all .2s ease}.tabs button.active{color:var(--brand);border-color:#a30d2d66;background:#a30d2d14}.settings-tabs{justify-content:flex-start;flex-wrap:nowrap}.settings-tabs button{white-space:nowrap}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.analytics-card,.analytics-month-card{border:1px solid var(--border);border-radius:12px;padding:12px;background:#fff;display:flex;flex-direction:column;gap:6px}.analytics-card .label,.analytics-month-card .label{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;font-weight:600}.analytics-card .value,.analytics-month-card .value{font-size:1.25rem;font-weight:700;color:var(--text)}.analytics-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.analytics-bandwidth{gap:12px}.analytics-bandwidth-controls{margin-top:8px;gap:10px;align-items:center}.analytics-label{font-size:.85rem;color:var(--muted);font-weight:600}.analytics-period{margin-top:8px;margin-bottom:10px;gap:10px;align-items:center;flex-wrap:nowrap}.analytics-monthly-header{justify-content:space-between;align-items:center;gap:12px;flex-wrap:nowrap}.analytics-switch{display:inline-flex;align-items:center;gap:8px;flex-wrap:nowrap}.analytics-switch button{border:1px solid var(--border);background:#fff;border-radius:999px;padding:6px 12px;cursor:pointer;font-weight:600;font-family:inherit;color:var(--muted);transition:all .2s ease}.analytics-switch button.active{color:var(--brand);border-color:#a30d2d59;background:#a30d2d14}.analytics-month-label{font-weight:700;color:var(--text);padding:6px 8px;border-radius:999px;border:1px dashed var(--border);background:#fff;min-width:90px;text-align:center}.bandwidth-chart{margin-top:12px;display:grid;grid-template-columns:44px 1fr;align-items:stretch;gap:10px;height:160px;padding:12px;border:1px dashed var(--border);border-radius:12px;background:#fff;position:relative}.bandwidth-y{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;font-size:.7rem;color:var(--muted);padding-right:4px}.bandwidth-bars{display:flex;align-items:flex-end;gap:10px;height:100%}.bandwidth-bar{flex:1;min-width:24px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:100%}.bandwidth-bar-fill{width:100%;border-radius:8px;background:linear-gradient(180deg,#a30d2dbf,#a30d2d40);min-height:6px;transition:height .2s ease}.bandwidth-bar-label{font-size:.7rem;color:var(--muted);text-align:center;white-space:nowrap}.bandwidth-tooltip{position:absolute;background:#1c1c1c;color:#fff;font-size:.75rem;padding:6px 8px;border-radius:8px;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:5;transform:translate(-50%,-6px);white-space:nowrap}.bandwidth-tooltip.active{opacity:1}.profile-actions{flex:0 0 auto;width:auto;padding-left:18px;padding-right:18px}.tab-panel{display:none}.tab-panel.active{display:block}.form-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.search-row{gap:16px;align-items:center}.search-actions{align-items:center;gap:10px;flex-wrap:wrap}.search-actions .search-input{min-width:320px}input[type=text],input[type=email],input[type=password],select{flex:1 1 220px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);font-size:.95rem;font-family:inherit}.search-input{flex:2 1 520px;min-width:360px}#scans .search-input{min-width:220px;flex:0 1 260px}#scans #runs-sort{flex:0 0 auto;width:auto;min-width:160px;height:42px;padding:10px 12px}#scans .panel .form-row,#scans .panel .form-row .form-row{flex-wrap:nowrap}.results-layout .search-input{min-width:0;width:100%}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.checkbox-grid.checkbox-vertical{grid-template-columns:1fr;width:20%;min-width:220px}.checkbox-card{border:1px solid var(--border);border-radius:10px;padding:10px 12px;display:flex;align-items:center;gap:10px;background:#fff;line-height:1.2}.checkbox-card input[type=checkbox]{width:16px;height:16px;margin:0;flex:0 0 auto}.toggle-row{justify-content:flex-start;gap:16px;flex-wrap:wrap}.toggle-card{display:inline-flex;align-items:center;gap:12px;padding:8px 14px;border:1px solid var(--border);border-radius:999px;background:#fff;font-weight:600;color:var(--text);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toggle-input{position:absolute;opacity:0;pointer-events:none}.toggle-ui{position:relative;width:42px;height:24px;border-radius:999px;background:#dc2626;transition:background .2s ease}.toggle-ui:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .2s ease}.toggle-input:checked+.toggle-ui{background:#16a34a}.toggle-input:checked+.toggle-ui:after{transform:translate(18px)}.toggle-card:focus-within{box-shadow:0 0 0 2px #22c55e33;border-color:#22c55e99}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.panel-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inline-switch{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:999px;padding:6px 10px;background:#fff;font-size:.85rem;color:var(--muted);margin-left:8px}.inline-switch input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:36px;height:20px;border-radius:999px;background:#e6e6e6;position:relative;cursor:pointer;outline:none;transition:background .2s ease}.inline-switch input:after{content:"";width:16px;height:16px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003;transition:transform .2s ease}.inline-switch input:checked{background:var(--brand)}.inline-switch input:checked:after{transform:translate(16px)}button.primary{background:var(--brand);border:none;border-radius:999px;padding:10px 18px;color:#fff;font-weight:600;cursor:pointer;font-family:inherit;transition:transform .2s ease,box-shadow .2s ease}button.primary:hover{transform:translateY(-1px);box-shadow:0 8px 20px #1c1c1c1f}button.secondary{background:#1c1c1c;border:none;border-radius:999px;padding:10px 18px;color:#fff;font-weight:600;cursor:pointer;font-family:inherit}button.ghost{background:transparent;border:1px solid var(--border);border-radius:999px;padding:9px 16px;font-weight:600;cursor:pointer;font-family:inherit;color:var(--muted)}table{width:100%;border-collapse:collapse;margin-top:10px;font-size:.95rem}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border);vertical-align:top}#sites-list table th,#sites-list table td{vertical-align:middle}.table-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}th.actions-col{text-align:right}td.actions-col{vertical-align:middle}th{color:var(--muted);font-weight:600}.results-table th:nth-child(1),.results-table td:nth-child(1){width:16%}.results-table th:nth-child(2),.results-table td:nth-child(2){width:36%}.results-table th:nth-child(5),.results-table td:nth-child(5){width:16%}.results-table th:nth-child(6),.results-table td:nth-child(6){width:8%}.results-table .ghost{padding:6px 10px;min-width:0;font-size:.85rem}.results-table .ghost[data-action=hide]{min-width:88px;white-space:nowrap}.results-table .ghost[data-action=yes]{padding:6px 12px;min-width:78px;white-space:nowrap}.domain-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:#fff;font-size:.8rem;font-weight:600;color:var(--muted);white-space:nowrap}.domain-link{text-decoration:none;color:var(--brand);border-color:#a30d2d4d;background:#a30d2d0f}.domain-link:hover{background:#a30d2d1f}.notice{font-size:.9rem;color:var(--muted);margin-top:6px}.notice.success{background:#2d8b571f;border:1px solid rgba(45,139,87,.35);color:#1f6b43;border-radius:10px;padding:8px 10px;display:inline-block}.notice.error{background:#c92a2a1f;border:1px solid rgba(201,42,42,.35);color:#a11f1f;border-radius:10px;padding:8px 10px;display:inline-block}.status{display:inline-flex;align-items:center;gap:6px;font-weight:600;text-transform:uppercase;font-size:.75rem}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:baseline;position:relative;top:-1px;background:#c92a2a}.status-dot.on{background:#2d8b57}.status:before{content:"";width:8px;height:8px;border-radius:50%;display:inline-block}.status.ok:before{background:#2d8b57}.status.warning:before{background:#d49a2f}.status.failed:before{background:#c92a2a}.pagination{display:flex;gap:10px;align-items:center;margin-top:12px}.result-list{margin-top:8px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff;max-height:320px;overflow-y:auto}#domains-search-suggestions{max-height:280px}.result-item{padding:10px 12px;border-bottom:1px solid var(--border);cursor:pointer}.result-item:last-child{border-bottom:none}.result-item:hover{background:#f3f4f6}.today-count{color:var(--muted);font-size:.8rem;margin-left:6px;font-weight:500}.recent-ente-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.recent-ente-chip{border:1px solid var(--border);border-radius:999px;padding:6px 12px;background:#fff;font-size:.85rem;font-weight:600;color:var(--text);cursor:pointer;transition:all .2s ease}.recent-ente-chip:hover{border-color:#a30d2d66;background:#a30d2d14;color:var(--brand)}.group-row td{padding:10px 12px;background:#f3f4f6;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:.75rem}.group-row-content{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.group-delete-button{padding:5px 10px;font-size:.72rem;line-height:1;border-color:#c92a2a59;color:#a11f1f;text-transform:none;letter-spacing:normal}.status-link{color:inherit;text-decoration:underline;font-weight:700}.status-link.failed{color:#c92a2a}.results-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px;align-items:stretch}.results-span{grid-column:1 / -1}.results-panel-select,.results-panel-summary{align-self:stretch}.day-list{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow-y:auto;padding-right:4px}.day-button{border:1px solid var(--border);background:#fff;border-radius:12px;padding:10px 12px;text-align:left;cursor:pointer;font-weight:600;color:var(--text);transition:all .2s ease}.day-button:disabled{cursor:default;opacity:.6;box-shadow:none}.day-date{font-size:.95rem;font-weight:700;color:var(--text)}.day-count{margin-top:4px;font-size:.82rem;font-weight:600;color:var(--muted)}.day-button.active{border-color:#a30d2d66;background:#a30d2d14;color:var(--brand)}.attachments{display:flex;flex-wrap:wrap;gap:6px}.attachments .attachment-button{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.result-title-link{color:var(--text);text-decoration:none;font-weight:600}.result-title-link:hover{color:var(--brand);text-decoration:underline}.result-title-link.recent-open{background:#f2b21b33;box-shadow:inset 0 0 0 1px #f2b21b8c;border-radius:6px;padding:2px 4px}.result-description{margin-top:4px;color:var(--muted);font-size:.85rem;line-height:1.4}.schedule-card{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:14px;background:#fbfbfc}.schedule-main{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.schedule-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;width:100%}.schedule-time-input{padding:10px 12px;border-radius:12px;border:1px solid var(--border);font-size:1rem;font-weight:600;background:#fff;color:var(--text);min-width:140px}.server-time{font-size:.85rem;color:var(--muted);background:#fff;border:1px dashed var(--border);border-radius:10px;padding:6px 10px}.attachment-button{border:1px solid var(--border);border-radius:999px;padding:6px 12px;background:#fff;font-size:.85rem;color:var(--brand);text-decoration:none;font-weight:600}.attachment-button:hover{background:#a30d2d14}.loader{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:transparent;pointer-events:none;z-index:50}.loader.active{display:flex}.spinner{width:44px;height:44px;border:4px solid rgba(163,13,45,.2);border-top:4px solid var(--brand);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:#0000004d;z-index:60}.modal.active{display:flex}.modal-content{background:#fff;border-radius:14px;padding:20px;border:1px solid var(--border);width:min(420px,90%);box-shadow:var(--shadow)}.results-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px}.filter-row{display:grid;gap:8px;margin-top:10px}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 10px;font-size:.78rem;border:1px solid var(--border);color:var(--muted);background:#fff;margin-left:8px}.badge.primary{color:var(--brand);border-color:#a30d2d4d;background:#a30d2d14}.result-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}@media(max-width:900px){.wrap{max-width:92%}.search-input{min-width:240px}.results-layout{grid-template-columns:1fr}}@media(max-width:720px){.header-inner{flex-direction:row;align-items:center;flex-wrap:wrap}.nav{flex-wrap:wrap}}:root{--brand: #a30d2d;--brand-2: #9e0b2b;--gold: #f2b21b;--bg: #f8f9fa;--card: #ffffff;--text: #1c1c1c;--muted: #6b6b6b;--border: #dadada;--shadow: 0 24px 60px rgba(28, 28, 28, .12)}.login-page{margin:0;font-family:Manrope,Segoe UI,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:min(420px,100%);background:var(--card);border-radius:20px;border:1px solid var(--border);padding:34px;box-shadow:var(--shadow);text-align:center}.login-card img{height:48px;margin-bottom:14px}h1{margin:0 0 10px;font-size:1.4rem}p{margin:0 0 22px;color:var(--muted);font-size:.95rem}input{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--border);margin-bottom:12px;font-size:.95rem;font-family:inherit}button{width:auto;min-width:180px;padding:12px 14px;border-radius:999px;border:none;background:var(--brand);color:#fff;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;font-family:inherit}button:hover{transform:translateY(-1px);box-shadow:0 8px 20px #1c1c1c33}.notice{color:var(--muted);font-size:.9rem;margin-top:10px}:root{--brand: #a30d2d;--brand-2: #9e0b2b;--gold: #f2b21b;--bg: #f8f9fa;--card: #ffffff;--text: #1c1c1c;--muted: #6b6b6b;--border: #dadada;--shadow: 0 20px 50px rgba(28, 28, 28, .12)}*{box-sizing:border-box}body{margin:0;font-family:Manrope,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}header{background:#fff;color:var(--text);border-bottom:1px solid var(--border);box-shadow:0 10px 28px #1c1c1c0f}.content-wrap{width:100%;max-width:80%;margin:0 auto}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px;cursor:pointer}.brand img{height:34px}.pill-button{background:#a30d2d1a;border:1px solid rgba(163,13,45,.2);color:var(--brand);padding:8px 14px;border-radius:999px;font-size:.88rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;font-family:inherit}.pill-button:hover{transform:translateY(-1px);box-shadow:0 10px 22px #1c1c1c33;background:#ffffff42}main{padding:32px 0 60px}.panel{background:var(--card);border-radius:18px;border:1px solid var(--border);padding:22px;box-shadow:var(--shadow);margin-bottom:18px}.panel h2{margin:0 0 12px;font-size:1.4rem}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:16px}.meta-card{border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:#fff}.meta-card h3{margin:0 0 6px;font-size:.9rem;color:var(--muted);font-weight:600}.meta-card div{font-weight:700;font-size:1rem}.log-box{border:1px solid var(--border);border-radius:12px;padding:14px;background:#fff;white-space:pre-wrap;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;color:#2b2b2b}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-weight:600;font-size:.85rem;border:1px solid var(--border);background:#fff}.status-pill.failed{color:#b42318;border-color:#b4231833;background:#b4231814}.status-pill.warning{color:#b07614;border-color:#b0761433;background:#b0761414}.status-pill.ok{color:#2d8b57;border-color:#2d8b5733;background:#2d8b5714}.notice{color:var(--muted);margin:6px 0 0}#global-loader{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#f8f9fab3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:50}#global-loader.active{opacity:1;pointer-events:auto}.loader-card{background:#fff;border-radius:16px;padding:14px 20px;border:1px solid var(--border);box-shadow:var(--shadow)}
