.login{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh;background:#fff}
.hero{position:relative;background:#14211B;color:#DCEEE6;overflow:hidden;display:grid;place-items:center;background-image:linear-gradient(rgba(207,230,220,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(207,230,220,.07) 1px,transparent 1px);background-size:40px 40px}
.mandala{position:absolute;width:min(820px,115vw);aspect-ratio:1;animation:spin 120s linear infinite;opacity:.55}
.mandala svg{width:100%;height:100%}
.mandala .ring2{transform-origin:center;animation:spin 70s linear infinite reverse}
.hero-txt{position:relative;padding:40px;z-index:2;max-width:480px}
.om{display:inline-grid;place-items:center;width:64px;height:64px;border:2px solid #4F9A84;border-radius:12px;font-size:0;margin-bottom:18px;position:relative;animation:none}
.om:before{content:'';width:26px;height:26px;border:2px solid #CFE6DC;transform:rotate(45deg)}
.om:after{content:'';position:absolute;width:8px;height:8px;border-radius:50%;background:#C98A3D}
.hero h1{font-size:clamp(34px,4.4vw,54px);margin:0 0 10px;color:#fff;line-height:1.05}
.hero p{color:#9CB8AB;max-width:420px}
.elements{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.elements span{border:1px solid rgba(207,230,220,.3);padding:5px 12px;border-radius:6px;font-size:12px;color:#CFE6DC;background:rgba(14,26,21,.6)}
.panel{display:grid;place-items:center;padding:30px;background:#F4F1EA}
.panel-in{width:min(430px,100%);animation:fadeUp .6s both}
.panel h2{font-size:34px;color:var(--ink);font-weight:700}
.sub{color:var(--mut);margin:6px 0 24px}
.role{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:10px;transition:.25s;animation:fadeUp .5s both;position:relative;border-left:4px solid transparent}
.role:nth-child(1){animation-delay:.1s}.role:nth-child(2){animation-delay:.2s}.role:nth-child(3){animation-delay:.3s}
.role:hover{border-left-color:var(--saf);transform:translateX(4px);box-shadow:0 6px 20px rgba(20,33,27,.1)}
.role .e{width:46px;height:46px;border-radius:8px;background:#EEF4F0;display:grid;place-items:center;font-size:24px}
.role b{display:block;font-size:14.5px}.role small{color:var(--mut)}
.role .go{margin-left:auto;font-size:18px;color:var(--saf);transition:.25s}
.role:hover .go{transform:translateX(5px)}
.role .tagb{font-size:10px;text-transform:uppercase;letter-spacing:.8px;background:#F8EBD0;color:#8A5A14;padding:2px 7px;border-radius:5px;margin-left:8px}
.big{width:100%;justify-content:center;padding:14px;font-size:14px;margin-top:6px}
.foot{display:block;margin-top:16px;color:var(--mut);text-align:center}
.enter{position:fixed;inset:0;background:#14211B;display:grid;place-items:center;color:#DCEEE6;opacity:0;pointer-events:none;transition:.4s;z-index:100;text-align:center}
.enter.show{opacity:1;pointer-events:all}
.big-om{font-size:0;width:90px;height:90px;border:3px solid #4F9A84;border-radius:16px;margin:0 auto 18px;position:relative;animation:spin 3s linear infinite}
.big-om:before{content:'';position:absolute;inset:26px;border:3px solid #CFE6DC;transform:rotate(45deg)}
@media(max-width:900px){.login{grid-template-columns:1fr}.hero{min-height:320px}}

#roles{max-height:56vh;overflow-y:auto;padding:2px 6px 2px 2px;margin-bottom:12px}
.role:nth-child(n+4){animation-delay:.35s}
.role{margin-bottom:8px;padding:10px 14px}
.role .e{width:40px;height:40px;font-size:21px}
.rename{display:inline-block;margin:0 0 14px;background:none;border:1px dashed rgba(207,230,220,.45);color:#CFE6DC;padding:4px 12px;border-radius:6px;font:inherit;font-size:12px;cursor:pointer;transition:.2s}
.rename:hover{background:rgba(207,230,220,.12);border-style:solid}
.hero h1{overflow-wrap:anywhere}
