/* UEM Policy Builder - sibling-tool theme (matches Policy Blueprint / MMA). Uses /brand/tokens.css + /brand/brand.css. */
:root{--ink:#071A45;--slate:#55607D;--muted:#5F6A85;--rule:#E1E5EE;--mist:#F7F9FC;--blue:#0A63DB;--blue-d:#0A4FAD;--violet:#6A22D9;--ok:#0B7A45;--okbg:#E7F7EF;--warn:#9A5B00;--warnbg:#FEF4E2;--err:#C2272D;--errbg:#FDECEC;--info:#0A63DB;--infobg:#EEF5FF;--r:12px}
*{box-sizing:border-box}
html,body{margin:0;background:var(--mist);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:15px;line-height:1.55}
h1,h2,h3{font-family:Outfit,Inter,system-ui,sans-serif;letter-spacing:-.01em;margin:0 0 8px;color:var(--ink)}
h1{font-size:40px;line-height:1.1;font-weight:600}h2{font-size:21px;font-weight:600;line-height:1.25}h3{font-size:17px;font-weight:600}
a{color:var(--blue);word-break:break-word}a:hover{color:var(--blue-d)}
:focus-visible{outline:3px solid #8136F8!important;outline-offset:2px;box-shadow:none}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 12px;border-radius:8px;z-index:100}.skip:focus{left:8px}
/* header */
.toprule{height:3px;background:var(--uem-gradient-brand,linear-gradient(90deg,#177DFF,#8136F8))}
.appbar{display:flex;align-items:center;gap:18px;padding:12px 32px;background:#fff;border-bottom:1px solid var(--rule);position:relative;z-index:20}
.appbar .homelink{display:inline-flex}.appbar .logo{height:30px;display:block}
.appbar-title{font-weight:500;color:var(--slate);font-size:14px;flex:1;display:flex;align-items:center;gap:8px;min-width:0}
.mode-tag{font-size:11px;border:1px solid var(--blue);color:var(--blue);border-radius:20px;padding:1px 9px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.appbar-actions{display:flex;gap:18px;align-items:center}
.link{background:none;border:0;color:var(--slate);font:inherit;font-size:14px;padding:4px 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.link:hover{color:var(--blue)}
.tools{position:relative}.tools>button{display:inline-flex;gap:6px;align-items:center;text-decoration:none}
.tools>button::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.tools ul{position:absolute;right:0;top:calc(100% + 10px);list-style:none;margin:0;padding:8px;background:#fff;border:1px solid var(--rule);border-radius:var(--r);box-shadow:0 12px 32px rgba(7,26,69,.12);min-width:260px}
.tools ul[hidden]{display:none}.tools li a{display:block;padding:9px 12px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:14px}
.tools li a small{display:block;color:var(--muted);font-size:12px}.tools li a:hover,.tools li a:focus-visible{background:var(--infobg)}.tools li a[aria-current]{background:var(--infobg);font-weight:600}
.acct{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--rule);border-radius:999px;padding:6px 14px;font-size:14px;color:var(--ink);text-decoration:none;font-weight:500;white-space:nowrap}
.acct:hover{border-color:var(--blue);color:var(--blue)}.acct .av{width:22px;height:22px;border-radius:50%;background:var(--uem-gradient-ui,#0A63DB);color:#fff;font-size:11px;display:inline-flex;align-items:center;justify-content:center;font-weight:700}
.views{display:inline-flex;border:1px solid var(--rule);border-radius:999px;padding:3px;background:#fff}
.views button{border:0;background:none;color:var(--slate);font:inherit;font-size:13px;padding:6px 14px;border-radius:999px;cursor:pointer;font-weight:500}
.views button[aria-pressed=true]{background:var(--ink);color:#fff}
.subbar{background:#fff;border-bottom:1px solid var(--rule)}
.subbar-in{max-width:1040px;margin:0 auto;padding:10px 32px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.subbar .sp{flex:1}.savestate{font-size:13px;color:var(--muted)}.savestate:empty{display:none}
/* stepper */
.stepper{display:flex;list-style:none;margin:0;padding:0;gap:4px;flex:1;min-width:0;overflow-x:auto}
.stepper li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);white-space:nowrap;padding:4px 10px 4px 0}
.stepper li+li::before{content:"";width:22px;height:2px;background:var(--rule);margin-right:6px}
.stepper .n{width:24px;height:24px;border-radius:50%;border:2px solid var(--rule);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;background:#fff}
.stepper .done{color:var(--ink)}.stepper .done .n{background:var(--ok);border-color:var(--ok);color:#fff}
.stepper .cur{color:var(--ink);font-weight:600}.stepper .cur .n{border-color:transparent;background:var(--uem-gradient-ui,#0A63DB);color:#fff}
/* layout */
main{max-width:1040px;margin:0 auto;padding:32px 32px 40px;min-height:60vh}
.card{background:#fff;border:1px solid var(--rule);border-radius:var(--r);padding:24px;margin:0 0 18px;box-shadow:0 1px 2px rgba(7,26,69,.04)}
.card>h2:first-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.muted{color:var(--muted);font-size:13px}
.kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);font-weight:600;margin:0 0 10px}
.grad{background:var(--uem-gradient-ui,#0A63DB);-webkit-background-clip:text;background-clip:text;color:transparent}
/* hero */
.hero{display:grid;grid-template-columns:1.3fr .9fr;gap:32px;align-items:start;margin:0 0 28px}
.hero .lede{font-size:17px;color:var(--slate);margin:14px 0 0;max-width:640px}
.flow{list-style:none;margin:0;padding:20px;background:#fff;border:1px solid var(--rule);border-radius:var(--r);counter-reset:f}
.flow li{counter-increment:f;display:grid;grid-template-columns:32px 1fr;gap:4px 12px;padding:10px 0}
.flow li+li{border-top:1px solid var(--rule)}
.flow li::before{content:counter(f);grid-row:span 2;width:32px;height:32px;border-radius:50%;background:var(--uem-gradient-ui,#0A63DB);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
.flow b{font-size:15px}.flow span{color:var(--muted);font-size:13px}
.gets{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}
.gets li{font-size:13px;background:#fff;border:1px solid var(--rule);border-radius:999px;padding:4px 12px;color:var(--slate)}
.sect-h{display:flex;align-items:baseline;gap:12px;margin:28px 0 12px;flex-wrap:wrap}.sect-h h2{margin:0}
/* option cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cards.two{grid-template-columns:repeat(2,1fr)}
.ocard{position:relative;display:flex;flex-direction:column;gap:8px;text-align:left;background:#fff;border:1.5px solid var(--rule);border-radius:var(--r);padding:20px;cursor:pointer;font:inherit;color:var(--ink);transition:border-color .15s,box-shadow .15s,transform .15s;min-height:150px}
.ocard:hover{border-color:var(--blue);box-shadow:0 8px 24px rgba(10,99,219,.12);transform:translateY(-1px)}
.ocard:focus-within{outline:3px solid #8136F8;outline-offset:2px}
.ocard .ic{width:44px;height:44px;border-radius:12px;background:var(--infobg);color:var(--blue);display:flex;align-items:center;justify-content:center}
.ocard .ic svg{width:24px;height:24px}
.ocard b{font-size:16px;font-family:Outfit,Inter,sans-serif;font-weight:600}.ocard span{color:var(--muted);font-size:13px}
.ocard .go{margin-top:auto;color:var(--blue);font-weight:600;font-size:14px}
.ocard.sm{min-height:0;padding:16px}
.ocard input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.banner{display:flex;gap:14px;align-items:center;flex-wrap:wrap;background:var(--infobg);border:1px solid #B3D1FF;border-radius:var(--r);padding:14px 18px;margin:0 0 22px}
.banner .t{flex:1;min-width:200px}.banner b{display:block}
/* vendor cards (radio) */
.vpick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.vpick label{display:flex;gap:12px;align-items:center;border:1.5px solid var(--rule);border-radius:var(--r);padding:14px 16px;cursor:pointer;background:#fff;font-weight:600;margin:0}
.vpick label:hover{border-color:var(--blue)}
.vpick label:has(input:checked){border-color:var(--blue);background:var(--infobg);box-shadow:inset 0 0 0 1px var(--blue)}
.vpick .vl{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13px;flex:none}
.vpick .vl.ws1{background:linear-gradient(135deg,#177DFF,#12C2E9)}.vpick .vl.intune{background:linear-gradient(135deg,#0A4FAD,#8136F8)}.vpick .vl.ivanti{background:linear-gradient(135deg,#C8102E,#F05A28)}
.vpick small{display:block;font-weight:400;color:var(--muted);font-size:12px}
.vpick input{accent-color:var(--blue);width:18px;height:18px}
/* form */
.q{margin:0 0 18px}.q:last-child{margin-bottom:0}
.q>.l{font-weight:600;display:block;margin-bottom:6px;font-size:14px}
label{display:block}
input[type=text],textarea,select{width:100%;padding:10px 12px;border:1px solid #C5CBD8;border-radius:8px;font:inherit;color:var(--ink);background:#fff;min-height:42px}
input[type=text]:hover,textarea:hover,select:hover{border-color:#9AA3B8}
input[type=text]:focus,textarea:focus,select:focus{border-color:var(--blue);outline:3px solid rgba(10,99,219,.25);outline-offset:0}
textarea{min-height:64px;resize:vertical}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts label{display:inline-flex;gap:8px;align-items:center;margin:0;padding:8px 14px;border:1px solid #C5CBD8;border-radius:999px;background:#fff;cursor:pointer;font-size:14px}
.opts label:hover{border-color:var(--blue)}
.opts label:has(input:checked){border-color:var(--blue);background:var(--infobg);color:var(--blue-d);font-weight:600}
.opts input{accent-color:var(--blue);margin:0}
.q.invalid input[type=text]{border-color:var(--err);background:#FFFBFB}
.ferr{display:flex;gap:6px;align-items:center;color:var(--err);font-size:13px;margin-top:6px}.ferr::before{content:"!";width:16px;height:16px;border-radius:50%;background:var(--err);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.pf{font-size:12px;color:var(--ok);font-weight:500;background:var(--okbg);border-radius:999px;padding:1px 8px;margin-left:4px}
.disc{background:var(--mist);border:1px solid var(--rule);border-radius:8px;padding:14px;white-space:pre-wrap;font-size:13px;color:var(--slate)}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;border-radius:10px;font:inherit;font-weight:600;font-size:14px;cursor:pointer;text-decoration:none;border:1px solid transparent;background:var(--uem-gradient-ui,#0A63DB);color:#fff;transition:filter .15s,box-shadow .15s}
.btn:hover{filter:brightness(1.08);box-shadow:0 6px 18px rgba(10,99,219,.25);color:#fff}
.btn.s{background:#fff;color:var(--ink);border-color:#C5CBD8}.btn.s:hover{border-color:var(--blue);color:var(--blue);box-shadow:none;filter:none}
.btn.sm{min-height:36px;padding:6px 14px;font-size:13px}
.btn:disabled{opacity:.45;cursor:not-allowed;filter:none;box-shadow:none}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
/* sticky action bar */
.actionbar{position:sticky;bottom:0;z-index:15;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border:1px solid var(--rule);border-radius:var(--r);padding:12px 16px;margin:8px 0 0;box-shadow:0 -6px 24px rgba(7,26,69,.08)}
.actionbar .hint{flex:1;font-size:13px;color:var(--muted);min-width:140px;text-align:center}
/* section nav (guided) */
.secnav{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 18px}
.secnav a{font-size:13px;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--rule);color:var(--slate);text-decoration:none}.secnav a:hover{border-color:var(--blue);color:var(--blue)}
/* conversational */
.conv{min-height:300px;padding:32px}.conv .q>.l{font-size:22px;font-family:Outfit,Inter,sans-serif;font-weight:500;margin-bottom:14px;line-height:1.3}
.conv .opts label{padding:12px 18px;font-size:15px}
.prog{height:8px;background:var(--uem-slate-100,#EFF2F7);border-radius:999px;margin:0 0 14px;overflow:hidden}.prog>i{display:block;height:8px;background:var(--uem-gradient-ui,#0A63DB);border-radius:999px;transition:width .2s}
/* tables */
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;font-size:14px}
th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;background:var(--mist)}
td,th{border-bottom:1px solid var(--rule);padding:10px 8px;text-align:left;vertical-align:top}
tr:last-child td{border-bottom:0}
/* badges */
.tag,.sev{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:3px 9px;border-radius:999px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}
.t-verified{background:var(--okbg);color:var(--ok)}.t-conditional{background:var(--warnbg);color:var(--warn)}.t-unverified{background:#FFF0E5;color:#8A3B00}.t-unsupported{background:var(--errbg);color:var(--err)}
.sev.BLOCK{background:var(--errbg);color:var(--err)}.sev.WARN{background:var(--warnbg);color:var(--warn)}.sev.INFO{background:var(--infobg);color:var(--info)}
.sev::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.BLOCK{color:var(--err);font-weight:700}.WARN{color:var(--warn);font-weight:600}.INFO{color:var(--info)}
.sumline{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.stat{border:1px solid var(--rule);border-radius:10px;padding:10px 16px;min-width:120px;background:#fff}.stat b{display:block;font-size:24px;font-family:Outfit,Inter,sans-serif}.stat span{font-size:12px;color:var(--muted)}
.stat.e b{color:var(--err)}.stat.w b{color:var(--warn)}.stat.o b{color:var(--ok)}
.ok{color:var(--ok)}
/* outputs */
.files{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin:6px 0 16px;padding:0;list-style:none}
.fcard{display:flex;flex-direction:column;gap:10px;border:1px solid var(--rule);border-radius:var(--r);padding:16px;background:#fff}
.fcard .fh{display:flex;gap:12px;align-items:flex-start}
.ficon{width:44px;height:52px;flex:none;border-radius:6px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:7px;color:#fff;font-size:10px;font-weight:800;letter-spacing:.04em;position:relative;background:#55607D}
.ficon::after{content:"";position:absolute;top:0;right:0;border-width:0 12px 12px 0;border-style:solid;border-color:var(--mist) var(--mist) rgba(255,255,255,.4) rgba(255,255,255,.4)}
.ficon.pdf{background:#C2272D}.ficon.docx{background:#0A4FAD}.ficon.csv{background:#0B7A45}.ficon.json{background:#6A22D9}.ficon.html{background:#9A5B00}
.fcard b{font-size:15px;display:block}.fcard .fd{font-size:13px;color:var(--muted)}.fcard .fn{font-size:12px;color:var(--muted);word-break:break-all}
.fcard .row{margin-top:auto}
.pdfstat{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-radius:10px;padding:12px 14px;background:var(--mist);border:1px solid var(--rule);font-size:14px}
.pdfstat ul{margin:0;padding-left:18px}
.spin{width:16px;height:16px;border:2px solid #B3D1FF;border-top-color:var(--blue);border-radius:50%;animation:sp 1s linear infinite;flex:none}@keyframes sp{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* footer */
.toolnote{max-width:1040px;margin:0 auto;padding:0 32px;color:var(--muted);font-size:12px}
.sitefoot{margin-top:32px}
/* responsive */
@media (max-width:900px){.hero{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}h1{font-size:32px}}
@media (max-width:640px){
  .appbar{padding:10px 16px;gap:10px;flex-wrap:wrap}.appbar .logo{height:26px}.appbar-title{order:3;flex-basis:100%;font-size:13px}.appbar-actions{gap:12px;margin-left:auto}
  .acct .av+.lbl{display:none}.secnav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.secnav a{white-space:nowrap}.subbar-in{padding:8px 16px}.stepper li .t{display:none}.stepper li.cur .t{display:inline}.stepper li+li::before{width:10px}
  main{padding:20px 16px 32px}.card{padding:18px}.conv{padding:20px}.conv .q>.l{font-size:19px}h1{font-size:28px}h2{font-size:19px}
  .cards,.cards.two,.vpick{grid-template-columns:1fr}.ocard{min-height:0}
  .actionbar{border-radius:0;margin:8px -16px 0;padding:10px 16px}.actionbar .hint{display:none}.actionbar .btn{flex:1}
  .toolnote{padding:0 16px}
  td,th{padding:8px 6px;font-size:13px}
  .rt thead,.rt tr.hd{display:none}.rt tr{display:block;border-bottom:1px solid var(--rule);padding:8px 0}.rt td{display:block;border:0;padding:3px 0}
}
@media print{.appbar,.subbar,.actionbar,.sitefoot{display:none}}

.zipbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;border:1px solid var(--blue);background:#f3f7ff;border-radius:var(--r);padding:14px 16px;margin:12px 0 14px}
.zipbar>div{flex:1;min-width:220px}.zipbar b{display:block;font-size:15px}.zipbar .muted{font-size:13px}#zipm{flex-basis:100%;font-size:13px}#zipm:empty{display:none}
@media (max-width:640px){.zipbar .btn{width:100%}
 .subbar-in{flex-wrap:wrap;row-gap:8px}.stepper{flex-basis:100%;overflow:visible}.stepper li{padding-right:4px}.stepper li+li::before{width:8px;margin-right:4px}.stepper li.cur .t{display:inline!important}}

.msel{position:relative;margin-top:10px;width:100%}
.msel-b{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;text-align:left;font:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--rule);border-radius:10px;background:#fff;color:var(--ink);cursor:pointer}
.msel-b:focus-visible,.msel-o:focus-within{outline:3px solid var(--blue);outline-offset:2px}
.msel-p{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);max-height:420px;overflow:auto;background:#fff;border:1px solid var(--rule);border-radius:12px;box-shadow:0 12px 32px rgba(10,20,50,.16);padding:6px}
@media (min-width:900px){.msel-p{width:min(560px,90vw);left:auto;right:0}}
.msel-h{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:10px 10px 4px}
.msel-o{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border-radius:8px;cursor:pointer;border:1px solid transparent}
.msel-o:hover{background:#f5f8ff}.msel-o.on{background:#eef4ff;border-color:#c9dafc}.msel-o.bad{border-color:#e0a800;background:#fff8e6}
.msel-o input{margin-top:4px}.msel-o .pic{width:28px;height:28px;flex:none;color:var(--blue)}.msel-o .pic svg{width:24px;height:24px}
.msel-o b{display:block;font-size:14px}.msel-o small{display:block;font-size:12.5px;color:var(--muted)}.msel-o small.best{color:var(--slate)}.msel-o .cfl{color:#8a5a00;font-weight:600;margin-top:4px}
.msel-c:empty{display:none}.msel-w{margin-top:10px;border:1px solid #e0a800;background:#fff8e6;border-radius:10px;padding:10px 12px;font-size:13px;color:#5c3d00}
.msel-w ul{margin:6px 0 0;padding-left:18px}.msel-w li{margin:4px 0}.msel-w .win{display:block;color:#1d5b2b}
.dec{list-style:none;padding:0}.dec li{margin:8px 0}
.fixhl{outline:3px solid #f5a623;outline-offset:4px;border-radius:8px;transition:outline-color .3s}
