/* Dora booking workbench - independente de qualquer CSS proprietario da Toki. */
.bk-layout { display:grid; grid-template-columns:minmax(198px,250px) minmax(300px,1fr) minmax(265px,340px);
  min-height:calc(100dvh - 40px); color:var(--tinta); gap:clamp(18px,2.1vw,34px); width:100%;
}
/* Sem painel de detalhes, a lista de reservas ocupa toda a area restante. */
.bk-layout--reservations { grid-template-columns:minmax(198px,250px) minmax(0,1fr); }
.bk-sidebar { border-right:1px solid var(--linha); padding:22px 16px 22px 0; }
.bk-sidebar__top a { font-size:13px; color:var(--tinta-2); text-decoration:none; }
.bk-sidebar__top h1 { font:700 16px var(--fonte-titulo); margin:22px 0 12px; }
.bk-sidebar__group { display:flex; align-items:center; justify-content:space-between; margin:25px 0 10px; gap:8px; }
.bk-sidebar__group h2 { margin:0; font-size:13px; font-weight:600; color:var(--tinta-2); }
.bk-add { width:32px;height:32px;display:grid;place-items:center; border:1px solid var(--linha);border-radius:10px;
 background:var(--ameixa);color:var(--tinta);cursor:pointer;font-size:20px;line-height:1; }
.bk-add:hover,.bk-nav-item:hover { background:var(--ameixa-2); }
.bk-nav-item { display:flex;align-items:center;gap:8px;width:100%;border:0;border-radius:12px;padding:13px 11px;
 background:transparent;color:var(--tinta);font-size:13px;text-align:left;cursor:pointer; }
.bk-nav-item.is-selected {background:var(--ameixa-2);font-weight:650;}
.bk-nav-item>span:last-child:not(.bk-link__body) {font-weight:400;color:var(--tinta-2);font-size:11px;margin-left:auto;white-space:nowrap;}
.bk-link-list {display:grid;gap:4px;}
.bk-link__dot { flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--tinta-2);opacity:.55; }
.bk-link__dot--active {background:var(--hortela);opacity:1;}
.bk-link__body {display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere;line-height:1.4;}
.bk-link__body small {color:var(--tinta-2);font-weight:400;}
.bk-muted {color:var(--tinta-2);font-size:12px;line-height:1.45;}
.bk-center { min-width:0;padding:22px 0 36px;}
.bk-center__head {margin:0 0 25px;}
.bk-center__head h2 {font:700 clamp(22px,2.2vw,30px)/1.18 var(--fonte-titulo);letter-spacing:-.02em;margin:0 0 8px;}
.bk-center__head p {font-size:13px;color:var(--tinta-2);margin:0;}
.bk-filters {display:flex;flex-wrap:wrap;gap:4px;background:var(--ameixa);border-radius:12px;padding:3px;max-width:max-content;margin:0 0 15px;}
.bk-filters button {border:0;padding:7px 14px;border-radius:10px;background:transparent;color:var(--tinta-2);cursor:pointer;font-size:12px;}
.bk-filters button.is-active {background:var(--ameixa-2);color:var(--tinta);font-weight:700;}
.bk-search {display:block;margin:0 0 18px;max-width:440px;}
.bk-search input {width:100%;min-height:40px;background:var(--ameixa);border:1px solid var(--linha);border-radius:12px;padding:0 12px;color:var(--tinta);}
.bk-empty {display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  min-height:255px;border:1px solid var(--linha);border-radius:17px;padding:36px 23px;gap:6px;}
.bk-empty__icon {font-size:32px;opacity:.55;margin-bottom:7px;color:var(--hortela);}
.bk-empty strong {font-size:15px;font-weight:650;}
.bk-empty p {max-width:310px;margin:0;font-size:13px;color:var(--tinta-2);}
.bk-reservations {list-style:none;padding:0;margin:0;display:grid;gap:8px;}
.bk-reservations li {display:grid;grid-template-columns:1fr auto;gap:5px 12px;align-items:center;padding:15px;
 border-radius:13px;border:1px solid var(--linha);background:var(--ameixa);}
