@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--purple:#7728ff;--deep:#281a5b;--soft:#f3f2f8;--lav:#e8defe;--coral:#ff5a18;--text:#25252b;--muted:#7c7c88;--green:#198754;--red:#dc3545;--yellow:#f4b400;--radius:22px}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--text);background:#fff}a{text-decoration:none;color:inherit}.container{max-width:1180px;margin:auto;padding:24px}.topbar{height:92px;display:flex;align-items:center;justify-content:space-between;padding:18px max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid #f0f0f4;background:#fff;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:14px;font-size:31px}.brandmark{width:52px;height:52px;border-radius:15px;background:var(--purple);color:white;display:grid;place-items:center;font-weight:700}.card{background:var(--soft);border-radius:var(--radius);padding:24px;margin:16px 0}.hero{background:var(--deep);color:white;padding:30px;border-radius:28px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.metric{background:#fff;border:1px solid #eeeef5;border-radius:20px;padding:20px}.metric strong{font-size:30px;display:block;margin-top:8px}.muted{color:var(--muted)}h1,h2,h3{line-height:1.12}.btn{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:15px;padding:14px 20px;background:var(--purple);color:#fff;font-weight:700;cursor:pointer}.btn.secondary{background:var(--lav);color:var(--purple)}.btn.danger{background:var(--red)}.btn.dark{background:var(--deep)}input,select,textarea{width:100%;padding:15px 16px;border:1px solid #dedee8;border-radius:14px;background:#fff;font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px #7728ff18}label{font-weight:650;font-size:14px;display:block;margin:14px 0 7px}.form-card{max-width:680px;margin:20px auto}.notice{padding:14px 16px;border-radius:14px;background:#f0eaff;color:#4f249d;margin:14px 0}.error{background:#ffe8e8;color:#8b1e1e}.success{background:#e8f8ee;color:#146c3a}.badge{display:inline-block;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:700;background:#ece7ff;color:#6d27e7}.badge.cancelled{background:#ffe4e4;color:#b3261e}.badge.done{background:#e4f6ea;color:#17743a}.badge.wait{background:#fff3cd;color:#795b00}table{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden}th,td{text-align:left;padding:14px;border-bottom:1px solid #eee}th{font-size:12px;text-transform:uppercase;color:#777}.admin-shell{display:grid;grid-template-columns:230px 1fr;gap:24px}.sidebar{background:#0c1220;color:#fff;border-radius:24px;padding:20px;height:calc(100vh - 140px);position:sticky;top:116px}.sidebar h3{color:#b774ff}.sidebar a{display:block;padding:11px 12px;border-radius:10px;color:#d7dbea;margin:3px 0}.sidebar a:hover{background:#171f30;color:white}.admin-content{min-width:0}.stars{display:flex;gap:10px;font-size:38px}.star{cursor:pointer;color:#ddd}.star.on{color:#f4b400}.step{display:none}.step.active{display:block;animation:slide .25s ease}@keyframes slide{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}.progress{height:7px;background:#eee;border-radius:10px;overflow:hidden}.progress span{display:block;height:100%;background:var(--purple)}.vacancy{display:flex;gap:18px;align-items:center}.vacancy-icon{width:82px;height:82px;border-radius:50%;background:#111;color:white;display:grid;place-items:center;font-weight:800}.actions{display:flex;gap:8px;flex-wrap:wrap}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:820px){.container{padding:18px}.topbar{height:78px;padding:12px 18px}.brand{font-size:26px}.brandmark{width:44px;height:44px}.grid,.grid2,.kpi-row{grid-template-columns:1fr 1fr}.admin-shell{display:block}.sidebar{height:auto;position:static;display:flex;overflow:auto;gap:6px;border-radius:18px;margin-bottom:16px}.sidebar h3{display:none}.sidebar a{white-space:nowrap}.vacancy{align-items:flex-start}.vacancy-icon{width:62px;height:62px;flex:none}}
@media(max-width:520px){.grid,.grid2,.kpi-row{grid-template-columns:1fr}.container{padding:14px}.card{padding:18px}.hero{padding:24px}.form-card{margin-top:6px}table{font-size:13px}.hide-mobile{display:none}}
