*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f5f5f7;--surface:#fff;--fg:#18181b;--fg-secondary:#52525b;--fg-muted:#71717a;--accent:#18181b;--accent-fg:#fff;--border:#e4e4e7;--border-subtle:#f4f4f5;--font-body:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}html,body{background:var(--bg);height:100%;color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}.auth-shell{grid-template-columns:720px 1fr;gap:24px;min-height:100vh;padding:24px;display:grid}.auth-visual{background:linear-gradient(135deg,#18181b 0%,#3f3f46 100%);border-radius:20px;position:relative;overflow:hidden}.auth-visual:after{content:"Djoke";color:#ffffff1f;letter-spacing:-4px;justify-content:center;align-items:center;font-size:120px;font-weight:800;display:flex;position:absolute;inset:0}.auth-main{flex-direction:column;justify-content:space-between;padding:32px 48px;display:flex}.auth-form-wrapper{flex-direction:column;flex:1;justify-content:center;width:100%;max-width:496px;margin:0 auto;display:flex}.auth-title{color:var(--fg);margin-bottom:24px;font-size:28px;font-weight:700}.auth-footer{color:var(--fg-secondary);flex-wrap:wrap;gap:16px 32px;font-size:14px;display:flex}.auth-footer a:hover{color:var(--fg)}@media (max-width:960px){.auth-shell{grid-template-columns:1fr}.auth-visual{display:none}}.dashboard-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.dashboard-sidebar{background:var(--surface);border-right:1px solid var(--border);padding:24px 16px}.dashboard-main{flex-direction:column;min-width:0;display:flex}.dashboard-topbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex}.dashboard-content{flex:1;padding:32px}.dashboard-empty{background:var(--surface);border:1px dashed var(--border);text-align:center;color:var(--fg-secondary);border-radius:12px;padding:48px}
