:root{color-scheme:dark;--bg:#030712;--panel:#0b1425;--line:#1d3049;--text:#f1f5f9;--muted:#94a3b8;--cyan:#38bdf8}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 10% 0%,#082038 0,transparent 50%),var(--bg);color:var(--text);font:15px/1.6 Inter,"Segoe UI",sans-serif;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}[hidden]{display:none!important}.topbar{height:92px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1440px)/2));gap:18px}.brand{display:flex;align-items:center;gap:12px;font-weight:650}.brand small{display:block;font-size:10px;letter-spacing:1.8px;color:var(--muted)}.mark{border:1px solid #235376;background:#092237;color:var(--cyan);border-radius:12px;padding:9px;font-size:19px}main{max-width:1488px;margin:auto;padding:28px 24px 70px;min-height:calc(100vh - 155px)}h1{font-size:32px;letter-spacing:-1px;line-height:1.25;margin:12px 0}h2{font-size:22px;line-height:1.3;margin:8px 0}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--cyan)}.muted,.footnote{color:var(--muted)}.footnote{font-size:12px;margin:15px 0 26px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px}.auth{max-width:440px;margin:44px auto;padding:36px}.auth h1{font-size:34px}.auth .primary{width:100%;margin-top:24px}.auth label{margin-top:18px}.auth .footnote{margin-bottom:0}.primary,.subtle,.edit,.delete{border-radius:8px;padding:10px 16px;font-weight:600;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary{color:#03111e;background:var(--cyan);border-color:var(--cyan)}.primary:hover{background:#7dd3fc}.subtle,.edit{background:transparent;color:var(--muted)}.subtle:hover,.edit:hover{color:#fff;border-color:var(--cyan)}.delete{background:transparent;color:#fda4af}.heading,.actions{display:flex;align-items:center;justify-content:space-between;gap:14px}.heading{margin:14px 0 30px}.heading p{margin:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stats article{padding:24px}.stats span{display:block;color:var(--muted);font-size:13px}.stats strong{display:block;font-size:30px;margin-top:8px;font-weight:600}.stats article:nth-child(2) strong{color:var(--cyan)}.stats article:nth-child(3) strong{color:#34d399}.records{overflow:hidden}.toolbar{padding:24px;display:flex;align-items:end;gap:18px;border-bottom:1px solid var(--line)}.toolbar>div:first-child{flex:1}.toolbar>div:nth-child(2){width:280px}label{display:block;font-size:13px;font-weight:600;margin-bottom:7px}input,select,textarea{background:#070e1b;border:1px solid #2a3c54;border-radius:8px;padding:11px 12px;color:var(--text);width:100%;min-width:0}input:focus,select:focus,textarea:focus{border-color:var(--cyan)}textarea{min-height:110px;resize:vertical}.empty{text-align:center;padding:60px 20px}.empty-symbol{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:16px;background:#0c2840;color:var(--cyan);font-size:25px}.empty p{margin:10px 0 24px}.table-wrap{overflow:auto;max-height:65vh}table{border-collapse:collapse;width:100%;font-size:13px}th,td{padding:17px 18px;text-align:left;border-bottom:1px solid var(--line);min-width:135px;max-width:320px}th{background:#101d31;color:#b6c7db;white-space:nowrap;position:sticky;top:0}td{vertical-align:top;white-space:pre-wrap;overflow-wrap:anywhere}td:first-child{min-width:220px;font-weight:600}td:nth-child(2){min-width:220px;color:var(--cyan)}td:nth-child(3){min-width:210px}td:nth-child(7){min-width:240px}td:last-child{min-width:190px;white-space:nowrap}.edit,.delete{padding:6px 10px;margin:0 4px 4px 0;font-size:12px}dialog{background:var(--panel);color:var(--text);border:1px solid #294561;border-radius:16px;max-width:820px;width:calc(100% - 32px);max-height:90vh;padding:28px}dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}.dialog-heading,.dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.dialog-footer{justify-content:flex-end;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.wide{grid-column:1/-1}#message:not(:empty),#formError:not(:empty){padding:12px 16px;border:1px solid #395775;border-radius:8px;background:#10213a}#formError{color:#fda4af}footer{text-align:center;color:var(--muted);font-size:12px;border-top:1px solid var(--line);padding:20px}@media(max-width:760px){.topbar{height:80px;padding:0 16px}.topbar .subtle{font-size:12px;padding:8px}main{padding:20px 16px 40px}.heading{align-items:flex-start;flex-direction:column}.actions{flex-wrap:wrap}.stats{grid-template-columns:1fr;gap:10px}.stats article{padding:16px;display:flex;align-items:center;justify-content:space-between}.stats strong{font-size:24px;margin:0}.toolbar{flex-direction:column;align-items:stretch;padding:16px}.toolbar>div:nth-child(2){width:100%}.form-grid{grid-template-columns:1fr}.auth{padding:26px;margin:24px auto}h1{font-size:28px}dialog{padding:20px}}
/* Grupos de acesso e gestão de convidados */
.heading{flex-wrap:wrap}.heading .actions{flex-wrap:wrap;justify-content:flex-end}.guest-view .stats{grid-template-columns:1fr}.guest-view .stats article:not(:first-child),.guest-view>.footnote{display:none}.users-list{display:grid;gap:16px;margin-top:20px}.user-card{padding:18px;border:1px solid var(--line);border-radius:10px;overflow-wrap:anywhere}.user-card p{margin:8px 0 14px}#guestForm>label,#profileForm>label{margin-top:18px}.check-row{display:flex;align-items:flex-start;gap:12px;margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:8px}.check-row input{width:18px;min-width:18px;margin-top:5px}.check-row span{overflow-wrap:anywhere}.permission-list{max-height:280px;overflow:auto;margin-top:12px}fieldset{border:1px solid var(--line);border-radius:10px;margin:20px 0 0;padding:16px}legend{padding:0 8px;font-weight:600}#guestError,#profileError{color:#fda4af}#userLabel{overflow-wrap:anywhere;max-width:100%}@media(max-width:760px){.heading .actions{justify-content:flex-start}.check-row{font-size:13px}fieldset{padding:10px}}
.guest-view .stats{margin-bottom:24px}

.norte-logo{width:104px;height:42px;object-fit:contain}.topbar .brand{min-width:0}@media(max-width:600px){.topbar .norte-logo{width:66px;height:30px}.topbar .brand{gap:7px;font-size:11px}.topbar .brand small{font-size:8px;letter-spacing:.5px}}
/* Webmail corporativo e Recuperação de senha */
.webmail-nav-btn{display:inline-flex;align-items:center;gap:7px;border-color:#2a4563;color:var(--cyan);background:rgba(56,189,248,0.06)}
.webmail-nav-btn:hover{background:rgba(56,189,248,0.15);border-color:var(--cyan);color:#fff}
.webmail-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;margin:20px 0 28px;background:linear-gradient(135deg,rgba(11,20,37,0.95),rgba(14,35,62,0.85));border:1px solid #1f3a58}
.webmail-card-content{display:flex;align-items:center;gap:18px;min-width:0}
.webmail-badge-icon{width:46px;height:46px;border-radius:12px;background:#0c2840;border:1px solid #235376;display:grid;place-items:center;color:var(--cyan);flex-shrink:0}
.webmail-text{min-width:0}
.webmail-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.webmail-title-row strong{font-size:16px;color:#f8fafc}
.webmail-tag{font-size:11px;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;padding:2px 8px;border-radius:6px;background:rgba(56,189,248,0.15);color:var(--cyan);border:1px solid rgba(56,189,248,0.3)}
.webmail-text p{margin:4px 0 0;font-size:13px}
.webmail-text code{background:#070e1b;padding:2px 6px;border-radius:4px;border:1px solid #1e324a;color:var(--cyan);font-size:12px}
.webmail-open-btn{white-space:nowrap;flex-shrink:0}
.auth-aux-row{display:flex;justify-content:flex-end;margin-top:10px;margin-bottom:6px}
.auth-link{background:none;border:none;color:var(--cyan);font-size:13px;font-weight:500;cursor:pointer;padding:4px 0;text-decoration:underline;text-underline-offset:3px}
.auth-link:hover{color:#7dd3fc;text-decoration:none}
#forgotError,#resetError{font-size:13px;color:#fda4af;margin-top:12px}
#forgotError:not(:empty),#resetError:not(:empty){padding:10px 14px;border:1px solid #7f1d1d;border-radius:8px;background:rgba(127,29,29,0.25)}
@media(max-width:760px){
  .webmail-card{flex-direction:column;align-items:stretch;padding:18px;gap:14px}
  .webmail-open-btn{width:100%;text-align:center}
}

/* Campo de data de homologação com opção de data do dia ou outra data */
.field-homologacao{display:flex;flex-direction:column}
.field-header-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;flex-wrap:wrap}
.check-inline{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--cyan);cursor:pointer;user-select:none;background:rgba(56,189,248,0.08);padding:3px 8px;border-radius:6px;border:1px solid rgba(56,189,248,0.25);transition:all .15s ease}
.check-inline:hover{background:rgba(56,189,248,0.18);border-color:var(--cyan);color:#fff}
.check-inline input[type="checkbox"]{width:14px;height:14px;margin:0;cursor:pointer;accent-color:var(--cyan)}
.input-locked{background:#08111e!important;border-color:#1f364f!important;color:#94a3b8!important;cursor:default!important}
.field-hint{display:block;font-size:11px;color:var(--muted);margin-top:5px;line-height:1.4}
