:root{--bg:#050505;--surface:#101113;--surface-2:#17191d;--surface-3:#202329;--line:#2c3038;--white:#f7f9fc;--text:#ecf0f8;--muted:#99a1b1;--blue:#087cff;--blue-bright:#31a5ff;--blue-soft:#087cff1f;--danger:#ff5b6e;--gold:#f6bd50}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(800px 600px at 78% -10%,#075acb22,transparent 65%),var(--bg);color:var(--text);font:15px "Segoe UI Variable","Segoe UI",Inter,system-ui,sans-serif;letter-spacing:.005em}.sidebar{position:fixed;inset:0 auto 0 0;width:278px;background:linear-gradient(180deg,#111216,#090a0c);border-right:1px solid var(--line);padding:26px 14px 18px;display:flex;flex-direction:column;z-index:2}.brand{color:var(--white);display:flex;align-items:center;gap:11px;padding:4px 12px 30px;font-size:11px;font-weight:750;letter-spacing:.12em;line-height:1.2;text-decoration:none}.brand b{color:var(--blue-bright);font-weight:800}.brand-mark{display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:linear-gradient(135deg,#35aeff,#0360dc);box-shadow:0 7px 20px #087cff55;font-size:20px;font-weight:800;letter-spacing:-.1em}nav{display:grid;gap:3px}.nav-label{color:#697180;font-size:10px;font-weight:750;letter-spacing:.12em;margin:22px 12px 7px}nav a,nav .disabled{display:flex;align-items:center;gap:12px;border:1px solid transparent;border-radius:9px;padding:10px 11px;color:#c7ced9;text-decoration:none;transition:.18s ease}.sidebar i{width:17px;color:#9ba5b4;font-style:normal;font-size:16px;text-align:center}.sidebar a:hover{background:#ffffff0b;color:#fff}.sidebar .active{background:linear-gradient(110deg,#087cff30,#087cff12);border-color:#218aff44;color:#fff;box-shadow:inset 3px 0 var(--blue)}.sidebar .active i{color:var(--blue-bright)}.disabled{opacity:.34}.logout{display:flex;align-items:center;gap:9px;margin-top:auto;border-top:1px solid var(--line);padding:15px 10px 0}.avatar{display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;border-radius:50%;color:#dff0ff;background:linear-gradient(135deg,#126ce0,#18a6e8);font-size:13px;font-weight:800}.account{min-width:0}.account span{display:block;overflow:hidden;color:#bbc2cf;font-size:11px;text-overflow:ellipsis;white-space:nowrap;max-width:165px}.logout button{border:0;background:none;color:#7f8998;margin:2px 0 0;padding:0;font:12px inherit;cursor:pointer}.logout button:hover{color:#fff}.app-main{max-width:1280px;margin-left:278px;padding:58px clamp(28px,5vw,78px)}.auth-main{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(600px 400px at 50% 20%,#076dff26,transparent 70%),#060708}.page-header{display:flex;align-items:start;justify-content:space-between;margin-bottom:34px}.eyebrow{color:var(--blue-bright);font-size:10px;font-weight:800;letter-spacing:.16em;margin:0 0 11px}h1{margin:0;font-size:clamp(31px,4vw,48px);font-weight:650;letter-spacing:-.055em;line-height:1.04}h1 em{color:var(--blue-bright);font-style:normal}h2{margin:0 0 9px;font-size:22px;letter-spacing:-.035em;line-height:1.15}h3{margin:13px 0 7px;font-size:16px}.muted{color:var(--muted);line-height:1.6;margin:11px 0 0;max-width:620px}.header-orb{width:115px;height:115px;margin:0 40px;border-radius:50%;background:radial-gradient(circle at 34% 34%,#5ec2ff,#087cff 40%,#032f85 72%);filter:blur(.1px);box-shadow:0 0 75px #087cff77}.welcome-card{position:relative;isolation:isolate;display:flex;justify-content:space-between;gap:30px;overflow:hidden;border:1px solid #2e4b6e;background:linear-gradient(110deg,#101621,#0c1a2c 58%,#102944);border-radius:18px;padding:37px 42px;margin-bottom:44px;box-shadow:0 20px 50px #0008}.welcome-card:after{content:"";position:absolute;z-index:-1;inset:auto -8% -70% auto;width:390px;height:390px;border-radius:50%;background:#087cff33;filter:blur(3px)}.welcome-card p:not(.eyebrow){max-width:600px;color:#b5bfcd;line-height:1.6;margin:0 0 24px}.hero-icon{display:grid;place-items:center;align-self:center;flex:0 0 145px;width:145px;height:145px;border-radius:32px;background:linear-gradient(145deg,#138eff,#0357cc);box-shadow:inset 1px 1px #ffffff55,0 25px 55px #001a5355;transform:rotate(-6deg)}.hero-icon span{display:grid;place-items:center;width:67px;height:67px;border-radius:50%;background:#fff;color:#087cff;font-size:25px;padding-left:3px;box-shadow:0 8px 22px #02347766}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:11px;border:1px solid #329dff55;border-radius:8px;background:linear-gradient(180deg,#1595ff,#0565dc);box-shadow:inset 0 1px #ffffff55,0 8px 18px #0057bb44;color:#fff;padding:11px 16px;font:650 14px "Segoe UI Variable","Segoe UI",sans-serif;text-decoration:none;cursor:pointer;transition:transform .16s,filter .16s}.button:hover,button:hover{filter:brightness(1.14);transform:translateY(-1px)}.button span{font-size:18px}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.module-grid article,.tool-card{background:linear-gradient(145deg,#14161a,#0e0f12);border:1px solid var(--line);border-radius:13px;padding:23px;box-shadow:0 8px 25px #0003}.module-grid article span{color:var(--blue-bright);font-size:24px}.module-grid article p{color:var(--muted);font-size:14px;line-height:1.5;margin:0}.tool-card{max-width:940px;margin-bottom:20px}.tool-card h2{color:#fff}.tool-card label{display:block;color:#ccd4df;font-size:12px;font-weight:700;margin:16px 0}input,textarea{display:block;width:100%;margin-top:7px;border:1px solid #363b45;border-radius:8px;background:#090a0c;color:#f1f5fb;padding:11px 12px;font:inherit;transition:border .15s,box-shadow .15s}input:focus,textarea:focus{border-color:#198eff;box-shadow:0 0 0 3px #087cff24;outline:0}textarea{height:440px;resize:vertical;line-height:1.55}.status{color:var(--muted);min-height:24px;margin:16px 0 0}.result-heading,.section-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}.secondary{background:#202631;border-color:#475365;box-shadow:none;color:#e5ecf6}.secondary:hover{background:#2b3340}.login-card{width:min(100%,440px);background:linear-gradient(145deg,#16191f,#0d0e11);border:1px solid #2c3440;border-radius:18px;padding:36px;box-shadow:0 25px 80px #000a}.login-card:before{content:"E";display:grid;place-items:center;width:43px;height:43px;margin-bottom:23px;border-radius:12px;background:linear-gradient(135deg,#35aeff,#0360dc);box-shadow:0 7px 20px #087cff55;color:#fff;font-size:24px;font-weight:800}.login-card h1{font-size:32px}.login-card form{margin-top:26px}.login-card button{width:100%;margin-top:9px}.flash{max-width:940px;padding:12px 15px;border-radius:9px;border:1px solid;margin-bottom:18px}.error{background:#521f2a55;border-color:#a6364a;color:#ffbdc6}.success{background:#163d3155;border-color:#2d966f;color:#acf0cd}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:940px}.admin-grid .tool-card{max-width:none}.form-intro{min-height:47px;font-size:13px}.user-list{max-width:940px;margin-top:20px}.table-wrap{overflow:auto;margin:17px -3px -3px}table{width:100%;border-collapse:separate;border-spacing:0 5px;font-size:13px}th{padding:0 12px 7px;color:#7e8898;font-size:10px;letter-spacing:.1em;text-align:left;text-transform:uppercase}td{background:#17191e;border-top:1px solid #242932;border-bottom:1px solid #242932;padding:12px;color:#dbe1ea}td:first-child{border-left:1px solid #242932;border-radius:8px 0 0 8px}td:last-child{border-right:1px solid #242932;border-radius:0 8px 8px 0;color:#9ca6b5}.user-cell{display:flex;align-items:center;gap:9px;min-width:205px}.avatar.small{width:26px;height:26px;font-size:11px}.tag{display:inline-flex;border:1px solid #3b414c;border-radius:999px;color:#bac3d1;padding:4px 8px;font-size:11px;white-space:nowrap}.tag.blue{border-color:#087cff77;background:#087cff1c;color:#69baff}.tag.warning{border-color:#bd873e77;background:#f6bd501c;color:#f6ca73}.tag.success{border-color:#3a9b7377;background:#41bb8117;color:#89dcb4}@media(max-width:840px){.sidebar{position:static;width:auto;min-height:0;padding:15px 12px}.brand{padding-bottom:13px}.sidebar nav{display:flex;overflow:auto}.sidebar nav .nav-label,.sidebar nav .disabled{display:none}.logout{display:none}.app-main{margin:0;padding:31px 20px}.admin-grid{grid-template-columns:1fr}.module-grid{grid-template-columns:1fr}.header-orb{display:none}}@media(max-width:520px){.page-header{margin-bottom:24px}.welcome-card{padding:27px}.hero-icon{display:none}.tool-card{padding:19px}.result-heading{display:block}.result-heading button{margin-top:14px}h1{font-size:32px}.app-main{padding:26px 16px}}
/* Privacidade visual: esconde apenas a apresentação; nunca altera o dado ou o link original. */
.sensitive-toolbar{display:flex;justify-content:flex-end;margin:0 0 14px}.sensitive-toggle{display:inline-flex;align-items:center;gap:7px;min-height:36px;margin:0;padding:7px 10px;border:1px solid #536176;border-radius:9px;background:#1b222d;color:#d7e4f5;font:750 12px "Segoe UI Variable","Segoe UI",sans-serif;cursor:pointer}.sensitive-toggle:hover{border-color:#8b67e9;background:#2b2144;color:#fff;filter:none;transform:none}.sensitive-toggle span:first-child{font-size:16px;line-height:1}

/* Privacidade visual: a máscara preserva o lugar do dado sem expor texto, URL ou tamanho. */
.sensitive-data-hidden{--sensitive-mask:#3a404a;--sensitive-mask-edge:#505968}.sensitive-data-hidden [data-sensitive]{position:relative;isolation:isolate;color:transparent!important;-webkit-text-fill-color:transparent!important;text-shadow:none!important;user-select:none;caret-color:transparent}.sensitive-data-hidden [data-sensitive] *{color:transparent!important;-webkit-text-fill-color:transparent!important;text-shadow:none!important}.sensitive-data-hidden [data-sensitive]::after{position:absolute;z-index:1;top:50%;left:0;display:block;width:var(--sensitive-mask-width,10rem);max-width:calc(100% - 2px);height:.72em;min-height:8px;content:"";border:1px solid var(--sensitive-mask-edge);border-radius:999px;background:var(--sensitive-mask);box-shadow:inset 0 1px #ffffff12;transform:translateY(-50%);pointer-events:none}.sensitive-data-hidden [data-sensitive].sensitive-url{--sensitive-mask-width:16rem}.sensitive-data-hidden [data-sensitive].sensitive-email{--sensitive-mask-width:13rem}.sensitive-data-hidden h1[data-sensitive]{--sensitive-mask-width:15rem}.sensitive-data-hidden h2[data-sensitive],.sensitive-data-hidden h3[data-sensitive]{--sensitive-mask-width:12rem}.sensitive-data-hidden pre[data-sensitive],.sensitive-data-hidden code[data-sensitive]{--sensitive-mask-width:18rem}

:root[data-theme="light"] .sensitive-data-hidden{--sensitive-mask:#dfe2e7;--sensitive-mask-edge:#d5d9e0}

/* Identidade compartilhada das telas de acesso. */
.auth-card::before{display:none}.auth-brand{display:grid;justify-items:center;text-align:center}.auth-brand-mark{display:flex;align-items:center;justify-content:center;gap:7px;width:max-content;min-width:92px;height:54px;margin:0 auto 18px;padding:0 13px;border:1px solid #5ab7ff;background:linear-gradient(135deg,#229cff,#075bcf);border-radius:15px;box-shadow:0 10px 24px #087cff4a;color:#fff}.auth-brand-mark>span{font-size:20px;font-weight:900;letter-spacing:-.1em;line-height:1}.auth-brand-mark>i{width:1px;height:24px;background:#ffffff8f}.auth-brand-mark svg{width:25px;height:25px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.auth-brand-mark .auth-brand-chart{opacity:.55;stroke-width:2}.auth-brand .eyebrow{margin-bottom:10px}.auth-brand h1{font-size:32px}.auth-brand-subtitle{max-width:340px;margin:10px auto 0;color:var(--muted);line-height:1.55}.auth-card .login-fields,.auth-card .recovery-fields{margin-top:26px}.auth-card--two-factor>.muted{text-align:center}

.auth-brand-mark .auth-brand-bars{fill:currentColor;opacity:.35;stroke:none}.auth-brand-mark .auth-brand-arrow{stroke:currentColor;stroke-width:3.2}.login-password-field,.password-control{position:relative;display:block;margin-top:7px}.login-password-field input,.password-control input{margin-top:0;padding-right:52px}.login-fields .login-password-toggle,.password-toggle{position:absolute;top:50%;right:6px;display:grid;width:36px;height:36px;min-height:0;margin:0;padding:0;place-items:center;border:0;background:transparent;box-shadow:none;color:var(--muted);transform:translateY(-50%)}.login-fields .login-password-toggle:hover,.password-toggle:hover{background:var(--blue-soft);box-shadow:none;color:var(--blue-bright);filter:none;transform:translateY(-50%)}.login-password-toggle svg,.password-toggle svg{width:19px;height:19px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.login-password-eye,.password-toggle .password-eye{display:none}.login-password-eye-off,.password-toggle .password-eye-off{display:block}.login-password-toggle[aria-pressed="true"] .login-password-eye,.password-toggle[aria-pressed="true"] .password-eye{display:block}.login-password-toggle[aria-pressed="true"] .login-password-eye-off,.password-toggle[aria-pressed="true"] .password-eye-off{display:none}
.auth-main{display:flex;flex-direction:column;align-items:center;justify-content:center}.auth-main>.flash{width:min(100%,440px);margin:0 0 18px}
