[hidden]{display:none!important}
body:has(dialog[open]){overflow:hidden}
#pending:not(:empty),#page-error:not(:empty){margin:20px 44px 0;padding:16px;border:1px solid var(--amber);background:var(--amber-bg);border-radius:var(--radius)}
#pending button{margin-left:14px}.dialog-body .error{margin-bottom:20px}.form-grid label{min-width:0}.quantity-line{display:grid;grid-template-columns:1fr 100px;gap:12px}
@media(max-width:700px){#pending:not(:empty),#page-error:not(:empty){margin:15px 20px 0}.quantity-line{grid-template-columns:minmax(0,1fr) 90px}.topbar #logout{color:var(--paper)}}
[hidden]{display:none!important}

/* Login follows the previous Sitos two-column layout; workspace rules stay scoped. */
body.is-login > .sidebar,
body.is-login > .mobile-nav,
body.is-login .workspace > .topbar,
body.is-login .workspace > .page-footer { display:none!important; }
body.is-login .workspace { margin-left:0; }
body.is-login #content { padding:0; max-width:none; animation:none; }
body.is-login .login-page {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  min-height:100dvh; background:var(--paper);
}
.login-page .login-panel {
  display:flex; flex-direction:column; align-items:stretch; justify-content:center;
  min-width:0; min-height:100dvh; padding:64px clamp(32px,5vw,80px);
  width:auto; max-width:none; margin:0; border:0; border-radius:0; background:var(--paper);
}
.login-brand,.login-form-card,.login-footer { width:100%; max-width:400px; margin-inline:auto; }
.login-brand { margin-bottom:40px; }
.login-brand img { display:block; width:184px; height:auto; }
.login-form-card h1 { margin:0; font-size:32px; line-height:1.2; font-weight:600; letter-spacing:-.8px; }
.login-form-card > p { margin:8px 0 32px; font-size:15px; line-height:1.6; color:var(--muted); }
.login-page .login-field { display:flex; flex-direction:column; gap:8px; margin:0 0 24px; }
.login-page .login-field > label { margin:0; }
.login-page .login-field,.login-page .login-field > label { font-size:13px; color:var(--ink); font-weight:600; }
.login-page input { width:100%; min-height:48px; font-size:16px; font-weight:400; background:var(--paper); border:1px solid #8c8580; }
.login-page input::placeholder { color:var(--muted); }
.password-control { position:relative; }
.password-control input { padding-right:88px; }
.login-page .password-toggle {
  position:absolute; right:4px; top:4px; width:78px; min-height:40px;
  padding:8px; border:0; background:transparent; color:var(--muted); font-size:12px; font-weight:400;
}
.login-page .password-toggle:hover { background:#e9e5e1; color:var(--ink); }
.login-page .login-submit { width:100%; min-height:48px; justify-content:flex-start; font-size:14px; padding:12px 16px; }
.login-help { display:flex; align-items:flex-start; gap:10px; padding-top:24px; margin-top:24px; border-top:1px solid var(--line); color:var(--muted); }
.login-help svg { width:16px; height:16px; flex-shrink:0; margin-top:3px; }
.login-help p { margin:0; font-size:13px; line-height:1.8; color:var(--muted); }
.login-help strong { font-weight:600; }
.login-footer { margin-top:48px; font-size:12px; line-height:1.6; color:var(--muted); }
.login-story { display:flex; flex-direction:column; justify-content:center; gap:32px; min-width:0; padding:64px clamp(32px,5vw,80px); background:var(--ink); color:var(--paper); }
.login-story-intro,.login-story-routines,.login-story-closing { width:100%; max-width:560px; margin-inline:auto; }
.login-story-kicker { margin:0 0 24px; font-size:14px; line-height:1.6; color:#d8d2cd; }
.login-story h2 { margin:0; font-size:clamp(64px,7.8vw,112px); line-height:.95; letter-spacing:-.035em; font-weight:700; color:var(--paper); }
.login-story-lead { max-width:36ch; margin:24px 0 0; font-size:18px; line-height:1.6; color:#d8d2cd; }
.login-story-routines { list-style:none; padding:0; margin-block:0; }
.login-story-routines li { display:flex; align-items:flex-start; gap:16px; padding:20px 0; border-top:1px solid #77706a; }
.login-story-routines svg { margin-top:2px; flex-shrink:0; }
.login-story-routines h3 { margin:0 0 4px; font-size:16px; font-weight:600; letter-spacing:0; color:var(--paper); }
.login-feature-next { display:inline-block; vertical-align:middle; margin-left:8px; border:1px solid #827a74; border-radius:4px; padding:2px 6px; color:#d8d2cd; font-size:10px; font-weight:400; line-height:1.5; white-space:nowrap; }
.login-story-routines p { margin:0; font-size:14px; line-height:1.6; color:#d8d2cd; }
.login-story-closing { padding-top:8px; margin-block:0; font-size:13px; color:#d8d2cd; }
#login-error:not(:empty) { margin:0 0 20px; padding:12px 14px; border:1px solid var(--red); border-radius:var(--radius); color:var(--red); font-size:14px; }
.forgot-password,.auth-back { display:block; width:fit-content; padding:10px 0; margin-top:8px; color:var(--muted); font-size:13px; text-decoration:underline; text-underline-offset:4px; min-height:44px; }
.forgot-password { margin-left:auto; }
.auth-back { margin-top:20px; }
.login-form-card .recovery-note { font-size:13px; line-height:1.7; color:var(--muted); margin-top:20px; }
#recovery-error:not(:empty) { margin:0 0 20px; padding:12px 14px; border:1px solid var(--red); border-radius:var(--radius); color:var(--red); font-size:14px; }
@media(max-width:760px) {
  body.is-login .login-page { grid-template-columns:minmax(0,1fr); }
  .login-page .login-panel { min-height:100dvh; padding:40px 24px; }
  .login-brand { margin-bottom:32px; }
  .login-footer { margin-top:32px; }
  .login-story { padding:40px 24px; gap:28px; }
  .login-story h2 { font-size:72px; }
  .login-story-lead { font-size:16px; }
}

/* Minha conta uses the existing sidebar and form vocabulary. */
.account-entry{display:flex;align-items:center;gap:12px;width:100%;color:inherit;text-decoration:none;border-radius:4px;padding:4px 0}
.account-entry:hover{color:#fff}.account-entry:focus-visible{outline:2px solid #fff;outline-offset:5px}
.account-entry-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.account-entry-copy strong{font-size:15px}.account-entry-copy>span{font-size:12px;color:#c6c2bd;overflow-wrap:anywhere}
.account-entry>svg{width:20px;height:20px;flex-shrink:0}.account-entry[aria-current="page"]{color:#fff}
form[id^="account-"] .password-control{display:flex;align-items:center;gap:12px}
form[id^="account-"] .password-control input{flex:0 1 auto;min-width:0}
form[id^="account-"] .password-toggle{flex:0 0 auto}
#certificate-alert:not(:empty){padding:24px 44px 0}
.certificate-warning{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.certificate-warning>div{flex:1;min-width:180px}
.certificate-warning.error,.notice[data-account-certificate-alert].error{color:var(--sitos-cor-perigo);background:var(--sitos-cor-perigo-fundo)}
.account-file-picker{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:116px;padding:16px;border:1px solid #8c8580;border-radius:var(--radius);background:var(--white);text-align:center;cursor:pointer}
.account-file-picker input[type="file"]{position:absolute;inset:0;width:100%;height:100%;min-height:0;opacity:0;cursor:pointer}
.account-file-picker:focus-within{outline:3px solid var(--red);outline-offset:4px}
.account-file-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);font-weight:600}
#account-certificate-file-name{font-size:13px;font-weight:400;overflow-wrap:anywhere;max-width:100%}
@media(max-width:760px){#certificate-alert:not(:empty){padding:20px 24px 0}}
#mobile-nav{grid-template-columns:repeat(var(--visible-nav-items,6),minmax(0,1fr))}
[aria-disabled="true"]{cursor:not-allowed}

/* Product fields keep their own height when a neighbour has helper text. */
#products-catalog-form .form-grid > label:not(.checkbox){display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:7px}
#products-catalog-form .form-grid > label > input:not([type="checkbox"]),
#products-catalog-form .form-grid > label > select{width:100%;height:52px;min-height:52px;flex:none}
#products-catalog-form .form-grid > label > textarea{width:100%;min-height:104px;resize:vertical}

.nfe-panel .panel-head,.nfe-status .panel-head{align-items:flex-start;flex-wrap:wrap}
.nfe-status .list-clean strong{overflow-wrap:anywhere;text-align:right}
#nfe-config-form .form-grid>label{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}
#nfe-config-form input:not([type="checkbox"]),#nfe-config-form select{width:100%;height:52px}
#nfe-config-form>.checkbox{margin-block:16px}
@media(max-width:700px){.nfe-status .list-clean li{align-items:flex-start;gap:12px;flex-wrap:wrap}.nfe-status .list-clean strong{text-align:left}}

.nfe-documents .panel-head{align-items:flex-start;flex-wrap:wrap}
.nfe-documents .hint,.nfe-documents h3,.nfe-status .error{overflow-wrap:anywhere}
