:root{--navy:#0E2841;--blue:#156082;--orange:#E97132;--border:#D9DEE3}
*{box-sizing:border-box}
body{font:14px/1.55 Inter,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:#272727;margin:0}
header{background:var(--navy);color:#fff;padding:16px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid var(--orange)}
header>b{font-size:18px}header>nav a{color:#fff}
header nav{flex:1;margin-left:32px;display:flex;gap:20px}
.um{position:relative}
.um-btn{background:none;border:1px solid transparent;margin:0;padding:6px 10px;display:flex;align-items:center;gap:8px}
.um-btn:hover,.um-btn[aria-expanded=true]{border-color:rgba(255,255,255,.4)}
.um-menu{position:absolute;right:0;top:calc(100% + 6px);background:#fff;color:#272727;min-width:240px;border:1px solid var(--border);border-top:3px solid var(--orange);box-shadow:0 6px 18px rgba(0,0,0,.15);z-index:10}
.um-menu button{display:block;width:100%;text-align:left;background:none;color:var(--blue);margin:0;padding:9px 14px;border-top:1px solid var(--border)}
.um-menu button:hover{background:#F4F7F9}
.um-role{margin:0;padding:10px 14px;list-style:none;color:var(--navy)}.um-role small{color:#6B7280}
.dlg-bg{position:fixed;inset:0;background:rgba(14,40,65,.45);display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;z-index:20}
.dlg{background:#fff;width:min(400px,92vw);margin:0}.dlg input{width:100%}
main{max-width:980px;margin:24px auto;padding:0 28px}
h2{color:var(--navy);margin:0 0 10px}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}
th{font-size:12px;color:var(--blue)}
button,.btn{background:var(--blue);color:#fff;border:0;padding:7px 14px;cursor:pointer;font:inherit;text-decoration:none;display:inline-block;margin-right:6px}
button.sec,.btn.sec{background:#fff;color:var(--blue);border:1px solid var(--blue)}button.del{background:#B3453F}
button:disabled{opacity:.4;cursor:default}
input,select,textarea{font:inherit;padding:6px 8px;border:1px solid var(--border);max-width:100%}
label{display:block;margin:10px 0 2px;font-weight:600}.err{color:#B3453F}.ok{color:var(--blue)}.warn{color:#9A4A12;background:#FDF3EC;border-left:3px solid var(--orange);padding:6px 10px}
textarea{width:100%;height:65vh;font:13px/1.4 Consolas,monospace}
.box{border:1px solid var(--border);border-top:3px solid var(--blue);padding:16px 20px;margin:16px 0}
