.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--color-primary-dark);color:#fff;padding:var(--space-5);position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6)}.brand small{display:block;opacity:.8}.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:#fff;color:var(--color-primary-dark);border-radius:50%;font-weight:800}.brand-mark.large{width:64px;height:64px;margin:0 auto var(--space-3)}.nav{display:grid;gap:var(--space-2)}.nav a{padding:.85rem 1rem;text-decoration:none;border-radius:var(--radius-md);color:#fff;opacity:.9}.nav a:hover{background:rgba(255,255,255,.12);opacity:1}.main-area{min-width:0}.topbar{height:70px;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:var(--space-4);padding:0 var(--space-5);position:sticky;top:0;z-index:10}.topbar-title{flex:1;min-width:0}.content{padding:var(--space-6);max-width:1440px;margin:0 auto}.guest-body{display:grid;place-items:center;padding:var(--space-5);background:linear-gradient(135deg,#eaf3ff,#f8fbff)}.guest-shell{width:min(100%,440px)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5)}.page-header h1{margin:0 0 .35rem}.page-header p{margin:0;color:var(--color-muted)}
