.shell{display:flex;flex-wrap:wrap;min-height:100vh}
.side{flex:0 0 var(--layout-sidebar);background:var(--panel);border-right:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:8px;height:32px;padding:0 8px;font-weight:650;letter-spacing:-.01em;white-space:nowrap}
.fh a.brand{color:var(--fg);text-decoration:none}
.rail{position:sticky;top:0;display:flex;flex-direction:column;gap:16px;height:100dvh;padding-bottom:14px;overflow-y:auto}
.brandrow{display:flex;flex:none;align-items:center;height:var(--layout-topbar);padding:0 12px;border-bottom:1px solid var(--line)}
.rail>:not(.brandrow){margin-inline:12px}
.side .brand{height:var(--size-control-md);padding:0 10px;font-size:20px}
.side .mark{width:var(--size-logo);height:var(--size-logo)}
.mark{display:block;width:18px;height:18px;flex:none}
.nav{display:flex;flex-direction:column;gap:2px}
.nav a{display:flex;align-items:center;gap:10px;height:32px;padding:0 10px;border-radius:6px;color:var(--fg2);text-decoration:none;font-weight:500;white-space:nowrap}
.fh .nav a{color:var(--fg2)}
.fh .nav a:hover,.fh .nav a.on{background:var(--sub);color:var(--fg)}
.meter{display:block;width:100%;height:4px;border-radius:2px;background:var(--sub)}
.meter rect{fill:var(--acc)}
.meter.full rect{fill:var(--warn)}
.fh a.foot{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--fg)}
.main{flex:1 1 620px;min-width:0;display:flex;flex-direction:column}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:8px;height:var(--layout-topbar);padding-block:0;padding-inline:max(var(--layout-gutter),calc((100% - var(--layout-content))/2)) var(--layout-gutter);border-bottom:1px solid var(--line);background:var(--panel)}
.top>:not(.crumb){flex:none}
.crumb{display:flex;align-items:center;gap:6px;flex:1 1 auto;min-width:0;color:var(--fg2)}
.fh .crumb a{color:var(--fg2);text-decoration:none}
.fh .crumb a:hover{color:var(--fg)}
.crumb .here{color:var(--fg);font-weight:500}
.pg{width:100%;max-width:calc(var(--layout-content) + 2*var(--layout-gutter));margin-inline:auto;padding:28px 32px 56px;display:flex;flex-direction:column;gap:20px}
.pg.mid{max-width:960px}
.pg.wide{max-width:none}
.avatar{width:26px;height:26px;border-radius:50%;background:var(--sub);border:1px solid var(--line2);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--fg);text-transform:uppercase}
.menu{position:relative}
.menu summary{list-style:none;display:inline-flex;align-items:center;gap:2px;height:28px;padding:0 4px 0 2px;border-radius:6px;cursor:pointer;color:var(--fg2)}
.menu summary::-webkit-details-marker{display:none}
.menu summary:hover{background:var(--sub)}
.menu .pop{position:absolute;right:0;top:34px;z-index:30;min-width:260px;max-width:calc(100vw - 24px);display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.fh .pop .opt{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:32px;padding:0 10px;border:0;border-radius:6px;background:none;color:var(--fg);font:inherit;text-align:left;text-decoration:none;cursor:pointer}
.fh .pop a.opt{justify-content:flex-start;gap:8px;color:var(--fg2)}
.menu .ws{max-width:160px;margin-left:6px;color:var(--fg);font-weight:500}
.fh .pop .opt:hover,.fh .pop .opt.on{background:var(--sub)}
.pop .part{margin-top:4px;padding:10px 4px 4px;border-top:1px solid var(--line)}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto}
.tabs a{display:flex;align-items:center;gap:6px;height:36px;padding:0 10px;margin-bottom:-1px;border-bottom:2px solid transparent;text-decoration:none;font-weight:500;white-space:nowrap}
.fh .tabs a{color:var(--fg2)}
.fh .tabs a:hover{color:var(--fg)}
.fh .tabs a.on{color:var(--fg);border-bottom-color:var(--fg)}
.tabs .muted{font-weight:400}
.meta{font-size:13px}
.meta .i{width:14px;height:14px}
.bare{display:flex;flex-direction:column}
.bare>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px}
.bare>main{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:48px 16px 96px}
.bare .box{width:100%;max-width:380px;display:flex;flex-direction:column;gap:24px}
.bare .box.wide{max-width:460px;gap:20px}
.bare .box h1{font-size:24px;line-height:32px;font-weight:600}
.bare .later{align-self:center;margin-top:8px}
.bare .kv dd.lines{display:block;align-self:baseline}
.bare .kv dt:has(+dd.lines){align-self:baseline}
.bare .kv .sub{margin-top:2px}
.bare>main:has(.box.wide){padding-top:40px}
.bare .btn{height:36px;padding:0 14px}
.bare .btn.icon{width:32px;height:32px;padding:0}
.bare .btn.icon.sm{width:28px;height:28px}
.bare .input{height:38px;padding:0 12px}
.bare .card{border-radius:10px}
.bare .mark{width:22px;height:22px}
.bare .field>label{font-size:12px}
.bare .kv{align-items:center;padding:16px}
.bare .kv dd{display:flex;align-items:center;gap:4px}
.bare>header form{display:contents}
.tile{width:40px;height:40px;border-radius:8px;border:1px solid var(--line);background:var(--sub);display:flex;align-items:center;justify-content:center;color:var(--fg)}
.facts{padding:12px 14px;display:grid;grid-template-columns:auto 1fr;gap:6px 16px}
.facts.col{display:flex;flex-direction:column;gap:4px}
.empty{padding:32px 16px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.empty h1{font-size:inherit;line-height:inherit}
@media (max-width:860px){.shell{align-content:flex-start}.side{flex-basis:100%;border-right:0;border-bottom:1px solid var(--line)}.rail{position:static;height:auto;flex-direction:row;align-items:center;gap:8px;padding:8px 12px;overflow-y:visible;overflow-x:auto}.nav{flex-direction:row}.brandrow{height:auto;padding:0;border-bottom:0}.rail>:not(.brandrow){margin-inline:0}.fh a.foot{display:none}.pg{padding:20px 16px 40px}.top{padding-inline:var(--layout-gutter-compact)}.kv{grid-template-columns:110px minmax(0,1fr)}}
@media (pointer:coarse){html{-webkit-text-size-adjust:100%;text-size-adjust:100%}.fh{font-size:var(--font-size-md)}.fh h1{font-size:var(--font-size-xl)}.fh h2{font-size:var(--font-size-lg)}.small,.meta,.kv dt,.bare .field>label{font-size:var(--font-size-sm)}.bare .btn,.bare .input,.bare .brand{height:var(--size-control-md)}.bare .btn.icon,.bare .btn.icon.sm{width:var(--size-control-md);height:var(--size-control-md)}.input,.input.sm{font-size:var(--font-size-input)}.bare>header .hrow{gap:max(4px,var(--layout-target-gap))}}
.bare{padding-inline:env(safe-area-inset-left) env(safe-area-inset-right)}
