@charset "UTF-8";
:root{color-scheme:dark;--bg:#0b1016;--panel:#121a23;--border:#25303c;--text:#eef3f3;--muted:#97a4b1;--mint:#a4e7c2;--teal:#67c8c6;--orange:#edb66e;--red:#f18d87;font-family:Inter,"Segoe UI",Arial,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 80% 5%,#15242b 0,transparent 37%),var(--bg);color:var(--text);min-height:100vh}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--mint);outline-offset:4px}button{border:0}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.page-shell{max-width:1320px;margin:auto;padding:0 48px}.topbar{display:flex;align-items:center;justify-content:space-between;height:112px;border-bottom:1px solid var(--border)}.brand{display:flex;gap:14px;align-items:center;font-weight:650;font-size:23px;letter-spacing:-.6px}.brand-mark{height:47px;width:47px;display:grid;place-items:center;border-radius:15px;background:var(--mint);color:#10271c;font-family:Georgia,serif;font-weight:700;font-size:37px}.brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:1.6px;margin-top:5px;font-weight:500}.stage{font-size:10px;letter-spacing:1.7px;color:var(--muted)}.stage span{color:var(--mint);margin:0 10px}main{min-height:calc(100vh - 212px)}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--mint);font-weight:650}h1,h2,p{margin:0}h1{font-size:clamp(36px,4.4vw,62px);letter-spacing:-2.4px;line-height:1.05;font-weight:550}h2{font-size:23px;letter-spacing:-.6px;font-weight:550}p{color:var(--muted);line-height:1.65}.login-view{min-height:650px;display:grid;grid-template-columns:1.15fr 1fr;gap:120px;align-items:center}.intro h1{font-size:clamp(44px,5vw,70px);margin-top:25px}.intro p{font-size:16px;max-width:400px;margin-top:28px}.privacy-note{display:flex;align-items:center;gap:10px;margin-top:36px;color:#b5c5ca;font-size:12px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px #a4e7c213;flex-shrink:0}.dot.muted{background:var(--orange);box-shadow:0 0 0 4px #edb66e13}.login-card{border:1px solid var(--border);border-radius:22px;background:linear-gradient(145deg,#19242e,#121a23);padding:38px;box-shadow:0 18px 50px #0002}.login-card h2{font-size:30px;margin-top:15px}.login-card>p{font-size:13px;margin-top:10px;margin-bottom:25px}.login-card label{display:block;font-size:12px;margin:19px 0 10px;color:#d1d9df}.login-card input{width:100%;border:1px solid #34414e;background:#0d141d;color:var(--text);padding:13px 15px;border-radius:9px;font-size:14px}.login-card button{display:flex;justify-content:space-between;align-items:center;background:var(--mint);color:#123025;width:100%;padding:16px 18px;border-radius:9px;font-weight:650;font-size:13px;margin-top:22px}.login-card small{display:block;text-align:center;color:var(--muted);font-size:10px;margin-top:21px}.login-card .error{color:var(--red);font-size:12px;min-height:0;margin:10px 0 0}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-top:51px;margin-bottom:29px}.page-heading h1{font-size:45px;margin-top:13px}.page-heading p{font-size:13px;margin-top:13px}.subtle-button{background:#18212a;border:1px solid var(--border);border-radius:9px;color:#bfcad1;padding:11px 15px;font-size:12px}.subtle-button span{margin-left:12px}.status-strip{display:flex;align-items:center;gap:20px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:16px 0;font-size:11px;color:var(--muted)}.status-strip>span:first-child{display:flex;align-items:center;gap:11px}.status-strip strong{font-size:11px;color:#c5d8d0;font-weight:500}.status-strip>span:nth-child(2){border-left:1px solid var(--border);padding-left:20px}.text-button{margin-left:auto;background:transparent;color:var(--mint);font-size:11px;padding:4px}.alerts{display:grid;gap:8px}.alert{display:flex;align-items:flex-start;gap:10px;background:#2a251d;border:1px solid #55442a;border-radius:9px;padding:12px 16px;font-size:12px;color:#edc38e;margin-top:16px;line-height:1.5}.alert.error{color:#f0b4b0;border-color:#623b3b;background:#2b1f22}.alert.info{color:#b6d5e5;border-color:#2c485a;background:#172731}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-top:25px}.metric-card{border:1px solid var(--border);border-radius:15px;background:var(--panel);padding:21px 22px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#acbbc8;font-size:9px;letter-spacing:1.5px}.metric-icon{color:#889ca8;font-size:19px;letter-spacing:0}.metric-value{font-size:45px;letter-spacing:-2px;font-weight:550;margin-top:19px;line-height:1}.metric-value small{font-size:18px;color:var(--muted);letter-spacing:0;margin-left:5px;font-weight:400}.meter{background:#26343b;border-radius:2px;height:4px;margin-top:24px;overflow:hidden}.meter span{display:block;background:var(--mint);height:100%;width:0;transition:width .5s}.metric-card p{font-size:10px;margin-top:12px}.temperature{background:linear-gradient(125deg,#1d2b2c,#152123)}.temperature .metric-value{color:var(--mint)}.temperature-note{font-size:11px;color:var(--mint);margin-top:19px;min-height:9px}.content-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:19px;margin-top:22px}.surface{background:var(--panel);border:1px solid var(--border);border-radius:15px;padding:25px 27px;min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h2{font-size:21px;margin-top:9px}.badge{border-radius:5px;padding:6px 9px;font-size:9px;white-space:nowrap}.badge.neutral{background:#202d38;color:#a8bac9}.badge.ok{background:#213c32;color:var(--mint)}.badge.warning{background:#3f3422;color:var(--orange)}.badge.error{background:#40282a;color:var(--red)}.history-card canvas{display:block;width:100%;height:160px;margin-top:26px}.chart-description{font-size:11px;margin-top:6px;min-height:18px}.chart-legend{display:flex;align-items:center;gap:20px;color:var(--muted);font-size:9px;margin-top:15px}.chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend i{width:6px;height:6px;border-radius:50%;display:inline-block}.legend-cpu{background:var(--mint)}.legend-memory{background:var(--teal)}.chart-legend #history-range{margin-left:auto;font-size:9px}.backup-card{position:relative;overflow:hidden}.backup-symbol{font-size:31px;position:absolute;top:20px;right:25px;color:var(--mint)}.backup-card h2{font-size:28px;margin-top:46px}.backup-card p{font-size:12px;margin-top:12px;min-height:40px;overflow-wrap:anywhere}.backup-time{border-top:1px solid var(--border);margin-top:25px;padding-top:18px;display:flex;flex-direction:column;gap:9px}.backup-time span{font-size:10px;color:var(--muted)}.backup-time strong{font-weight:500;font-size:13px}.lower-grid{margin-bottom:42px}.service-list{margin-top:25px}.service-list>p{font-size:12px}.service-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 0;border-bottom:1px solid var(--border)}.service-row:last-child{border:0;padding-bottom:1px}.service-name{font-size:13px;overflow-wrap:anywhere}.service-detail{display:block;font-size:10px;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}.system-card h2{margin-top:9px;font-size:21px}.system-card dl{margin:22px 0 0}.system-card dl>div{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--border);font-size:11px}.system-card dl>div:last-child{border:0}.system-card dt{color:var(--muted)}.system-card dd{margin:0;text-align:right;overflow-wrap:anywhere}.startup-message{margin:50px auto;text-align:center;font-size:14px}.startup-message:empty{display:none}footer{border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:20px;padding:25px 0 28px;font-size:10px;color:#81909d}.footer-slash{margin:0 10px;color:#495863}@media(min-width:1600px){.page-shell{max-width:1390px}.login-view{min-height:calc(100vh - 230px)}}@media(max-width:1000px){.page-shell{padding:0 28px}.login-view{gap:40px}.metric-grid{gap:11px}.metric-card{padding:18px}.metric-value{font-size:38px}.content-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.surface{padding:23px}.card-heading{font-size:8px}.status-strip{font-size:10px}}@media(max-width:760px){.page-shell{padding:0 20px}.topbar{height:92px}.login-view{grid-template-columns:1fr;gap:35px;padding:40px 0}.intro h1{font-size:50px}.intro p{font-size:14px;margin-top:22px}.privacy-note{margin-top:20px}.login-card{padding:27px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric-value{font-size:40px}.card-heading{font-size:9px}.content-grid{grid-template-columns:1fr}.page-heading{margin-top:37px}.page-heading h1{font-size:38px}.status-strip{gap:12px;flex-wrap:wrap}.status-strip>span:nth-child(2){padding-left:12px;font-size:9px}.text-button{font-size:10px}.backup-card h2{margin-top:28px}.backup-card p{min-height:0}.surface{padding:24px}.history-card canvas{height:150px}.stage{font-size:8px;letter-spacing:1px}.stage span{margin:0 5px}footer{font-size:9px;flex-wrap:wrap}.page-heading p{font-size:11px}.subtle-button{font-size:11px}.metric-card p{font-size:9px}.chart-legend{gap:13px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.module-nav {display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.module-nav a {color:var(--muted,#a1aab1);font-size:13px;text-decoration:none;padding:10px 14px;border:1px solid transparent;border-radius:12px}
.module-nav a:hover,.module-nav a[aria-current] {color:var(--mint,#a4e7c2);background:#17272b;border-color:#2b4140}
.finance-entry {display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(120deg,#20392f,#172c32);border:1px solid #375b4b;border-radius:20px;padding:24px 28px;margin:20px 0 28px;color:#e7f8ee;text-decoration:none}
.finance-entry>span {display:grid;gap:8px}.finance-entry small {font-size:10px;letter-spacing:.14em;color:#a4e7c2}.finance-entry strong {font-size:24px}.finance-entry>span>span {font-size:13px;color:#b1c8bf}.finance-entry b {font-size:13px;white-space:nowrap;background:#a4e7c2;color:#163126;padding:13px 18px;border-radius:12px}
.finance-entry:hover {border-color:#a4e7c2}
@media(max-width:620px){.module-nav a {font-size:11px;padding:8px}.finance-entry {align-items:flex-start;flex-direction:column;padding:22px}.finance-entry strong {font-size:22px}.module-nav {gap:0}}
.invoice-arrival-alert{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:30px;padding:22px 25px;background:linear-gradient(115deg,#352b1d,#202923);border:1px solid #76613c;border-left:4px solid var(--orange);border-radius:13px}.invoice-arrival-copy{min-width:0}.invoice-arrival-copy>strong{display:block;font-size:18px;line-height:1.4;color:#ffe1b4;overflow-wrap:anywhere}.invoice-arrival-copy>p{font-size:12px;color:#d2c3ac;line-height:1.6;margin-top:7px;overflow-wrap:anywhere}.invoice-arrival-side{display:flex;flex-direction:column;align-items:flex-end;gap:9px;flex-shrink:0}.invoice-arrival-side>strong{font-size:26px;font-weight:600;color:#ffe1b4;font-variant-numeric:tabular-nums;white-space:nowrap}.invoice-arrival-side>a{font-size:12px;line-height:1.5;color:#d7efd8;text-decoration:underline;text-underline-offset:4px;min-height:30px;display:inline-flex;align-items:center}.invoice-arrival-alert:not([hidden])+.page-heading{margin-top:28px}@media(max-width:620px){.invoice-arrival-alert{align-items:flex-start;flex-direction:column;gap:15px;margin-top:22px;padding:18px}.invoice-arrival-copy>strong{font-size:17px}.invoice-arrival-copy>p{font-size:11px}.invoice-arrival-side{width:100%;flex-direction:row;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.invoice-arrival-side>strong{font-size:25px}}@media print{.invoice-arrival-alert{display:none!important}}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.metric-card { cursor: pointer; }
.metric-card:hover,
.metric-card:focus-within { border-color: #557b68; }
.metric-history-open {
  width: 100%;
  min-height: 44px;
  margin-top: 12px;
  padding: 8px 0 0;
  border-top: 1px solid var(--border);
  background: transparent;
  color: var(--mint);
  font-size: 12px;
  line-height: 1.5;
  text-align: left;
}
.metric-history-dialog {
  width: min(900px, calc(100% - 28px));
  max-height: calc(100dvh - 28px);
  padding: 0;
  border: 1px solid #3b525b;
  border-radius: 18px;
  background: var(--panel);
  color: var(--text);
  box-shadow: 0 24px 90px #0009;
}
.metric-history-dialog[open] {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.metric-history-dialog::backdrop { background: #03090cbb; backdrop-filter: blur(4px); }
.metric-history-header,
.metric-history-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 25px;
  flex: none;
}
.metric-history-header { border-bottom: 1px solid var(--border); }
.metric-history-header > div { min-width: 0; }
.metric-history-header h2 { margin-top: 8px; overflow-wrap: anywhere; }
.metric-history-close {
  width: 44px;
  height: 44px;
  flex: none;
  border-radius: 9px;
  background: #21313c;
  color: #c5d8db;
  font-size: 25px;
}
.metric-history-body { min-height: 0; overflow-y: auto; padding: 23px 25px; overscroll-behavior: contain; }
.metric-history-filters { display: grid; grid-template-columns: minmax(130px, 1fr) minmax(150px, 1fr) minmax(145px, 1fr) auto; gap: 12px; align-items: end; }
.metric-history-filters label { display: flex; flex-direction: column; gap: 8px; min-width: 0; color: var(--muted); font-size: 12px; }
.metric-history-filters input,
.metric-history-filters select {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 10px;
  border: 1px solid #384b56;
  border-radius: 8px;
  background: #0d171e;
  color: var(--text);
  font: inherit;
  font-size: 14px;
}
.metric-history-button,
.metric-point-controls button {
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid #3a574b;
  border-radius: 8px;
  background: #20362d;
  color: var(--mint);
  font-size: 13px;
  line-height: 1.4;
}
.metric-history-button.primary { background: var(--mint); color: #153526; }
.metric-history-filters input:focus-visible,
.metric-history-filters select:focus-visible,
.metric-history-table-details summary:focus-visible,
#metric-history-chart:focus-visible { outline: 2px solid var(--mint); outline-offset: 3px; }
.metric-history-status { margin-top: 18px; font-size: 13px; overflow-wrap: anywhere; }
.metric-history-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.metric-history-summary:empty { display: none; }
.metric-history-stat { min-width: 0; padding: 14px; border: 1px solid var(--border); border-radius: 10px; background: #101c24; }
.metric-history-stat span { display: block; font-size: 12px; color: var(--muted); line-height: 1.5; }
.metric-history-stat strong { display: block; margin-top: 7px; color: var(--mint); font-size: 25px; overflow-wrap: anywhere; }
.metric-history-stat small { display: block; margin-top: 8px; color: var(--muted); font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
.metric-history-plot { margin-top: 22px; }
#metric-history-chart { display: block; width: 100%; height: 230px; cursor: crosshair; border-radius: 6px; }
.metric-history-help { margin-top: 12px; color: var(--muted); font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
.metric-point-controls { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; gap: 10px; align-items: center; margin-top: 12px; }
.metric-point-controls button { padding: 8px; }
.metric-point-controls p { text-align: center; font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
.metric-history-footer { border-top: 1px solid var(--border); background: #101a22; justify-content: flex-end; }
.metric-history-table-details { margin-top: 15px; }
.metric-history-table-details summary { display: flex; align-items: center; min-height: 44px; color: var(--mint); cursor: pointer; font-size: 13px; }
.metric-history-table-wrap { max-height: 340px; overflow: auto; border: 1px solid var(--border); border-radius: 8px; }
.metric-history-table-wrap table { border-collapse: collapse; width: 100%; font-size: 12px; line-height: 1.5; }
.metric-history-table-wrap th,
.metric-history-table-wrap td { text-align: left; padding: 10px; border-bottom: 1px solid var(--border); font-variant-numeric: tabular-nums; }
.metric-history-table-wrap th { position: sticky; top: 0; background: #172730; color: var(--mint); font-weight: 550; }
.metric-history-table-wrap td:first-child { min-width: 135px; }

@media (max-width: 760px) {
  .metric-history-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric-history-filters input,
  .metric-history-filters select { font-size: 16px; }
  .metric-history-filters .metric-history-button { align-self: end; }
  .metric-history-dialog { width: calc(100% - 20px); max-width: calc(100% - 20px); max-height: calc(100dvh - 20px); border-radius: 13px; }
  .metric-history-header,
  .metric-history-footer,
  .metric-history-body { padding: 16px; }
  .metric-history-header h2 { font-size: 21px; }
  .metric-history-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .metric-history-stat:last-child { grid-column: 1 / -1; }
  .metric-history-stat strong { font-size: 23px; }
  #metric-history-chart { height: 200px; }
  .metric-card { padding: 15px; }
  .metric-value { font-size: clamp(28px, 7vw, 40px); }
  .metric-value small { font-size: 15px; }
  .metric-card p { font-size: 11px; overflow-wrap: anywhere; }
}
@media (max-width: 620px) {
  .topbar { height: auto; min-height: 92px; padding: 16px 0; flex-direction: column; align-items: flex-start; gap: 15px; }
  .module-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: 5px; }
  .module-nav a { display: flex; align-items: center; min-height: 44px; padding: 8px 10px; font-size: 12px; }
  .metric-history-footer { gap: 8px; }
  .metric-history-footer .metric-history-button { flex: 1; padding-inline: 8px; }
  .metric-history-table-wrap th,
  .metric-history-table-wrap td { padding: 9px 7px; font-size: 11px; }
}
@media (max-width: 420px) {
  .metric-history-filters { grid-template-columns: minmax(0, 1fr) auto; }
  .metric-history-filters label[for="metric-history-kind"],
  .metric-history-filters label[for="metric-history-month"] { grid-column: 1 / -1; }
}
