:root{--bg:#16191d;--surface:#181d25;--surface2:#292b2f;--line:#40464f;--text:#f5f5f5;--muted:#b8b8b8;--accent:#fbbd23;--accent2:#ffcf55;--green:#58d68d;--red:#ff6868;--radius:12px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Montserrat,Arial,sans-serif;min-height:100vh}body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 15% 10%,rgba(251,189,35,.09),transparent 28%),radial-gradient(circle at 90% 85%,rgba(251,189,35,.05),transparent 24%);pointer-events:none}.bg-grid{position:fixed;inset:0;opacity:.035;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}.topbar{height:72px;position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line);background:rgba(24,29,37,.94);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;padding:0 5%}.brand{color:var(--text);text-decoration:none;font-weight:900;letter-spacing:.2px;display:flex;align-items:center;gap:10px}.brand-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px rgba(251,189,35,.65)}.brand.big{font-size:24px;margin-bottom:22px}.topbar nav{display:flex;gap:6px}.topbar nav a{color:var(--muted);text-decoration:none;padding:10px 13px;border-radius:8px;transition:.18s}.topbar nav a:hover{color:var(--text);background:var(--surface2)}.container{position:relative;z-index:1;width:min(1240px,92%);margin:auto;padding:46px 0 100px}footer{position:fixed;z-index:8;bottom:0;left:0;right:0;padding:12px;text-align:center;color:var(--muted);font-size:12px;background:rgba(24,29,37,.96);border-top:1px solid var(--line)}.hero,.page-head{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:28px}.hero{align-items:center;min-height:180px}.eyebrow{color:var(--accent);font-size:11px;letter-spacing:2px;font-weight:900}.hero h1,.page-head h1{font-size:42px;line-height:1;margin:10px 0}.hero p,.page-head p{color:var(--muted);margin:0;line-height:1.75}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card,.add-card,.profile-hero,.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.card{padding:22px;transition:.18s}.card:hover{transform:translateY(-2px);border-color:#5a626d}.stat{min-height:150px;display:flex;flex-direction:column;justify-content:center;gap:7px}.stat strong{font-size:38px;line-height:1}.stat .online{color:var(--green)}.stat .offline{color:var(--red)}.label{font-size:10px;letter-spacing:1.8px;color:var(--muted);font-weight:900}.muted{color:var(--muted)}.button,button{font:inherit;border:0;cursor:pointer;border-radius:8px;padding:11px 16px;font-weight:800;transition:.18s}.button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.button.primary,.button:not(.ghost){background:var(--accent);color:#16191d}.button.primary:hover,.button:not(.ghost):hover{background:var(--accent2);transform:translateY(-1px)}.button.ghost{background:var(--surface2);color:var(--text);border:1px solid var(--line)}.button.ghost:hover{border-color:var(--accent);color:var(--accent)}.button.disabled{opacity:.35;pointer-events:none}.danger{background:#4b2528;color:#ffaaaa}.danger:hover{background:#623034}.small{padding:8px 11px;font-size:12px}.toolbar{display:flex;margin:16px 0}.toolbar input,.add-card input,.login-card input{width:100%;padding:12px 14px;border-radius:8px;border:1px solid var(--line);background:#12161b;color:var(--text);outline:0}.toolbar input:focus,.add-card input:focus,.login-card input:focus{border-color:var(--accent)}.table-wrap{overflow:hidden}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:10px;letter-spacing:1.3px}tbody tr{transition:.15s}tbody tr:hover{background:rgba(255,255,255,.025)}tbody tr:last-child td{border-bottom:0}.member-link{display:flex;align-items:center;gap:11px;color:var(--text);text-decoration:none}.member-link:hover strong{color:var(--accent)}.member-link span{display:flex;flex-direction:column;gap:3px}.member-link small{color:var(--muted)}.avatar{width:40px;height:40px;border-radius:10px;object-fit:cover;background:var(--surface2)}code{font-family:Consolas,monospace;color:#dedede}.pill{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:900;background:var(--surface2);color:var(--muted)}.pill.active{background:rgba(88,214,141,.12);color:var(--green)}.empty{text-align:center;padding:38px;color:var(--muted)}.pager{display:flex;align-items:center;justify-content:center;gap:16px;margin:20px 0}.pager span{color:var(--muted);font-size:13px}.pager b{color:var(--text)}.add-card{padding:22px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:18px}.add-card h2{margin:6px 0}.add-card p{color:var(--muted);margin:0}.add-card form{display:flex;gap:10px;min-width:440px}.flash{padding:12px 14px;border-radius:8px;border:1px solid var(--line);margin-bottom:16px;background:var(--surface2)}.flash.error{border-color:#65363b;background:#351b1f;color:#ffb3b3}.login-shell{position:relative;z-index:1;min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(440px,100%);padding:30px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.login-card h1{font-size:38px;margin:8px 0}.login-card p{color:var(--muted);line-height:1.75;margin-top:0}.login-card form{display:grid;gap:14px}.login-card label{display:grid;gap:7px;color:var(--muted);font-size:13px}.login-foot{text-align:center;color:var(--muted);font-size:11px;margin-top:22px}.backlink{display:inline-block;color:var(--muted);text-decoration:none;margin-bottom:16px}.backlink:hover{color:var(--accent)}.profile-hero{overflow:hidden}.profile-banner{height:220px;background:linear-gradient(120deg,#222831,#16191d);background-size:cover;background-position:center}.profile-main{display:flex;gap:20px;align-items:end;padding:0 24px 24px}.profile-avatar{width:112px;height:112px;border-radius:20px;object-fit:cover;border:4px solid var(--surface);margin-top:-54px;background:var(--surface2)}.profile-main h1{font-size:34px;margin:8px 0}.profile-main p{color:var(--muted);margin:0 0 12px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.kv{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}.kv:last-child{border-bottom:0}.kv span{color:var(--muted)}.roles-card{margin-top:16px}.role-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.role-pill{border:1px solid var(--line);border-left:3px solid var(--role-color);background:var(--surface2);padding:7px 10px;border-radius:7px;font-size:12px}@media(max-width:850px){.grid,.profile-grid{grid-template-columns:1fr}.hero,.page-head,.add-card{align-items:flex-start;flex-direction:column}.add-card form{min-width:0;width:100%;flex-direction:column}.table-wrap{overflow:auto}.profile-main{align-items:center;flex-direction:column;text-align:center;margin-top:-55px}.profile-avatar{margin:0}.profile-main h1{font-size:28px}.topbar{padding:0 3%}.topbar nav a{padding:8px}.container{width:94%}}

.role-management-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.role-management-head h2{margin:7px 0 4px;font-size:24px}.role-list-large{margin-top:18px;display:grid;gap:10px}.role-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-left:3px solid var(--role-color);background:var(--surface2);border-radius:9px}.role-item .role-pill{border:0;background:transparent;padding:0}.role-add-box{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.role-add-form{display:flex;gap:10px;min-width:380px}.role-select{width:100%;padding:11px 13px;border-radius:8px;border:1px solid var(--line);background:#12161b;color:var(--text);outline:0}.role-select:focus{border-color:var(--accent)}.flash.success{border-color:rgba(88,214,141,.35);background:rgba(88,214,141,.08);color:#9beab9}@media(max-width:850px){.role-add-box{flex-direction:column;align-items:stretch}.role-add-form{min-width:0;width:100%;flex-direction:column}}
.role-item-main{display:flex;align-items:center;gap:10px;min-width:0}.role-dot{width:9px;height:9px;border-radius:50%;box-shadow:0 0 12px color-mix(in srgb,var(--role-color) 45%,transparent)}.role-state{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface2);color:var(--muted);font-size:11px;font-weight:800}.managed-badge{font-size:9px;letter-spacing:1px;color:var(--muted);border:1px solid var(--line);padding:6px 8px;border-radius:999px}.role-item-enter{opacity:0;transform:translateY(5px)}.role-item-enter.entered{opacity:1;transform:translateY(0);transition:opacity .2s ease,transform .2s ease}.button:disabled{opacity:.5;cursor:wait;transform:none!important}.toast-container{position:fixed;right:24px;bottom:68px;z-index:50;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{min-width:250px;max-width:360px;display:flex;align-items:center;gap:10px;padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:rgba(24,29,37,.98);color:var(--text);box-shadow:0 10px 40px rgba(0,0,0,.28);opacity:0;transform:translateY(10px);transition:.18s ease;font-size:13px;font-weight:700}.toast.show{opacity:1;transform:translateY(0)}.toast.success{border-color:rgba(88,214,141,.35)}.toast.error{border-color:rgba(255,110,110,.35)}.toast-mark{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--surface2);color:var(--accent);font-size:12px}.toast.error .toast-mark{color:#ff8f8f}@media(max-width:850px){.toast-container{right:12px;left:12px}.toast{width:100%;max-width:none}.role-management-head{align-items:flex-start;flex-direction:column}}

.global-search{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.global-search input{flex:1;min-width:280px}
.search-hint{font-size:12px;opacity:.68;margin:8px 0 16px}

.role-chip{padding:8px 10px;border:1px solid var(--line);background:var(--surface2);border-radius:999px;color:var(--accent);font-size:10px;font-weight:900;letter-spacing:1px}.quick-grid{margin-top:16px}.quick-card{color:var(--text);text-decoration:none;display:block}.quick-card h2{margin:8px 0 4px}.status-badge{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:var(--surface2);color:var(--muted);font-size:10px;font-weight:900}.status-open{background:rgba(88,214,141,.12);color:var(--green)}.status-closed{background:rgba(251,189,35,.12);color:var(--accent)}.status-archived{background:rgba(88,150,255,.12);color:#8cb5ff}.status-deleted{background:rgba(255,104,104,.12);color:var(--red)}.log-toolbar{align-items:center}.log-toolbar .role-select{min-width:190px}.code-box{white-space:pre-wrap;overflow:auto;background:#101318;border:1px solid var(--line);padding:14px;border-radius:8px;color:#dfe6ef} small{color:var(--muted)}@media(max-width:850px){.role-chip{display:none}.log-toolbar .role-select{min-width:0;width:100%}}

/* Visual polish layer — presentation only; existing markup and behaviour stay intact. */
:root{--bg:#090d14;--surface:rgba(18,24,35,.8);--surface2:#202938;--line:rgba(163,180,207,.16);--text:#f4f7ff;--muted:#9daac0;--accent:#ffbf3f;--accent2:#ffe08a;--radius:16px}
body{background:var(--bg);overflow-x:hidden;background-image:linear-gradient(130deg,#090d14 0%,#0d1420 55%,#10101d 100%)}
body:before{background:radial-gradient(circle at 12% 8%,rgba(255,191,63,.16),transparent 25%),radial-gradient(circle at 88% 82%,rgba(101,128,255,.13),transparent 27%),radial-gradient(circle at 50% 45%,rgba(36,211,238,.055),transparent 35%);animation:ambient-shift 16s ease-in-out infinite alternate}
.bg-grid{opacity:.07;background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 82%)}
.topbar{height:76px;background:rgba(9,13,20,.72);border-color:rgba(171,188,216,.13);box-shadow:0 10px 35px rgba(0,0,0,.14)}
.brand{font-size:15px;letter-spacing:.35px}.brand-dot{width:11px;height:11px;box-shadow:0 0 0 5px rgba(255,191,63,.09),0 0 22px rgba(255,191,63,.8);animation:pulse-glow 2.6s ease-in-out infinite}
.topbar nav a{position:relative;padding:10px 12px;border:1px solid transparent;transition:color .22s ease,background .22s ease,border-color .22s ease,transform .22s ease}.topbar nav a:hover{background:rgba(255,255,255,.055);border-color:var(--line);transform:translateY(-1px)}
.container{padding-top:58px}.hero,.page-head{margin-bottom:34px}.hero{min-height:205px}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--accent);text-shadow:0 0 20px rgba(255,191,63,.32)}.eyebrow:before{content:"";width:24px;height:1px;background:currentColor;box-shadow:0 0 8px currentColor}.hero h1,.page-head h1{font-size:clamp(34px,4vw,52px);letter-spacing:-1.8px;background:linear-gradient(135deg,#fff 15%,#d6deed 60%,#ffda79);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p,.page-head p{max-width:620px}
.card,.add-card,.profile-hero,.table-wrap,.login-card{background:linear-gradient(145deg,rgba(30,39,55,.86),rgba(15,20,30,.8));border-color:var(--line);box-shadow:inset 0 1px rgba(255,255,255,.04),0 16px 45px rgba(0,0,0,.14)}
.card{position:relative;overflow:hidden;transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .28s ease,box-shadow .28s ease}.card:after{content:"";position:absolute;inset:-100% 35% auto -80%;height:260%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);transform:rotate(24deg);transition:transform .6s ease;pointer-events:none}.card:hover{transform:translateY(-6px);border-color:rgba(255,191,63,.4);box-shadow:inset 0 1px rgba(255,255,255,.07),0 20px 50px rgba(0,0,0,.28),0 0 32px rgba(255,191,63,.06)}.card:hover:after{transform:translateX(240%) rotate(24deg)}
.stat{min-height:164px}.stat strong{font-size:42px;letter-spacing:-1.5px}.stat strong:not(.online):not(.offline){color:#fff;text-shadow:0 6px 24px rgba(255,255,255,.12)}.stat .online{filter:drop-shadow(0 0 9px rgba(88,214,141,.28))}.stat .offline{filter:drop-shadow(0 0 9px rgba(255,104,104,.28))}
.button,button{position:relative;overflow:hidden;border-radius:11px;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}.button.primary,.button:not(.ghost){background:linear-gradient(135deg,var(--accent),#f6a81f);box-shadow:0 8px 22px rgba(251,189,35,.18)}.button.primary:before,.button:not(.ghost):before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-130%);transition:transform .55s ease}.button.primary:hover,.button:not(.ghost):hover{box-shadow:0 12px 28px rgba(251,189,35,.3);transform:translateY(-2px)}.button.primary:hover:before,.button:not(.ghost):hover:before{transform:translateX(130%)}.button.ghost{background:rgba(255,255,255,.04)}
.toolbar input,.add-card input,.login-card input,.role-select{background:rgba(6,10,16,.55);border-color:rgba(160,181,215,.18);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.toolbar input:focus,.add-card input:focus,.login-card input:focus,.role-select:focus{background:rgba(6,10,16,.8);border-color:var(--accent);box-shadow:0 0 0 4px rgba(255,191,63,.1)}
.table-wrap{border-radius:var(--radius)}th{background:rgba(255,255,255,.025)}tbody tr{transition:background .2s ease,transform .2s ease}tbody tr:hover{background:rgba(255,191,63,.045);transform:scale(1.003)}.pill,.status-badge,.role-chip{border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 1px rgba(255,255,255,.04)}
.login-shell:before{content:"";position:absolute;width:min(680px,100vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,191,63,.12),transparent 64%);filter:blur(12px);animation:float-orb 8s ease-in-out infinite;pointer-events:none}.login-card{position:relative;overflow:hidden;padding:36px;animation:login-rise .7s cubic-bezier(.2,.8,.2,1) both}.login-card:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}
.flash{border-radius:12px;animation:slide-in .35s ease both}.avatar,.profile-avatar{box-shadow:0 8px 20px rgba(0,0,0,.28)}.profile-banner{background:linear-gradient(120deg,#202b3c,#0b111c 50%,#343044)}footer{background:rgba(9,13,20,.8);backdrop-filter:blur(12px);border-color:rgba(171,188,216,.1)}
.hero,.page-head,.grid{animation:content-in .55s cubic-bezier(.2,.8,.2,1) both}.stats-grid .card:nth-child(2),.quick-grid .card:nth-child(2){animation-delay:.07s}.stats-grid .card:nth-child(3),.quick-grid .card:nth-child(3){animation-delay:.14s}.stats-grid .card,.quick-grid .card{animation:card-in .55s cubic-bezier(.2,.8,.2,1) both}
@keyframes ambient-shift{to{transform:scale(1.08) translate3d(1.5%,-1%,0)}}@keyframes pulse-glow{50%{transform:scale(1.12);box-shadow:0 0 0 7px rgba(255,191,63,.04),0 0 27px rgba(255,191,63,.95)}}@keyframes float-orb{50%{transform:translate3d(5%,-4%,0) scale(1.08)}}@keyframes login-rise{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}@keyframes content-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes card-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes slide-in{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(max-width:850px){.topbar{height:auto;min-height:68px;align-items:flex-start;padding:14px 4%;gap:10px}.topbar nav{justify-content:flex-end;flex-wrap:wrap}.container{padding-top:38px}.hero{min-height:0}.card:hover{transform:none}.hero h1,.page-head h1{letter-spacing:-1px}}

/* Public legal pages and contact footer */
.site-footer{min-height:48px;padding:10px 5%;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;letter-spacing:.1px}.site-footer>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.site-footer strong{color:#e7edf8;font-weight:800}.site-footer a{color:var(--muted);text-decoration:none;transition:color .2s ease}.site-footer a:hover{color:var(--accent)}.footer-separator{color:rgba(255,255,255,.24)}.footer-legal{gap:13px!important}.login-foot a{color:inherit;text-decoration:none}.login-foot a:hover{color:var(--accent)}
.public-topbar{position:relative}
.legal-page{max-width:920px;margin:0 auto;animation:content-in .55s cubic-bezier(.2,.8,.2,1) both}.legal-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px;padding:14px 2px}.legal-hero h1{margin:9px 0 7px;font-size:clamp(34px,5vw,52px);line-height:1.08;letter-spacing:-1.8px;background:linear-gradient(135deg,#fff 15%,#d6deed 60%,#ffda79);-webkit-background-clip:text;background-clip:text;color:transparent}.legal-hero p{margin:0;color:var(--muted);font-size:13px}.language-switch{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:12px;background:rgba(7,11,17,.5);box-shadow:inset 0 1px rgba(255,255,255,.04)}.language-switch a{min-width:42px;padding:8px 10px;border-radius:8px;color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.6px;text-align:center;text-decoration:none;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.language-switch a:hover{color:var(--text)}.language-switch a.active{color:#16191d;background:var(--accent);box-shadow:0 4px 12px rgba(251,189,35,.24)}
.legal-back{margin:-8px 0 18px;padding:9px 13px;font-size:12px;gap:8px}.legal-page[dir="rtl"] .legal-back span{transform:rotate(180deg)}
.legal-card{padding:clamp(24px,5vw,54px);border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,rgba(30,39,55,.86),rgba(15,20,30,.8));box-shadow:inset 0 1px rgba(255,255,255,.04),0 16px 45px rgba(0,0,0,.14)}.legal-intro{padding-bottom:23px;margin-bottom:26px;border-bottom:1px solid var(--line)}.legal-intro p{font-size:16px;color:#e1e8f5}.legal-card p{margin:0 0 13px;color:#bac5d7;line-height:1.9}.legal-section{padding:0 0 27px;margin-bottom:26px;border-bottom:1px solid rgba(163,180,207,.11)}.legal-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.legal-section h2{margin:0 0 15px;color:var(--text);font-size:20px;letter-spacing:-.35px}.legal-section ul{display:grid;gap:9px;margin:17px 0 0;padding-inline-start:22px;color:#c6d1e2;line-height:1.65}.legal-section li::marker{color:var(--accent)}.legal-page[dir="rtl"]{font-family:Tahoma,"Segoe UI",Arial,sans-serif;text-align:right}.legal-page[dir="rtl"] .legal-hero h1{letter-spacing:0}.legal-page[dir="rtl"] .legal-section h2{letter-spacing:0}.legal-page[dir="rtl"] .legal-section ul{padding-inline-start:0;padding-inline-end:23px}.legal-page[dir="rtl"] .eyebrow{direction:ltr;justify-content:flex-end}
@media(max-width:850px){.site-footer{position:relative;justify-content:center;padding:13px 18px;text-align:center}.site-footer>div{justify-content:center}.footer-legal{display:none!important}.legal-hero{align-items:flex-start;flex-direction:column}.legal-card{padding:25px 20px}.legal-card p{font-size:14px}.legal-section h2{font-size:18px}.login-footer{position:fixed}.public-nav{max-width:75%;justify-content:flex-end}}
