:root{--mhhc-blue: #0175A8;--mhhc-blue-80: #1A88B4;--mhhc-blue-60: #4DA9C9;--mhhc-blue-40: #80C1D8;--mhhc-blue-10: #E5F1F6;--mhhc-blue-hover: #015E89;--black: #000000;--black-60: rgba(0, 0, 0, .6);--black-10: rgba(0, 0, 0, .1);--white: #FFFFFF;--bg: var(--white);--content-bg: #F7FAFC;--panel: var(--white);--border: rgba(0, 0, 0, .1);--border-strong: var(--black-60);--text: var(--black);--muted: #555555;--primary: var(--mhhc-blue);--primary-fg: var(--white);--primary-hover: var(--mhhc-blue-hover);--error: #B3261E;--warn: #B35A00;--ok: #137333}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;background:var(--content-bg);color:var(--text);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--mhhc-blue);color:var(--white);padding:14px 24px;display:flex;align-items:center;gap:16px;box-shadow:0 1px #0000000d}.app-header .brand-mark{display:flex;align-items:center;gap:12px;padding:4px 12px 4px 0}.app-header .brand-mark img{height:36px;width:auto;display:block}.app-title{font-family:Montserrat,sans-serif;font-weight:500;font-size:16px;letter-spacing:.02em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-header-spacer{flex:1}.app-avatar{width:32px;height:32px;border-radius:50%;background:#ffffff2e;color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;border:1px solid rgba(255,255,255,.35)}.app-tabs{display:flex;gap:4px;background:var(--white);padding:0 16px;border-bottom:1px solid var(--border)}.app-tab{background:none;border:none;padding:14px 18px;font-family:Montserrat,sans-serif;font-size:14px;font-weight:500;cursor:pointer;border-bottom:3px solid transparent;color:var(--muted);letter-spacing:.01em}.app-tab:hover{color:var(--mhhc-blue)}.app-tab.active{color:var(--mhhc-blue);border-bottom-color:var(--mhhc-blue);font-weight:700}.tab-badge{display:inline-block;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;border-radius:4px;background:var(--mhhc-blue-10);color:var(--mhhc-blue);letter-spacing:.05em}.app-body{flex:1;padding:24px;overflow-y:auto}.panel{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:24px;max-width:760px;margin:0 auto;box-shadow:0 1px 2px #00000008}.panel h1{margin-top:0;font-family:Montserrat,sans-serif;font-weight:700;font-size:28px;color:var(--mhhc-blue);letter-spacing:-.005em}.panel h2{margin-top:0;font-family:Montserrat,sans-serif;font-weight:400;font-size:20px}.panel h3{font-family:Montserrat,sans-serif;font-weight:500;font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:18px 0 8px}p,label,li,.muted,button,input,select,textarea{font-family:Montserrat,sans-serif}.form-row{display:flex;gap:8px;margin:16px 0;flex-wrap:wrap}input[type=text],input[type=search],select,textarea{flex:1;min-width:160px;padding:10px 12px;font-size:14px;font-family:Montserrat,sans-serif;border:1px solid var(--border);border-radius:4px;outline:none;background:var(--white);color:var(--text)}input[type=text]:focus,input[type=search]:focus,select:focus,textarea:focus{border-color:var(--mhhc-blue-60);box-shadow:0 0 0 2px #0175a82e}button.primary{background:var(--mhhc-blue);color:var(--primary-fg);border:none;padding:10px 18px;font-size:14px;font-weight:600;border-radius:4px;cursor:pointer;font-family:Montserrat,sans-serif;letter-spacing:.02em;transition:background .1s}button.primary:hover{background:var(--mhhc-blue-hover)}button.primary:disabled{background:var(--mhhc-blue-40);cursor:not-allowed}button.ghost{background:var(--white);color:var(--mhhc-blue);border:1px solid var(--mhhc-blue);padding:8px 14px;font-size:13px;font-weight:500;border-radius:4px;cursor:pointer;font-family:Montserrat,sans-serif}button.ghost:hover{background:var(--mhhc-blue-10)}.muted{color:var(--muted);font-size:13px}.error{color:var(--error)}.warn{color:var(--warn)}.ok{color:var(--ok)}.kv{margin:16px 0;border:1px solid var(--border);border-radius:4px;overflow:hidden}.kv .row{display:flex;border-top:1px solid var(--border)}.kv .row:first-child{border-top:none}.kv .key{background:var(--mhhc-blue-10);padding:10px 14px;width:180px;flex-shrink:0;color:var(--mhhc-blue);font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:600}.kv .val{padding:10px 14px;flex:1;word-break:break-word;color:var(--text)}.banner{padding:12px 16px;border-radius:4px;margin:14px 0;font-size:14px;border:1px solid transparent}.banner.info{background:var(--mhhc-blue-10);color:var(--text);border-color:var(--mhhc-blue-40)}.banner.warn{background:#fff5e6;color:#7a3e00;border-color:#ffd9a8}.banner.error{background:#fde8e7;color:#7a1812;border-color:#f5c5c1}.banner.ok{background:#e6f4ea;color:#0f5223;border-color:#b7e1c2}.placeholder{text-align:center;padding:60px 20px 20px;color:var(--muted)}.placeholder h2{color:var(--text);margin:12px 0 8px;font-weight:700;font-size:24px}.placeholder .pill{display:inline-block;padding:4px 12px;border-radius:999px;background:var(--mhhc-blue);color:var(--white);font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:12px}pre.json{background:#1e1e2e;color:#cdd6f4;padding:12px 16px;border-radius:4px;overflow-x:auto;font-size:12px;line-height:1.5;font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:var(--white);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px;margin-right:8px}button.ghost .spinner,.app-body .spinner{border:2px solid var(--mhhc-blue-40);border-top-color:var(--mhhc-blue)}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;color:var(--muted);gap:16px;background:var(--content-bg)}.loading-screen .brand-mark{margin-bottom:8px}.loading-screen .brand-mark img{height:56px;width:auto;display:block}a{color:var(--mhhc-blue)}a:hover{color:var(--mhhc-blue-hover)}hr.divider{border:0;border-top:1px solid var(--black-60);margin:16px 0}
