/* ---------- Menu có link ---------- */
.mnav{gap:22px;flex-wrap:wrap}
.mi{position:relative;cursor:pointer;white-space:nowrap}
.mi:hover{color:var(--ui)}
.mi.nolink,.mdrop .nolink{text-decoration:underline dotted #d08a8a;text-underline-offset:4px}
body.shot .mi.nolink,body.shot .mdrop .nolink{text-decoration:none}
.mdrop{display:none;position:absolute;top:calc(100% + 8px);left:-12px;margin-top:0;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 24px rgba(0,0,0,.1);padding:6px 0;min-width:190px;z-index:20;font-weight:500;color:var(--ink)}
.mdrop span{display:block;padding:7px 14px;font-size:13px;margin:0 6px;border-radius:6px;transition:background .15s,color .15s}
.mdrop span:hover{background:var(--ui-soft);color:var(--ui)}
.mi:hover .mdrop{display:block}
.hlink{cursor:pointer}
.hlink:hover{color:var(--ui)}
#mp{position:fixed;inset:0;background:rgba(15,25,35,.45);z-index:125;display:none;align-items:center;justify-content:center;padding:20px}
#mp.open{display:flex}
#mp .box{background:#fff;border-radius:14px;width:min(680px,100%);max-height:calc(100vh - 40px);display:flex;flex-direction:column;box-shadow:0 20px 50px rgba(0,0,0,.25)}
#mp .hd{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}
#mp .hd b{font-size:16px}
#mp .hd span{color:var(--muted);font-size:12.5px}
#mp .bd{overflow:auto;padding:12px 20px;flex:1}
#mp .ft{padding:12px 20px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
#mp .ft .l{margin-right:auto}
#mp button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:6px 10px;font-size:12.5px;cursor:pointer}
#mp button:hover{border-color:var(--ui);background:var(--ui-soft)}
#mp .pri{background:var(--ui);color:#fff;border-color:var(--ui)}
#mp .pri:hover{background:#185dc6}
.mrow{display:grid;grid-template-columns:52px 1fr 1.3fr auto auto;gap:6px;align-items:center;margin:6px 0}
.mrow.sub{grid-template-columns:52px 1fr 1.3fr auto;margin-left:34px}
.mrow input{border:1px solid var(--line);border-radius:6px;padding:7px 9px;font:inherit;font-size:13px;width:100%;min-width:0}
.mrow input:focus{border-color:var(--ui);outline:0}
.mrow input.top{font-weight:700}
.mrow .mv{display:flex;gap:2px}
.mrow .mv button{padding:3px 6px}
.mrow .x{color:var(--danger)}
.mgrp{border:1px solid var(--line);border-radius:10px;padding:6px 10px;margin-bottom:10px;background:#fafbfc}
.mgrp.focus{border-color:var(--ui);box-shadow:0 0 0 3px var(--ui-soft)}
body.shot #mp{display:none!important}
