:root{--brand-green:#22c55e;--brand-green-dark:#15803d;--brand-magenta:#c026d3;--brand-dark:#0b0d10;--text-primary:#222;--text-secondary:#666;--text-tertiary:#999;--border-subtle:#eee;--border-default:#ccc;--surface:#fff;--surface-alt:#f7f8fa;--surface-highlight:#eef0ff;--surface-subtle:#f1f1f1;--border:#d4d4d4;--brand-neon:#2ef07a}*{box-sizing:border-box}html{font-size:clamp(15px,.85vw + 10px,19px)}body{color:var(--text-primary);background:linear-gradient(160deg,#f1faf5 0%,#f7f8fa 45%,#fdf3fb 100%) fixed;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.page-shell{width:100%;max-width:min(1100px,94vw);margin:0 auto;padding:clamp(1rem,2.5vw,2.5rem) clamp(1rem,3vw,2rem)}.page-shell--narrow{max-width:min(480px,94vw)}.page-title{text-align:center;margin-bottom:clamp(1.5rem,4vw,3rem);font-size:clamp(1.3rem,2vw,1.8rem)}.app-logo{height:clamp(44px,6vw,72px)}.app-logo--login{height:clamp(90px,11vw,160px)}.avatar{border:1px solid #999;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:clamp(32px,3vw,42px);height:clamp(32px,3vw,42px);font-size:clamp(1rem,1.5vw,1.3rem);transition:box-shadow .15s;display:flex}.avatar:hover{box-shadow:0 0 0 3px #22c55e40}.avatar--large{width:clamp(56px,6vw,80px);height:clamp(56px,6vw,80px);font-size:clamp(1.5rem,2.5vw,2rem)}.icon-grid{grid-template-columns:repeat(auto-fit,minmax(clamp(140px,14vw,200px),1fr));justify-content:center;gap:clamp(1.25rem,3vw,3rem);display:grid}.icon-card{text-align:center;cursor:pointer;font-size:clamp(.9rem,1vw,1.05rem)}.icon-card[data-disabled=true]{cursor:not-allowed;opacity:.4}.icon-card__box{background:#fff;border:1px solid #ddd;border-radius:8px;justify-content:center;align-items:center;height:clamp(120px,12vw,180px);padding:clamp(.5rem,1vw,1rem);transition:box-shadow .15s,border-color .15s,transform .15s;display:flex}.icon-card:hover:not([data-disabled=true]) .icon-card__box{border-color:var(--brand-green);transform:translateY(-2px);box-shadow:0 0 0 3px #22c55e33}.icon-card__box img{object-fit:contain;max-width:100%;max-height:100%}.alert-error{color:#c0392b;background:#fdecea;border:1px solid #f5b7b1;border-radius:6px;padding:.6rem .8rem;font-weight:600}input,select,textarea,button{font-family:inherit;font-size:1rem}input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],input[type=url],select,textarea{border:1px solid #ccc;border-radius:6px;width:100%;padding:.6rem;transition:box-shadow .15s,border-color .15s}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=date]:focus,input[type=number]:focus,select:focus,textarea:focus{border-color:var(--brand-green);outline:none;box-shadow:0 0 0 3px #22c55e33}button{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:6px;padding:.6rem 1rem;transition:box-shadow .15s,border-color .15s}button:hover:not(:disabled){border-color:var(--brand-green);box-shadow:0 0 0 3px #22c55e38}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand-green);color:#fff;border:none;width:100%;padding:.75rem}.btn-primary:hover:not(:disabled){background:var(--brand-green-dark);box-shadow:0 0 0 4px #22c55e47}.table-scroll{width:100%;overflow-x:auto}.login-shell{background:linear-gradient(135deg, var(--brand-green) 0%, var(--brand-dark) 55%, var(--brand-magenta) 100%);justify-content:flex-end;align-items:center;min-height:100vh;padding:clamp(1.5rem,4vw,4rem);display:flex;position:relative;overflow:hidden}.login-art{z-index:1;pointer-events:none;position:absolute;inset:0}.login-form-card{z-index:2;background:#fff;border-radius:20px;width:100%;max-width:clamp(380px,46vw,680px);padding:clamp(2.25rem,4vw,3.25rem);position:relative;box-shadow:0 25px 60px #00000059}.login-art__sparkle{opacity:.85;clip-path:polygon(50% 0%,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0% 50%,39% 39%);background:#fff;width:16px;height:16px;position:absolute;top:15%;left:32%}.login-art__sparkle--sm{opacity:.6;width:9px;height:9px;top:66%;left:22%}.login-art__trail{opacity:.8;background:repeating-linear-gradient(90deg,#ffffffa6 0 10px,#0000 10px 20px);width:24%;height:2px;position:absolute;top:41%;left:3%;transform:rotate(-16deg)}.login-art__plane{filter:drop-shadow(0 10px 18px #00000059);width:975px;height:auto;animation:3.5s ease-in-out infinite login-plane-float;position:absolute;top:5%;left:15%}@keyframes login-plane-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.login-art__skyline{align-items:flex-end;gap:8px;width:62%;height:40%;padding:0 4%;display:flex;position:absolute;bottom:0;left:0}.login-art__skyline span{background-color:#0009;background-image:radial-gradient(circle,#ffd678f2 0 1.8px,#0000 2.2px),radial-gradient(circle,#fff0cd73 0 1.4px,#0000 1.8px);background-position:6px 9px,14px 18px;background-repeat:repeat;background-size:16px 18px,16px 18px;border-radius:2px 2px 0 0;flex:1;display:block}.login-art__skyline span:first-child{height:46%}.login-art__skyline span:nth-child(2){height:72%}.login-art__skyline span:nth-child(3){height:56%}.login-art__skyline span:nth-child(4){height:96%}.login-art__skyline span:nth-child(5){height:62%}.login-art__skyline span:nth-child(6){height:78%}.login-art__skyline span:nth-child(7){height:50%}.login-art__skyline span:nth-child(8){height:68%}.login-art__skyline span:nth-child(9){height:58%}.login-art__skyline span:nth-child(10){height:84%}@media (width<=640px){.login-shell{justify-content:center}.login-art{display:none}}.app-shell{min-height:100vh;display:flex}.app-sidebar{background:#fff;border-right:1px solid #eee;flex-direction:column;flex-shrink:0;width:230px;padding:1rem .75rem;transition:width .15s;display:flex}.app-sidebar[data-collapsed=true]{width:64px}.app-sidebar__header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:0 .25rem;display:flex}.app-sidebar[data-collapsed=true] .app-sidebar__header{flex-direction:column;gap:.75rem;padding:0}.app-logo-icon{object-fit:cover;border-radius:50%;width:38px;height:38px;display:block;box-shadow:0 0 0 1px #eee}.app-sidebar__collapse-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.25rem .4rem;font-size:1rem;transition:box-shadow .15s}.app-sidebar__collapse-btn:hover{box-shadow:0 0 0 2px #22c55e59}.app-nav-item{color:#444;cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:.6rem;padding:.6rem .5rem;font-size:.95rem;text-decoration:none;transition:box-shadow .15s,background .15s;display:flex;overflow:hidden;box-shadow:0 0 #0000}.app-nav-item:hover:not([data-disabled=true]){background:#f1faf5;box-shadow:inset 0 0 0 2px #22c55e59}.app-nav-item.active{color:#fff;background:var(--brand-dark);box-shadow:0 0 0 1px var(--brand-neon), 0 0 10px #2ef07a73;font-weight:600}.app-nav-item.active svg{color:var(--brand-neon)}.app-nav-item.active:hover:not([data-disabled=true]){background:var(--brand-dark);box-shadow:0 0 0 1px var(--brand-neon), 0 0 14px #2ef07a99}.app-nav-item[data-disabled=true]{opacity:.4;cursor:not-allowed}.app-nav-children{border-left:1px solid #2ef07a59;flex-direction:column;gap:.1rem;margin:.25rem 0 .4rem 1.35rem;padding-left:.6rem;display:flex}.app-nav-children a{color:#666;border-radius:6px;padding:.35rem .6rem;font-size:.86rem;text-decoration:none;transition:background .15s,color .15s;position:relative}.app-nav-children a:hover{color:var(--brand-green-dark);background:#2ef07a1a}.app-nav-children a.active{color:var(--brand-green-dark);background:#2ef07a24;font-weight:600}.app-nav-children a.active:before{content:"";background:var(--brand-neon);width:6px;height:6px;box-shadow:0 0 6px var(--brand-neon);border-radius:50%;position:absolute;top:50%;left:calc(-.6rem - 3.5px);transform:translateY(-50%)}.app-sidebar[data-collapsed=true] .app-nav-item span.label,.app-sidebar[data-collapsed=true] .app-nav-children{display:none}.app-main{flex:1;min-width:0}.app-topbar{justify-content:flex-end;padding:1rem clamp(1rem,3vw,2rem) 0;display:flex}.content-narrow{max-width:480px;margin:0 auto}.app-mobile-menu-btn,.app-sidebar__collapse-btn--mobile,.app-mobile-overlay{display:none}@media (width<=780px){.app-sidebar{z-index:100;width:min(340px,88vw);height:100vh;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:4px 0 20px #0003}.app-sidebar[data-mobile-open=true]{transform:translate(0)}.app-sidebar[data-collapsed=true]{width:min(340px,88vw)}.app-sidebar[data-collapsed=true] .app-nav-item span.label,.app-sidebar[data-collapsed=true] .app-nav-children,.app-sidebar .app-nav-item span.label,.app-sidebar .app-nav-children{display:flex}.app-nav-children{flex-direction:column}.app-sidebar__collapse-btn--desktop{display:none}.app-sidebar__collapse-btn--mobile{justify-content:center;align-items:center;display:inline-flex}.app-mobile-menu-btn{flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.2rem;display:inline-flex}.app-sidebar .app-nav-item{padding:.75rem .6rem;font-size:1.05rem}.app-sidebar .app-nav-children a{padding:.5rem .6rem;font-size:.95rem}.app-mobile-overlay{z-index:90;background:#00000073;display:block;position:fixed;inset:0}}:root[data-theme=dark]{--surface:#1b1e23;--surface-alt:#14161a;--surface-highlight:#22281f;--text-primary:#eaeaea;--text-secondary:#a5a5a5;--text-tertiary:#7a7a7a;--border-subtle:#2a2d33;--border-default:#3a3d43;--border-color:#333;--surface-subtle:#2a2d33;--border:#3a3d43}:root[data-theme=dark] body{color:var(--text-primary);background:linear-gradient(160deg,#0f1a14 0%,#121316 45%,#1a1420 100%)}:root[data-theme=dark] .app-sidebar{background:var(--surface);border-right:1px solid var(--border-color)}:root[data-theme=dark] .app-nav-item{color:#ccc}:root[data-theme=dark] .app-nav-item:hover:not([data-disabled=true]){background:#22281f}:root[data-theme=dark] .app-nav-children a{color:#999}:root[data-theme=dark] .app-nav-children a:hover{background:#22281f}:root[data-theme=dark] .icon-card__box{background:var(--surface);border-color:var(--border-color)}:root[data-theme=dark] input[type=text],:root[data-theme=dark] input[type=email],:root[data-theme=dark] input[type=password],:root[data-theme=dark] input[type=date],:root[data-theme=dark] input[type=number],:root[data-theme=dark] select,:root[data-theme=dark] textarea,:root[data-theme=dark] button{background:var(--surface);border-color:var(--border-color);color:var(--text-primary)}:root[data-theme=dark] .btn-primary{color:#fff}:root[data-theme=dark] .app-nav-item.active{color:#fff;background:var(--brand-dark)}:root[data-theme=dark] .app-nav-item.active:hover:not([data-disabled=true]){background:var(--brand-dark)}:root[data-theme=dark] .app-nav-children a.active,:root[data-theme=dark] .app-nav-children a:hover{color:var(--brand-neon);background:#2ef07a1f}:root[data-theme=dark] .login-form-card{color:#222}:root[data-theme=dark] .login-form-card input[type]{color:#222;background:#fff;border-color:#ccc}:root[data-theme=dark] .btn-primary{background:var(--brand-green);color:#fff;border:none}:root[data-theme=dark] .btn-primary:hover:not(:disabled){background:var(--brand-green-dark)}:root[data-theme=dark] input[type=url]{background:var(--surface);border-color:var(--border-color);color:var(--text-primary)}:root[data-theme=dark] .icon-card__box img.icon-mono{filter:brightness(0)invert()}.role-chip{color:var(--brand-green-dark);background:#e6f9ee;border:1px solid #22c55e59;border-radius:12px;padding:.15rem .6rem;font-size:.8rem}:root[data-theme=dark] .role-chip{color:#4ade80;background:#22c55e2e;border-color:#22c55e73}:root[data-theme=dark] .alert-error{color:#ff8f80;background:#c0392b2e;border-color:#e74c3c80}.icon-btn{justify-content:center;align-items:center;display:inline-flex}:root:not([data-theme=dark]) .app-nav-item.active,:root:not([data-theme=dark]) .app-nav-item.active:hover:not([data-disabled=true]){color:#111;background:#fff}.filter-bar{border:1px solid var(--border-subtle);background:var(--surface);border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:.5rem .75rem;margin-bottom:1rem;padding:.6rem .75rem;display:flex}.filter-field{color:var(--text-secondary);flex-direction:column;gap:.15rem;font-size:.75rem;font-weight:400;display:flex}.filter-bar input:not([type=checkbox]),.filter-bar select{border-radius:6px;width:auto;min-width:0;padding:.3rem .5rem;font-size:.85rem}.filter-bar button{padding:.35rem .75rem;font-size:.85rem}.filter-bar .btn-primary{width:auto}.filter-field--grow{flex:220px}.filter-field--grow input{width:100%}.filter-check{align-items:center;gap:.3rem;padding-bottom:.35rem;font-size:.85rem;font-weight:400;display:inline-flex}.filter-sep{background:var(--border-subtle);align-self:stretch;width:1px;margin:0 .15rem}.filter-bar__actions{align-items:flex-end;gap:.4rem;display:flex}.filter-bar--rows{flex-direction:column;align-items:stretch;gap:.6rem}.filter-row{flex-wrap:wrap;align-items:flex-end;gap:.5rem .75rem;display:flex}.filter-row--split{border-top:1px solid var(--border-subtle);justify-content:space-between;padding-top:.6rem}.filter-row--split .filter-check{padding-bottom:.35rem}.perfil{max-width:880px;margin:0 auto}.perfil-banner{color:#fff;background:radial-gradient(120% 160% at 100% 0,#2ef07a8c 0%,#2ef07a00 55%),linear-gradient(120deg,#0b0d10 0%,#0f2a1b 100%);border:1px solid #2ef07a59;border-radius:14px;align-items:center;gap:1.25rem;padding:1.75rem 1.5rem;display:flex;position:relative;box-shadow:0 0 0 1px #2ef07a14,0 8px 24px #0000002e}.perfil-avatar{flex-shrink:0;width:92px;height:92px;position:relative}.perfil-avatar__face{color:#fff;background:var(--brand-green);border:3px solid #ffffffe6;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;font-size:2.2rem;font-weight:700;display:flex;overflow:hidden}.perfil-avatar__face img{object-fit:cover;width:100%;height:100%}.perfil-avatar__btn{width:30px;height:30px;color:var(--brand-neon);border:1px solid var(--brand-neon);background:#0b0d10;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;right:-4px}.perfil-avatar__btn--cam{bottom:-4px}.perfil-avatar__btn--del{color:#ff8f80;border-color:#ff8f80;top:-4px}.perfil-banner__name{font-size:1.4rem;font-weight:700;line-height:1.2}.perfil-banner__mail{opacity:.85;word-break:break-all;margin-top:.15rem;font-size:.9rem}.perfil-banner .role-chip{color:#7dffb0;background:#2ef07a2e;border-color:#2ef07a8c;margin-top:.5rem;display:inline-block}.perfil-tabs{border-bottom:1px solid var(--border-default);gap:.25rem;margin:1.25rem 0;display:flex;overflow-x:auto}.perfil-tab{color:var(--text-secondary);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:.4rem;padding:.6rem .9rem;display:inline-flex}.perfil-tab:hover:not(:disabled){box-shadow:none;color:var(--text-primary);border-color:#0000}.perfil-tab.active{color:var(--text-primary);border-bottom-color:var(--brand-green);font-weight:600}.perfil-section{margin-bottom:1.75rem}.perfil-section h3{margin:0 0 .75rem;font-size:1rem}.perfil-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.1rem 1.5rem;display:grid}.perfil-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-tertiary);margin-bottom:.2rem;font-size:.72rem}.perfil-phone{gap:.5rem;display:flex}.perfil-btn{border:1px solid var(--border-default);background:var(--surface);color:var(--text-primary);border-radius:6px;padding:.5rem .9rem}.perfil-btn--primary{background:var(--brand-green);border-color:var(--brand-green);color:#fff}.perfil-btn--primary:hover:not(:disabled){background:var(--brand-green-dark)}.perfil-btn--danger{color:#c0392b}.perfil-cards{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;display:grid}.perfil-card{border:1px solid var(--border-default);background:var(--surface);color:var(--text-primary);border-radius:10px;align-items:center;gap:.7rem;padding:.75rem .9rem;display:flex}.perfil-card--active{border-color:var(--brand-green);box-shadow:0 0 0 3px #22c55e2e}.perfil-card__icon{background:var(--surface-subtle);width:36px;height:36px;color:var(--brand-green-dark);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}:root[data-theme=dark] .perfil-card__icon{color:var(--brand-neon)}.perfil-card__title{font-weight:600;line-height:1.2}.perfil-card__sub{color:var(--text-secondary);font-size:.8rem}.perfil-chips{flex-wrap:wrap;gap:.5rem;display:flex}.perfil-chip{border:1px solid var(--border-default);background:var(--surface-subtle);color:var(--text-primary);border-radius:999px;padding:.3rem .75rem;font-size:.88rem}.perfil-form{gap:.85rem;max-width:380px;display:grid}.perfil-msg{border-radius:6px;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.9rem}.perfil-msg--ok{color:var(--brand-green-dark);background:#22c55e24;border:1px solid #22c55e73}:root[data-theme=dark] .perfil-msg--ok{color:#4ade80}.perfil-msg--err{color:#c0392b;background:#fdecea;border:1px solid #f5c2bd}:root[data-theme=dark] .perfil-msg--err{color:#ff8f80;background:#c0392b2e;border-color:#e74c3c80}.perfil-list{gap:.5rem;display:grid}.perfil-row{border:1px solid var(--border-default);background:var(--surface);color:var(--text-primary);border-radius:8px;align-items:center;gap:.75rem;padding:.65rem .85rem;text-decoration:none;display:flex}a.perfil-row:hover{border-color:var(--brand-green)}.perfil-row__main{flex:1;min-width:0}.perfil-row__title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.perfil-row__sub{color:var(--text-secondary);font-size:.8rem}.perfil-tag{background:var(--surface-subtle);color:var(--text-secondary);border:1px solid var(--border-default);white-space:nowrap;border-radius:999px;padding:.1rem .5rem;font-size:.72rem}.perfil-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.perfil-stat{border:1px solid var(--border-default);background:var(--surface);border-radius:10px;padding:.85rem 1rem}.perfil-stat__n{color:var(--brand-green-dark);font-size:1.6rem;font-weight:700;line-height:1.1}:root[data-theme=dark] .perfil-stat__n{color:var(--brand-neon)}.perfil-stat__l{color:var(--text-secondary);font-size:.8rem}.perfil-theme{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;max-width:420px;display:grid}.perfil-theme button{border:1px solid var(--border-default);background:var(--surface);color:var(--text-primary);border-radius:10px;flex-direction:column;align-items:center;gap:.5rem;padding:1.1rem .75rem;display:flex}.perfil-theme button.active{border-color:var(--brand-green);box-shadow:0 0 0 3px #22c55e38}.perfil-muted{color:var(--text-secondary);font-size:.9rem}@media (width<=560px){.perfil-banner{text-align:center;flex-direction:column}}:root[data-theme=dark] .perfil-tab{background:0 0;border-color:#0000}:root[data-theme=dark] .perfil-tab.active{border-bottom-color:var(--brand-neon)}:root[data-theme=dark] .perfil-btn{background:var(--surface);border-color:var(--border-default)}:root[data-theme=dark] .perfil-btn--primary{background:var(--brand-green);border-color:var(--brand-green);color:#fff}:root[data-theme=dark] .perfil-btn--danger{color:#ff8f80}:root[data-theme=dark] .perfil-theme button{background:var(--surface)}:root[data-theme=dark] .perfil-theme button.active{border-color:var(--brand-neon)}
