*{box-sizing:border-box}
:root{--bg:#0d1722;--card:#142230;--card2:#182938;--accent:#ff6b35;--text:#f5f7fa;--muted:#8ea2b5;--green:#38d39f;--border:#22384a;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
html,body{margin:0;background:var(--bg);color:var(--text);min-height:100%;-webkit-tap-highlight-color:transparent}
body{min-height:100dvh;background:radial-gradient(circle at 80% -10%,#1f3648 0,transparent 34%),var(--bg)} button,input{font:inherit} .hidden{display:none!important}
.splash{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg);z-index:30;transition:opacity .3s}.splash.hide{opacity:0;pointer-events:none}
.brand-mark{width:76px;height:76px;border-radius:22px;background:linear-gradient(145deg,var(--accent),#e84b1e);display:grid;place-items:center;font-size:42px;font-weight:900}.brand-mark.small{width:42px;height:42px;border-radius:13px;font-size:23px;flex:none}
.splash-title{margin-top:18px;font-size:34px;font-weight:900;letter-spacing:.08em}.splash-sub{color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:.28em}
.brand{display:flex;align-items:center;gap:11px}.brand-title{font-size:19px;font-weight:900;letter-spacing:.06em}.brand-subtitle{font-size:12px;color:var(--muted)}
.app{max-width:760px;margin:auto;padding:max(18px,env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom))}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:4px 0 22px}.top-actions{display:flex;gap:8px;align-items:center}
.status-pill{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--border);border-radius:999px;background:rgba(20,34,48,.72);font-size:12px;color:var(--muted)}.status-dot{width:8px;height:8px;border-radius:50%;background:#f0b849}.status-pill.online .status-dot{background:var(--green)}.status-pill.offline .status-dot{background:#ff6b6b}
.ghost-btn{border:1px solid var(--border);background:transparent;color:var(--muted);border-radius:12px;padding:8px 10px}
.hero{padding:9px 2px 22px}.hero.compact h1{font-size:32px}.eyebrow{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.14em}.hero h1{font-size:34px;line-height:1.05;margin:10px 0 12px}.hero p{margin:0;color:var(--muted);font-size:15px;line-height:1.55}
.search-card,.system-card{background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--border);border-radius:22px;padding:18px;box-shadow:0 12px 38px rgba(0,0,0,.14)}.search-card label{display:block;font-weight:800;font-size:14px;margin-bottom:11px}
.search-row{display:flex;gap:10px}.search-row input{min-width:0;flex:1;background:#0c1822;color:var(--text);border:1px solid #294153;border-radius:14px;padding:13px 14px;outline:none}.search-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,107,53,.1)}.search-row button,.login-card button{border:0;border-radius:14px;padding:0 18px;background:var(--accent);color:white;font-weight:900}.hint{color:var(--muted);font-size:12px;line-height:1.45;margin-top:10px}
.results{margin:18px 0}.section-head{display:flex;justify-content:space-between;align-items:center}.section-head h2{font-size:18px;margin:0 0 10px}.section-head span{font-size:12px;color:var(--muted)}.result-card{border:1px solid var(--border);border-radius:18px;background:var(--card);padding:16px;margin:10px 0}.result-title{font-weight:900;font-size:16px;line-height:1.35}.result-meta{display:grid;grid-template-columns:90px 1fr;gap:7px 10px;margin-top:12px;font-size:13px}.result-meta span{color:var(--muted)}.result-meta strong{overflow-wrap:anywhere}.result-actions{display:flex;gap:8px;margin-top:14px}.result-actions a{text-decoration:none;color:#fff;background:#21384a;border:1px solid #2a455a;border-radius:12px;padding:9px 12px;font-size:13px;font-weight:800}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.module-card{text-align:left;min-height:145px;border:1px solid var(--border);border-radius:20px;padding:17px;background:var(--card);color:var(--text);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}.module-card.disabled{opacity:.5}.module-icon{width:37px;height:37px;margin-bottom:auto;border-radius:11px;display:grid;place-items:center;background:#21384a;color:var(--accent);font-weight:900;font-size:20px}.module-title{font-weight:800;font-size:15px}.module-desc{color:var(--muted);font-size:12px;margin-top:5px}
.system-title{font-weight:900;margin-bottom:12px}.system-line{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--border);font-size:13px}.system-line span{color:var(--muted)}.good{color:var(--green)}.bad{color:#ff7f7f}
.install-btn{width:100%;border:0;border-radius:16px;background:var(--accent);color:#fff;font-weight:900;padding:14px 18px;margin-top:14px}footer{text-align:center;color:#63798b;font-size:11px;padding:24px 0 0}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translate(-50%,20px);background:#f3f7fa;color:#13222e;padding:11px 14px;border-radius:12px;max-width:calc(100% - 36px);opacity:0;transition:.2s;z-index:40;font-size:13px}.toast.show{opacity:1;transform:translate(-50%,0)}
.login-screen{min-height:100dvh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--border);border-radius:24px;padding:24px}.login-brand{margin-bottom:26px}.login-card h1{font-size:30px;margin:0 0 8px}.login-card>p{color:var(--muted);margin:0 0 20px}.login-card label{display:block;font-size:13px;color:var(--muted);margin:13px 0}.login-card input{display:block;width:100%;margin-top:7px;padding:13px 14px;background:#0c1822;border:1px solid #294153;border-radius:13px;color:var(--text);outline:none}.login-card button{width:100%;padding:13px;margin-top:8px}.form-error{color:#ff8f8f;font-size:13px;min-height:20px;margin-top:10px}
@media(max-width:520px){.topbar{align-items:flex-start}.status-pill{display:none}.hero.compact h1{font-size:30px}.search-row{flex-direction:column}.search-row button{padding:13px}.grid{grid-template-columns:1fr 1fr}.module-card{min-height:138px;padding:14px}}

.result-actions button{color:#fff;background:var(--accent);border:0;border-radius:12px;padding:9px 12px;font-size:13px;font-weight:800;cursor:pointer}
.modal{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center}
.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58);backdrop-filter:blur(3px)}
.modal-sheet{position:relative;width:min(760px,100%);max-height:88dvh;overflow:auto;background:#101e2a;border:1px solid var(--border);border-bottom:0;border-radius:26px 26px 0 0;padding:12px 18px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -18px 60px rgba(0,0,0,.35)}
.modal-handle{width:46px;height:5px;border-radius:99px;background:#334b5d;margin:0 auto 14px}
.modal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.modal-head h2{font-size:21px;line-height:1.25;margin:7px 0 16px}
.close-btn{width:38px;height:38px;border-radius:12px;border:1px solid var(--border);background:#162938;color:#c7d4de;font-size:24px}
.detail-grid{display:grid;grid-template-columns:120px 1fr;gap:8px 12px;padding:14px 0;border-top:1px solid var(--border);font-size:14px}
.detail-grid span{color:var(--muted)}.detail-grid strong{overflow-wrap:anywhere}
.detail-section{margin:8px 0 16px}.detail-section h3{font-size:14px;margin:0 0 9px;color:#dfe8ee}
.doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.doc-card{background:#0c1822;border:1px solid var(--border);border-radius:15px;padding:13px}
.doc-name{font-size:12px;color:var(--muted)}.doc-value{font-size:14px;font-weight:900;margin-top:6px;overflow-wrap:anywhere}
.doc-card.ok{border-color:rgba(56,211,159,.38)}.doc-card.ok .doc-value{color:var(--green)}.doc-card.bad{border-color:rgba(255,107,107,.35)}.doc-card.bad .doc-value{color:#ff8e8e}
.detail-link{display:block;text-align:center;text-decoration:none;color:#fff;background:var(--accent);border-radius:15px;padding:13px 15px;font-weight:900;margin-top:14px}
@media(max-width:520px){.doc-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:95px 1fr}}
.health-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}
.health-tile{background:#0c1822;border:1px solid var(--border);border-radius:15px;padding:13px}.health-tile .k{font-size:11px;color:var(--muted);margin-bottom:6px}.health-tile .v{font-size:15px;font-weight:900;overflow-wrap:anywhere}.health-tile.ok{border-color:rgba(56,211,159,.38)}.health-tile.ok .v{color:var(--green)}.health-tile.bad{border-color:rgba(255,107,107,.35)}.health-tile.bad .v{color:#ff8e8e}
.db-list{display:grid;gap:8px}.db-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:#0c1822;border:1px solid var(--border);border-radius:14px;padding:12px}.db-row .name{font-weight:800}.db-row .sub{font-size:11px;color:var(--muted);margin-top:3px}.db-state{font-size:12px;font-weight:900}.db-state.ok{color:var(--green)}.db-state.bad{color:#ff8e8e}.module-card.active-card{cursor:pointer}.module-card.active-card:hover{border-color:#31536b}
@media(max-width:520px){.health-summary{grid-template-columns:1fr}}
