:root{--ink:#231029;--forest:#3a1e42;--emerald:#a5397a;--emerald-2:#7e2a5e;--lime:#f0a6c6;--lime-soft:#f9e4ee;--cream:#f8f4f0;--sand:#efe6e4;--card:#fff;--text:#12241f;--muted:#5c6b64;--line:#e7dfdd;--gold:#e6b045;--ok:#3fb27a;--okbg:#e4f5ec;--warn:#b98410;--warnbg:#fbf0d6;--radius:16px;--shadow-sm:0 12px 30px -18px rgba(35,16,41,.3);--sans:"Roboto",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--serif:"Roboto",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%}body{font-family:var(--sans);color:var(--text);background:var(--cream);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:15px;padding:13px 24px;border-radius:999px;border:none;cursor:pointer;transition:transform .15s,box-shadow .2s;text-align:center}.btn:hover{transform:translateY(-2px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--emerald);color:#fff;box-shadow:0 12px 24px -12px rgba(165,57,122,.8)}.btn-lime{background:var(--lime);color:var(--ink)}.btn-ghost{background:#fff;color:var(--ink);border:1.5px solid var(--line)}.mark{display:grid;place-items:center;border-radius:11px;background:var(--emerald);color:#fff}.mark svg{width:70%;height:70%}.field{margin-bottom:16px}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:7px}.inp{width:100%;border:1.5px solid var(--line);border-radius:11px;padding:13px 15px;font-size:15px;background:#fff;transition:border-color .15s}.inp:focus{outline:none;border-color:var(--emerald)}.serif{font-family:var(--serif)}.muted{color:var(--muted)}.err{background:var(--warnbg);color:var(--warn)}.err,.ok{border-radius:10px;padding:10px 14px;font-size:14px;font-weight:600;margin-bottom:14px}.ok{background:var(--okbg);color:var(--ok)}.app{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.side{background:var(--ink);padding:24px 18px;position:-webkit-sticky;position:sticky;top:0;height:100vh;flex-direction:column}.side,.side .logo{color:#fff;display:flex}.side .logo{align-items:center;gap:10px;font-weight:800;font-size:16px;margin-bottom:32px}.side .logo .mark{width:34px;height:34px}.side nav a{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:11px;font-size:14.5px;font-weight:600;color:hsla(0,0%,100%,.66);margin-bottom:4px;transition:background .15s,color .15s}.side nav a:hover{color:#fff;background:hsla(0,0%,100%,.06)}.side nav a.on{background:rgba(240,166,198,.16);color:#fff}.side nav a .i{width:20px;text-align:center}.side .user{margin-top:auto;display:flex;align-items:center;gap:11px;padding-top:18px;border-top:1px solid hsla(0,0%,100%,.12)}.side .user .av{width:38px;height:38px;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-weight:800}.side .user b{font-size:14px;color:#fff;display:block}.side .user span{font-size:12px;color:hsla(0,0%,100%,.5)}.side .logout{margin-top:12px;background:transparent;border:1px solid hsla(0,0%,100%,.18);color:hsla(0,0%,100%,.75);border-radius:10px;padding:9px;font-size:13px;font-weight:600;cursor:pointer;width:100%}.side .logout:hover{background:hsla(0,0%,100%,.06);color:#fff}.main{padding:36px 48px 64px;width:100%;max-width:1440px;margin:0 auto}.h1{font-family:var(--serif);font-weight:700;font-size:30px;letter-spacing:-.02em;color:var(--ink)}.lead{color:var(--muted);font-size:15px;margin-bottom:24px}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px;margin-bottom:18px}.topbar{display:none}.topbar .tb-logo{display:flex;align-items:center;gap:9px;font-weight:800;font-size:15px;color:#fff}.topbar .burger{background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.22);color:#fff;width:42px;height:42px;border-radius:11px;font-size:18px;line-height:1;cursor:pointer}.topbar .drawer{padding:6px 12px 16px;border-top:1px solid hsla(0,0%,100%,.1)}.topbar .drawer nav a{display:flex;align-items:center;gap:12px;padding:13px 12px;border-radius:10px;color:hsla(0,0%,100%,.82);font-weight:600;font-size:15px}.topbar .drawer nav a:active{background:hsla(0,0%,100%,.08)}.topbar .drawer nav a .i{width:20px;text-align:center}.topbar .drawer-user{display:flex;align-items:center;gap:11px;padding:14px 12px 8px;margin-top:8px;border-top:1px solid hsla(0,0%,100%,.12)}.topbar .drawer-user .av{width:36px;height:36px;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-weight:800;flex:none}.topbar .drawer-user b{font-size:14px;color:#fff;display:block}.topbar .drawer-user span{font-size:12px;color:hsla(0,0%,100%,.55);word-break:break-all}.topbar .drawer .logout{margin-top:10px;width:100%;background:transparent;border:1px solid hsla(0,0%,100%,.2);color:#fff;border-radius:10px;padding:12px;font-weight:600;cursor:pointer}@media(max-width:860px){.app{grid-template-columns:1fr}.side{display:none}.main{padding:22px 16px 60px;max-width:100%}.topbar{display:block;position:-webkit-sticky;position:sticky;top:0;z-index:40;background:var(--ink);color:#fff}.topbar-in{display:flex;align-items:center;justify-content:space-between;padding:12px 16px}}