:root{--color-bg:#0f172a;--color-bg-elevated:#111827;--color-border-subtle:#1f2937;--color-accent:#8b5cf6;--color-accent-soft:rgba(139,92,246,.14);--color-text:#e5e7eb;--color-text-muted:#9ca3af;--radius-md:8px}*,:after,:before{box-sizing:border-box}#root,body,html{height:100%;margin:0}body{background:radial-gradient(circle at top left,#1e293b,#020617 55%);color:var(--color-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button{font-family:inherit}.app-shell{display:flex;flex-direction:column;height:100vh}.top-bar{align-items:center;backdrop-filter:blur(16px);background:rgba(15,23,42,.96);border-bottom:1px solid var(--color-border-subtle);display:flex;justify-content:space-between;padding:.75rem 1.5rem}.top-bar-brand{align-items:baseline;display:flex;font-weight:600;gap:.35rem;letter-spacing:.04em}.top-bar-brand strong{color:var(--color-accent)}.top-bar-app{color:var(--color-text-muted);font-size:.85rem}.top-bar-user{align-items:center;display:flex;font-size:.85rem;gap:.5rem}.top-bar-menu{background:transparent;border:1px solid rgba(148,163,184,.4);border-radius:999px;color:var(--color-text-muted);cursor:pointer;display:none;font-size:.85rem;padding:.25rem .5rem}.avatar-circle{align-items:center;background:linear-gradient(135deg,#8b5cf6,#ec4899);color:#f9fafb;display:flex;font-weight:600;height:28px;justify-content:center;width:28px}.avatar-circle,.top-bar-logout{border-radius:999px;font-size:.75rem}.top-bar-logout{background:transparent;border:1px solid rgba(148,163,184,.4);color:var(--color-text-muted);cursor:pointer;padding:.25rem .75rem;transition:background .15s ease,color .15s ease,border-color .15s ease}.top-bar-logout:hover{background:rgba(148,163,184,.16);border-color:rgba(148,163,184,.7);color:var(--color-text)}.layout{display:flex;flex:1;min-height:0}.sidebar{background:rgba(15,23,42,.96);border-right:1px solid var(--color-border-subtle);padding:1rem .75rem;width:230px}.nav-section-title{color:var(--color-text-muted);font-size:.75rem;letter-spacing:.08em;margin:0 0 .75rem .5rem;text-transform:uppercase}.nav-list{display:flex;flex-direction:column;gap:.25rem;list-style:none;margin:0;padding:0}.nav-link{border-radius:999px;color:var(--color-text-muted);display:block;font-size:.9rem;padding:.55rem .75rem;transition:background .15s ease,color .15s ease}.nav-link:hover{background:rgba(31,41,55,.9);color:var(--color-text)}.nav-link.active{background:var(--color-accent-soft);color:#f5ecff}.content{flex:1;overflow-y:auto}.card,.content{padding:1.25rem 1.5rem}.card{background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);box-shadow:0 18px 40px rgba(15,23,42,.6);max-width:640px}.card h1,.card h2{margin-top:0}.form-grid{display:grid;gap:.75rem}.field{display:flex;flex-direction:column;gap:.25rem}.field label{color:var(--color-text-muted);font-size:.85rem}.field input,.field select{background:rgba(15,23,42,.7);border:1px solid rgba(148,163,184,.5);border-radius:999px;color:var(--color-text);font-size:.9rem;outline:none;padding:.5rem .9rem;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.field input:focus,.field select:focus{background:rgba(15,23,42,.95);border-color:var(--color-accent);box-shadow:0 0 0 1px rgba(139,92,246,.4)}.primary-button{align-items:center;background:linear-gradient(135deg,#8b5cf6,#ec4899);border:none;border-radius:999px;box-shadow:0 10px 25px rgba(76,29,149,.45);color:#f9fafb;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:.35rem;justify-content:center;margin-top:.5rem;padding:.55rem 1.1rem;transition:transform .1s ease,box-shadow .1s ease,filter .1s ease}.primary-button:hover{box-shadow:0 14px 30px rgba(76,29,149,.6);filter:brightness(1.05);transform:translateY(-1px)}.primary-button:active{box-shadow:0 8px 18px rgba(76,29,149,.45);transform:translateY(0)}.message{font-size:.85rem;margin-top:.5rem}.message.error{color:#fecaca}.message.success{color:#bbf7d0}.token-display{background:rgba(15,23,42,.9);border:1px dashed rgba(148,163,184,.7);border-radius:var(--radius-md);margin-top:1rem;padding:.75rem 1rem}.token-display strong{font-size:1.15rem}main{margin:0}@media (max-width:768px){.layout{flex-direction:column}.sidebar{border-bottom:1px solid var(--color-border-subtle);border-right:none;width:100%}.content,.sidebar{padding-inline:1.25rem}.card{max-width:100%}.top-bar-menu{align-items:center;display:inline-flex;justify-content:center}.sidebar.sidebar-collapsed{display:none}}