/* Calendário pessoal (2026-10-27): mês/semana/dia e painel lateral como no Promo Folheto. */
.tool-page-content>.cal-scroll{flex:1;min-height:0;overflow:auto;padding:12px 18px 18px}
.cal-shell{display:grid;grid-template-columns:minmax(0,1fr) 320px;border:1.5px solid var(--ink);border-radius:22px;overflow:hidden;background:var(--panel);min-height:640px}
.cal-main{padding:14px 16px;min-width:0;display:flex;flex-direction:column;gap:8px}
.cal-title{display:flex;align-items:baseline;gap:10px}.cal-title b{font-size:24px;font-weight:800}.cal-title span{color:var(--ink2);font-size:13px}
.cal-panel{background:var(--acc-soft,#ece6fa);border-left:1.5px solid var(--ink);padding:14px 16px}
.cal-panel h4{margin:12px 0 6px;padding-top:10px;border-top:1px solid var(--line);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--acc-text,#563c80)}
.cal-new{width:100%;justify-content:center;margin-bottom:8px}
.cal-box{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px 10px;font-size:12.5px;margin:0 0 8px}
.cal-sync{display:flex;gap:8px;align-items:center}.cal-sync i{width:9px;height:9px;border-radius:50%;background:#1f9d55;flex:none}.cal-sync i.err{background:#c2410c}.cal-sync b{display:block}.cal-sync span{color:var(--ink2)}.cal-sync b{color:var(--ink)}
.cal-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.cal-seg button,.cal-nav button,.cal-kinds button{min-height:40px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.cal-seg button.on{background:var(--acc-soft2,#d9cbf5);border-color:var(--acc)}
.cal-nav{display:flex;gap:6px;align-items:center;margin-top:6px}.cal-nav span{flex:1;text-align:center;font-weight:750;font-size:13px}.cal-nav button{padding:0 12px}
.cal-kinds{display:flex;flex-wrap:wrap;gap:6px}.cal-kinds button{padding:0 12px;border-width:1.5px}.cal-kinds button.off{opacity:.45;text-decoration:line-through}
.cal-field{display:block;margin-bottom:6px}.cal-field select,.cal-field input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:var(--panel);color:var(--ink);font:inherit;font-size:13.5px}
.cal-hint{font-size:12px;color:var(--ink2)}.cal-hint button{border:0;background:none;color:var(--acc-text,#563c80);text-decoration:underline;font:inherit;cursor:pointer;padding:0}
/* Cores por tipo (as do calendário antigo). */
.k-visita{--k:#3b82f6;--kb:#dbeafe;--kt:#1e3a8a}.k-tarefa{--k:#f59e0b;--kb:#fef3c7;--kt:#7c4a03}.k-negocio{--k:#8b5cf6;--kb:#ede9fe;--kt:#5b21b6}.k-reuniao{--k:#0ea5e9;--kb:#e0f2fe;--kt:#075985}.k-ferias{--k:#64748b;--kb:#e2e8f0;--kt:#334155}
.cal-kinds button:not(.off){background:var(--kb);color:var(--kt);border-color:var(--k)}
.cal-grid{flex:1;display:flex;flex-direction:column}
.cal-dow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--ink2)}.cal-dow span{padding:4px 6px}
.cal-cells{flex:1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(104px,1fr)}
.cal-day{position:relative;border-top:2px solid var(--ink);margin:0 3px 6px;padding:4px 2px;min-width:0;display:flex;flex-direction:column;gap:3px}
.cal-day.out{border-top-color:var(--line)}.cal-day.out .cal-num{color:var(--ink3,#a39d90)}
.cal-day.today{background:var(--acc-soft,#efe7fb);border-top-color:var(--acc)}.cal-day.today .cal-num{color:var(--acc-text,#563c80)}
.cal-num{align-self:flex-start;border:0;background:none;font:inherit;font-size:19px;font-weight:750;color:var(--ink);padding:0 4px;cursor:pointer;border-radius:8px}
.cal-ev{display:block;width:100%;text-align:left;border:0;border-radius:6px;padding:3px 6px;font:inherit;font-size:11.5px;font-weight:650;background:var(--kb);color:var(--kt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.cal-more{border:0;background:none;font:inherit;font-size:11.5px;color:var(--ink2);text-decoration:underline;text-align:left;cursor:pointer;padding:0 4px}
.cal-add{position:absolute;top:4px;right:2px;width:26px;height:26px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink2);font-size:16px;line-height:1;cursor:pointer;opacity:0}
.cal-day:hover .cal-add,.cal-add:focus-visible,.cal-wday .cal-add{opacity:1}
.cal-card{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;text-align:left;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--k);border-radius:12px;padding:8px 10px;margin-bottom:6px;font:inherit;color:var(--ink);cursor:pointer}
.cal-card small{color:var(--ink2);font-size:11.5px}.cal-card b{font-size:13.5px}.cal-card span{color:var(--ink2);font-size:12px}
.cal-empty{color:var(--ink2);font-size:13px;padding:8px 2px}
.cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.cal-wday{min-width:0}.cal-wday header{position:relative;display:flex;justify-content:space-between;align-items:center;border-top:2px solid var(--ink);padding:4px 0 6px}
.cal-wday header>button:first-child{border:0;background:none;font:inherit;color:var(--ink);text-align:left;cursor:pointer;padding:0}.cal-wday header small{display:block;font-size:11px;font-weight:800;color:var(--ink2)}.cal-wday header b{font-size:20px}
.cal-wday.today header{border-top-color:var(--acc)}.cal-wday .cal-add{position:static}
.cal-dayview h3{font-size:18px;margin:4px 0 10px;text-transform:capitalize}.cal-dayview .cal-list{max-width:640px}
.cal-editor{max-width:620px}
.cal-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0}
.cal-form label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:700}.cal-form .wide{grid-column:1/-1}
.cal-form input,.cal-form select,.cal-form textarea{min-height:42px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--panel);color:var(--ink);font:inherit;font-size:14px;font-weight:500}
.cal-form small{color:var(--ink2);font-weight:500}
.cal-form fieldset{border:1px solid var(--line);border-radius:10px;padding:6px 10px;display:flex;gap:14px;flex-wrap:wrap}.cal-form legend{font-size:12.5px;font-weight:700;padding:0 4px}
.cal-check{flex-direction:row!important;align-items:center;gap:6px!important;font-weight:600!important;min-height:36px}
.cal-check input{min-height:0;width:18px;height:18px}
.cal-delete{margin-right:auto;color:#b3372f}
/* Telemóvel: mês compacto com pontos por tipo, lista do dia e filtros no botão “Filtros”. */
.cal-shell.is-phone{display:block;border:0;border-radius:0;background:transparent;min-height:0}
.cal-shell.is-phone .cal-main{padding:0}
.cal-mbar{display:flex;gap:8px;align-items:center}.cal-mbar .cal-nav{flex:1;margin:0}
.cal-shell.is-phone .cal-panel.is-open{border:1px solid var(--line);border-radius:16px;margin-top:10px}
.cal-mini{background:var(--panel);border:1.5px solid var(--ink);border-radius:20px;padding:10px}
.cal-mini .cal-dow{text-align:center}
.cal-mgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal-mday{height:46px;border:0;border-radius:12px;background:transparent;color:var(--ink);font:inherit;font-size:14px;font-weight:650;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer}
.cal-mday.out{color:var(--ink3,#b9b3a6)}.cal-mday.today{outline:2px solid var(--acc-text,#563c80)}.cal-mday.sel{background:var(--acc-text,#563c80);color:#fff}
.cal-mday i{display:flex;gap:2px;height:5px}.cal-mday em{width:5px;height:5px;border-radius:50%;background:var(--k)}.cal-mday.sel em{box-shadow:0 0 0 1px #fff}
.cal-dayhead{display:flex;align-items:center;gap:12px;margin:12px 0 8px}.cal-dayhead>div{border-left:3px solid var(--acc);padding-left:8px}
.cal-dayhead small{display:block;font-size:11px;font-weight:800;color:var(--ink2)}.cal-dayhead b{font-size:26px;line-height:1}.cal-dayhead>span{font-size:14px;color:var(--ink2)}
.cal-shell.is-phone .cal-week{grid-template-columns:1fr}
.cal-fab{position:fixed;right:18px;bottom:calc(100px + env(safe-area-inset-bottom,0px));width:56px;height:56px;border-radius:50%;border:1.5px solid var(--ink);background:var(--acc-text,#563c80);color:#fff;font-size:28px;box-shadow:0 4px 0 var(--ink);z-index:40;cursor:pointer}
@media (max-width:760px){.cal-form{grid-template-columns:1fr}.tool-page-content>.cal-scroll{padding:10px 16px 120px}}
@media (min-width:761px) and (max-width:1000px){.cal-shell{grid-template-columns:minmax(0,1fr) 260px}.cal-cells{grid-auto-rows:minmax(92px,1fr)}}
/* Importar eventos (fase 2). */
.cal-import-btn{margin-bottom:8px;width:100%;justify-content:center}
.cal-import-icon{min-width:44px;padding:0 10px}
.cal-ev.is-new{outline:1.5px dashed var(--acc-text,#563c80);outline-offset:-1px}
.cal-card.is-new{border-style:dashed;border-left-style:solid}
.cal-pending{min-height:40px;padding:0 12px;border:1.5px dashed var(--acc-text,#563c80);border-radius:10px;background:var(--panel);color:var(--acc-text,#563c80);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.cal-pending.on{background:var(--acc-soft2,#d9cbf5)}
.dlg.cal-import{max-width:720px}
.dlg.cal-import{max-height:92vh;overflow:auto}
.cal-import-file{font-size:13px;margin:6px 0}.cal-import-sum{font-size:13px;margin:4px 0 8px}
.cal-link{border:0;background:none;color:var(--acc-text,#563c80);text-decoration:underline;font:inherit;cursor:pointer;padding:0;margin-left:6px}
.cal-import-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.cal-import-list li{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:var(--panel);font-size:13px}
.cal-import-list li:not(.on){opacity:.6}
.cal-import-list li>div{flex:1;min-width:0}.cal-import-list b{display:block}.cal-import-list small{color:var(--ink2);font-size:12px}
.cal-import-list select{margin-left:4px;min-height:32px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font:inherit;font-size:12px}
.cal-import-check{width:28px;height:28px;flex:none;border:1.5px solid var(--ink2);border-radius:7px;background:var(--panel);color:#fff;font-weight:800;cursor:pointer}
.cal-import-list li.on .cal-import-check{background:var(--acc-text,#563c80);border-color:var(--acc-text,#563c80)}
.cal-tag{flex:none;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:800}.cal-tag.new{background:#e2f2e6;color:#1f6a3a}.cal-tag.dup{background:#fde2e1;color:#8a2a22}
.cal-import-note{font-size:12.5px;color:var(--ink2);line-height:1.45}
.cal-import-h{margin:12px 0 6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--acc-text,#563c80)}
.cal-import-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.cal-import-history li{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-left:4px solid var(--acc-text,#563c80);border-radius:12px;padding:8px 10px;font-size:13px}
.cal-import-history li>div{flex:1;min-width:0}.cal-import-history b{display:block}.cal-import-history small{color:var(--ink2)}
/* Importar de imagem ou PDF (fase 3). */
.cal-scan-progress{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 0}.cal-scan-progress b{font-size:22px}
.cal-scan-progress span{display:block;width:100%;max-width:360px;height:8px;border-radius:999px;background:var(--line);overflow:hidden}.cal-scan-progress i{display:block;height:100%;background:var(--acc-text,#563c80);transition:width .2s}
.cal-scan-progress small{color:var(--ink2);font-size:12.5px;text-align:center}
.cal-scan-head{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;margin:6px 0}
.cal-scan-preview summary{list-style:none;cursor:zoom-in}.cal-scan-preview summary::-webkit-details-marker{display:none}
.cal-scan-preview summary img{width:160px;max-height:110px;object-fit:cover;object-position:top left;border:1px solid var(--line);border-radius:10px;display:block}
.cal-scan-preview[open] summary img{display:none}.cal-scan-preview>img{max-width:100%;border:1px solid var(--line);border-radius:10px;cursor:zoom-out}
.cal-scan-preview[open]{flex-basis:100%}
.cal-scan-month{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:700}.cal-scan-month input{min-height:40px;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:var(--panel);color:var(--ink);font:inherit}.cal-scan-month small{font-weight:500;color:var(--ink2)}
.cal-import-edit{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:4px}
.cal-import-edit input{min-height:36px;border:1px solid var(--line);border-radius:8px;padding:0 8px;background:var(--panel);color:var(--ink);font:inherit;font-size:13px}
.cal-import-edit input[type=text]{flex:1;min-width:160px;font-weight:650}
.cal-tag.warn{background:#fff4dc;color:#7c4a03}
/* Ações da loja ao tocar numa visita (2026-10-28). */
.dlg.cal-actions{max-width:440px}.cal-actions header p{margin:2px 0 0;color:var(--ink2);font-size:12.5px}
.cal-actions-list{display:flex;flex-direction:column;gap:8px}.cal-actions-list .btn{justify-content:center;min-height:46px}
/* Tipos novos e tipos criados pela pessoa (2026-11-06) */
.k-planograma{--k:#16a34a;--kb:#dcfce7;--kt:#14532d}.k-formacao{--k:#db2777;--kb:#fce7f3;--kt:#831843}.k-pessoal{--k:#0d9488;--kb:#ccfbf1;--kt:#134e4a}
.kc0{--k:#e11d48;--kb:#ffe4e6;--kt:#881337}.kc1{--k:#65a30d;--kb:#ecfccb;--kt:#365314}.kc2{--k:#c2410c;--kb:#ffedd5;--kt:#7c2d12}.kc3{--k:#4f46e5;--kb:#e0e7ff;--kt:#312e81}.kc4{--k:#0891b2;--kb:#cffafe;--kt:#164e63}.kc5{--k:#a16207;--kb:#fef9c3;--kt:#713f12}
.cal-newkind{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.cal-newkind label{flex:1 1 120px}.cal-newkind .btn{min-height:44px}
/* Ronda 2 · proposta 4 (2026-11-08): "＋ Evento" no cabeçalho, só no telemóvel (no tablet/computador o painel tem "＋ Novo evento"). */
.cal-head-new{display:none}
@media(max-width:760px){.cal-head-new{display:inline-flex}}
