/* SIGIL console · app shell: left sidebar on desktop, drawer on phones. Loaded by every page. */
.app{min-height:100vh}
#side{position:fixed;top:0;left:0;bottom:0;width:248px;z-index:45;background:#0d1320;border-right:1px solid var(--line);display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .2s ease}
#side.open{transform:none;box-shadow:0 0 0 100vw rgba(5,8,13,.6)}
#side .brand{display:flex;align-items:center;gap:10px;padding:18px 16px 12px;font-family:var(--mono);font-weight:800;font-size:14px;letter-spacing:.08em}
#side .brand svg{width:26px;height:26px;color:var(--ink)}
#side .brand small{display:block;font-weight:500;font-size:10px;letter-spacing:.2em;color:var(--faint);text-transform:uppercase}
#side .sec{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);padding:14px 16px 6px}
#side a.it,#side button.it{display:flex;align-items:center;gap:10px;margin:1px 8px;padding:9px 10px;border-radius:10px;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--dim);text-decoration:none;background:none;border:0;width:calc(100% - 16px);text-align:left;cursor:pointer;font:inherit;font-family:var(--mono);font-size:12px;font-weight:700}
#side a.it:hover,#side button.it:hover{background:var(--panel);color:var(--ink)}
#side a.it.on,#side button.it.on{background:var(--panel);color:var(--accent)}
#side a.it svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
#side a.it img{width:20px;height:20px;object-fit:contain;border-radius:6px;background:var(--mist);flex:0 0 auto}
#side a.it .n{margin-left:auto;font-weight:500;color:var(--faint);font-size:11px}
#side a.it .n.am{color:var(--accent)}
#side .sub{margin:0 8px 6px 34px;border-left:1px solid var(--line);padding-left:6px}
#side .sub a{display:flex;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:8px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--faint);text-decoration:none}
#side .sub a:hover{color:var(--ink);background:var(--panel)}
#side .sub a.on{color:var(--accent)}
#side .scroll{flex:1;overflow-y:auto;padding-bottom:12px;scrollbar-width:thin}
#side .foot{border-top:1px solid var(--line);padding:10px 8px calc(10px + env(safe-area-inset-bottom))}
#side .foot .who{font-family:var(--mono);font-size:11px;color:var(--faint);padding:6px 10px}
#side .foot .who b{color:var(--good)}
#side .foot .who b.off{color:var(--faint)}
#menu-btn{position:fixed;top:10px;left:10px;z-index:44;width:40px;height:40px;border-radius:10px;border:1px solid var(--line2);background:rgba(11,16,24,.9);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(8px)}
#menu-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
.page{min-width:0}
@media(min-width:1000px){
  .app{display:grid;grid-template-columns:248px minmax(0,1fr)}
  #side{position:sticky;top:0;height:100vh;transform:none;box-shadow:none}
  #side.open{box-shadow:none}
  #menu-btn,#appnav{display:none!important}
  body{padding-bottom:0}
  .page{grid-column:2}
}
@media(max-width:999px){ header#top .wrap, header .wrap{padding-left:56px} }
/* sign-in sheet */
#signin{position:fixed;inset:0;z-index:70;background:rgba(5,8,13,.85);display:none;align-items:center;justify-content:center;padding:20px}
#signin.on{display:flex}
#signin form{width:100%;max-width:360px;background:var(--panel);border:1px solid var(--line2);border-radius:16px;padding:22px}
#signin h2{font-family:var(--mono);font-size:18px;margin-bottom:6px}
#signin p{color:var(--dim);font-size:14px;margin-bottom:14px}
#signin input{width:100%;min-height:46px;border-radius:10px;border:1px solid var(--line2);background:var(--mist);color:var(--ink);padding:0 14px;font:inherit;font-family:var(--mono);font-size:16px;letter-spacing:.1em;text-transform:uppercase}
#signin .row{display:flex;gap:8px;margin-top:12px}
#signin .err{color:var(--bad);font-size:13px;margin-top:8px;min-height:18px}
/* small shared bits used by the new tabs */
.field{width:100%;min-height:42px;border-radius:10px;border:1px solid var(--line2);background:var(--mist);color:var(--ink);padding:0 12px;font:inherit;font-size:15px}
textarea.field{min-height:84px;padding:10px 12px;resize:vertical}
select.field{appearance:auto}
.frow{display:grid;gap:8px;grid-template-columns:1fr;margin-top:10px}
@media(min-width:640px){.frow.four{grid-template-columns:2fr 1fr 1fr 1fr}.frow.two{grid-template-columns:1fr auto}}
.lead{background:var(--mist);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:grid;gap:6px}
.lead .top{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}
.lead .top b{font-size:16px}
.lead .when{font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.06em}
.lead .msg{color:var(--dim);font-size:15px;white-space:pre-wrap}
.lead .acts{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:4px}
.lead select{min-height:36px;border-radius:8px;border:1px solid var(--line2);background:var(--panel);color:var(--ink);font:inherit;font-size:13px;padding:0 8px}
.st{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:4px 8px;border-radius:999px;border:1px solid var(--line2);color:var(--dim)}
.st.approved{color:var(--good);border-color:rgba(52,211,153,.5)}
.st.changes{color:var(--bad);border-color:rgba(248,113,113,.5)}
.st.new{color:var(--accent);border-color:rgba(243,168,80,.5)}
.post .ap{position:absolute;left:8px;bottom:8px;transform:translateY(-30px);width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}
.post .ap.approved{background:var(--good);color:#06281a}
.post .ap.changes{background:var(--bad);color:#fff}
.xbtn{font:inherit;font-family:var(--mono);font-size:11px;color:var(--faint);background:none;border:0;cursor:pointer;padding:4px 6px}
.xbtn:hover{color:var(--bad)}
