.shell{display:none;min-height:100vh;flex-direction:column}

/* ── HEADER ── */
header{
  background:var(--ink);
  padding:0 2.5rem;
  height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:sticky;
  top:0;
  z-index:100;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.logo{display:flex;align-items:center;gap:10px;cursor:pointer}
.logo-mark{width:32px;height:32px;background:var(--accent);border-radius:7px;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-weight:900;color:white;font-size:16px;transition:background .2s}
.logo:hover .logo-mark{background:#b33f28}
.logo-text{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:white}
.logo-text span{color:var(--accent2)}
.header-right{display:flex;align-items:center;gap:10px}
.org-badge{font-size:13px;color:rgba(255,255,255,.5);padding:0 4px}
.org-badge strong{color:rgba(255,255,255,.85);font-weight:600}

/* ── BUTTONS ── */
.btn{padding:7px 16px;border-radius:999px;font-size:13px;font-weight:500;cursor:pointer;border:none;transition:all .2s;font-family:'DM Sans',sans-serif}
.btn-ghost{background:rgba(255,255,255,.08);color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.15)}
.btn-ghost:hover{background:rgba(255,255,255,.15);color:white}
.btn-accent{background:var(--accent);color:white}
.btn-accent:hover{background:#b33f28}
.btn-dark{background:var(--ink);color:white}
.btn-dark:hover{background:var(--accent)}
.btn-sm{padding:5px 12px;font-size:12px}
.btn-danger{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
.btn-danger:hover{background:#b91c1c;color:white;border-color:#b91c1c}
.btn-icon{background:none;border:none;cursor:pointer;padding:3px 5px;border-radius:5px;transition:background .15s;font-size:14px;line-height:1}
.btn-icon:hover{background:var(--warm)}
.notif-bell{position:relative;display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.85);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}

/* ── PAGES ── */
.page{display:none;padding:2.5rem;max-width:1200px;margin:0 auto}
.page.active{display:block}
.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;gap:1rem}
.page-title{font-family:'Playfair Display',serif;font-size:2rem;font-weight:900;line-height:1.2;color:var(--ink)}
.page-sub{color:var(--muted);font-size:14px;margin-top:5px}

/* ── PANELS ── */
.panel{background:white;border-radius:14px;border:1px solid var(--border);overflow:hidden;box-shadow:0 2px 12px rgba(26,26,46,.05)}
.panel-hd{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.5rem;border-bottom:1px solid var(--border)}
.panel-title{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700}

/* ── MODALS ── */
.modal-bg{display:none;position:fixed;inset:0;background:rgba(26,26,46,.55);z-index:1000;align-items:center;justify-content:center;backdrop-filter:blur(3px)}
.modal-bg.open{display:flex}
.modal{background:white;border-radius:20px;padding:2.5rem;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 80px rgba(26,26,46,.22)}
.modal-title{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:700;margin-bottom:.4rem}
.modal-sub{font-size:14px;color:var(--muted);margin-bottom:1.5rem;line-height:1.5}
.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:1.5rem}
.add-btn{width:100%;padding:12px;background:var(--ink);color:white;border:none;border-radius:9px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;font-family:'DM Sans',sans-serif;margin-top:.5rem}
.add-btn:hover{background:var(--accent)}
