/* Faxineii — visual azul e verde */
:root {
  --blue: #0a57d8;
  --blue-dark: #0a2e66;
  --blue-soft: #eaf3ff;
  --green: #12b85a;
  --green-dark: #087b3b;
  --green-soft: #eaf8e8;
  --mint: #eef9ed;
  --cream: #f3f7fc;
  --surface: #ffffff;
  --ink: #152333;
  --muted: #66788b;
  --line: #d9e4ef;
  --amber: #ee9b18;
  --red: #d84646;
  --shadow: 0 14px 38px rgba(26, 69, 118, .09);
}

html { background: #f3f7fc; }
body {
  background:
    radial-gradient(circle at 8% 12%, rgba(11,99,230,.08), transparent 25rem),
    radial-gradient(circle at 92% 88%, rgba(48,182,40,.07), transparent 22rem),
    #f3f7fc;
}
button { -webkit-tap-highlight-color: transparent; }
button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible {
  outline: 3px solid rgba(11,99,230,.2);
  outline-offset: 2px;
}
.app-shell { background: #fff; box-shadow: 0 0 55px rgba(34,76,122,.1); }
.topbar {
  padding: max(11px, env(safe-area-inset-top)) 18px 10px;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid #e3edf5;
  box-shadow: 0 5px 20px rgba(30,71,117,.05);
}
.brand-logo { width: 138px; height: 49px; border-radius: 0; }
.brand small { color: var(--blue-dark); font-size: .72rem; font-weight: 750; }
.header-actions { gap: 7px; }
.cloud-status { display:inline-flex; align-items:center; gap:5px; padding:7px 9px; border-radius:999px; background:#eef5ff; color:#48647f; font-size:.7rem; font-weight:800; white-space:nowrap; }
.cloud-status i { width:7px; height:7px; border-radius:50%; background:#8aa0b4; }
.cloud-status.online { background:#eaf9e7; color:#227a26; }.cloud-status.online i { background:#30b628; }
.cloud-status.syncing { background:#eef5ff; color:#0b63e6; }.cloud-status.syncing i { background:#0b63e6; animation:cloudPulse 1s infinite; }
.cloud-status.offline { background:#fff1ea; color:#ad4b20; }.cloud-status.offline i { background:#e06a36; }
@keyframes cloudPulse { 50% { opacity:.35; } }
.avatar, .header-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid #d9e7f6;
  border-radius: 50%;
  color: var(--blue);
  background: #f5f9ff;
  font-size: 1.05rem;
}
.header-icon i {
  position: absolute;
  top: -3px;
  right: -2px;
  display: grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border: 2px solid white;
  border-radius: 999px;
  color: white;
  background: var(--green);
  font-size: .6rem;
  font-style: normal;
  font-weight: 900;
}
.topbar #install-button { border-color: #cfe0f5; color: var(--blue); }
.header-menu { top: 72px; border-color: #d9e7f4; box-shadow: 0 24px 60px rgba(19,55,98,.2); }
.header-menu-title > span, .header-menu > button > span { color: var(--blue); background: var(--blue-soft); }
.header-menu > button:hover { background: #f2f7fd; }
main { padding: 20px 18px 30px; }
h1 { color: var(--ink); font-weight: 820; letter-spacing: -.045em; }
h2 { color: var(--ink); }
.eyebrow { color: var(--blue); letter-spacing: .055em; }
.button {
  min-height: 44px;
  border-radius: 13px;
  background: linear-gradient(135deg, #1671ef, #0759d5);
  box-shadow: 0 7px 18px rgba(11,99,230,.18);
}
.button.secondary { border-color: #cfe0f1; color: var(--blue-dark); box-shadow: none; }
.button.danger { background: var(--red); box-shadow: none; }
.button.success { background: linear-gradient(135deg, #35bc2e, #24a61f); box-shadow: 0 8px 20px rgba(48,182,40,.2); }
.outline-button { width: 100%; margin-top: 9px; border: 1.5px solid var(--blue); color: var(--blue); background: white; box-shadow: none; }
.back-button { margin-bottom: 16px; color: var(--blue); background: var(--blue-soft); }

/* Login */
.login-topbar { box-shadow: none; }
.login-screen {
  width: min(100%, 500px);
  margin: 0 auto;
  padding: 12px 18px 36px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  text-align: center;
}
.login-brand { display: grid; place-items: center; min-height: 126px; }
.login-brand img { width: 190px; height: 120px; object-fit: contain; }
.secure-label { display: inline-flex; align-items: center; gap: 7px; margin: 2px 0 15px; color: var(--blue); font-weight: 760; }
.login-screen h1 { font-size: clamp(2.05rem, 8vw, 3rem); }
.login-subtitle { max-width: 350px; margin: 12px auto 27px; color: var(--muted); font-size: 1.02rem; }
.login-field { margin: 15px 0; text-align: left; }
.login-field > label { display: block; margin: 0 0 7px 4px; color: var(--ink); font-weight: 780; }
.input-shell {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  align-items: center;
  min-height: 58px;
  padding: 0 13px;
  border: 1.5px solid #ccdae8;
  border-radius: 15px;
  background: white;
  transition: border .18s ease, box-shadow .18s ease;
}
.input-shell:focus-within { border-color: var(--blue); box-shadow: 0 0 0 4px rgba(11,99,230,.08); }
.input-shell > span { color: #8292a2; font-size: 1.25rem; }
.input-shell input { width: 100%; min-width: 0; padding: 16px 4px; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 1rem; }
.input-shell button { width: 40px; height: 40px; border: 0; color: #75879a; background: transparent; font-size: 1.1rem; }
.login-button { width: 100%; min-height: 58px; margin-top: 20px; font-size: 1.06rem; }
.text-button { margin: 17px auto 22px; padding: 8px; border: 0; color: var(--blue); background: transparent; font-weight: 760; }
.keep-connected { display:flex; align-items:center; gap:9px; width:100%; margin:12px 0 2px; color:var(--muted); font-size:.88rem; text-align:left; }
.keep-connected input,.toggle-field input { width:20px; height:20px; accent-color:var(--blue); }
.access-types { padding: 19px; border: 1px solid #d9e4ef; border-radius: 21px; background: #fff; box-shadow: var(--shadow); text-align: left; }
.access-types h2 { margin-bottom: 8px; font-size: 1.03rem; }
.access-type { display: grid; grid-template-columns: 54px 1fr; gap: 13px; align-items: center; padding: 14px 0; border-top: 1px solid #e6edf4; }
.access-type:nth-of-type(1) { border-top: 0; }
.access-icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; font-size: 1.65rem; }
.access-icon.owner { color: var(--blue); background: var(--blue-soft); }
.access-icon.employee { color: var(--green); background: var(--green-soft); }
.access-type strong, .access-type small { display: block; }
.access-type small { margin-top: 3px; color: var(--muted); line-height: 1.4; }
.test-access { margin-top: 8px; padding-top: 12px; border-top: 1px dashed #d5e1ec; color: var(--muted); font-size: .82rem; }
.test-access summary { cursor: pointer; color: var(--blue); font-weight: 750; }
.test-access p { margin: 8px 0 0; }

/* Cabeçalho das telas e clima */
.welcome-panel {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  padding: 19px;
  border: 1px solid #dbe7f2;
  border-radius: 22px;
  background:
    radial-gradient(circle at 94% 0%, rgba(48,182,40,.12), transparent 9rem),
    linear-gradient(145deg, #ffffff, #f7fbff);
  box-shadow: var(--shadow);
}
.welcome-copy h1 { margin-top: 2px; }
.welcome-copy > p:last-child { margin: 7px 0 0; color: var(--muted); }
.welcome-info { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: stretch; }
.date-time { display: flex; align-items: center; margin: 0; padding: 12px; border: 1px solid #e1eaf2; border-radius: 14px; color: #52687b; background: rgba(255,255,255,.82); font-size: .82rem; font-weight: 650; }
.weather { min-width: 128px; padding: 10px 12px; border: 1px solid #e1eaf2; border-radius: 14px; background: white; }
.weather strong { color: var(--ink); }

/* Início */
.daily-overview { margin-top: 16px; padding: 18px; border: 1px solid #dbe6f0; border-radius: 21px; background: white; box-shadow: var(--shadow); }
.card-title { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.card-title .eyebrow { margin-bottom: 3px; }
.card-title > strong { color: var(--green-dark); font-size: 1.2rem; }
.overview-body { display: grid; grid-template-columns: 132px 1fr; gap: 22px; align-items: center; margin-top: 18px; }
.progress-ring {
  display: grid;
  place-items: center;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: conic-gradient(var(--green) 0 var(--progress), #dcecff var(--progress) 360deg);
}
.progress-ring::before { content: ''; grid-area: 1/1; width: 98px; height: 98px; border-radius: 50%; background: white; }
.progress-ring > div { z-index: 1; grid-area: 1/1; text-align: center; }
.progress-ring strong, .progress-ring span { display: block; }
.progress-ring strong { font-size: 1.65rem; }
.progress-ring strong small { color: var(--muted); font-size: .8rem; }
.progress-ring span { color: var(--muted); font-size: .73rem; }
.progress-legend { display: grid; gap: 12px; }
.progress-legend p { display: grid; grid-template-columns: auto 1fr auto; gap: 8px; align-items: center; margin: 0; color: var(--muted); font-size: .85rem; }
.progress-legend strong { color: var(--ink); }
.dot { width: 9px; height: 9px; border-radius: 50%; }
.dot.done { background: var(--green); }.dot.active { background: var(--blue); }.dot.pending { background: #a7b6c5; }
.quick-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; margin: 14px 0; }
.quick-button { display: grid; grid-template-columns: 44px 1fr; gap: 10px; align-items: center; min-height: 68px; padding: 10px 13px; border: 0; border-radius: 15px; text-align: left; }
.quick-button > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: rgba(255,255,255,.85); font-size: 1.25rem; }
.quick-button strong, .quick-button small { display: block; }.quick-button small { margin-top: 3px; opacity: .78; }
.quick-button.start { color: white; background: linear-gradient(135deg,var(--blue),var(--green)); }
.quick-button.agenda { color: var(--blue-dark); background: var(--blue-soft); }
.overview-cards { margin: 12px 0 22px; }
.summary-card { border-color: #dfe8f1; text-align: center; box-shadow: 0 7px 20px rgba(35,75,119,.05); }
.summary-icon { display: grid !important; place-items: center; width: 34px; height: 34px; margin: 0 auto 8px; border-radius: 11px; font-size: 1rem !important; }
.summary-icon.blue { color: var(--blue); background: var(--blue-soft); }.summary-icon.amber { color: #bf7510; background: #fff4dd; }.summary-icon.green { color: var(--green-dark); background: var(--green-soft); }
.main-menu { grid-template-columns: repeat(3, 1fr); }
.menu-button { min-height: 135px; border: 1px solid #dce7f1; background: white !important; box-shadow: 0 8px 24px rgba(27,68,112,.06); }
.menu-button .menu-icon { color: var(--blue); background: var(--blue-soft); }
.menu-button.reports .menu-icon, .menu-button.history .menu-icon { color: var(--green-dark); background: var(--green-soft); }
.message-box, .register-form, .inline-register, .room-report, .info-panel, .about-panel, .profile-panel { border-color: #dae6f0; background: #fbfdff; box-shadow: 0 10px 28px rgba(29,70,113,.05); }

/* Tarefas */
.routine-status { display: flex; justify-content: space-between; gap: 14px; margin: 16px 0 10px; padding: 14px 16px; border: 1px solid #dbe6f0; border-radius: 16px; background: white; }
.routine-status strong, .routine-status small { display: block; }.routine-status small { margin-top: 3px; color: var(--muted); }.routine-status > span { align-self: center; color: var(--green-dark); font-weight: 780; }
.category-grid { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; }
.category-button { gap: 7px; min-width: 0; padding: 10px 4px; border: 1px solid transparent; font-size: .75rem; }
.category-button .category-icon { width: 55px; height: 55px; border-radius: 17px; font-size: 1.65rem; }
.category-button:hover, .category-button.active { border-color: #cfe0f0; background: #f8fbff; }
.task-list { gap: 11px; }
.task-card {
  width: 100%;
  grid-template-columns: 24px 48px 1fr auto;
  min-height: 78px;
  border-color: #dce6ef;
  border-radius: 17px;
  text-align: left;
  box-shadow: 0 7px 22px rgba(30,70,110,.055);
}
.task-card:hover { border-color: #b9d3ef; transform: translateY(-1px); }
.task-select { display: grid; place-items: center; width: 21px; height: 21px; border: 1.8px solid #bdcddd; border-radius: 7px; color: white; font-size: .7rem; }
.task-card.approved .task-select, .task-card.review .task-select { border-color: var(--green); background: var(--green); }
.task-card .area-icon { width: 48px; height: 48px; border-radius: 14px; background: var(--blue-soft); }
.task-name { font-size: .94rem; }
.badge { white-space: nowrap; color: #5c6d7e; background: #edf2f7; }
.badge.progress { color: var(--blue-dark); background: var(--blue-soft); }.badge.approved, .badge.review { color: var(--green-dark); background: var(--green-soft); }.badge.redo, .badge.impossible { color: #a83333; background: #ffecec; }

/* Ambiente e conclusão */
.room-heading { padding: 17px; border: 1px solid #dce6ef; border-radius: 19px; background: white; box-shadow: var(--shadow); }
.room-icon { color: var(--blue); background: var(--blue-soft); }
.progress-track { height: 8px; background: #e2ebf3; }.progress-track span { background: linear-gradient(90deg,var(--blue),var(--green)); }
.check-task { border-color: #dce6ef; box-shadow: 0 6px 18px rgba(29,67,106,.045); }
.check-icon { border-color: #b9caDA; }.check-task.checked { border-color: #a9dfa6; background: #f3fbf2; }
.room-report { padding: 20px; border-radius: 22px; }
.task-stepper { display: grid; grid-template-columns: 1fr 34px 1fr 34px 1fr; align-items: start; margin: 22px 0 10px; }
.task-stepper > i { height: 3px; margin-top: 17px; background: #d8e3ed; }
.task-stepper .step { display: grid; justify-items: center; gap: 6px; color: var(--muted); text-align: center; }
.task-stepper .step span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #dce4ec; color: #34485c; font-weight: 850; }
.task-stepper .step small { font-size: .68rem; }.task-stepper .step.done span { color: white; background: var(--green); }.task-stepper .step.current span { color: white; background: var(--blue); }
.step-help { margin: 0 0 14px; color: var(--muted); text-align: center; font-size: .82rem; }
.capture-card { display: grid; justify-items: center; gap: 6px; padding: 21px 14px; border: 1.5px dashed #82b4f2; border-radius: 18px; color: var(--muted); background: #f8fbff; text-align: center; cursor: pointer; }
.capture-card > span { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; color: var(--blue); background: var(--blue-soft); font-size: 1.7rem; }
.capture-card strong { color: var(--ink); }.capture-card small { font-size: .8rem; }.capture-card b { margin-top: 8px; padding: 9px 24px; border: 1px solid var(--blue); border-radius: 10px; color: var(--blue); background: white; font-size: .82rem; }
.photo-preview.compact { min-height: 54px; margin: 8px 0 15px; color: var(--muted); background: #f6f9fc; }
.report-button { min-height: 52px; }

/* Demais telas */
.field input, .field textarea, .field select { min-height: 48px; border-color: #ccdbe8; border-radius: 13px; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--blue); outline: 3px solid rgba(11,99,230,.08); }
.notice-avatar, .info-icon { color: var(--blue); background: var(--blue-soft); }
.notice-card, .report-card, .crud-row { border-color: #dce6ef; }
.contact-link { color: var(--blue); }
.profile-photo { background: var(--blue-soft); box-shadow: 0 13px 32px rgba(11,99,230,.16); }
.about-features span { border: 1px solid #e0eaf3; }
.empty { border-color: #cdddeb; background: #f9fbfd; }
dialog { border: 1px solid #dbe6f0; box-shadow: 0 28px 70px rgba(14,49,87,.24); }
dialog::backdrop { background: rgba(18,42,68,.48); }

/* Navegação inferior */
.bottom-nav {
  display: flex;
  gap: 2px;
  padding: 7px 8px max(8px, env(safe-area-inset-bottom));
  border-top-color: #dce7f0;
  background: rgba(255,255,255,.97);
  box-shadow: 0 -8px 24px rgba(24,62,103,.07);
}
.nav-item { flex: 1 1 0; min-width: 0; color: #6f8192; }
.nav-item span { color: #566d82; font-size: 1.15rem; }
.nav-item.active, .nav-item.active span { color: var(--blue); }
.nav-item.primary-nav { margin-top: -20px; color: var(--blue); }
.nav-item.primary-nav span { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: -1px; border: 4px solid white; border-radius: 50%; color: white; background: var(--green); box-shadow: 0 8px 20px rgba(48,182,40,.28); font-size: 1.6rem; }
#toast { background: #16283a; }

@media (min-width: 620px) {
  main { padding: 26px 28px 36px; }
  .welcome-panel { grid-template-columns: 1.25fr 1fr; align-items: center; }
  .login-screen { padding-inline: 32px; }
}

@media (max-width: 540px) {
  .brand-logo { width: 112px; height: 43px; }
  .brand small { display: block; max-width: 95px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  main { padding: 16px 14px 28px; }
  .login-screen { padding-inline: 5px; }
  .login-brand { min-height: 104px; }.login-brand img { width: 165px; height: 105px; }
  .welcome-info { grid-template-columns: 1fr; }.weather { grid-template-columns: auto 1fr; width: 100%; }
  .overview-body { grid-template-columns: 112px 1fr; gap: 14px; }.progress-ring { width: 110px; height: 110px; }.progress-ring::before { width: 82px; height: 82px; }
  .main-menu { grid-template-columns: repeat(2,1fr); }.menu-button { min-height: 126px; }
  .category-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .task-card { grid-template-columns: 22px 45px 1fr; }.task-card .badge { grid-column: 3; justify-self: start; }
  .routine-status { align-items: flex-start; flex-direction: column; }.routine-status > span { align-self: flex-start; }
  .task-stepper { grid-template-columns: 1fr 20px 1fr 20px 1fr; }
  .quick-actions { grid-template-columns: 1fr; }
  .summary-card { padding: 12px 7px; }
}

@media (max-width: 370px) {
  .brand small { display: none; }
  .header-actions { gap: 4px; }.avatar, .header-icon { width: 39px; height: 39px; }
  .overview-body { grid-template-columns: 1fr; }.progress-ring { margin: auto; }.progress-legend { width: 100%; }
  .category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Ícones modernos e áreas configuráveis */
.material-symbols-rounded { font-size:1.35em; line-height:1; vertical-align:middle; font-variation-settings:'FILL' 0,'wght' 500,'GRAD' 0,'opsz' 24; }
.inline-icon { font-size:1em; }
.category-icon .material-symbols-rounded, .area-icon .material-symbols-rounded, .room-icon .material-symbols-rounded { font-size:1.75rem; }
.register-area-name { display:flex; align-items:center; gap:9px; }.register-area-name .material-symbols-rounded { color:var(--blue); font-size:1.5rem; }
.icon-picker { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:18px; }
.icon-picker button { display:grid; place-items:center; gap:7px; min-height:88px; padding:10px; border:1px solid #dce8f3; border-radius:16px; background:#f8fbff; color:#31516d; }
.icon-picker button .material-symbols-rounded { color:var(--blue); font-size:2rem; }.icon-picker button.selected { border:2px solid var(--blue); background:var(--blue-soft); }

/* Botão principal da rotina */
.quick-button.routine-start { position:relative; grid-template-columns:52px 1fr 32px; min-height:82px; padding:14px 16px; overflow:hidden; background:linear-gradient(135deg,#0a57d8 0%,#0a76c7 48%,#12b85a 100%); box-shadow:0 14px 30px rgba(10,87,216,.24); }
.quick-button.routine-start::after { content:""; position:absolute; width:115px; height:115px; right:-45px; top:-62px; border-radius:50%; background:rgba(255,255,255,.12); }
.quick-button.routine-start > span { width:50px; height:50px; box-shadow:0 6px 15px rgba(6,104,37,.2); }.quick-button.routine-start > span .material-symbols-rounded { font-size:2rem; color:var(--blue); }
.quick-button.routine-start > b { display:grid; place-items:center; position:relative; z-index:1; }.quick-button.routine-start > b .material-symbols-rounded { font-size:1.55rem; }
.menu-button .menu-icon .material-symbols-rounded { font-size:1.75rem; }
.menu-button.chat .menu-icon, .menu-button.supplies .menu-icon { color:#0a8f73; background:#e7faf4; }

/* Materiais */
.materials-heading,.chat-heading { display:flex; align-items:center; gap:14px; margin:8px 0 18px; }.materials-heading>span,.chat-heading>span { display:grid; place-items:center; flex:0 0 58px; height:58px; border-radius:18px; color:var(--blue); background:var(--blue-soft); }.materials-heading>span .material-symbols-rounded,.chat-heading>span .material-symbols-rounded { font-size:2rem; }
.material-summary { display:grid; grid-template-columns:1fr 1fr; gap:11px; margin-bottom:14px; }.material-summary>div { display:grid; grid-template-columns:42px 1fr; align-items:center; padding:13px; border:1px solid #dce8f2; border-radius:16px; background:#fff; }.material-summary span { grid-row:1/3; color:var(--blue); }.material-summary strong { font-size:1.35rem; }.material-summary small { color:#647b8f; }.material-summary .missing span,.material-summary .missing strong { color:#d05d29; }
.material-register summary { display:flex; align-items:center; gap:7px; }.material-list { display:grid; gap:11px; margin-top:15px; }.material-card { position:relative; display:grid; grid-template-columns:52px 1fr auto; align-items:center; gap:12px; padding:14px; border:1px solid #dce8f2; border-radius:18px; background:#fff; box-shadow:0 7px 22px rgba(35,75,119,.05); }.material-card.missing { border-color:#ffcbb6; background:#fffaf7; }.material-icon { display:grid; place-items:center; width:50px; height:50px; border-radius:15px; color:var(--blue); background:var(--blue-soft); }.material-card.missing .material-icon { color:#d05623; background:#fff0e9; }.material-card h2 { margin:0 0 3px; font-size:1rem; }.material-card p,.material-card small { margin:0; color:#647b8f; }.material-card small { color:#27822d; font-weight:750; }.material-card.missing small { color:#c54f1d; }.stock-toggle { display:flex; align-items:center; gap:5px; padding:9px 11px; border:0; border-radius:12px; background:#edf9eb; color:#23812a; font-weight:800; }.stock-toggle.ok { background:#fff0e9; color:#c64f1e; }.material-actions { grid-column:2/4; justify-content:flex-end; }

/* Chat */
.chat-panel { overflow:hidden; border:1px solid #dce8f2; border-radius:20px; background:linear-gradient(180deg,#f5f9fe,#fff); box-shadow:0 12px 32px rgba(26,70,115,.08); }.chat-messages { display:flex; flex-direction:column; gap:10px; min-height:320px; max-height:56vh; overflow:auto; padding:16px; }.chat-bubble { position:relative; align-self:flex-start; width:min(84%,440px); padding:11px 38px 11px 13px; border-radius:16px 16px 16px 5px; background:#fff; box-shadow:0 5px 18px rgba(31,72,115,.08); }.chat-bubble.mine { align-self:flex-end; border-radius:16px 16px 5px 16px; background:#e9f3ff; }.chat-bubble>div { display:flex; justify-content:space-between; gap:8px; }.chat-bubble strong { color:var(--blue-dark); }.chat-bubble small { color:#788da0; font-size:.7rem; }.chat-bubble p { margin:5px 0 0; line-height:1.45; }.chat-bubble>button { position:absolute; right:7px; top:8px; border:0; background:transparent; color:#9aabba; }.chat-composer { display:grid; grid-template-columns:1fr auto; gap:9px; padding:12px; border-top:1px solid #dce8f2; background:#fff; }.chat-composer textarea { min-height:48px; resize:none; }.chat-composer .button { display:flex; align-items:center; gap:6px; }
.report-extra { margin:14px 0; padding:13px; border:1px solid #e0eaf3; border-radius:14px; background:#f8fbff; }.report-extra h3 { margin:10px 0 7px; color:var(--blue-dark); font-size:.95rem; }.report-extra h3:first-child { margin-top:0; }.report-extra p,.report-extra li { font-size:.87rem; }.report-chat p { margin:7px 0; padding-left:9px; border-left:3px solid #b8d5f7; }.report-chat small { display:block; color:#7890a4; }

@media (max-width:560px) {
  .cloud-status span { display:none; }.cloud-status { padding:8px; }
  .icon-picker { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .material-card { grid-template-columns:48px 1fr; }.stock-toggle { grid-column:1/3; justify-content:center; }.material-actions { grid-column:1/3; }
  .chat-composer { grid-template-columns:1fr; }.chat-composer .button { justify-content:center; }
}

/* Faxineii 3.0 — rotinas, filtros, notificações e estoque detalhado */
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; }
.form-grid .field { min-width:0; }
.form-grid .full,.full { grid-column:1/-1; }
.toggle-field { display:flex; align-items:center; gap:9px; margin:10px 0; color:var(--ink); font-weight:700; }
.search-box { display:flex; align-items:center; gap:8px; min-height:48px; padding:0 13px; border:1px solid #ccdbe8; border-radius:14px; background:white; color:var(--blue); }
.search-box input { width:100%; padding:13px 0; border:0; outline:0; color:var(--ink); background:transparent; }
.task-controls { display:grid; gap:10px; margin:16px 0; }
.filter-chips { display:flex; gap:7px; overflow:auto; padding:2px 0 5px; scrollbar-width:none; }
.filter-chips button { flex:0 0 auto; min-height:36px; padding:7px 12px; border:1px solid #d5e3f0; border-radius:999px; color:#526b82; background:white; font-weight:750; }
.filter-chips button.active { border-color:var(--blue); color:white; background:var(--blue); }
.badge.paused { color:#93610c; background:#fff3d4; }
.task-card.paused .task-select { border-color:#e5a426; }

.routines-heading,.notifications-heading { display:flex; align-items:center; gap:14px; margin:8px 0 18px; }
.routines-heading>span,.notifications-heading>span { display:grid; place-items:center; flex:0 0 58px; height:58px; border-radius:18px; color:var(--blue); background:var(--blue-soft); }
.routines-heading>span .material-symbols-rounded,.notifications-heading>span .material-symbols-rounded { font-size:2rem; }
.routine-register { margin-bottom:16px; }
.task-choice { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:12px 0; padding:12px; border:1px solid #dbe6f0; border-radius:15px; }
.task-choice legend { padding:0 7px; color:var(--blue-dark); font-weight:800; }
.task-choice label { display:flex; gap:9px; align-items:center; padding:9px; border:1px solid #e2eaf2; border-radius:12px; background:white; }
.task-choice input { width:20px; height:20px; accent-color:var(--blue); }
.task-choice span>small { display:block; color:var(--muted); }
.routine-list { display:grid; gap:13px; }
.routine-card { display:grid; grid-template-columns:58px 1fr auto; gap:14px; align-items:start; padding:18px; border:1px solid #d9e6f1; border-left:5px solid var(--blue); border-radius:20px; background:white; box-shadow:var(--shadow); }
.routine-card.priority-urgent { border-left-color:var(--red); }.routine-card.priority-high { border-left-color:var(--amber); }.routine-card.priority-low { border-left-color:#7da1c2; }
.routine-card-icon { display:grid; place-items:center; width:56px; height:56px; border-radius:17px; color:var(--blue); background:var(--blue-soft); }
.routine-card-icon .material-symbols-rounded { font-size:1.8rem; }
.routine-card h2 { margin:8px 0 4px; }.routine-card p { margin:0 0 10px; color:var(--muted); }
.routine-meta { display:flex; flex-wrap:wrap; gap:7px 13px; margin-bottom:9px; color:#4e687f; font-size:.8rem; }
.routine-meta span { display:flex; align-items:center; gap:4px; }.routine-meta .material-symbols-rounded { font-size:1rem; }
.routine-actions { display:grid; gap:7px; min-width:135px; }
.confirmation-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin:17px 0; }
.confirmation-grid>span { padding:12px 8px; border:1px solid #dce7f1; border-radius:14px; background:#f8fbff; text-align:center; }
.confirmation-grid strong,.confirmation-grid small { display:block; }.confirmation-grid small { margin-top:3px; color:var(--muted); }
.warning-box { display:flex; gap:7px; align-items:center; padding:12px; border-radius:13px; color:#875c0d; background:#fff5db; }
.routine-preview { display:grid; gap:7px; padding:0; list-style:none; }
.routine-preview li { display:flex; align-items:center; gap:9px; padding:9px; border-bottom:1px solid #e4ebf2; }
.routine-preview li>span>small { display:block; color:var(--muted); }
.menu-button.routines .menu-icon,.menu-button.notifications .menu-icon { color:#7356c7; background:#f0ebff; }

.notification-actions { display:flex; justify-content:flex-end; margin-bottom:12px; }
.notification-list { display:grid; gap:10px; }
.notification-card { display:grid; grid-template-columns:48px 1fr auto; gap:12px; align-items:center; padding:15px; border:1px solid #dce7f1; border-radius:17px; background:white; }
.notification-card>span { display:grid; place-items:center; width:46px; height:46px; border-radius:14px; color:var(--blue); background:var(--blue-soft); }
.notification-card p { margin:4px 0; color:var(--muted); }.notification-card small { color:#8193a4; }
.notification-card>i { padding:4px 8px; border-radius:999px; color:white; background:var(--green); font-size:.68rem; font-style:normal; font-weight:850; }
.notification-card.unread { border-color:#9dc6f7; background:#f7fbff; box-shadow:0 8px 22px rgba(10,87,216,.08); }

.check-main { grid-template-columns:34px 40px 1fr; }
.task-row-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; color:var(--blue); background:var(--blue-soft); }
.task-execution-actions { display:flex; justify-content:flex-end; }
.check-task.status-progress { border-color:#9dc6f7; }.check-task.status-paused { border-color:#f2c264; background:#fffdf7; }
.photo-pair,.report-photo-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.report-photo-pair>div>strong { display:block; text-align:center; }
.report-photo-pair .photo-preview { min-height:120px; }

.shopping-panel { margin:14px 0; padding:15px; border:1px solid #dce8f2; border-radius:18px; background:#fbfdff; }
.shopping-panel .section-head { margin:0 0 10px; }
.shopping-list { display:grid; gap:8px; }
.shopping-list>div { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px; border-radius:13px; background:white; }
.shopping-list>div>span { display:grid; grid-template-columns:32px 1fr; align-items:center; }
.shopping-list>div>span>.material-symbols-rounded { grid-row:1/3; color:var(--blue); }.shopping-list small { color:var(--muted); }
.material-card.low,.material-card.requested { border-color:#f1c779; background:#fffdf8; }.material-card.low small,.material-card.requested small { color:#a46b08; }

.chat-bubble.system { align-self:stretch; width:auto; border-radius:13px; color:#315674; background:#eef6ff; text-align:center; }
.chat-bubble.important { border:1px solid #f0bd52; box-shadow:0 6px 20px rgba(238,155,24,.14); }
.chat-tools { position:absolute; right:6px; top:5px; display:flex; }
.chat-tools button { border:0; color:#8b9cad; background:transparent; }.chat-bubble.important .chat-tools button:first-child { color:var(--amber); }
.chat-link { margin-top:8px; padding:6px 9px; border:1px solid #c7daf0; border-radius:9px; color:var(--blue); background:white; }
.report-toolbar { display:flex; align-items:end; gap:10px; margin:12px 0; }.report-toolbar .field { flex:1; margin:0; }

@media (max-width:560px) {
  .form-grid,.task-choice,.photo-pair,.report-photo-pair { grid-template-columns:1fr; }
  .routine-card { grid-template-columns:48px 1fr; }.routine-card-icon { width:48px; height:48px; }.routine-actions { grid-column:1/-1; grid-template-columns:1fr 1fr; }.routine-actions .button:first-child { grid-column:1/-1; }
  .confirmation-grid { grid-template-columns:1fr 1fr 1fr; }.confirmation-grid strong { font-size:.85rem; }
  .notification-card { grid-template-columns:44px 1fr; }.notification-card>i { grid-column:2; justify-self:start; }
  .shopping-list>div,.report-toolbar { align-items:stretch; flex-direction:column; }
}
