:root{--background:216 33% 97%;--foreground:222 47% 11%;--primary:217 89% 53%;--primary-foreground:0 0% 100%;--card:0 0% 100%;--muted:214 32% 95%;--muted-foreground:215 16% 47%;--accent:214 100% 96%;--accent-foreground:217 65% 33%;--destructive:0 84% 60%;--destructive-foreground:0 0% 100%;--border:216 30% 91%;--ring:217 89% 53%;--radius:.75rem}html.dark{--background:221 39% 9%;--card:221 36% 13%;--foreground:210 40% 98%;--primary:217 91% 60%;--muted:216 34% 18%;--muted-foreground:215 20% 65%;--accent:216 34% 22%;--accent-foreground:210 40% 90%;--border:221 28% 20%;--ring:217 91% 60%}*{box-sizing:border-box}body{background:hsl(var(--background));color:hsl(var(--foreground));min-height:100vh;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;transition:background .2s,color .2s}body.admin-page{background:radial-gradient(circle at 8% 2%, hsl(var(--primary) / .11), transparent 28rem), radial-gradient(circle at 92% 18%, #16b7df14, transparent 24rem), hsl(var(--background))}html.dark body.admin-page{background:radial-gradient(circle at 8% 2%, hsl(var(--primary) / .16), transparent 30rem), radial-gradient(circle at 92% 18%, #16b7df14, transparent 26rem), hsl(var(--background))}a{color:inherit;text-decoration:none}header{z-index:20;background:hsl(var(--card) / .85);-webkit-backdrop-filter:blur(16px)saturate(180%);backdrop-filter:blur(16px)saturate(180%);border-bottom:1px solid hsl(var(--border));justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.5rem;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.65rem;display:flex}.brand img{object-fit:contain;border-radius:6px;width:32px;height:32px}.brand-text .name{font-size:1.05rem;font-weight:700;line-height:1.15}.brand-text .sub{color:hsl(var(--muted-foreground));font-size:.72rem;line-height:1.15}.header-actions{align-items:center;gap:.6rem;display:flex}.icon-btn{border-radius:var(--radius);border:1px solid hsl(var(--border));background:hsl(var(--muted));cursor:pointer;width:38px;height:38px;color:hsl(var(--foreground));justify-content:center;align-items:center;font-size:1rem;transition:transform .2s,background .2s;display:flex}.icon-btn:hover{background:hsl(var(--accent));transform:scale(1.05)}.theme-btn{border-radius:var(--radius);border:1px solid hsl(var(--border));background:hsl(var(--muted) / .72);color:hsl(var(--foreground));cursor:pointer;padding:.5rem .75rem;font:600 .78rem/1 inherit;transition:background .15s,border-color .15s}.theme-btn:hover{background:hsl(var(--accent));border-color:hsl(var(--ring) / .45)}.user-menu{border-right:1px solid hsl(var(--border));align-items:center;gap:.6rem;padding-right:.4rem;display:flex}.user-menu .user-name{font-size:.82rem;font-weight:600;line-height:1.1}.user-menu .user-role{color:hsl(var(--muted-foreground));font-size:.68rem}.admin-link{border-radius:var(--radius);background:hsl(var(--accent));color:hsl(var(--accent-foreground));border:1px solid hsl(var(--border));cursor:pointer;align-items:center;gap:.4rem;padding:.5rem .85rem;font-size:.82rem;font-weight:600;display:inline-flex}.admin-link:hover{background:hsl(var(--muted))}main{max-width:1200px;margin:0 auto;padding:1.75rem 1.5rem 4rem}.hero{border-radius:calc(var(--radius) + 4px);border:1px solid hsl(var(--border));background:linear-gradient(135deg,#e8ebf3,#d4e0ed);margin-bottom:1.75rem;padding:2rem 1.75rem}html.dark .hero{background:linear-gradient(135deg,#161f32,#1c2a40)}.hero h1{background:linear-gradient(90deg, hsl(var(--primary)), #0891b2);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 .35rem;font-size:1.6rem;font-weight:800}html.dark .hero h1{background:0 0;-webkit-background-clip:unset;background-clip:unset;color:hsl(var(--foreground))}.hero p{color:hsl(var(--muted-foreground));margin:0;font-size:.92rem}.toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.search{flex:1;min-width:220px;position:relative}.search input{border-radius:var(--radius);border:1px solid hsl(var(--border));background:hsl(var(--card));width:100%;color:hsl(var(--foreground));outline:none;padding:.6rem .9rem .6rem 2.15rem;font-size:.88rem}.search input:focus{box-shadow:0 0 0 2px hsl(var(--ring) / .2);border-color:hsl(var(--ring))}.search:before{content:"🔍";opacity:.6;font-size:.85rem;position:absolute;top:50%;left:.7rem;transform:translateY(-50%)}.chips{flex-wrap:wrap;gap:.4rem;display:flex}.chip{border:1px solid hsl(var(--border));background:hsl(var(--card));cursor:pointer;color:hsl(var(--muted-foreground));white-space:nowrap;border-radius:999px;padding:.45rem .85rem;font-size:.8rem;font-weight:500;transition:all .15s}.chip:hover{background:hsl(var(--accent))}.chip.active{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.1rem;display:grid}.card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);border-left:4px solid var(--accent-color,hsl(var(--primary)));opacity:0;flex-direction:column;gap:.7rem;padding:1.15rem 1.2rem;transition:transform .2s,box-shadow .2s;animation:.4s forwards fade-in-up;display:flex}.card:hover{transform:translateY(-3px);box-shadow:0 12px 24px -12px #00000040}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.card-icon{background:color-mix(in srgb, var(--accent-color,#1c6ef2) 16%, transparent);border-radius:10px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.15rem;display:flex}.badge{background:hsl(var(--accent));color:hsl(var(--accent-foreground));white-space:nowrap;border-radius:999px;padding:.2rem .55rem;font-size:.68rem;font-weight:600}.badge-current{color:#1d7247;white-space:nowrap;background:#def7eb;border-radius:999px;padding:.2rem .55rem;font-size:.68rem;font-weight:600}html.dark .badge-current{color:#99e6bf;background:#1c402e}.badge-info{color:#8f5c14;white-space:nowrap;background:#fdf4d8;border-radius:999px;padding:.2rem .55rem;font-size:.68rem;font-weight:600}html.dark .badge-info{color:#f2d98c;background:#473615}.badge-negative{background:hsl(var(--destructive) / .12);color:hsl(var(--destructive));white-space:nowrap;border-radius:999px;padding:.2rem .55rem;font-size:.68rem;font-weight:600}.card h3{margin:0;font-size:1rem;font-weight:700;line-height:1.3}.card p{color:hsl(var(--muted-foreground));flex:1;margin:0;font-size:.82rem;line-height:1.4}.card-meta{color:hsl(var(--muted-foreground));border-top:1px solid hsl(var(--border));justify-content:space-between;align-items:center;padding-top:.6rem;font-size:.72rem;display:flex}.open-btn{border-radius:var(--radius);background:hsl(var(--primary));color:hsl(var(--primary-foreground));cursor:pointer;text-align:center;border:none;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .9rem;font-size:.82rem;font-weight:600;transition:transform .15s,box-shadow .15s;display:inline-flex}.open-btn:hover{box-shadow:0 8px 16px -8px hsl(var(--primary) / .6);transform:scale(1.03)}.empty{text-align:center;color:hsl(var(--muted-foreground));padding:3rem 1rem}footer{text-align:center;color:hsl(var(--muted-foreground));border-top:1px solid hsl(var(--border));padding:1.5rem;font-size:.78rem}label{color:hsl(var(--foreground));margin-bottom:.35rem;font-size:.8rem;font-weight:600;display:block}input,select,textarea{border-radius:var(--radius);border:1px solid hsl(var(--border));background:hsl(var(--card));width:100%;color:hsl(var(--foreground));outline:none;padding:.6rem .8rem;font-family:inherit;font-size:.88rem}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 2px hsl(var(--ring) / .2);border-color:hsl(var(--ring))}.field{margin-bottom:1rem}.field-hint{color:hsl(var(--muted-foreground));margin-top:.3rem;font-size:.72rem}.field-row{flex-wrap:wrap;gap:1rem;display:flex}.field-row>.field{flex:1;min-width:180px}.btn{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.6rem 1.1rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn-primary:hover:not(:disabled){box-shadow:0 8px 16px -8px hsl(var(--primary) / .6);transform:scale(1.02)}.btn-secondary{background:hsl(var(--muted));color:hsl(var(--foreground));border-color:hsl(var(--border))}.btn-secondary:hover:not(:disabled){background:hsl(var(--accent))}.btn-danger{color:hsl(var(--destructive));border-color:hsl(var(--destructive) / .4);background:0 0}.btn-danger:hover:not(:disabled){background:hsl(var(--destructive) / .1)}.btn-sm{padding:.4rem .75rem;font-size:.78rem}.alert{border-radius:var(--radius);border:1px solid #0000;margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem}.alert-error{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive));border-color:hsl(var(--destructive) / .3)}.alert-success{color:#1d7247;background:#def7eb}html.dark .alert-success{color:#99e6bf;background:#1c402e}.auth-shell{justify-content:center;align-items:center;min-height:calc(100vh - 74px);padding:2rem 1.5rem;display:flex}.auth-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) + 4px);width:100%;max-width:380px;padding:2rem 1.75rem;box-shadow:0 24px 48px -24px #0003}.auth-card h1{margin:0 0 .35rem;font-size:1.25rem;font-weight:800}.auth-card p{color:hsl(var(--muted-foreground));margin:0 0 1.5rem;font-size:.85rem}.recovery-note{text-align:center;margin:1rem 0 0}.btn.is-disabled{opacity:.6;pointer-events:none}.admin-layout{align-items:flex-start;gap:1.5rem;display:flex}.admin-sidebar{background:hsl(var(--card) / .52);border:1px solid hsl(var(--border) / .82);border-radius:calc(var(--radius) + 4px);-webkit-backdrop-filter:blur(18px)saturate(150%);backdrop-filter:blur(18px)saturate(150%);flex-direction:column;flex:none;gap:.35rem;width:224px;padding:.55rem;display:flex;position:sticky;top:5.5rem;box-shadow:0 18px 40px -32px #0f172a9e}.admin-nav-btn{text-align:left;border-radius:calc(var(--radius) - 2px);color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;padding:.72rem .85rem;font-family:inherit;font-size:.86rem;font-weight:650;transition:background .15s,color .15s,border-color .15s;display:flex}.admin-nav-btn:hover{background:hsl(var(--accent) / .75);color:hsl(var(--foreground))}.admin-nav-btn.active{background:linear-gradient(135deg, hsl(var(--primary)), #0f7ae6);color:hsl(var(--primary-foreground));box-shadow:0 10px 20px -16px hsl(var(--primary))}.admin-content{flex:1;min-width:0}@media (width<=720px){.admin-layout{flex-direction:column}.admin-sidebar{flex-direction:row;width:100%;position:static;top:auto;overflow-x:auto}.admin-nav-btn{white-space:nowrap}.access-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.access-filter-search{grid-column:1/-1}.access-user-header{flex-direction:column}.access-user-controls{justify-content:flex-start}}@media (width<=500px){main{padding:1.15rem .8rem 3rem}.panel{padding:1.1rem}.access-filters{grid-template-columns:1fr}.access-filter-search{grid-column:auto}.access-filter-clear{width:100%}.access-user-header,.access-user-body{padding-left:.8rem;padding-right:.8rem}.access-user-controls{gap:.45rem}.access-control-select,.access-control-select select{width:100%}.theme-btn{padding:.45rem .55rem;font-size:.7rem}}.panel{background:hsl(var(--card) / .68);border:1px solid hsl(var(--border) / .86);border-radius:calc(var(--radius) + 4px);-webkit-backdrop-filter:blur(18px)saturate(145%);backdrop-filter:blur(18px)saturate(145%);margin-bottom:1.75rem;padding:1.5rem;box-shadow:0 20px 48px -40px #0f172abf}.panel h2{margin:0 0 .25rem;font-size:1.1rem;font-weight:700}.panel .panel-sub{color:hsl(var(--muted-foreground));margin:0 0 1.25rem;font-size:.82rem}.report-item{border:1px solid hsl(var(--border));border-radius:var(--radius);margin-bottom:.75rem;overflow:hidden}.report-item-head{cursor:pointer;background:hsl(var(--card));justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.report-item-head:hover{background:hsl(var(--accent) / .4)}.report-item-head .title{font-size:.92rem;font-weight:700}.report-item-head .meta{color:hsl(var(--muted-foreground));font-size:.75rem}.access-filters{border:1px solid hsl(var(--border) / .86);border-radius:var(--radius);background:hsl(var(--muted) / .46);grid-template-columns:minmax(210px,1.8fr) repeat(3,minmax(145px,1fr)) auto;align-items:end;gap:.75rem;margin:0 0 .55rem;padding:1rem;display:grid}.access-filters label{color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.045em;margin-bottom:.3rem;font-size:.7rem}.access-filters input,.access-filters select{background:hsl(var(--card) / .68)}.access-filter-clear{white-space:nowrap;margin-bottom:1px}.access-filter-summary{min-height:1.25rem;color:hsl(var(--muted-foreground));margin:0 0 .8rem;font-size:.76rem}.access-user-card{border:1px solid hsl(var(--border) / .86);border-radius:var(--radius);background:hsl(var(--card) / .56);-webkit-backdrop-filter:blur(13px)saturate(135%);backdrop-filter:blur(13px)saturate(135%);margin-bottom:.8rem;overflow:hidden;box-shadow:0 10px 24px -24px #0f172ab3}.access-user-header{justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1rem .85rem;display:flex}.access-user-identity{min-width:180px;padding-top:.12rem}.access-user-identity .title{font-size:.95rem;font-weight:750;line-height:1.35}.access-user-identity .meta{color:hsl(var(--muted-foreground));overflow-wrap:anywhere;margin-top:.18rem;font-size:.77rem}.access-user-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.access-control-select select{background:hsl(var(--card) / .68);width:auto;min-width:126px}.access-control-check{color:hsl(var(--muted-foreground));white-space:nowrap;align-items:center;gap:.35rem;margin:0;padding:.38rem .15rem;font-size:.75rem;font-weight:600;display:inline-flex}.access-control-check input,.access-tag-check input{width:auto;accent-color:hsl(var(--primary));margin:0}.access-user-body{border-top:1px solid hsl(var(--border) / .72);padding:0 1rem 1rem}.access-tags-label{margin:.8rem 0 .35rem;font-weight:650}.access-tags-list{flex-wrap:wrap;gap:.2rem .65rem;display:flex}.access-tag-check{color:hsl(var(--foreground));align-items:center;gap:.35rem;margin:.15rem 0;font-size:.78rem;font-weight:550;display:inline-flex}.access-reset-box{border-top:1px solid hsl(var(--border) / .76);margin-top:1rem;padding-top:1rem}.access-reset-actions{align-items:flex-end;margin-top:.65rem}.access-reset-actions .field{flex:1;margin-bottom:0}.reset-status{min-height:1.2rem;margin-top:.65rem}.reset-status-message{font-size:.77rem;line-height:1.35}.reset-status-message.is-loading{color:hsl(var(--muted-foreground))}.reset-status-message.is-success{color:#24995e}.reset-status-message.is-error{color:hsl(var(--destructive))}html.dark .reset-status-message.is-success{color:#7eddad}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.comments-box{border-top:1px solid hsl(var(--border));padding-top:.6rem}.comment-item{border-top:1px solid hsl(var(--border));padding:.65rem 0}.comment-item:first-child{border-top:none;padding-top:0}.comment-item-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.comment-message{white-space:pre-wrap;margin:0 0 .5rem;font-size:.85rem;line-height:1.45}.comment-response{background:hsl(var(--muted));border-radius:var(--radius);margin-top:.4rem;padding:.65rem .75rem}.comment-response-label{text-transform:uppercase;letter-spacing:.03em;color:hsl(var(--muted-foreground));margin-bottom:.3rem;font-size:.7rem;font-weight:700}.comment-response p{white-space:pre-wrap;margin:0 0 .5rem;font-size:.83rem;line-height:1.4}.comment-form textarea{margin-bottom:.5rem}.version-table{border-collapse:collapse;width:100%;font-size:.82rem}.version-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:hsl(var(--muted-foreground));border-bottom:1px solid hsl(var(--border));padding:.5rem .75rem;font-size:.72rem}.version-table td{border-bottom:1px solid hsl(var(--border));padding:.6rem .75rem}.version-table tr:last-child td{border-bottom:none}.version-actions{gap:.4rem;display:flex}
