:root{
  --navy:#0b1f3a; --navy2:#13315c; --gold:#f0a500; --ink:#1c2533; --mut:#6b7686;
  --line:#e3e8ef; --bg:#f5f7fa; --ok:#1f7a4d; --okbg:#e6f4ec; --err:#b00020; --errbg:#fdecec;
}
*{box-sizing:border-box}
body{margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--navy2);text-decoration:none}
a:hover{text-decoration:underline}

.topbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:var(--navy);color:#fff;padding:10px 18px}
.brand{font-weight:700;letter-spacing:.3px}
.mainnav{display:flex;gap:4px;flex-wrap:wrap;flex:1}
.mainnav a{color:#cdd8e8;padding:6px 12px;border-radius:6px}
.mainnav a:hover{background:var(--navy2);text-decoration:none}
.mainnav a.active{background:var(--gold);color:#1c1300;font-weight:600}
.userbox{color:#cdd8e8;font-size:14px}
.userbox a{color:#fff}

.wrap{max-width:1000px;margin:24px auto;padding:0 18px}
h1{margin:0 0 16px}
h2{margin:0 0 10px}
.lead{font-size:18px;color:var(--mut)}
.hint{color:var(--mut);font-size:14px}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin:18px 0}
.statcard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;text-align:center}
.statcard .num{font-size:32px;font-weight:800;color:var(--navy)}
.statcard .lbl{color:var(--mut);font-size:14px;margin-top:4px}

.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;margin:16px 0}
.form label{display:block;margin:0 0 14px;font-weight:600}
.form input[type=text],.form input[type=password],.form select,.form textarea{
  width:100%;margin-top:5px;padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit;font-weight:400}
.form.wide{max-width:none}
.form:not(.wide){max-width:420px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
@media(max-width:640px){.grid2{grid-template-columns:1fr}}

fieldset{border:1px solid var(--line);border-radius:10px;margin:14px 0;padding:12px 14px}
legend{font-weight:700;color:var(--navy);padding:0 6px}
label.chk{display:inline-flex;align-items:center;gap:6px;font-weight:400;margin:0 16px 8px 0}

.btn{display:inline-block;background:#eef1f6;color:var(--ink);border:1px solid var(--line);
  padding:9px 16px;border-radius:8px;cursor:pointer;font:inherit;font-weight:600}
.btn:hover{background:#e3e8ef;text-decoration:none}
.btn.primary{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn.primary:hover{background:var(--navy2)}
.btn.danger{background:#fff;color:var(--err);border-color:#f0c4c4}
.btn.danger:hover{background:var(--errbg)}
.btn.sm{padding:5px 10px;font-size:13px}
.actions{margin-top:18px;display:flex;gap:10px}

.searchbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:8px}
.searchbar input{flex:1;min-width:200px;padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit}

table.grid{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
table.grid th,table.grid td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
table.grid th{background:#f0f3f8;font-size:13px;text-transform:uppercase;letter-spacing:.3px;color:var(--mut)}
table.grid tr:last-child td{border-bottom:none}
.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;color:var(--mut)}
.rowact{white-space:nowrap;text-align:right}

.pill{font-size:12px;padding:2px 9px;border-radius:20px;background:#eef1f6;color:var(--mut)}
.pill.published{background:var(--okbg);color:var(--ok)}
.pill.retired{background:#f3e9d6;color:#8a6d1a}
.pill.draft{background:#eef1f6;color:var(--mut)}

.flash{padding:12px 16px;border-radius:8px;margin:0 0 16px}
.flash.ok{background:var(--okbg);color:var(--ok);border:1px solid #bfe3cd}
.flash.err{background:var(--errbg);color:var(--err);border:1px solid #f2c2c2}

.foot{text-align:center;color:var(--mut);font-size:13px;padding:30px 0}
code{background:#eef1f6;padding:1px 6px;border-radius:5px;font-size:.9em}

/* ===== info tooltips ===== */
.info{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:#cfd8e6;color:#33415a;font:700 10px/1 Georgia,'Times New Roman',serif;font-style:italic;cursor:help;position:relative;vertical-align:middle;margin-left:5px;user-select:none}
.info:hover,.info:focus{background:var(--gold);color:#1c1300;outline:none}
.info .tip{display:none;position:absolute;left:50%;bottom:150%;transform:translateX(-50%);width:250px;max-width:60vw;background:#0b1f3a;color:#fff;font:400 12px/1.45 system-ui,Arial,sans-serif;font-style:normal;padding:9px 11px;border-radius:8px;box-shadow:0 10px 28px #0007;z-index:40;text-align:left;white-space:normal}
.info:hover .tip,.info:focus .tip{display:block}
.info .tip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#0b1f3a}

/* ===== publish acknowledge ===== */
.ackbox{display:flex;gap:9px;align-items:flex-start;background:#fff6e0;border:1px solid #e7c87a;border-radius:8px;padding:11px 13px;margin:0 0 14px;font-weight:500;font-size:14px;line-height:1.45}
.ackbox input{margin-top:3px;flex:none;width:18px;height:18px}

/* ===== help wiki ===== */
.wiki{display:grid;grid-template-columns:220px 1fr;gap:26px;align-items:start}
@media(max-width:760px){.wiki{grid-template-columns:1fr}}
.wiki-toc{position:sticky;top:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:14px}
.wiki-toc h3{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.3px;color:var(--mut)}
.wiki-toc a{display:block;padding:3px 0;color:var(--navy2);text-decoration:none}
.wiki-toc a:hover{text-decoration:underline}
.wiki-body h2{margin:32px 0 8px;padding-top:14px;border-top:2px solid var(--line);color:var(--navy);scroll-margin-top:14px}
.wiki-body h2:first-of-type{border-top:none;padding-top:0;margin-top:0}
.wiki-body h3{margin:18px 0 6px;color:var(--navy2);font-size:16px}
.wiki-body p,.wiki-body li{line-height:1.62}
.wiki-body .lead{font-size:17px;color:var(--mut)}
.wiki-body table.ref{width:100%;border-collapse:collapse;margin:12px 0;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.wiki-body table.ref th,.wiki-body table.ref td{text-align:left;padding:8px 11px;border-bottom:1px solid var(--line);vertical-align:top;font-size:14px}
.wiki-body table.ref th{background:#f0f3f8;font-size:12px;text-transform:uppercase;letter-spacing:.3px;color:var(--mut)}
.wiki-body table.ref tr:last-child td{border-bottom:none}
.callout{background:#e6f4ec;border:1px solid #bfe3cd;border-left:4px solid var(--ok);border-radius:8px;padding:12px 14px;margin:14px 0}
.callout.warn{background:#fdf3e3;border-color:#e7c87a;border-left-color:#b8923c}
.callout b{color:var(--navy)}

/* ===== relational repeaters (families / complementary) ===== */
.repeater{display:flex;flex-direction:column;gap:8px;margin:4px 0 10px}
.rrow{display:flex;gap:8px;align-items:center}
.form .rrow input,.form .rrow select{flex:1;min-width:0;margin-top:0;padding:8px;border:1px solid var(--line);border-radius:8px;font:inherit;font-weight:400;width:auto}
.form .rrow select{flex:0 0 175px}
.rrow .rrm{flex:0 0 auto;color:var(--err);line-height:1}
.rtpl{display:none}
@media(max-width:640px){.rrow{flex-wrap:wrap}.form .rrow select{flex:1 1 100%}}

/* ===== HMC brand polish ===== */
:root{--red:#b42026;--red-dk:#8f191e;--hmcblack:#14161b}
.topbar{background:linear-gradient(100deg,#1d2027 0%,#0d0e12 80%);border-bottom:3px solid var(--gold);padding:8px 18px;box-shadow:0 2px 12px rgba(0,0,0,.20)}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none}
.brand:hover{text-decoration:none}
.brand img{height:34px;width:auto;display:block}
.brand .bt{display:flex;flex-direction:column;line-height:1.05;color:#fff;font-weight:800;letter-spacing:.3px;font-size:16px}
.brand .bt small{font-weight:600;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold);margin-top:2px}
.mainnav a{color:#d4dae3}
.mainnav a:hover{background:rgba(255,255,255,.10)}
.mainnav a.active{background:var(--gold);color:#1c1300}
.userbox{color:#c2c9d3}.userbox a{color:#fff}
.foot-beta{display:inline-block;background:var(--gold);color:#1c1300;font-weight:700;font-size:11px;letter-spacing:.5px;padding:1px 7px;border-radius:10px;text-transform:uppercase}

/* login screen */
.auth{display:flex;justify-content:center;padding:42px 16px 24px}
.authcard{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 60px rgba(11,15,20,.18);width:100%;max-width:400px;overflow:hidden}
.authhead{background:linear-gradient(135deg,#1d2027,#0b0c10);padding:26px 22px 22px;text-align:center;border-bottom:3px solid var(--gold)}
.authhead img{width:86%;max-width:288px;height:auto;display:block;margin:0 auto}
.authbody{padding:22px 28px 26px}
.authbody h1{margin:0 0 3px;font-size:22px;color:var(--navy)}
.authsub{margin:0 0 18px;color:var(--mut);font-size:14px}
.authbody .form{max-width:none}
.btn.block{display:block;width:100%;text-align:center;margin-top:6px;padding:11px}

/* subtle gold accent on card headings */
.card>h2:first-child{border-bottom:2px solid var(--gold);padding-bottom:8px;margin-bottom:14px}

/* ===== application vendor picker ===== */
.vfilter{width:100%;margin:8px 0 4px;padding:9px;border:1px solid var(--line);border-radius:8px;font:inherit}
.chkgrid{max-height:320px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:2px 14px;border:1px solid var(--line);border-radius:8px;padding:10px}
.chkgrid label.chk{margin:0 0 2px}

/* ===== changelog badge + list ===== */
.verbadge{color:var(--gold);border:1px solid #ffffff33;font-size:11px;letter-spacing:.4px;padding:3px 9px;border-radius:999px;text-decoration:none;white-space:nowrap;font-weight:600}
.verbadge:hover{background:var(--gold);color:#1c1300;text-decoration:none}
ul.cl{margin:6px 0 0;padding-left:20px}
ul.cl li{margin:5px 0;line-height:1.5}

/* ===== publish note cell ===== */
.notecell{font-size:13px;color:var(--mut);line-height:1.4;max-width:360px}
