@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap");
:root{
  --primary:#075cff; --primary-2:#5a2cff; --accent:#ff2fb3;
  --text:#0b1220; --muted:#667085; --bg:#f6f8ff; --border:#e8ecf5;
  --success:#12b76a; --danger:#b42318; --warning:#b54708;
  --radius:16px; --radius-lg:24px;
  font-family:Inter,ui-sans-serif,system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);overflow-x:hidden;line-height:1.5}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
.container{width:min(1160px,calc(100% - 32px));margin:auto}

.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:900;color:var(--primary);text-transform:uppercase}
h1,h2,h3{letter-spacing:-.03em;margin:0 0 10px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:13px 20px;font-weight:800;cursor:pointer;transition:transform .2s,box-shadow .2s,filter .2s;font-size:14px}
.btn:hover{transform:translateY(-2px)}
.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 12px 28px #075cff30}
.btn-outline{background:#fff;border:1px solid var(--border);box-shadow:0 8px 20px #182b5b0a}
.btn-light{background:#fff;color:var(--text)}
.btn-danger{background:#fef3f2;color:var(--danger);border:1px solid #fecdca}
.btn-block{width:100%}
.btn-sm{padding:8px 12px;font-size:12px;border-radius:10px}

.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:0 8px 24px #182b5b08}
.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:#ecfdf3;color:#067647;font-size:12px;font-weight:800}
.badge-teste{background:#eef2ff;color:#3538cd}
.badge-pendente{background:#fffaeb;color:#b54708}
.badge-ativa{background:#ecfdf3;color:#027a48}
.badge-bloqueada,.badge-expirada,.badge-rejeitado{background:#fef3f2;color:#b42318}
.badge-aprovado,.badge-aprovada{background:#ecfdf3;color:#027a48}
.badge-cancelada,.badge-cancelado{background:#fffaeb;color:#b54708}
.badge-novo{background:#eef2ff;color:#3538cd}
.badge-confirmado{background:#fff7ed;color:#c2410c}
.badge-preparando{background:#fefce8;color:#a16207}
.badge-pronto{background:#ecfdf3;color:#027a48}
.badge-entregue{background:#f0fdf4;color:#15803d}

.field{display:block}
.field label{display:block;font-size:13px;font-weight:750;margin-bottom:6px}
.field input,.field textarea,.field select{width:100%;padding:12px;border:1px solid var(--border);border-radius:12px;outline:0;background:#fff;transition:.15s}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--primary);box-shadow:0 0 0 4px #075cff1a}
.field.full{grid-column:1/-1}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:640px){.form-grid{grid-template-columns:1fr}}

.modal{position:fixed;inset:0;background:#0007;display:none;align-items:center;justify-content:center;padding:16px;z-index:200}
.modal.show{display:flex}
.modal-card{width:min(640px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:var(--radius-lg);padding:24px}

#bisno-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:400;display:flex;flex-direction:column;gap:8px;align-items:center;width:min(420px,92vw)}
.bisno-toast-item{background:#0b1220;color:#fff;padding:13px 18px;border-radius:12px;font-size:14px;font-weight:700;opacity:0;transform:translateY(10px);transition:.25s;box-shadow:0 10px 30px #0004}
.bisno-toast-item.show{opacity:1;transform:translateY(0)}
.bisno-toast-item.error{background:#b42318}
.bisno-toast-item.success{background:#067647}

.empty{padding:40px 16px;text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center}

.notif-explain{display:flex;gap:14px;align-items:flex-start;background:#eff4ff;border:1px solid #d7e4ff;border-radius:16px;padding:16px}
.notif-explain .actions{display:flex;gap:8px;margin-top:10px}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.field label .field-label-icon{width:14px;height:14px;display:inline-block;vertical-align:-2px;margin-right:6px;color:#20bf78;stroke-width:2.2;flex:none}


/* Inputs consistentes, acessíveis e responsivos em todas as páginas */
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), textarea, select) {
  min-height: 46px; max-width: 100%; border: 1px solid var(--border);
  border-radius: 13px; padding: 11px 14px; background: #fff; color: var(--text);
  box-shadow: 0 1px 2px #10182808; transition: border-color .18s, box-shadow .18s, background .18s;
}
:where(input,textarea,select,button,a,[tabindex]):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--primary) 28%, transparent); outline-offset: 2px;
}
:where(input,textarea,select):hover { border-color: #b9c8e5; }
:where(textarea) { min-height: 100px; resize: vertical; }
:where(input[type="file"]) { width: 100%; max-width: 100%; padding: 10px; border: 1px dashed #b8c5da; border-radius: 13px; background: #f8faff; color: var(--muted); }
:where(input[type="checkbox"],input[type="radio"]) { accent-color: var(--primary); width: 17px; height: 17px; }
::placeholder { color: #98a2b3; opacity: 1; }
:where(button, .btn, .upload-mini, .settings-upload label) { -webkit-tap-highlight-color: transparent; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
/* Tema escuro */
:root[data-theme="dark"] { color-scheme: dark; --text:#edf2ff; --muted:#a7b2c6; --bg:#0b1120; --border:#29354a; }
:root[data-theme="dark"] body { background:var(--bg); color:var(--text); }
:root[data-theme="dark"] :is(.panel,.card,.stat,.modal-card,.settings-home-card,.product-preview-card,.bell-btn,.btn-outline,.mini-btn) { background:#121c2e; color:var(--text); border-color:var(--border); }
:root[data-theme="dark"] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea,select) { background:#0e1728; color:var(--text); border-color:var(--border); }
:root[data-theme="dark"] :is(th,td) { border-color:var(--border); }
:root[data-theme="dark"] tr:hover td { background:#172338; }
:root[data-theme="dark"] .icon-btn { background:#172338; color:var(--text); }
:root[data-theme="dark"] .field-note, :root[data-theme="dark"] .settings-heading p { color:var(--muted); }
