:root{--bg:#f6f4ef;--surface:#fff;--text:#1f2421;--muted:#66706a;--border:#e3dfd6;--accent:#2f6b4f;--accent-soft:#e2efe7;--danger:#b3412e;--ok:#2f8a57;--radius:12px;--sidebar:15rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--bg:#151916;--surface:#1e2420;--text:#e8ebe7;--muted:#9aa49d;--border:#2d3530;--accent:#7cc49d;--accent-soft:#23362b;--danger:#ef8a76;--ok:#6fcf97;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1{margin:0 0 1.5rem;font-size:1.75rem}h2,h3{margin:0 0 .75rem;font-size:1.05rem}button{font:inherit;cursor:pointer}.muted{color:var(--muted)}.layout{grid-template-columns:var(--sidebar) 1fr;min-height:100dvh;display:grid}.topbar{display:none}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:.25rem;height:100dvh;padding:1.25rem .75rem;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.6rem;font-size:1.1rem;font-weight:650;display:flex}.sidebar-brand{padding:0 .75rem 1rem}.sidebar a{color:inherit;border-radius:8px;padding:.55rem .75rem;text-decoration:none}.sidebar a:hover{background:var(--bg)}.sidebar a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:.25rem;margin-top:auto;padding:.75rem;display:flex}.user-name{font-weight:600}.link-button{all:unset;cursor:pointer;color:var(--muted);font-size:.9rem}.link-button:hover{color:var(--accent)}.content{width:100%;max-width:72rem;padding:2rem clamp(1rem,4vw,3rem)}.content:has(.module-wide){max-width:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem}.section-title{margin-top:2rem}.widgets{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem;display:grid}.widget-l{grid-column:1/-1}.service-group{margin-bottom:1.5rem}.service-group h3{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.service-grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.75rem;display:grid}.service{color:inherit;align-items:center;gap:.85rem;text-decoration:none;transition:border-color .15s;display:flex}.service:hover{border-color:var(--accent)}.service-icon{background:var(--accent-soft);width:2.5rem;height:2.5rem;color:var(--accent);border-radius:10px;flex:none;place-items:center;font-size:1.2rem;font-weight:700;display:grid}.service-text{flex-direction:column;min-width:0;display:flex}.service-text strong,.service-text .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.service-text .muted{font-size:.85rem}.status{border-radius:50%;flex:none;width:.6rem;height:.6rem;margin-left:auto}.status-up{background:var(--ok)}.status-down{background:var(--danger)}.notice{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem}.notice-error{border-color:var(--danger);color:var(--danger)}.offline-badge{background:var(--danger);color:var(--surface);border-radius:999px;align-self:flex-start;margin-left:auto;padding:.1rem .6rem;font-size:.8rem;font-weight:600}.sidebar-footer .offline-badge{margin-left:0}.services-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin:2rem 0 .75rem;display:flex}.services-header .section-title{margin:0}.services-actions,.dialog-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.button{border:1px solid var(--border);background:var(--surface);color:inherit;border-radius:8px;padding:.45rem .9rem}.button:hover{border-color:var(--accent)}.button-primary{background:var(--accent);border-color:var(--accent);color:var(--surface);font-weight:600}.button-danger{color:var(--danger)}.push-right{margin-left:auto}.icon-button{border:1px solid var(--border);background:var(--surface);width:2rem;height:2rem;color:inherit;border-radius:8px;padding:0}.icon-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.icon-button:disabled{opacity:.35;cursor:default}.icon-danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.group-edit{align-items:center;gap:.4rem;max-width:28rem;margin-bottom:.6rem;display:flex}.group-edit input,.field input,.field select{border:1px solid var(--border);background:var(--surface);width:100%;color:inherit;font:inherit;border-radius:8px;flex:1;padding:.45rem .65rem}.service-editing{border-style:dashed}.drag-handle{color:var(--muted);cursor:grab;touch-action:none;background:0 0;border:none;flex:none;padding:.35rem .2rem;font-size:1.2rem;line-height:1}.drag-handle:hover{color:var(--accent)}.drag-source{opacity:.65;outline:2px dashed var(--accent);outline-offset:2px}body.dragging-active{-webkit-user-select:none;user-select:none;cursor:grabbing}body.dragging-active .drag-handle{cursor:grabbing}.drop-hint{border:1px dashed var(--border);border-radius:var(--radius);text-align:center;grid-column:1/-1;margin:0;padding:.75rem}.service-editing{flex-wrap:wrap;row-gap:.5rem}.service-editing .service-text{flex:1}.service-tools{border-top:1px solid var(--border);flex-basis:100%;justify-content:flex-end;gap:.35rem;padding-top:.5rem;display:flex}.dialog-backdrop{z-index:10;background:#0006;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.dialog{flex-direction:column;gap:.8rem;width:min(30rem,100%);max-height:92dvh;display:flex;overflow-y:auto}.dialog h2{margin:0}.field{flex-direction:column;flex:1;gap:.3rem;font-size:.9rem;display:flex}.field-small{flex:0 0 5.5rem}.field-row{gap:.75rem;display:flex}.settings-section{flex-direction:column;gap:.6rem;max-width:40rem;display:flex}.settings-section h2,.settings-section p{margin:0}.settings-section a{color:var(--accent)}.settings-form{flex-direction:column;gap:.75rem;display:flex}.settings-form ol{margin:0;padding-left:1.3rem}.sidebar-footer .user-name{color:inherit;padding:0}@media (width<=760px){.layout{grid-template-columns:1fr}.topbar{z-index:2;padding:calc(.6rem + env(safe-area-inset-top,0px)) 1rem .6rem;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:.75rem;display:flex;position:sticky;top:0}.menu-toggle{color:inherit;background:0 0;border:none;padding:.25rem;font-size:1.4rem}.sidebar{z-index:3;height:auto;display:none;position:fixed;inset:0}.layout[data-menu-open=true] .sidebar{display:flex}.content{padding-block:1.25rem}}
