
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#F5F6F8;color:#16181D;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:15px;line-height:1.4}
body.with-tabbar{padding-bottom:84px}
a{color:#2457D6}a:hover{color:#1A43AE}
.screen{max-width:720px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}
.mono{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace}
.icon-shrink{flex-shrink:0;margin-top:1px}
header.top{padding:24px 20px 12px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
header.top .heading{display:flex;flex-direction:column;gap:4px;min-width:0}
header.sub{padding:16px 20px 8px;display:flex;flex-direction:column;gap:6px}
.kicker{font-size:13px;color:#5B6270}
h1{margin:0;font-size:26px;font-weight:700;letter-spacing:-0.02em;overflow-wrap:anywhere}
h2.section-title{margin:12px 0 4px;font-size:14px;font-weight:600;color:#5B6270}
.back{align-self:flex-start;display:flex;align-items:center;gap:4px;min-height:44px;font-size:15px;font-weight:500;text-decoration:none;color:#2457D6}
main{flex:1;padding:4px 20px 20px;display:flex;flex-direction:column;gap:14px;min-width:0}
.muted{font-size:14px;color:#5B6270;margin:0}
.small{font-size:12px;line-height:1.5;color:#5B6270;margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 16px;border-radius:12px;border:1px solid #C9CED6;background:#FFFFFF;color:#16181D;font:inherit;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none;flex-shrink:0}
.btn:hover{color:#16181D;background:#F9FAFB}
.btn-primary{background:#2457D6;border-color:#2457D6;color:#FFFFFF}
.btn-primary:hover{background:#1A43AE;color:#FFFFFF}
.btn-danger{background:#B42318;border-color:#B42318;color:#FFFFFF;font-weight:700}
.btn-danger:hover{background:#912018;color:#FFFFFF}
.btn-danger-outline{border-color:#E8B4AE;color:#A21E12}
.btn-danger-outline:hover{color:#A21E12;background:#FFF7F6}
.btn-block{width:100%;height:48px}
.btn-lg{height:52px;font-size:16px}
.card{background:#FFFFFF;border:1px solid #E3E6EB;border-radius:14px;padding:4px 16px}
.card-pad{padding:16px}
.card-danger{border-color:#E8B4AE}
.alert{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:14px;background:#FDF0E3;border:1px solid #F3D3B0}
.alert-row{display:flex;gap:10px;align-items:flex-start}
.alert-title{font-size:14px;font-weight:600;color:#5E2D06}
.alert-text{font-size:13px;color:#6E3A0C}
.alert .btn{align-self:flex-start;border-color:#94470A;color:#5E2D06;font-size:14px}
.flash{padding:12px 14px;border-radius:12px;font-size:14px;font-weight:500}
.flash-ok{background:#E6F4EC;color:#1E6B3E;border:1px solid #BFE3CC}
.flash-error{background:#FBEAE8;color:#A21E12;border:1px solid #F0C4BE}
.note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:#EEF1F5;font-size:13px;color:#3F4651;line-height:1.45}
.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.account{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#FFFFFF;border:1px solid #E3E6EB;border-radius:14px;text-decoration:none;color:#16181D}
.account:hover{color:#16181D;border-color:#C9CED6}
.account-revoked{opacity:.55}
.account-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.account-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.account-alias{font-size:15px;font-weight:600}
.account-email{font-size:13px;color:#5B6270;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.logo{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}
.logo-ms{background:#EAF0FD;color:#1A43AE}
.logo-g{background:#F3EEFB;color:#5B3A9E}
.badge{font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}
.badge-ok{background:#E6F4EC;color:#1E6B3E}
.badge-warn{background:#FDF0E3;color:#94470A}
.badge-error{background:#FBEAE8;color:#A21E12}
.badge-muted{background:#EEF1F5;color:#3F4651}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:12px;padding:2px 8px;border-radius:6px;background:#EEF1F5;color:#3F4651}
.choice{display:flex;align-items:center;gap:12px;width:100%;min-height:72px;padding:14px 16px;border-radius:14px;border:1px solid #E3E6EB;background:#FFFFFF;text-decoration:none;color:#16181D}
.choice:hover{color:#16181D;border-color:#C9CED6}
.choice[aria-pressed="true"]{border:2px solid #2457D6;padding:13px 15px}
.choice-body{flex:1;display:flex;flex-direction:column;gap:2px;text-align:left}
.choice-title{font-size:15px;font-weight:600}
.choice-text{font-size:13px;color:#5B6270}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-size:14px;font-weight:500}
.input,select.input{height:48px;padding:0 14px;border-radius:12px;border:1px solid #C9CED6;background:#FFFFFF;font:inherit;font-size:16px;color:#16181D;width:100%;min-width:0}
.input[aria-invalid="true"]{border-color:#B42318}
.field-help{font-size:13px;color:#5B6270}
.field-error{font-size:13px;color:#A21E12;font-weight:500}
.step{margin:0;font-size:14px;font-weight:600;color:#5B6270}
.stack{display:flex;flex-direction:column;gap:10px}
.stack-lg{display:flex;flex-direction:column;gap:22px}
.consent{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:12px;border:1px solid #E3E6EB;background:#FFFFFF}
.consent .input{font-size:12px;height:40px;font-family:"JetBrains Mono",ui-monospace,monospace}
.footer-actions{padding:12px 20px 24px;border-top:1px solid #E3E6EB;background:#FFFFFF;display:flex;flex-direction:column;gap:8px}
.footer-actions .hint{font-size:12px;color:#5B6270;text-align:center}
dl.info{margin:0;display:flex;flex-direction:column}
dl.info>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #EEF0F3}
dl.info>div:last-child{border-bottom:none;padding-bottom:12px}
dl.info dt{font-size:14px;color:#5B6270}
dl.info dd{margin:0;font-size:14px;font-weight:500;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:0;overflow-wrap:anywhere}
.tenant-id{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;color:#5B6270;font-weight:400}
.right{display:flex;align-items:center;gap:12px;padding:10px 0;min-height:44px;border-bottom:1px solid #EEF0F3}
.right:last-of-type{border-bottom:none}
.right-body{flex:1;display:flex;flex-direction:column;gap:2px}
.right-title{font-size:15px;font-weight:600}
.right-text{font-size:13px;color:#5B6270}
.right form{margin:0}
.switch{width:52px;height:32px;border-radius:999px;border:none;background:#C3C8D1;position:relative;padding:0;flex-shrink:0;cursor:pointer}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:999px;background:#FFFFFF;transition:left .15s}
.switch[aria-checked="true"]{background:#2457D6}
.switch[aria-checked="true"]::after{left:23px}
.switch:disabled{cursor:not-allowed;background:#DDE1E7}
.switch[aria-checked="true"]:disabled{background:#9DB4EE}
.filters{padding:0 20px 12px;display:flex;flex-wrap:wrap;gap:8px}
.filters select{height:36px;padding:0 10px;border-radius:999px;border:1px solid #C9CED6;background:#FFFFFF;color:#16181D;font:inherit;font-size:13px;font-weight:500;max-width:100%}
.filters .btn{min-height:36px;height:36px;font-size:13px;border-radius:999px;padding:0 14px}
.entries{list-style:none;margin:0;padding:0}
.entry{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid #EEF0F3}
.entry:last-child{border-bottom:none}
.entry-time{width:44px;flex-shrink:0;font-size:13px;color:#5B6270;padding-top:1px}
.entry-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.entry-action{font-size:14px;font-weight:500;overflow-wrap:anywhere}
.entry-label{font-size:13px;color:#5B6270;overflow-wrap:anywhere}
.row-between{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #EEF0F3;font-size:14px}
.row-between>span:first-child{color:#5B6270}
.row-between>span:last-child{font-weight:600;text-align:right;overflow-wrap:anywhere}
.link-row{display:flex;align-items:center;justify-content:space-between;min-height:44px;font-size:14px;font-weight:600;text-decoration:none;color:#2457D6}
.danger-head{display:flex;gap:10px;align-items:flex-start}
.danger-head h2{margin:0;font-size:17px;font-weight:700}
.danger-head p{margin:0;font-size:14px;line-height:1.45;color:#3F4651}
.actions{display:flex;flex-direction:column;gap:8px}
.inline-form{margin:0}
.tabbar{position:fixed;left:0;right:0;bottom:0;border-top:1px solid #E3E6EB;background:#FFFFFF;z-index:10}
.tabbar-inner{max-width:720px;margin:0 auto;display:flex;padding:6px 8px calc(14px + env(safe-area-inset-bottom))}
.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0;min-height:44px;text-decoration:none;color:#5B6270;font-size:12px;font-weight:500}
.tab-active{color:#2457D6;font-weight:600}
.center{flex:1;display:flex;flex-direction:column;justify-content:center;gap:16px;padding:24px 20px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
