:root{--design-brand:#1b4d3e;--design-brand2:#245c4a;--design-mint:#1f8a63;--design-bg:#f4f7f6;--design-line:#e4eae8;--design-text:#16211d;--design-muted:#5b6b65}
body{background:var(--design-bg);color:var(--design-text)}
.brand-logo{width:40px;height:40px;border-radius:12px;object-fit:cover;display:block;flex:none;box-shadow:0 3px 12px #091e152e}
.sidebar{width:238px;background:var(--design-brand);padding:0 16px 18px}.shell{grid-template-columns:238px minmax(0,1fr)}
.sidebar .brand{padding:24px 4px 22px;gap:12px}.sidebar .brand strong{color:#fff;letter-spacing:.04em}.sidebar .brand small{color:#a7c2b3;letter-spacing:.14em}
.topbar{height:82px;background:#fff;padding:0 44px;border-bottom:1px solid var(--design-line)}
.main{padding:36px 44px 52px;max-width:1760px}.home-hero,.panel,.metric,.module-card,.table-panel,.detail-panel,.integration-card,.chat-panel,.device-panel{border-radius:16px;border-color:var(--design-line);box-shadow:0 1px 3px #16211d08;background:#fff}
.home-hero{background:#e7f2ee;border-color:#d7e9e0}.home-hero h1{color:var(--design-brand);letter-spacing:.02em}.eyebrow{color:var(--design-mint)}
.metric{padding:21px 23px}.metric-value{color:var(--design-text)}.entry-card{border-radius:16px;border-color:var(--design-line)}.entry-top{background:#e7f2ee}.entry-card:nth-child(2) .entry-top{background:#eef3ef}.entry-card:nth-child(3) .entry-top{background:#eef2f1}
.btn.primary{background:var(--design-brand);border-color:var(--design-brand)}.btn.primary:hover{background:var(--design-brand2)}
.login-story{background:var(--design-brand)}.login-panel{background:#fff}.login-story .brand-logo{width:44px;height:44px}.login-copy h1{letter-spacing:.02em}.login-form h2{color:var(--design-brand)}
.nav-link.active{background:#e7f2ee;color:var(--design-brand)}
.page-heading h1{color:var(--design-brand);letter-spacing:.01em}.toolbar,.form-panel{border-radius:16px;border-color:var(--design-line)}
@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{width:238px}.topbar{padding:0 22px}.main{padding:26px 22px 42px}}
@media(max-width:650px){.topbar{height:68px;padding:0 15px}.main{padding:22px 17px 36px}.sidebar .brand{padding-left:4px}.home-hero{border-radius:14px}.metric{border-radius:12px}}
.qh-dashboard{margin:-4px -2px 0}.qh-banner{background:#fff;border:1px solid var(--design-line);padding:28px 34px;display:flex;align-items:center;gap:34px;border-radius:16px;margin-bottom:20px}.qh-title{min-width:185px}.qh-title h1{margin:0;color:var(--design-brand);font-size:29px;letter-spacing:.06em}.qh-title span{display:block;color:#93a49e;font:10px ui-monospace,monospace;letter-spacing:3px;margin-top:8px}.qh-summary{flex:1;display:grid;grid-template-columns:repeat(4,1fr)}.qh-summary>div{padding:0 25px;border-left:1px solid var(--design-line)}.qh-summary small,.qh-summary span{display:block;color:#7c8984;font-size:11px}.qh-summary strong{display:block;font-size:31px;line-height:1.2;margin:7px 0;color:var(--design-text)}.qh-summary strong.green{color:#1f8a63}.qh-summary strong.blue{color:#2f6fb0}.qh-summary strong.amber{color:#c98a12}.qh-summary em{font:13px sans-serif;color:#93a49e;font-style:normal}.qh-clock{min-width:145px;text-align:right}.qh-clock b{display:block;color:var(--design-brand);font:600 20px ui-monospace,monospace;letter-spacing:2px}.qh-clock span{display:block;color:#93a49e;font-size:11px;margin-top:8px}.qh-clock i{display:inline-block;width:6px;height:6px;background:#1f8a63;border-radius:50%;margin-right:5px}.qh-grid{display:grid;gap:20px}.qh-grid-top{grid-template-columns:1.6fr 1fr;margin-bottom:20px}.qh-grid-bottom{grid-template-columns:1.15fr 1fr}.qh-card{background:#fff;border:1px solid var(--design-line);border-radius:16px;min-height:220px;overflow:hidden}.qh-card-head{display:flex;justify-content:space-between;align-items:center;padding:21px 25px 15px}.qh-card-head b{font-size:16px;color:#16211d}.qh-card-head span{font-size:11px;color:#93a49e}.qh-bars{height:210px;padding:10px 25px 24px;display:flex;align-items:end;justify-content:space-around;gap:12px}.qh-bar-col{height:100%;flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:7px;color:#5b6b65}.qh-bar-col b{font-size:11px;font-weight:600}.qh-bar-col i{display:block;width:100%;max-width:80px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#35a77d,#1f8a63);min-height:6px}.qh-bar-col small{font-size:10px;color:#93a49e}.qh-key{padding-bottom:14px}.qh-ring-row{display:flex;align-items:center;gap:18px;padding:8px 25px 14px}.qh-ring{width:78px;height:78px;border-radius:50%;display:grid;place-content:center;text-align:center;border:7px solid #dfeee7;background:#fff;flex:none}.qh-ring.ok{border-color:#1f8a63}.qh-ring.blue-ring{border-color:#2f6fb0}.qh-ring strong{font-size:21px;color:#1b4d3e;line-height:1}.qh-ring small{font-size:9px;color:#93a49e;margin-top:5px}.qh-ring-row b{font-size:13px}.qh-ring-row p{font-size:11px;color:#93a49e;margin:5px 0}.qh-table-head,.qh-table-row{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px;padding:11px 25px;border-top:1px solid #eef2f1;font-size:12px}.qh-table-head{color:#93a49e;font-size:10px;text-transform:uppercase}.qh-pill{color:#1f8a63;background:#e7f2ee;padding:3px 9px;border-radius:12px;width:max-content}.qh-alert-list{padding:0 20px 18px}.qh-alert{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;border-radius:10px;background:#eef7f2;margin:7px 0;color:#1f8a63}.qh-alert.high{background:#fff1ef;color:#c94b4b}.qh-alert>span{flex:none}.qh-alert b,.qh-alert small{display:block}.qh-alert b{font-size:12px;color:#16211d}.qh-alert small{font-size:11px;color:#7c8984;margin-top:2px}.qh-empty{padding:30px 10px;color:#93a49e;text-align:center;font-size:12px}.qh-source{margin-top:15px;text-align:right;color:#93a49e;font-size:10px}@media(max-width:1050px){.qh-banner{flex-wrap:wrap}.qh-summary{order:3;width:100%}.qh-grid-top,.qh-grid-bottom{grid-template-columns:1fr}}@media(max-width:650px){.qh-banner{padding:20px;gap:20px}.qh-title{min-width:100%}.qh-summary{grid-template-columns:1fr 1fr;gap:15px}.qh-summary>div{padding:0 10px}.qh-summary strong{font-size:24px}.qh-clock{display:none}.qh-bars{padding:8px 14px 20px}.qh-card-head{padding-left:18px;padding-right:18px}.qh-table-head,.qh-table-row{padding-left:18px;padding-right:18px;grid-template-columns:1.2fr 1fr 1fr;font-size:11px}.qh-alert-list{padding-left:12px;padding-right:12px}}