.bk-reservations li>strong {font-size:14px;overflow-wrap:anywhere;}
.bk-reservations li>span {font-size:12px;color:var(--hortela);}
.bk-reservations li>small {font-size:12px;color:var(--tinta-2);overflow-wrap:anywhere;}
.bk-reservations li.is-cancelled>strong,.bk-reservations li.is-cancelled>span {color:var(--tinta-2);text-decoration:line-through;}
.bk-reservations .bk-note,.bk-reservations .bk-cancelled,.bk-reservations .bk-mail,.bk-reservations .bk-cancel {grid-column:1/-1;}
.bk-reservations .bk-note {white-space:pre-wrap;}
.bk-reservations .bk-cancelled {font-weight:650;}
.bk-reservations .bk-mail {font-size:12px;justify-self:start;}
.bk-reservations .bk-cancel {justify-self:start;font-size:12px;margin-top:4px;}
.bk-closed {border:0;margin:0;padding:0;min-width:0;}
.bk-closed legend {font-size:12px;margin-bottom:9px;color:var(--tinta-2);}
.bk-closed__add {display:flex;gap:8px;align-items:center;}
.bk-closed__add .input {flex:1;min-width:0;}
.bk-closed__list {list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:9px 0 0;}
.bk-closed__list:empty {display:none;}
.bk-closed__list li {display:flex;align-items:center;gap:4px;border:1px solid var(--linha);border-radius:9px;padding:2px 2px 2px 9px;font-size:12px;}
.bk-closed__del {width:32px;height:32px;border:0;background:transparent;color:var(--tinta-2);cursor:pointer;font-size:18px;line-height:1;border-radius:8px;}
.bk-closed__del:hover {background:var(--ameixa-2);color:var(--tinta);}
.bk-aside {border-left:1px solid var(--linha);padding:22px 0 32px 24px;min-width:0;}
.bk-detail-title,.bk-form__heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;}
.bk-detail-title h3,.bk-form__heading h3 {margin:0;font-size:15px;}
.bk-details dl {border:1px solid var(--linha);border-radius:15px;margin:0 0 14px;overflow:hidden;}
.bk-details dl>div {display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:14px 13px;border-bottom:1px solid var(--linha);}
.bk-details dl>div:last-child {border-bottom:0;}
.bk-details dt {font-size:12px;flex:0 0 45%;color:var(--tinta-2);}
.bk-details dd {margin:0;min-width:0;font-size:12px;text-align:right;overflow-wrap:anywhere;}
.bk-details__href {font-size:11px;text-decoration:none;}
.bk-status {font-weight:650;color:var(--tinta-2);}
.bk-status--on {color:var(--hortela);}
.bk-actions {display:flex;flex-wrap:wrap;gap:8px;}
.bk-actions button {font-size:12px;}
.bk-form {display:grid;gap:14px;max-width:600px;}
.bk-form .field {min-width:0;margin:0;}
.bk-form .field>span {font-size:12px;color:var(--tinta-2);}
.bk-form textarea {min-height:75px;}
.bk-form__row {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.bk-close {font-size:25px;line-height:1;cursor:pointer;border:0;background:transparent;color:var(--tinta-2);}
.bk-days {border:0;margin:0;padding:0;}
.bk-days legend {font-size:12px;margin-bottom:9px;color:var(--tinta-2);}
.bk-days>div {display:flex;flex-wrap:wrap;gap:5px;}
.bk-days label {cursor:pointer;position:relative;}
.bk-days input {position:absolute;opacity:0;width:1px;height:1px;}
.bk-days span {display:grid;place-items:center;width:37px;height:35px;border:1px solid var(--linha);border-radius:9px;font-size:12px;}
.bk-days input:checked+span {border-color:var(--hortela);color:var(--hortela);background:var(--ameixa-2);}
.bk-days input:focus-visible+span {outline:2px solid var(--hortela);outline-offset:2px;}
.bk-save {width:100%;justify-content:center;}
@media(max-width:1180px) {
  .bk-layout {grid-template-columns:minmax(170px,230px) minmax(300px,1fr);}
  .bk-aside {grid-column:2;border-left:0;border-top:1px solid var(--linha);padding:22px 0;}
}
@media(max-width:750px) {
  .bk-layout {display:block;min-height:0;}
  .bk-sidebar {border-right:0;border-bottom:1px solid var(--linha);padding:15px 0;}
  .bk-sidebar__top h1 {margin:12px 0;}
  .bk-link-list {display:flex;overflow-x:auto;gap:8px;padding-bottom:4px;scrollbar-width:thin;}
  .bk-link {min-width:155px;max-width:230px;border:1px solid var(--linha);}
  .bk-center {padding:25px 0;}
  .bk-aside {padding:18px 0;}
  .bk-reservations li {grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:no-preference) {
  .bk-empty,.bk-reservations li,.bk-details {animation:bk-appear .18s ease-out both;}
  @keyframes bk-appear {from{opacity:.45;transform:translateY(5px);}to{opacity:1;transform:none;}}
}


/* Filtros em uma linha, mesmo no celular estreito, com toque >=32px. */
@media(max-width:420px) {
  .bk-filters {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;max-width:100%;gap:2px;}
  .bk-filters button {min-width:0;padding:8px 2px;font-size:10px;}
  .bk-link-list {scrollbar-width:none;}
  .bk-link-list::-webkit-scrollbar {display:none;}
}

/* Coordenação (/app/coordenacao, coordination-view.js): reaproveita o workbench acima. */
.co-note {font-size:13px;line-height:1.5;color:var(--tinta-2);margin:0 0 14px;max-width:600px;}
.co-desc {white-space:pre-wrap;overflow-wrap:anywhere;}
.co-sec {font-size:13px;margin:22px 0 10px;}
.co-list {list-style:none;display:grid;gap:8px;padding:0;margin:0;max-width:680px;}
.co-list li {display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:12px 14px;border:1px solid var(--linha);border-radius:14px;}
.co-list li>strong {font-size:14px;overflow-wrap:anywhere;flex:1 1 180px;min-width:0;}
.co-list li>small {flex:1 1 100%;font-size:12px;color:var(--tinta-2);overflow-wrap:anywhere;}
.co-list li .btn {font-size:12px;}
.co-list li.is-past>strong {color:var(--tinta-2);text-decoration:line-through;}
.co-votes {font-size:12px;color:var(--hortela);}
.co-add {display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0 4px;max-width:600px;}
.co-add .input {flex:1 1 200px;min-width:0;}
.co-suggest {display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.co-suggest:empty {display:none;}
.co-suggest .btn {font-size:12px;}
.co-group {margin-top:12px;}
.co-preview {white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.5;padding:14px;border:1px solid var(--linha);border-radius:14px;max-width:600px;margin-bottom:18px;}
.co-gap {margin-bottom:6px;}

/* Automações (/app/automacoes) */
.au-tabs {margin:18px 0 12px;}
.au-count {color:var(--tinta-2);font-size:11px;}
.au-models {list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;padding:0;margin:0;max-width:720px;}
.au-models li {display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;border:1px solid var(--linha);border-radius:14px;}
.au-models li strong {font-size:14px;overflow-wrap:anywhere;}
.au-models li p {margin:0;font-size:12px;line-height:1.45;color:var(--tinta-2);flex:1;}
.au-models li .btn {font-size:12px;}
.au-facts {display:grid;gap:10px;margin:0 0 18px;max-width:600px;}
.au-facts div {display:grid;gap:2px;}
.au-facts dt {font-size:12px;color:var(--tinta-2);}
.au-facts dd {margin:0;font-size:14px;line-height:1.45;overflow-wrap:anywhere;}
.au-habit {display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:14px;border:1px solid var(--linha);border-radius:14px;max-width:600px;margin-bottom:18px;}
.au-habit p {margin:0;font-size:13px;color:var(--tinta-2);flex:1 1 200px;}
.au-habit p strong {font-size:18px;color:var(--tinta);}
.au-check {display:flex;align-items:center;gap:8px;font-size:13px;min-height:32px;}
.notif-actions {display:flex;flex-wrap:wrap;gap:8px;}
