:root{color-scheme:light;--ink:#172033;--muted:#667085;--brand:#5b2a86;--brand2:#7a3fb0;--line:#e5e7eb;--bg:#f5f7fb;--danger:#b42318}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}a{color:inherit}.shell{width:min(1100px,calc(100% - 32px));margin:auto}.topbar{background:#fff;border-bottom:1px solid var(--line)}.topbar .shell{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-weight:800;color:var(--brand);letter-spacing:-.02em}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:11px 16px;background:var(--brand);color:#fff;font-weight:700;text-decoration:none;cursor:pointer}.button:hover{background:var(--brand2)}.button.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.page{padding:48px 0}.hero h1{font-size:clamp(28px,5vw,44px);margin:0 0 8px;letter-spacing:-.04em}.hero p{margin:0;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:30px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 8px 30px rgba(16,24,40,.06)}.app-card{display:flex;min-height:210px;flex-direction:column}.app-card h2{margin:12px 0 8px}.app-card p{color:var(--muted);margin:0 0 24px}.app-card form{margin-top:auto}.app-card form .button{width:100%}.badge{display:inline-flex;align-self:flex-start;border-radius:999px;background:#f0e7f8;color:var(--brand);padding:6px 10px;font-size:12px;font-weight:800}.auth{width:min(440px,calc(100% - 32px));margin:8vh auto}.auth h1{margin-top:0}.field{display:grid;gap:7px;margin-bottom:16px}.field label{font-size:14px;font-weight:700}.field input{width:100%;border:1px solid #cfd4dc;border-radius:10px;padding:12px;font:inherit}.field input:focus{outline:3px solid #eadcf6;border-color:var(--brand)}.error{background:#fef3f2;color:var(--danger);padding:12px;border-radius:10px;margin-bottom:16px}.auth .button{width:100%}.small{color:var(--muted);font-size:13px}.logout{display:inline;margin:0}@media(max-width:680px){.page{padding:32px 0}.grid{grid-template-columns:1fr}.topbar .shell{min-height:60px}.card{padding:20px}}
.password-control{position:relative}.password-control input{padding-right:48px}.password-toggle{position:absolute;top:50%;right:5px;display:grid;width:38px;height:38px;place-items:center;transform:translateY(-50%);border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.password-toggle:hover{background:#f4ecfa;color:var(--brand)}.password-toggle:focus-visible{outline:3px solid #d9c2eb}.password-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.password-toggle .eye-closed,.password-toggle.showing .eye-open{display:none}.password-toggle.showing .eye-closed{display:block}
.app-layout{--sidebar-width:270px}.sidebar{position:fixed;z-index:30;inset:0 auto 0 0;display:flex;width:var(--sidebar-width);flex-direction:column;padding:20px 16px;background:#fff;border-right:1px solid var(--line);transition:transform .2s ease}.sidebar-heading{display:flex;min-height:40px;align-items:center;justify-content:space-between;gap:12px}.sidebar-brand{color:var(--brand);font-weight:800;text-decoration:none;letter-spacing:-.02em}.sidebar-close{display:grid;width:40px;height:40px;place-items:center;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:28px;line-height:1;cursor:pointer}.sidebar-close:hover,.sidebar-close:focus-visible{background:#f4ecfa;color:var(--brand)}.sidebar-profile{display:flex;align-items:center;gap:12px;margin:22px 0 18px;padding:12px;border-radius:12px;text-decoration:none}.sidebar-profile:hover,.sidebar-profile.active{background:#f4ecfa}.profile-avatar{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--brand);color:#fff;font-size:13px;font-weight:800}.sidebar-profile strong,.sidebar-profile small{display:block;overflow:hidden;max-width:164px;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile strong{font-size:14px}.sidebar-profile small{margin-top:3px;color:var(--muted);font-size:12px}.sidebar-nav{display:grid;gap:5px}.sidebar-link{display:flex;width:100%;min-height:44px;align-items:center;padding:11px 13px;border:0;border-radius:9px;background:transparent;color:var(--ink);font:inherit;font-weight:700;text-align:left;text-decoration:none;cursor:pointer}.sidebar-link:hover,.sidebar-link.active{background:#f4ecfa;color:var(--brand)}.sidebar-link:focus-visible,.sidebar-profile:focus-visible,.sidebar-open:focus-visible,.sidebar-close:focus-visible{outline:3px solid #d9c2eb;outline-offset:2px}.sidebar-logout{margin-top:auto}.sidebar-open{position:fixed;z-index:20;top:14px;left:14px;display:none;min-height:42px;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit;font-weight:700;box-shadow:0 4px 14px rgba(16,24,40,.1);cursor:pointer}.sidebar-backdrop{display:none}.app-content{min-height:100vh;margin-left:var(--sidebar-width);transition:margin-left .2s ease}.sidebar-collapsed .sidebar{transform:translateX(-100%)}.sidebar-collapsed .sidebar-open{display:flex}.sidebar-collapsed .app-content{margin-left:0}.profile-sections{display:grid;gap:20px;margin-top:28px}.profile-card h2{margin:0 0 18px;font-size:19px}.profile-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 24px;margin:0}.profile-details div{min-width:0}.profile-details dt{margin-bottom:5px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.profile-details dd{margin:0;overflow-wrap:anywhere}.password-card{max-width:680px}.password-card .button{margin-top:4px}.success-message{margin-bottom:20px;padding:12px 16px;border-radius:10px;background:#ecfdf3;color:#027a48}
.password-toggle span{font-size:11px;font-weight:700}
@media(max-width:900px){.profile-details{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.app-layout{--sidebar-width:min(86vw,300px)}.app-content{margin-left:0}.sidebar{box-shadow:12px 0 30px rgba(16,24,40,.16)}.sidebar-backdrop{position:fixed;z-index:25;inset:0;display:block;background:rgba(23,32,51,.35)}.sidebar-collapsed .sidebar-backdrop{display:none}.profile-details{grid-template-columns:1fr}.app-content .page{padding-top:76px}}
@media(prefers-reduced-motion:reduce){.sidebar,.app-content{transition:none}}
.app-card>.button{width:100%;margin-top:auto}
