:root{--zh-purple:#6c63ff;--zh-green:#7cf0bd;--zh-blue:#0f2c49;--zh-white:#ffffff;--zh-ink:#101828;--zh-muted:#667085;--zh-border:#e4e7ec;--zh-bg:#f9fafb}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--zh-ink);background:var(--zh-bg);line-height:1.55;min-height:100vh;display:flex;flex-direction:column}h1,h2,h3{font-family:Space Grotesk,ui-sans-serif,system-ui,sans-serif;color:var(--zh-blue);letter-spacing:-.01em}a{color:var(--zh-purple);text-decoration:none}a:hover{text-decoration:underline}.zh-header{background:var(--zh-white);border-bottom:1px solid var(--zh-border)}.zh-header-inner{max-width:1120px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.zh-brand{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:20px;color:var(--zh-blue)}.zh-brand span{color:var(--zh-purple)}.zh-nav{display:flex;gap:18px;align-items:center;margin-left:auto;flex-wrap:wrap}.zh-main{flex:1 1;max-width:1120px;margin:0 auto;padding:32px 24px;width:100%}.zh-footer{border-top:1px solid var(--zh-border);background:var(--zh-white);color:var(--zh-muted);font-size:14px}.zh-footer-inner{max-width:1120px;margin:0 auto;padding:16px 24px;display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between}.zh-card{background:var(--zh-white);border:1px solid var(--zh-border);border-radius:12px;padding:24px}.zh-btn{display:inline-block;background:var(--zh-purple);color:#fff;border:1px solid var(--zh-purple);border-radius:8px;padding:10px 16px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit}.zh-btn:hover{opacity:.92;text-decoration:none}.zh-btn-secondary{background:#fff;color:var(--zh-purple)}.zh-btn-danger{background:transparent;border-color:transparent;color:var(--zh-muted);padding:4px 0;font-weight:500}.zh-input{width:100%;padding:10px 12px;border:1px solid var(--zh-border);border-radius:8px;font:inherit;margin-top:6px}.zh-label{display:block;margin-top:14px;font-size:14px;font-weight:600;color:var(--zh-blue)}.zh-form{max-width:420px}.zh-muted{color:var(--zh-muted);font-size:14px}.zh-banner{border-radius:10px;padding:12px 16px;margin:16px 0;font-size:14px}.zh-banner-info{background:#eef2ff;border:1px solid #d9e1ff;color:#3538cd}.zh-banner-error{background:#fef3f2;border:1px solid #fecdca;color:#b42318}.zh-table{width:100%;border-collapse:collapse;font-size:14px}.zh-table td,.zh-table th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--zh-border)}.zh-table th{color:var(--zh-muted);font-weight:600}.zh-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;background:#eef2ff;color:#3538cd}.zh-badge-green{background:#ecfdf3;color:#067647}