@font-face{font-family:DM Sans;font-weight:400;font-display:swap;src:url(/fonts/DMSans-0.ttf)format("truetype")}@font-face{font-family:DM Sans;font-weight:500;font-display:swap;src:url(/fonts/DMSans-1.ttf)format("truetype")}@font-face{font-family:DM Sans;font-weight:600;font-display:swap;src:url(/fonts/DMSans-2.ttf)format("truetype")}@font-face{font-family:DM Sans;font-weight:700;font-display:swap;src:url(/fonts/DMSans-3.ttf)format("truetype")}@font-face{font-family:Manrope;font-weight:500;font-display:swap;src:url(/fonts/Manrope-1.ttf)format("truetype")}@font-face{font-family:Manrope;font-weight:600;font-display:swap;src:url(/fonts/Manrope-2.ttf)format("truetype")}@font-face{font-family:Manrope;font-weight:700;font-display:swap;src:url(/fonts/Manrope-3.ttf)format("truetype")}@font-face{font-family:Manrope;font-weight:800;font-display:swap;src:url(/fonts/Manrope-4.ttf)format("truetype")}@font-face{font-family:IBM Plex Mono;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-0.ttf)format("truetype")}:root{--font:"DM Sans", system-ui, sans-serif;--font-head:"Manrope", "DM Sans", sans-serif;--mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;--radius:14px;--side:232px;--bg:#0b1012;--surface:#131b1e;--surface2:#182326;--hover:#1c282b;--text:#eff5f0;--muted:#9aa9ab;--faint:#6c7b7d;--border:#293437;--accent:#c3f975;--accent-fill:#c3f975;--accent-text:#15200d;--accent-soft:#c3f9751a;--ok:#a3e635;--warn:#fbbf24;--error:#f87171;--code-bg:#0f1619;--shadow:0 1px 0 #ffffff08 inset, 0 12px 32px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f4f6f3;--surface:#fff;--surface2:#f7f9f6;--hover:#eef2ec;--text:#0f1714;--muted:#5b6965;--faint:#8a9692;--border:#e1e7e2;--accent:#3f6212;--accent-fill:#c3f975;--accent-text:#15200d;--accent-soft:#65a30d1a;--ok:#3f7d0b;--warn:#b45309;--error:#b91c1c;--code-bg:#f1f4f0;--shadow:0 1px 2px #1018140d, 0 8px 24px #1018140d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--bg:#f4f6f3;--surface:#fff;--surface2:#f7f9f6;--hover:#eef2ec;--text:#0f1714;--muted:#5b6965;--faint:#8a9692;--border:#e1e7e2;--accent:#3f6212;--accent-fill:#c3f975;--accent-text:#15200d;--accent-soft:#65a30d1a;--ok:#3f7d0b;--warn:#b45309;--error:#b91c1c;--code-bg:#f1f4f0;--shadow:0 1px 2px #1018140d, 0 8px 24px #1018140d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:14px/1.55 var(--font);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}code,.mono,pre{font-family:var(--mono)}code{background:var(--code-bg);border:1px solid var(--border);border-radius:6px;padding:1px 6px;font-size:.88em}pre{background:var(--code-bg);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-size:12.5px;overflow-x:auto}h1,h2,h3{font-family:var(--font-head);letter-spacing:-.02em}h2{letter-spacing:-.03em;margin:0;font-size:26px;font-weight:700}h3{margin:0 0 12px;font-size:15px;font-weight:700}p{line-height:1.6}.muted{color:var(--muted)}.small{font-size:12.5px}.ok{color:var(--ok)}.warn{color:var(--warn)}.error{color:var(--error)}.wrap{overflow-wrap:anywhere}.eyebrow{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:11px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{grid-template-columns:var(--side) 1fr;grid-template-rows:60px 1fr auto;min-height:100vh;display:grid}.app>header{border-bottom:1px solid var(--border);background:var(--bg);z-index:10;grid-column:1/-1;align-items:center;gap:14px;padding:0 20px;display:flex;position:sticky;top:0}.brand{font-family:var(--font-head);letter-spacing:-.02em;align-items:center;gap:8px;font-size:17px;font-weight:800;display:flex;color:var(--text)!important;text-decoration:none!important}.brand svg{width:22px;height:22px;color:var(--accent-fill)}:root[data-theme=light] .brand svg{color:var(--accent)}.brand .light{color:var(--muted);font-weight:500}.crumb{color:var(--faint)}.orgswitch{width:auto;color:var(--muted);background-color:#0000;border:1px solid #0000;margin:0;padding:5px 30px 5px 10px;font-size:13.5px}.orgswitch:hover{border-color:var(--border)}.app>header .spacer{flex:1}.iconbtn{border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.iconbtn svg{width:17px;height:17px}.menu-toggle{display:none}.sidebar{border-right:1px solid var(--border);flex-direction:column;gap:2px;height:calc(100vh - 97px);padding:16px 12px;display:flex;position:sticky;top:60px}.sidebar a{color:var(--muted);border-radius:10px;align-items:center;gap:11px;padding:9px 12px;font-weight:500;text-decoration:none;display:flex}.sidebar a svg{opacity:.85;flex:none;width:17px;height:17px}.sidebar a:hover{background:var(--hover);color:var(--text)}.sidebar a.active{background:var(--accent-soft);color:var(--accent)}.sidebar .count{background:var(--error);color:#fff;border-radius:999px;margin-left:auto;padding:0 7px;font-size:11px;font-weight:600}.sidebar .grow{flex:1}main{width:100%;min-width:0;max-width:1180px;padding:28px 32px 48px}.statusbar{border-top:1px solid var(--border);color:var(--muted);background:var(--bg);z-index:5;grid-column:1/-1;align-items:center;gap:22px;padding:9px 20px;font-size:12px;display:flex;position:sticky;bottom:0}.dot{background:var(--ok);vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.dot.warn{background:var(--warn)}.dot.error{background:var(--error)}.dot.muted{background:var(--faint)}@media (width<=860px){.app{grid-template-columns:1fr}.menu-toggle{display:inline-flex}.sidebar{background:var(--bg);border-bottom:1px solid var(--border);z-index:20;height:auto;display:none;position:fixed;top:60px;left:0;right:0}.sidebar.open{display:flex}main{padding:20px 16px 40px}.statusbar{flex-wrap:wrap;gap:6px 18px;position:static}.app>header{gap:8px;padding:0 12px}.orgswitch,.app>header .muted{text-overflow:ellipsis;white-space:nowrap;max-width:130px;overflow:hidden}}.app>header button.link{white-space:nowrap}.pagehead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin:0 0 22px;display:flex}.pagehead p{margin:4px 0 0}.pagehead .eyebrow{margin-bottom:6px;display:block}.actions,.buttons{flex-wrap:wrap;gap:8px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:22px}.card.flush{padding:0;overflow-x:auto}.card.alert{border-color:color-mix(in srgb, var(--error) 55%, var(--border));background:color-mix(in srgb, var(--error) 6%, var(--surface))}.card.alert p{margin:4px 0 0}.card.empty{text-align:center;padding:48px 24px}.card.empty p{color:var(--muted)}.pad{padding:18px 20px 0}h3.pad{margin-bottom:4px}.grid2{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.grid2>.card{margin-bottom:0}.grid2+.card,.grid2{margin-bottom:16px}@media (width<=900px){.grid2{grid-template-columns:1fr}}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:12px 20px}th{font-family:var(--mono);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:400}tr:last-child td{border-bottom:0}tr.clickable{cursor:pointer}tr.clickable:hover{background:var(--hover)}.card:not(.flush) table td,.card:not(.flush) table th{padding-left:0}dl{grid-template-columns:max-content 1fr;gap:10px 24px;margin:0;display:grid}dt{color:var(--muted)}dd{overflow-wrap:anywhere;margin:0}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface2);color:var(--text);border-radius:10px;padding:8px 15px;font-weight:500;transition:border-color .15s,background .15s}button:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 60%, var(--border))}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--accent-text);font-weight:700}button.primary:hover:not(:disabled){filter:brightness(1.05);border-color:var(--accent-fill)}button.danger{color:var(--error)}button.danger:hover:not(:disabled){border-color:var(--error)}button.link{color:var(--muted);background:0 0;border:0;padding:0}button.link:hover{color:var(--text)}input,textarea,select{font:inherit;border:1px solid var(--border);background:var(--code-bg);width:100%;color:var(--text);border-radius:10px;margin-bottom:6px;padding:9px 12px}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 15px) 52%,calc(100% - 10px) 52%;background-repeat:no-repeat;background-size:5px 5px;width:auto;margin:0 0 0 8px;padding:6px 30px 6px 10px}select.wide{width:100%;margin:6px 0}textarea.mono{font-size:12.5px}label.radio{align-items:center;gap:9px;margin:7px 0;display:flex}label.radio input{width:auto;accent-color:var(--accent-fill);margin:0}label.field{margin:8px 0;display:block}label.field span{color:var(--muted);margin-bottom:4px;font-size:12.5px;display:block}label.choice{border:1px solid var(--border);cursor:pointer;background:var(--surface2);border-radius:12px;align-items:flex-start;gap:12px;margin:8px 0;padding:12px 14px;display:flex}label.choice:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}label.choice input{width:auto;accent-color:var(--accent-fill);margin:4px 0 0}form .card h3:not(:first-child){margin-top:24px}form button.primary{margin-top:18px}td .buttons button,td>button{white-space:nowrap;padding:6px 12px;font-size:13px}.badge{background:var(--surface2);border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 10px 2px 9px;font-size:12px;font-weight:600;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge.active,.badge.install-installed,.badge.mon-ok,.badge.protected{color:var(--ok)}.badge.failed,.badge.install-overdue,.badge.mon-error,.badge.attention{color:var(--error)}.badge.retrying,.badge.install-downloaded,.badge.mon-warning,.badge.expiring{color:var(--warn)}.badge.issuing,.badge.pending{color:var(--accent)}h2 .badge{vertical-align:middle;font-family:var(--font);letter-spacing:0;margin-left:8px}.tabs{flex-wrap:wrap;gap:4px;margin:12px 0 0;display:flex}.tabs button{background:0 0;border-radius:999px;padding:5px 12px;font-size:13px}.tabs button.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.pagehead .tabs{margin:0}.notice{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 30%, var(--border));border-radius:10px;padding:10px 14px}details{margin-top:12px}summary{cursor:pointer;color:var(--accent)}.summary{flex-wrap:wrap;gap:22px;margin:0 0 14px;font-size:13.5px;font-weight:600;display:flex}.stats{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);grid-template-columns:repeat(3,1fr);margin-bottom:16px;display:grid}.stat{border-right:1px solid var(--border);padding:20px 22px;position:relative}.stat:last-child{border-right:0}.stat .label{color:var(--muted);font-size:13px}.stat .value{font-family:var(--font-head);letter-spacing:-.04em;margin-top:10px;font-size:40px;font-weight:700;line-height:1.1}.stat .mark{color:var(--accent);font-size:18px;position:absolute;bottom:22px;right:20px}.stat .mark.bad{color:var(--error)}@media (width<=700px){.stats{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--border)}.stat:last-child{border-bottom:0}}.healthpill{border:1px solid color-mix(in srgb, var(--ok) 40%, var(--border));color:var(--text);background:var(--accent-soft);border-radius:999px;align-items:center;gap:7px;padding:5px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.healthpill.bad{border-color:color-mix(in srgb, var(--error) 50%, var(--border));background:color-mix(in srgb, var(--error) 8%, transparent)}.chart-head{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.chart-head strong{font-family:var(--font-head);font-size:14px}.chart{align-items:flex-end;gap:5px;height:110px;display:flex}.chart .day{flex-direction:column-reverse;flex:1;gap:2px;min-width:4px;height:100%;display:flex}.chart .seg{background:color-mix(in srgb, var(--accent-fill) 55%, var(--surface));border-radius:3px 3px 1px 1px}.chart .seg.renewed{background:var(--accent-fill)}.chart .seg.installed{background:color-mix(in srgb, var(--accent-fill) 80%, #2dd4bf)}.chart .seg.failed{background:var(--error)}.chart .seg.idle{background:var(--border)}:root[data-theme=light] .chart .seg.idle{background:#e5ebe4}.chart-axis{justify-content:space-between;margin-top:8px;display:flex}.legend{color:var(--muted);flex-wrap:wrap;gap:16px;font-size:12px;display:flex}.legend i{vertical-align:-1px;border-radius:2px;width:9px;height:9px;margin-right:6px;display:inline-block}.certname{align-items:center;gap:10px;font-weight:600;display:inline-flex}.certname:before{content:"◇";color:var(--accent);font-size:12px}.toasts{z-index:50;flex-direction:column;gap:10px;max-width:min(380px,100vw - 40px);display:flex;position:fixed;bottom:52px;right:20px}.toast{border:1px solid color-mix(in srgb, var(--accent) 40%, var(--border));background:var(--surface);border-radius:14px;align-items:center;gap:14px;padding:14px 16px;animation:.25s ease-out toast-in;display:flex;box-shadow:0 16px 40px #00000059}.toast.bad{border-color:color-mix(in srgb, var(--error) 50%, var(--border))}.toast .icon{background:var(--accent-fill);height:34px;color:var(--accent-text);border-radius:50%;flex:0 0 34px;place-items:center;font-weight:700;display:grid}.toast.bad .icon{background:var(--error);color:#fff}.toast strong{font-family:var(--font-head);display:block}.toast .muted{font-size:12.5px}.toast time{color:var(--faint);white-space:nowrap;align-self:flex-start;margin-left:auto;font-size:11px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.signin{background:radial-gradient(ellipse at top, var(--accent-soft), transparent 55%), var(--bg);place-items:center;min-height:100vh;padding:16px;display:grid}.signin .card{width:100%;max-width:420px;padding:30px}.signin h1{margin:0 0 10px;font-size:24px}.signin h1 .brand{font-size:22px}.signin h3{margin:4px 0 14px}.signin button{width:100%;margin-top:8px}.signin form button.primary{width:100%;margin-top:10px}.authlinks{flex-wrap:wrap;align-items:center;gap:14px;margin-top:14px;display:flex}.checks{margin:12px 0 0;padding:0;list-style:none}.checks li{border-top:1px solid var(--border);align-items:center;gap:12px;padding:8px 0;display:flex}.checks li span:first-child{flex:none;font-weight:600}.checks li button{margin-left:auto;padding:4px 12px}.pfx{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.pfx input{flex:160px;margin:0}.channels{margin:0;padding:0;list-style:none}.channels li{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:14px 0;display:flex}.channels li:first-child{border-top:0}.channels .buttons button{padding:5px 11px;font-size:13px}.sev{background:var(--muted);border-radius:50%;width:8px;height:8px;display:inline-block}.sev.info{background:var(--ok)}.sev.warning{background:var(--warn)}.sev.critical{background:var(--error)}.addmon{flex-wrap:wrap;gap:8px;display:flex}.addmon input{flex:260px;margin:0}.pad-top{margin-top:20px}.qr{background:#fff;border-radius:10px;margin:8px 0;padding:8px;display:block}.welcome{max-width:780px}.steps{counter-reset:s;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0;list-style:none;display:flex}.steps li{counter-increment:s;background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:12px;flex:160px;padding:10px 14px;font-weight:600}.steps li:before{content:counter(s, decimal-leading-zero) "  ";font-family:var(--mono);color:var(--faint);font-weight:400}.steps li.active{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.steps li.done{color:var(--ok)}.plan{margin:12px 0;padding:0;list-style:none}.plan li{border:1px solid var(--border);background:var(--surface2);border-radius:10px;margin-bottom:6px;padding:10px 14px}.providers{flex-wrap:wrap;gap:8px;margin:8px 0 12px;display:flex}.providers button{padding:7px 13px}.howto{background:var(--code-bg);border:1px solid var(--border);border-radius:10px;margin:8px 0;padding:12px 14px}.howto p{margin:6px 0 0}.card.intro p{margin:0 0 6px}.picker{margin:4px 0 10px 28px}.welcome .card .card{box-shadow:none;border-style:dashed;margin:8px 0}.setup{margin-top:12px}.testrow{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:8px;display:flex}.testrow input{flex:240px;margin:0}.testrow p{flex-basis:100%;margin:0}.adddomain .row{flex-wrap:wrap;gap:8px;display:flex}.adddomain .row input{flex:2 240px;margin:0}.adddomain .row select{flex:180px;margin:0}.copybox{align-items:flex-start;gap:8px;display:flex}.copybox pre{white-space:pre-wrap;overflow-wrap:anywhere;flex:auto;margin:0}.howto.guide{padding:14px 16px}.guide-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.howto.guide ol{margin:10px 0 8px;padding-left:20px}.howto.guide li{margin:4px 0}.howto.guide p{margin:6px 0 0}
