:root{--background:#f4f7fb;--surface:#fff;--text:#16243a;--muted:#758398;--line:#e5eaf2;--blue:#1559d3;--blue2:#0d468d;--soft:#edf4ff;--green:#10785b;--red:#b73843;--orange:#9c5b0f;--shadow:0 10px 32px rgba(24,45,80,.045)}
*{box-sizing:border-box}html{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:var(--background);scroll-behavior:smooth}body{margin:0;font-size:14px}button,input,select{font:inherit}button{cursor:pointer}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1{font-size:clamp(25px,3.4vw,34px);letter-spacing:-1.2px;line-height:1.2}h2{font-size:19px;letter-spacing:-.5px}h3{font-size:14px}p{line-height:1.55}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b5ceff;outline-offset:2px}input,select{min-width:0;width:100%;height:45px;border:1px solid #dbe3ed;border-radius:10px;padding:0 13px;color:var(--text);background:white;outline:none}input:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1559d318}input::placeholder{color:#a0aab7}label{display:block;margin:0 0 7px;font-size:12px;font-weight:750}small,.muted{color:var(--muted)}.eyebrow{color:#3570c5;letter-spacing:1.6px;font-size:10px;font-weight:850}.form-error{color:var(--red);font-weight:600;font-size:12px;min-height:4px;margin:8px 0}.btn{min-height:45px;padding:0 19px;border:1px solid transparent;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-weight:750;transition:background .2s,transform .2s}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn.primary{background:var(--blue);color:white}.btn.primary:hover{background:var(--blue2)}.btn.outline{background:white;border-color:var(--line);color:var(--text)}.btn.danger{background:#b52f42;color:white}.btn.full{width:100%;justify-content:space-between}.brand{display:inline-flex;gap:10px;align-items:center;font-size:17px;letter-spacing:-.6px;font-weight:800;white-space:nowrap}.brand b{color:var(--blue)}.brand-symbol{width:33px;height:33px;border-radius:9px;background:var(--blue);display:grid;place-items:center;color:white;font-size:24px}.brand-button{border:0;background:transparent;color:inherit;padding:0}
.login{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-art{background:linear-gradient(140deg,#0f1d34 15%,#113772 100%);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;color:white;padding:clamp(35px,7vw,120px)}.login-art .logo{font-size:45px;font-weight:800;position:relative;z-index:1}.login-art p{color:#9abef3;letter-spacing:3px;font-weight:800;font-size:11px;margin:20px 0}.login-art h1{font-size:clamp(38px,5vw,68px);line-height:1.07;letter-spacing:-3px;position:relative;z-index:1}.login-art>span:last-of-type{margin-top:26px;max-width:350px;color:#b9cde8;line-height:1.6;position:relative;z-index:1}.art-rings{position:absolute;border:1px solid #ffffff15;width:520px;height:520px;right:-260px;bottom:-140px;border-radius:50%;box-shadow:0 0 0 85px #ffffff06,0 0 0 170px #ffffff04}.login-form-wrap{display:grid;place-items:center;padding:26px}.login-box{width:min(100%,390px)}.login-box .brand{margin-bottom:56px}.login-box h2{font-size:29px;margin-bottom:8px}.login-box p{color:var(--muted);margin-bottom:29px}.login-box label{margin-top:18px}.login-box .btn{margin-top:14px}
.app-header{position:sticky;top:0;z-index:15;background:#fff;border-bottom:1px solid var(--line)}.header-inner{max-width:1240px;margin:auto;display:flex;align-items:center;gap:44px;padding:0 22px;min-height:70px}.tabs{display:flex;align-self:stretch;gap:26px}.tab{border:0;border-bottom:2px solid transparent;background:transparent;color:#77879c;padding:2px 4px 0;font-weight:700;white-space:nowrap}.tab.active{color:var(--blue);border-color:var(--blue)}.header-user{margin-left:auto;display:flex;align-items:center;gap:14px}.mode{font-size:10px;background:#edf4ff;color:#1c62be;border-radius:99px;padding:6px 9px;font-weight:850;letter-spacing:.5px}.mode.real{background:#fff1e3;color:#a1580c}.username{font-weight:700;color:#4e5d70;max-width:110px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.logout{border:0;border-left:1px solid var(--line);padding:7px 0 7px 14px;background:white;color:#617188;font-weight:700}.main-content{max-width:1240px;margin:0 auto;padding:37px 22px 80px}.page-title{margin-bottom:26px}.page-title .eyebrow{display:block;margin-bottom:9px}.page-title p{color:var(--muted);margin-top:10px}.action-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 23px}.action{background:var(--surface);min-width:0;border:1px solid var(--line);border-radius:13px;padding:18px 8px;display:flex;flex-direction:column;align-items:center;gap:11px;min-height:109px;color:#566982;font-weight:730;text-align:center;box-shadow:var(--shadow)}.action:hover{border-color:#a1b9ef;color:var(--blue)}.action.selected{background:var(--soft);border-color:#91b7f5;color:var(--blue);box-shadow:inset 0 0 0 1px #b6d1fa}.action-icon{width:29px;height:29px;display:grid;place-items:center;font-size:24px;line-height:1}.action span:last-child{font-size:12px}.content-grid{display:grid;grid-template-columns:minmax(290px,410px) minmax(0,1fr);gap:20px;align-items:start}.surface{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.operation-card{padding:26px}.card-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.card-title h2{margin-top:7px}.accent-icon{width:41px;height:41px;border-radius:11px;background:var(--soft);color:var(--blue);display:grid;place-items:center;font-size:24px}.field{margin-bottom:20px}.field small{display:block;margin-top:7px;font-size:11px}.target-preview{background:#f6f9fc;border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:8px;margin:6px 0 22px}.target-preview>div{min-width:0}.target-preview span{display:block;color:var(--muted);font-size:10px;letter-spacing:.7px;margin-bottom:4px;font-weight:750}.target-preview b{font-weight:750;font-size:12px;overflow-wrap:anywhere;display:block}.side-panel{padding:27px;min-height:367px;min-width:0}.empty-job{min-height:310px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:20px}.empty-glyph{font-size:46px;color:#bbd4fc;background:#eff5ff;width:80px;height:80px;border-radius:20px;display:grid;place-items:center;margin-bottom:12px}.empty-job p{color:var(--muted);max-width:340px}.result-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.result-top h2{font-size:21px;margin:7px 0}.result-message{margin-top:18px;background:#f3f7fd;border-left:3px solid var(--blue);padding:13px 14px;border-radius:8px;color:#465a74;overflow-wrap:anywhere}.status{display:inline-flex;align-items:center;border-radius:99px;font-size:11px;font-weight:780;padding:7px 10px;white-space:nowrap}.status.running,.status.queued,.status.waiting{background:#eaf2ff;color:#165bba}.status.success{background:#e3f6ee;color:#0b7953}.status.warning{background:#fff0d7;color:#996012}.status.failed,.status.interrupted{background:#ffe8ea;color:#bb3541}.decision{margin-top:18px;border:1px solid #f3c984;background:#fffaef;border-radius:12px;padding:17px}.decision-title{font-weight:800;color:#9f650d}.decision p{margin:8px 0 13px;color:#765f3f}.decision-actions{display:flex;gap:9px;flex-wrap:wrap}.decision .btn{min-height:40px;font-size:12px}.events-top{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding-top:23px;margin-top:25px;margin-bottom:9px}.text-btn{color:var(--blue);font-weight:750;border:0;background:none;padding:4px}.events{display:flex;flex-direction:column;gap:0;min-width:0}.event{display:flex;gap:12px;min-width:0;padding:13px 0;border-bottom:1px solid #edf0f5}.event:last-child{border:0}.event-dot{flex:none;width:23px;height:23px;background:#eef2f7;color:#65748b;border-radius:7px;display:grid;place-items:center;font-size:13px;font-weight:800}.event.success .event-dot{background:#e1f4ea;color:#13815d}.event.warning .event-dot{background:#fff1d9;color:#bd7c20}.event.error .event-dot{background:#ffe6e7;color:#cb3544}.event-info{min-width:0;flex:1}.event-time{display:flex;justify-content:space-between;align-items:center;gap:10px}.event-time b{font-size:12px}.event-time time{font-size:10px;color:#97a1b2;white-space:nowrap}.event-info p{font-size:12px;color:#596a80;margin-top:3px;overflow-wrap:anywhere}.event details{margin-top:7px;min-width:0}.event summary,.raw-summary{color:var(--blue);font-size:11px;font-weight:700;cursor:pointer;list-style:none}.event summary::after,.raw-summary::after{content:'  ▾'}.raw-box{background:#101b2c;color:#d9e5f4;padding:12px;margin:9px 0 0;border-radius:9px;font-size:11px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;max-height:none;overflow:auto;max-width:100%}.data-card{border:1px solid var(--line);border-radius:12px;margin:18px 0;padding:15px;min-width:0}.data-card h3{margin:0 0 14px;font-size:13px}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 15px}.fact{min-width:0}.fact label{color:#90a0b2;margin-bottom:4px;font-size:10px}.fact b{font-size:12px;overflow-wrap:anywhere}.fact.wide{grid-column:1/-1}.full-line{font-size:12px;color:#4f5f75;margin-top:8px;white-space:pre-wrap;overflow-wrap:anywhere}.record-list{display:flex;flex-direction:column;gap:0}.record-row{display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid var(--line);padding:9px 2px;overflow-wrap:anywhere;font-size:12px}.record-row:last-child{border:0}.record-index{flex:none;min-width:25px;color:#9da9b9}.record-row strong{font-family:ui-monospace,monospace;color:#1c4e92}.record-row small{display:block;color:#637388;line-height:1.6}.history-card{padding:22px;min-height:200px}.history-controls{display:flex;gap:10px;margin-bottom:16px}.history-controls input{flex:2}.history-controls select{flex:1}.job-record{width:100%;background:white;text-align:left;display:grid;grid-template-columns:1.1fr 1.4fr 1.2fr auto;align-items:center;gap:10px;padding:16px 7px;border:0;border-bottom:1px solid var(--line);color:var(--text)}.job-record:last-child{border:0}.job-record:hover{background:#f7faff}.record-id{font-weight:820}.record-meta{font-size:11px;color:var(--muted);margin-top:4px}.empty-text{padding:30px;text-align:center;color:var(--muted)}.users-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:20px;align-items:start}.user-form,.users-list-card{padding:24px}.user-form h2,.users-list-card h2{margin-bottom:24px}.users-list-card .user-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:13px 0;border-bottom:1px solid var(--line)}.user-info{flex:1;min-width:100px}.user-info b{display:block}.user-info small{display:block;margin-top:4px}.user-row button{border:1px solid #dce4ee;background:#fff;border-radius:8px;padding:8px 11px;color:#39516f;font-size:11px;font-weight:760}.user-row .inactive{color:var(--red)}.toast{position:fixed;right:24px;bottom:24px;max-width:390px;border-radius:12px;background:#162c4c;color:white;box-shadow:0 10px 30px #13284422;padding:14px 18px;opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s;z-index:20}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1050px){.action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.content-grid{grid-template-columns:minmax(260px,340px) minmax(0,1fr)}.header-inner{gap:25px}}
@media(max-width:690px){.login{grid-template-columns:1fr}.login-art{display:none}.login-form-wrap{min-height:100dvh}.login-box .brand{margin-bottom:42px}.header-inner{padding:0 14px;gap:8px;flex-wrap:wrap;min-height:0}.header-inner>.brand{margin-top:12px}.header-user{margin-left:auto;margin-top:12px}.username{display:none}.tabs{width:100%;order:3;gap:25px;height:47px}.tab{flex:0 0 auto}.main-content{padding:24px 13px 65px}.page-title{margin-bottom:22px}.page-title p{font-size:12px}.action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:15px}.action{padding:14px 4px;min-height:92px;gap:7px}.action-icon{font-size:21px}.action span:last-child{font-size:11px}.content-grid{grid-template-columns:1fr;gap:12px}.operation-card,.side-panel{padding:19px}.side-panel{min-height:200px}.empty-job{min-height:220px}.target-preview{grid-template-columns:.8fr .8fr 1.5fr}.history-card{padding:12px}.history-controls{display:grid;grid-template-columns:1fr auto}.history-controls input{grid-column:1/-1}.history-controls select{width:auto}.history-controls .btn{height:45px}.job-record{grid-template-columns:1fr auto;gap:9px;padding:14px 5px}.job-record .operation-type{grid-column:1}.job-record .record-status{grid-column:2;grid-row:1/3}.job-record .date-line{grid-column:1}.users-layout{grid-template-columns:1fr}.user-form,.users-list-card{padding:18px}.result-top{flex-wrap:wrap}.facts{grid-template-columns:1fr 1fr}.decision-actions>.btn{flex:1;min-width:125px}.toast{left:15px;right:15px;bottom:15px}}

.load-more{margin-top:18px}

/* v3: impedir que a simulação seja confundida com execução real. */
.demo-warning{margin:0 0 22px;border:1px solid #f2c36e;border-left:5px solid #dd8c0b;border-radius:12px;padding:15px 17px;background:#fff7e8;color:#704a05;line-height:1.65;font-size:13px}
.demo-warning strong{font-weight:900;letter-spacing:.04em}
.demo-warning code{font-weight:850;background:#fcebc9;padding:2px 5px;border-radius:4px}
.status.simulated{background:#fff1cc;color:#825007;white-space:normal;text-align:center}

/* Histórico alinhado: cabeçalho e registros usam rigorosamente o mesmo grid. */
.history-table-head,.job-record{
  display:grid;
  grid-template-columns:minmax(185px,1.45fr) minmax(125px,1.15fr) minmax(105px,.9fr) minmax(125px,.9fr) minmax(155px,auto);
  gap:16px;
  align-items:center;
}
.history-table-head{
  padding:12px 15px;
  border-bottom:1px solid var(--line);
  background:#f6f9fe;
  border-radius:9px 9px 0 0;
  color:#7b8da5;
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.7px;
}
.history-list{min-width:0;}
.job-record{
  width:100%;min-width:0;min-height:76px;
  text-align:left;padding:13px 15px;
  border:0;border-bottom:1px solid var(--line);
  background:#fff;color:var(--text);
  cursor:pointer;transition:background .15s ease;
  font-size:12px;
}
.job-record:last-child{border-bottom:0;}
.job-record:hover,.job-record:focus-visible{background:#f1f6ff;}
.job-record:focus-visible{outline:2px solid var(--blue);outline-offset:-2px;}
.history-cell{display:block;min-width:0;overflow-wrap:anywhere;}
.history-identity{display:flex;flex-direction:column;justify-content:center;gap:4px;}
.history-identity .record-id{font-size:13px;font-weight:800;line-height:1.25;}
.history-identity .record-meta{font-size:11px;color:var(--muted);margin:0;}
.history-user,.date-line{color:#5b6d85;font-size:12px;}
.operation-type{font-weight:700;font-size:12px;}
.record-status{display:flex;align-items:center;justify-content:flex-start;}
.record-status .status{white-space:normal;text-align:center;line-height:1.4;max-width:100%;justify-content:center;}
.history-table-head>span:last-child{text-align:left;}
@media(max-width:900px){
 .history-table-head{display:none;}
 .job-record{
   grid-template-columns:minmax(0,1fr) minmax(120px,auto);
   gap:5px 12px;
   padding:15px 12px;
   min-height:98px;
 }
 .history-identity{grid-column:1;grid-row:1;}
 .job-record .record-status{grid-column:2;grid-row:1;justify-content:flex-end;align-self:start;}
 .operation-type{grid-column:1;grid-row:2;}
 .history-user{grid-column:1;grid-row:3;font-size:11px;}
 .history-user::before{content:'Técnico: ';color:var(--muted);font-weight:400;}
 .job-record .date-line{grid-column:2;grid-row:3;text-align:right;font-size:11px;white-space:nowrap;}
}
@media(max-width:390px){
 .history-card{padding:10px;}
 .job-record{grid-template-columns:minmax(0,1fr) minmax(88px,auto);gap:6px 8px;padding:13px 8px;}
 .record-status .status{font-size:10px;padding:5px 7px;}
 .history-identity .record-id{font-size:12px;}
}

/* v3.4 — alternância de tema. Preserva os mesmos contrastes nas telas móveis. */
.login-brand-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:52px}
.login-brand-row .brand{margin-bottom:0}
.theme-toggle{width:37px;height:37px;display:grid;place-items:center;flex:0 0 37px;
 border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--text);
 font-size:21px;line-height:1;transition:background .18s,border-color .18s}
.theme-toggle:hover{background:var(--soft);border-color:var(--blue)}
@media(max-width:690px){.login-brand-row{margin-bottom:42px}.login-brand-row .brand{margin-bottom:0}}

:root[data-theme="dark"]{
 color-scheme:dark;
 --background:#0c1423;--surface:#162236;--text:#ecf2fd;
 --muted:#a6b5cc;--line:#304059;--blue:#80adff;--blue2:#346fd9;
 --soft:#213a60;--green:#75dec0;--red:#ff909a;--orange:#f8c27d;
 --shadow:0 12px 34px rgba(0,0,0,.16);
}
[data-theme="dark"] body{background:var(--background);color:var(--text)}
[data-theme="dark"] input,[data-theme="dark"] select{
 background:#111c2e;color:var(--text);border-color:#3b4b64;
}
[data-theme="dark"] input::placeholder{color:#859bb7}
[data-theme="dark"] input:focus,[data-theme="dark"] select:focus{box-shadow:0 0 0 3px #7faeff29}
[data-theme="dark"] .login{background:var(--background)}
[data-theme="dark"] .login-art{background:linear-gradient(140deg,#0b1626,#143568)}
[data-theme="dark"] .app-header,[data-theme="dark"] .logout{background:var(--surface)}
[data-theme="dark"] .brand b{color:#93bcff}
[data-theme="dark"] .eyebrow{color:#92baff}
[data-theme="dark"] .tab{color:#a4b2c8}
[data-theme="dark"] .tab.active{color:#9cc0ff;border-color:#8ab5ff}
[data-theme="dark"] .username,[data-theme="dark"] .logout{color:#c4d1e6}
[data-theme="dark"] .mode{background:#223f62;color:#b6d6ff}
[data-theme="dark"] .mode.real{background:#4a3420;color:#ffcf98}
[data-theme="dark"] .action{background:var(--surface);color:#c1cfe2}
[data-theme="dark"] .action:hover{color:#bcd6ff;border-color:#6e9fe7}
[data-theme="dark"] .action.selected{background:#243c60;border-color:#5385d9;color:#c5dcff;box-shadow:inset 0 0 0 1px #395a89}
[data-theme="dark"] .accent-icon,[data-theme="dark"] .empty-glyph{background:#233a5c;color:#bcd5ff}
[data-theme="dark"] .target-preview,[data-theme="dark"] .result-message{background:#1b2b42}
[data-theme="dark"] .result-message{color:#d3e1f5;border-color:#669dff}
[data-theme="dark"] .empty-job p,[data-theme="dark"] .page-title p{color:var(--muted)}
[data-theme="dark"] .status.running,[data-theme="dark"] .status.queued,[data-theme="dark"] .status.waiting{background:#223f6b;color:#a9ceff}
[data-theme="dark"] .status.success{background:#174534;color:#8be7bd}
[data-theme="dark"] .status.warning{background:#49331c;color:#ffd18f}
[data-theme="dark"] .status.failed,[data-theme="dark"] .status.interrupted{background:#542b35;color:#ffabb3}
[data-theme="dark"] .status.simulated{background:#3e331f;color:#ffd88d}
[data-theme="dark"] .decision{background:#382d1c;border-color:#866839}
[data-theme="dark"] .decision-title{color:#ffd18a}
[data-theme="dark"] .decision p{color:#f5ddb3}
[data-theme="dark"] .demo-warning{background:#352918;color:#ffe1ad;border-color:#80602f}
[data-theme="dark"] .demo-warning code{background:#493b26;color:#ffe1b1}
[data-theme="dark"] .btn.outline,[data-theme="dark"] .user-row button{background:#1c2b42;border-color:#3a4b65;color:#e1eafb}
[data-theme="dark"] .btn.primary{background:#346bd4;color:#fff}
[data-theme="dark"] .btn.primary:hover{background:#437ce7}
[data-theme="dark"] .event{border-color:var(--line)}
[data-theme="dark"] .event-dot{background:#293a51;color:#c0d0e7}
[data-theme="dark"] .event.success .event-dot{background:#194b3a;color:#a3edcb}
[data-theme="dark"] .event.warning .event-dot{background:#4c381e;color:#ffd18b}
[data-theme="dark"] .event.error .event-dot{background:#552c33;color:#ffa2ab}
[data-theme="dark"] .event-info p,[data-theme="dark"] .full-line{color:#b9cbe2}
[data-theme="dark"] .event-time time{color:#a5b6cd}
[data-theme="dark"] .fact label{color:#b3c1d5}
[data-theme="dark"] .record-row strong{color:#a5ccff}
[data-theme="dark"] .record-row small{color:#b6c3d5}
[data-theme="dark"] .record-index{color:#b3c2d6}
[data-theme="dark"] .history-table-head{background:#1d2d44;color:#bacce6}
[data-theme="dark"] .job-record{background:var(--surface);color:var(--text)}
[data-theme="dark"] .job-record:hover,[data-theme="dark"] .job-record:focus-visible{background:#223755}
[data-theme="dark"] .history-user,[data-theme="dark"] .date-line{color:#b6c8e1}
[data-theme="dark"] .record-meta{color:#a6bad4}
[data-theme="dark"] .user-row button{background:#1e3047;color:#d2def2}
[data-theme="dark"] .user-row .inactive{color:#ffb6bf}
[data-theme="dark"] .raw-box{background:#08111f;color:#d8e6fa;border:1px solid #23334b}
[data-theme="dark"] .toast{background:#2c4160;color:#fff}
[data-theme="dark"] .theme-toggle{background:#1b2c43;border-color:#40546f;color:#ffd88a}
[data-theme="dark"] .theme-toggle:hover{background:#294364}

/* Acesso à instalação para quem decidiu continuar pelo navegador. */
.install-link{display:none;text-decoration:none;color:var(--blue);font-size:12px;font-weight:800;white-space:nowrap}
@media(max-width:820px) and (pointer:coarse){.install-link{display:inline-flex;align-items:center;min-height:32px}}
@media(display-mode:standalone){.install-link{display:none!important}}

/* v3.8: botão direto de PWA e telefone opcional */
button.install-link{background:transparent;border:0;cursor:pointer;padding:4px 0;font:inherit;font-weight:800;font-size:12px;color:var(--blue)}
button.install-link[hidden]{display:none!important}
[data-theme="dark"] button.install-link{color:#9cbfff}
.user-info small{overflow-wrap:anywhere}
.user-form input[type="tel"]{width:100%}

/* Instalador junto da navegação no celular; não sobrepõe abas. */
.install-nav{display:none!important}
@media(max-width:690px){
 .header-user .install-link{display:none!important}
 .tabs{gap:clamp(5px,2vw,12px);justify-content:space-between}
 .tabs .tab{font-size:12px;padding-left:1px;padding-right:1px}
 .tabs button.install-nav{display:inline-flex!important;min-width:0;align-items:center;white-space:nowrap;font-size:11px}
 .tabs button.install-nav[hidden]{display:none!important}
 .login-brand-row{flex-wrap:wrap}
}
@media(display-mode:standalone){.tabs button.install-nav{display:none!important}}

/* v4.1: coluna do login com altura DEFINIDA, evitando o recálculo da grade
   durante o carregamento. O flex centraliza o formulário no seu painel, sem
   depender de min-height e de trilhas implícitas do grid. */
html { overflow-y:scroll; scrollbar-gutter:stable; }
body { min-height:100%; }
body.app-loading #login-view { visibility:hidden; }
.login {
 width:100%;
 min-height:100svh;
 height:100vh; /* fallback para browsers mais antigos */
 height:100svh; /* estável mesmo quando a barra do celular aparece */
 grid-template-columns:minmax(0,1fr) minmax(0,1fr);
 grid-template-rows:minmax(0,1fr);
 overflow:hidden;
}
.login-art, .login-form-wrap { min-width:0; min-height:0; }
.login-form-wrap {
 display:flex;
 align-items:center;
 justify-content:center;
 height:100%;
 padding:26px;
 overflow-y:auto; /* telas baixas: scroll INTERNO, sem mover a coluna */
 overscroll-behavior:contain;
}
.login-box { flex:0 1 390px; width:100%; max-width:390px; margin:0 auto; }
@media (max-width:690px) {
 .login { grid-template-columns:minmax(0,1fr); }
 .login-form-wrap { height:100%; min-height:0; padding:24px 20px; }
}

/* Histórico de avisos: exclusivo do administrador. */
.admin-alerts{padding:22px;margin-bottom:18px}
.alerts-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px;flex-wrap:wrap}
.alerts-title h2{margin:6px 0 0}
.removal-alert{display:flex;gap:12px;align-items:start;border-top:1px solid var(--line);padding:15px 0;min-width:0}
.alert-severity{flex-shrink:0;font-size:10px;font-weight:850;letter-spacing:.04em;border-radius:7px;padding:6px 8px;background:var(--soft);color:var(--blue)}
.removal-alert.temporario .alert-severity{background:#fff0d7;color:#996012}
.removal-alert.permanente .alert-severity{background:#ffe8ea;color:#bb3541}
.removal-alert-body{flex:1;min-width:0}
.removal-alert-body strong{font-weight:800}
.removal-alert-body p{font-size:12px;margin:5px 0;overflow-wrap:anywhere}
.removal-alert-body small{display:block;font-size:11px;overflow-wrap:anywhere}
.user-buttons{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.user-buttons .user-delete{border-color:#dc929b;color:#ba3146}
.user-buttons .user-unlock{border-color:#b7a4e2;color:#7652bf}
.locked-note{font-weight:800;color:#c43b4d!important}
@media(max-width:690px){.removal-alert{flex-wrap:wrap}.removal-alert .text-btn{margin-left:auto}.user-buttons{width:100%;justify-content:flex-start}}
[data-theme="dark"] .removal-alert.temporario .alert-severity{background:#51391d;color:#ffcf89}
[data-theme="dark"] .removal-alert.permanente .alert-severity{background:#592a39;color:#ffc3cf}
[data-theme="dark"] .user-buttons .user-delete{color:#ffb9c3;border-color:#9e5460}
[data-theme="dark"] .user-buttons .user-unlock{color:#c6afff;border-color:#6c598c}

.team-editor{flex:1 0 100%;display:flex;align-items:end;gap:10px;padding:12px 0 4px}
.team-editor label{flex:1;font-size:12px;margin:0;max-width:500px}
.team-editor label input{margin-top:6px}
.team-editor button{border:1px solid var(--blue);background:var(--soft);border-radius:9px;min-height:44px;color:var(--blue);font-weight:760;padding:0 12px}
@media(max-width:690px){.team-editor{flex-wrap:wrap}.team-editor label{flex:1 0 100%}}

/* v4.2 – Turnstile integrado sem movimentar a centralização do login. */
.captcha-area{min-height:90px;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:4px;margin:12px 0 5px;min-width:0}
#turnstile-widget{width:100%;min-height:65px;overflow:hidden}
#turnstile-widget iframe{max-width:100%}
#captcha-message{display:block;min-height:15px;font-size:11px;color:var(--muted);line-height:1.3}
@media(max-width:390px){.captcha-area{margin:8px 0 4px}}
