/* Compact protection screens; native permissions stay in the phone's own UI. */
:root:has(body.shieldPage,body.genesisSimple){font-size:16px}
body:is(.shieldPage,.genesisSimple,.securitySimple){font-size:15px;line-height:1.5}
body:is(.shieldPage,.genesisSimple,.securitySimple) :is(main,section,details,form){min-width:0;overflow-wrap:anywhere}
body:is(.shieldPage,.genesisSimple) header{padding:12px max(16px,env(safe-area-inset-right,0px)) 12px max(16px,env(safe-area-inset-left,0px))}
html.vobixInstalled body:is(.shieldPage,.genesisSimple) header{padding-top:calc(12px + max(28px,env(safe-area-inset-top,0px)))}
body:is(.shieldPage,.genesisSimple) main{padding:18px max(14px,env(safe-area-inset-right,0px)) max(32px,env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px))}
html.vobixInstalled body:is(.shieldPage,.genesisSimple) main{padding-bottom:calc(20px + max(32px,env(safe-area-inset-bottom,0px)))}
body:is(.shieldPage,.genesisSimple,.securitySimple) h1{font-size:24px;line-height:1.25}
.shieldPage .shieldHero{padding:18px 16px;border-radius:18px}
.shieldPage .shieldHero h1{font-size:24px;margin-bottom:10px}
.shieldPage .shieldHero .intro{font-size:15px;margin-bottom:0}
body:is(.shieldPage,.genesisSimple,.securitySimple) h2{font-size:19px;line-height:1.35}
body:is(.shieldPage,.genesisSimple,.securitySimple) h3{font-size:16px;line-height:1.4}
body:is(.shieldPage,.genesisSimple,.securitySimple) :is(p,li,label){font-size:15px;line-height:1.5}
body:is(.shieldPage,.genesisSimple,.securitySimple) :is(.small,.phaseNote,.shieldPlanNotice){font-size:14px}
body:is(.shieldPage,.genesisSimple,.securitySimple) :is(button,.action,.phaseButton){font-size:15px;line-height:1.4;min-height:44px;padding:11px 14px;border-radius:12px;white-space:normal;max-width:100%;overflow-wrap:anywhere}
body:is(.shieldPage,.genesisSimple,.securitySimple) :is(input,textarea,select){max-width:100%;font-size:16px}
.securityWelcome,.securityGroup{box-sizing:border-box;margin:14px 0;border:1px solid #cce0ee;border-radius:16px;background:#fff;color:#173e57}
.securityWelcome{padding:18px}
.securityWelcome h2{margin:0 0 8px}
.securityGroup>summary{padding:15px 16px;min-height:52px;font-size:15px;font-weight:650;cursor:pointer;list-style-position:inside}
.securityGroup>summary:focus-visible{outline:3px solid #087fbe;outline-offset:2px;border-radius:12px}
.securityGroup[open]{padding:0 16px 16px}
.securityGroup[open]>summary{margin:0 -16px 16px;border-bottom:1px solid #dce9f2}
.securityGroup>section,.securitySimple .securityGroup>.phaseCard{padding:16px 0;margin:0;border:0;border-top:1px solid #e2edf4;border-radius:0;box-shadow:none;background:transparent}
.securityGroup>section:first-of-type{border-top:0}
.shieldPage main #shieldSetup{padding:18px;margin-top:14px;border-radius:18px}
.shieldStatus{padding:10px 12px;border-radius:10px;background:#edf5fc;color:#204b66}
#shieldSetup[data-state="on"] .shieldStatus{background:#e7f6ee;color:#176442}
.shieldPage .shieldMark{display:none}
.shieldPage .autoSwitch{min-height:48px;padding:10px;gap:12px}
.shieldPage .autoSwitch input{width:24px;height:24px;flex-basis:24px}
.securitySimple section[id],.genesisSimple section[id]{scroll-margin-top:calc(12px + var(--security-header-height,0px))}
html:has(body.vobixOrganized.securitySimple){scroll-padding-top:calc(12px + var(--security-header-height,0px))}
html:is([data-vobix-font=large],[data-vobix-font=xlarge]) body:is(.shieldPage,.genesisSimple,.securitySimple) :is(p,li,label,button,.action,.phaseButton,.securityGroup>summary){font-size:17px}
html[data-vobix-font=xlarge] body:is(.shieldPage,.genesisSimple,.securitySimple) :is(p,li,label,button,.action,.phaseButton,.securityGroup>summary){font-size:19px}
body:is(.shieldPage,.genesisSimple,.securitySimple) [hidden]{display:none!important}

/* One reading rhythm for protection: headings, prose and actions stay aligned. */
body.vobixOrganized.securitySimple main.phaseWrap{max-width:680px;padding:16px 14px calc(28px + var(--vobix-safe-bottom,0px));}
body.vobixOrganized.securitySimple .sectionIntro{margin:0 0 16px;text-align:left;}
body.vobixOrganized.securitySimple .sectionIntro h1{font-size:26px;line-height:1.2;margin:0 0 6px;}
body.vobixOrganized.securitySimple .sectionIntro p{margin:0;color:#34546b;}
body.vobixOrganized.securitySimple .securityWelcome{padding:18px;margin:0 0 14px;text-align:left;border-radius:20px;}
body.vobixOrganized.securitySimple .securityWelcome h2{font-size:21px;font-weight:750;margin:0 0 8px;}
body.vobixOrganized.securitySimple .securityWelcome p{margin:0 0 14px;}
body.vobixOrganized.securitySimple .securityWelcome .phaseButton{display:block;width:100%;text-align:center;}
body.vobixOrganized.securitySimple .securityGroup{margin:10px 0;border-radius:16px;}
body.vobixOrganized.securitySimple .securityGroup>summary{padding:14px;line-height:1.35;font-weight:700;}
body.vobixOrganized.securitySimple .securityGroup[open]>summary{margin-bottom:4px;}
body.vobixOrganized.securitySimple .securityGroup>.phaseCard{text-align:left;padding:16px 0;}
body.vobixOrganized.securitySimple .securityGroup :is(h2,h3){text-align:left;margin:0 0 8px;font-weight:750;}
body.vobixOrganized.securitySimple .securityGroup h3{margin-top:18px;}
body.vobixOrganized.securitySimple .securityGroup p{text-align:left;margin:6px 0 12px;line-height:1.5;}
body.vobixOrganized.securitySimple .securityGroup :is(label,form){text-align:left;}
body.vobixOrganized.securitySimple .securityGroup .inlineChoice{display:flex;align-items:flex-start;gap:10px;margin:10px 0;line-height:1.4;}
body.vobixOrganized.securitySimple .securityGroup .inlineChoice input{flex:0 0 20px;width:20px;height:20px;margin:2px 0 0;}
body.vobixOrganized.securitySimple .securityGroup .phaseActions{gap:8px;margin:12px 0 0;}
body.vobixOrganized.securitySimple .securityGroup .phaseActions>*{flex:1 1 150px;}
body.vobixOrganized.securitySimple .securityGroup :is(input:not([type=checkbox]),textarea,select){width:100%;min-width:0;box-sizing:border-box;margin:6px 0 12px;}
body.vobixOrganized.securitySimple .securityGroup :is(.phaseStatus,.phaseNote):empty{display:none;}
body:is(.shieldPage,.genesisSimple) :is(.shieldInfo,.securityGroup)>:is(p,ul,ol){text-align:left;max-width:62ch;margin-inline:auto;}
body.vobixOrganized:is(.shieldPage,.genesisSimple) .securityGroup :is(h2,h3,p,label){text-align:left;}


/* The entire price card opens the selected plan. */
.shieldPage a.shieldPlanButton{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:140px;text-decoration:none;cursor:pointer;border:1px solid #cce0ee;background:#fff;border-radius:16px;padding:14px 8px;transition:background .15s,border-color .15s}
.shieldPage a.shieldPlanButton:hover,.shieldPage a.shieldPlanButton:active{background:#eaf5ff;border-color:#0786db}
.shieldPage a.shieldPlanButton:focus-visible{outline:3px solid #0786db;outline-offset:3px}
.shieldPage .shieldPlanButton .shieldPlanAction{font-size:13px;font-weight:700;color:#0675bd}
