/* ═══════════════════════════════════════════════════════════════════
   CARCOR — SISTEMA DE DESIGN 2026 ("Anodizado")
   Carregado por ÚLTIMO → define a base de TODOS os ecrãs por cima das
   camadas antigas. Precisão técnica: grafite-azul profundo, neutros frios,
   dourado CarCor só onde importa (ativo, ações principais, totais).
   Títulos/números: Archivo (semi-condensado) · Texto: Figtree · Medidas: JetBrains Mono.
   NÃO toca no PDF (.pdf-*) nem nos desenhos (svg).
   ═══════════════════════════════════════════════════════════════════ */
@import url("fonts.css");

:root{
  /* marca */
  --navy:#17181c; --navy-light:#2a2c33; --navy-dark:#0f1013; --navy-deep:#09090b;
  --gold:#e30613; --gold-light:#ff4b55; --gold-bright:#ffd9dc; --gold-deep:#b0000e; --brand:#e30613; --brand-ink:#ffffff;
  /* neutros frios (viés para o azul da marca) */
  --bg:#f4f4f5; --surface:#ffffff; --surface-2:#f8f8f9; --surface-3:#efeff1;
  --border:#e0e0e3; --border-soft:#ececee; --border-strong:#cbcbd0;
  --text:#111214; --text-soft:#2e2f34; --text-muted:#62646c; --text-light:#9597a0;
  /* estados */
  --success:#14915a; --success-bg:#ecf8f1; --success-border:#bfe6d1;
  --warn:#c27a0e; --warn-bg:#fdf6e7; --warn-border:#f3dca8;
  --danger:#b42318; --danger-bg:#fdf0f0; --danger-border:#f5c7c7;
  --info:#2f63d8; --info-bg:#eef3fd; --info-border:#c9d7f7;
  /* forma */
  --r-sm:7px; --r:10px; --r-lg:14px; --r-xl:18px; --r-2xl:24px;
  --shadow-xs:0 1px 1px rgb(17 18 22 / .04);
  --shadow-sm:0 1px 2px rgb(17 18 22 / .05), 0 2px 6px -2px rgb(17 18 22 / .06);
  --shadow-md:0 6px 16px -6px rgb(17 18 22 / .14), 0 2px 6px -2px rgb(17 18 22 / .06);
  --shadow-lg:0 18px 40px -16px rgb(17 18 22 / .24), 0 6px 14px -6px rgb(17 18 22 / .10);
  --ring:0 0 0 3px rgb(227 6 19 / .22);
  /* tipografia */
  --font-sans:"Figtree",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --font-display:"Archivo","Figtree",-apple-system,"Segoe UI",Arial,sans-serif;
  --font-serif:var(--font-display);
  --font-editorial:"Archivo","Figtree",sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --nav-w:236px;
}
[data-theme="dark"]{
  --bg:#0a0f18; --surface:#111826; --surface-2:#161f30; --surface-3:#1c273b;
  --border:#263247; --border-soft:#1e293c; --border-strong:#34435d;
  --text:#eef2f8; --text-soft:#cdd5e2; --text-muted:#8c98ad; --text-light:#66728a;
  --success-bg:#0b2a1c; --success-border:#145c3a; --warn-bg:#2e2108; --warn-border:#6b4a10;
  --danger-bg:#2e0f12; --danger-border:#6e1f25; --info-bg:#0e1c38; --info-border:#24448c;
  --shadow-sm:0 1px 2px rgb(0 0 0 / .4); --shadow-md:0 8px 20px -8px rgb(0 0 0 / .6); --shadow-lg:0 20px 44px -16px rgb(0 0 0 / .7);
}

/* ── Base ── */
html,body{font-family:var(--font-sans);font-size:14.5px;letter-spacing:0;background:var(--bg);color:var(--text);font-feature-settings:"tnum" 0}
body{text-rendering:optimizeLegibility}
.mono,.cs-profile-code-big,.pdf-td-dim{font-family:var(--font-mono)}
.muted-sm{color:var(--text-muted);font-size:12.5px}
::selection{background:var(--gold-bright);color:var(--navy)}

/* ── Títulos ── */
.page-title,h1,h2,h3,.edit-modal-title,.add-form-title,.settings-section-title,.more-sheet-title{font-family:var(--font-display);font-stretch:88%;letter-spacing:-.015em}
.page-title{font-size:30px;font-weight:800;color:var(--text);line-height:1.08}
.page-title::after{display:none!important}
.page-subtitle{font-size:13.5px;color:var(--text-muted);margin-top:4px}
h2{font-size:21px;font-weight:800}
h3{font-size:16.5px;font-weight:750}
.page-header{background:rgb(244 244 245 / .86);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--border-soft);padding:22px 28px 16px}
[data-theme="dark"] .page-header{background:rgb(10 15 24 / .86)}
.container{padding:22px 28px 40px}
@media (max-width:979px){ .page-header{padding:16px 16px 12px} .page-title{font-size:25px} .container{padding:14px 14px 32px} }

/* ── Menu lateral ── */
.sidebar{background:linear-gradient(180deg,#111214 0%,#0c0d0f 60%,#08090a 100%);border-right:1px solid rgb(255 255 255 / .04);padding:18px 12px}
.brand-icon{border-radius:11px;background:linear-gradient(145deg,var(--gold-light),var(--gold) 60%,var(--gold-deep));box-shadow:0 6px 16px -4px rgb(227 6 19 / .45),inset 0 1px 0 rgb(255 255 255 / .35);font-family:var(--font-display);font-stretch:90%}
.brand-name{font-family:var(--font-display);font-stretch:90%;font-size:17px;letter-spacing:-.01em}
.nav-section{color:rgb(255 255 255 / .32);font-size:10px;letter-spacing:1.6px;font-weight:700;margin-top:14px}
.nav-item{color:rgb(226 232 242 / .66);font-size:13.5px;font-weight:550;padding:9px 11px;border-radius:9px;gap:12px}
.nav-item:hover{background:rgb(255 255 255 / .05);color:#fff}
.nav-item.active{background:linear-gradient(90deg,rgb(227 6 19 / .16),rgb(227 6 19 / .03));color:#ffffff;box-shadow:inset 3px 0 0 var(--gold)}
.nav-item.active svg{stroke:var(--gold-light)}

/* ── Barra de baixo (telemóvel): flutuante e arredondada ── */
@media (max-width:979px){
  .bottom-nav{left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));border-radius:18px;border:1px solid var(--border-soft);background:rgb(255 255 255 / .94);box-shadow:0 10px 30px -10px rgb(17 18 22 / .35);padding:5px 4px}
  [data-theme="dark"] .bottom-nav{background:rgb(17 24 38 / .94)}
  .bn-item{border-radius:12px;font-size:9.5px;letter-spacing:.4px;padding:7px 6px;min-width:56px}
  .bn-item.active{color:var(--navy);background:linear-gradient(180deg,rgb(227 6 19 / .16),rgb(227 6 19 / .06))}
  [data-theme="dark"] .bn-item.active{color:var(--gold-light)}
  .main-area{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
  .topbar{background:linear-gradient(180deg,#111214,#0c0d0f)}
}

/* ── Cartões ── */
.card,.settings-section,.list-card,.item-card,.summary-card,.kpi{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
.card:hover,.summary-card:hover,.kpi:hover{transform:none;box-shadow:var(--shadow-sm)}
.list-card{transition:border-color .15s,box-shadow .15s,transform .15s}
.list-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}
.card-pad{padding:20px}
.summary-card{padding:16px 18px}
.summary-card-value,.kpi-value,.dash-hero-stat-num{font-family:var(--font-display)!important;font-stretch:85%;font-variant-numeric:tabular-nums;letter-spacing:-.02em}

/* ── Botões ── */
.btn{height:auto;min-height:40px;padding:9px 16px;border-radius:var(--r);font-size:13.5px;font-weight:650;letter-spacing:0;gap:8px;transition:background .15s,border-color .15s,box-shadow .15s,color .15s,transform .08s}
.btn:active{transform:translateY(1px)}
.btn-sm{min-height:32px;padding:6px 11px;font-size:12.5px;border-radius:8px}
.btn-primary{background:var(--navy);color:#fff;border:1px solid var(--navy);box-shadow:0 1px 0 rgb(255 255 255 / .08) inset,0 6px 14px -8px rgb(17 18 22 / .6)}
.btn-primary:hover{background:var(--navy-light);filter:none}
.btn-secondary{background:var(--surface);color:var(--text-soft);border:1px solid var(--border);box-shadow:var(--shadow-xs)}
.btn-secondary:hover{border-color:var(--border-strong);background:var(--surface-2);color:var(--text)}
.btn-ghost{color:var(--text-muted);border:1px solid transparent}
.btn-ghost:hover{background:var(--surface-3);color:var(--text)}
.btn-success{background:var(--success);border-color:var(--success);color:#fff;box-shadow:0 6px 14px -8px rgb(20 145 90 / .7)}
.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}
.btn-gold,.btn-accent{background:linear-gradient(180deg,var(--gold-light),var(--gold));border:1px solid var(--gold-deep);color:#ffffff;font-weight:750}
.btn-icon-only{min-height:36px;min-width:36px;border-radius:9px;padding:0 9px!important;justify-content:center}
.btn svg,.icon-btn svg{flex-shrink:0;max-width:none}
.btn:focus-visible,.input:focus-visible{outline:none;box-shadow:var(--ring)}

/* ── Campos ── */
.field-label{font-size:11.5px;font-weight:650;letter-spacing:.3px;text-transform:none;color:var(--text-muted);margin-bottom:6px}
.input,input.input,select.input,textarea.input{min-height:42px;padding:10px 12px;border-radius:var(--r);border:1px solid var(--border);background:var(--surface);font-size:14px;color:var(--text);box-shadow:inset 0 1px 1px rgb(17 18 22 / .03)}
.input-sm,input.input-sm,select.input-sm{min-height:34px;padding:6px 10px;font-size:13px;border-radius:8px}
textarea.input{min-height:76px}
.input:hover{border-color:var(--border-strong)}
.input:focus,input.input:focus,select.input:focus,textarea.input:focus{border-color:var(--gold);box-shadow:var(--ring);outline:none}
select.input{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235c6779' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 11px center;padding-right:32px}

/* ── Separadores ── */
.tabs{background:transparent;border-bottom:1px solid var(--border);gap:4px}
.tab,.series-tab{font-size:13.5px;font-weight:650;color:var(--text-muted);padding:11px 14px;border-radius:9px 9px 0 0}
.tab:hover,.series-tab:hover{color:var(--text);background:var(--surface-3)}
.tab.active,.series-tab.active{color:var(--text);border-bottom-color:var(--gold);background:transparent}
.toggle-btn,.toggle-list{border-radius:var(--r);border:1px solid var(--border);background:var(--surface);font-weight:600;transition:all .15s}
.toggle-btn:hover,.toggle-list:hover{border-color:var(--border-strong)}
.toggle-btn.active,.toggle-list.active{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 6px 14px -8px rgb(17 18 22 / .6)}
.filter-pill{border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-weight:600;padding:7px 14px}
.filter-pill:hover{border-color:var(--border-strong);color:var(--text)}
.filter-pill.active{background:var(--navy)!important;border-color:var(--navy)!important;color:#fff!important;box-shadow:none!important}

/* ── Pílulas e estados ── */
.badge{border-radius:999px;font-size:10.5px;font-weight:750;letter-spacing:.5px;padding:3px 9px}
.pill{border-radius:999px;font-size:11.5px;font-weight:600;padding:2px 9px}

/* ── Tabelas ── */
.cuts-table,.profiles-table,.summary-table{border-collapse:separate;border-spacing:0;font-size:13px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r);overflow:hidden}
.cuts-table th,.profiles-table th,.summary-table th{background:var(--surface-2);color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:10px 12px;border-bottom:1px solid var(--border);text-align:left}
.cuts-table td,.profiles-table td,.summary-table td{padding:10px 12px;border-bottom:1px solid var(--border-soft);vertical-align:middle}
.cuts-table tbody tr:last-child td,.profiles-table tbody tr:last-child td,.summary-table tbody tr:last-child td{border-bottom:0}
.cuts-table tbody tr:hover td,.profiles-table tbody tr:hover td,.summary-table tbody tr:hover td{background:var(--surface-2)}
.table-scroll{margin:0;padding:0}

/* ── Itens do orçamento ── */
.item-card{padding:16px;gap:16px;border-radius:var(--r-lg)}
.item-card:hover{border-color:var(--border-strong)}

/* ── Folha de edição (modal) ── */
.edit-modal-backdrop{background:rgb(10 10 12 / .55)!important;backdrop-filter:blur(4px)}
.edit-modal-sheet{border-radius:22px 22px 0 0;box-shadow:0 -20px 60px -10px rgb(10 10 12 / .45);background:var(--surface)}
@media (min-width:980px){ .edit-modal-sheet{border-radius:20px;margin-bottom:24px} }
.edit-section-label{color:var(--text);font-family:var(--font-display);font-stretch:90%;font-size:13px;letter-spacing:.3px;text-transform:none;font-weight:800}
.edit-section-label::before{background:var(--gold)!important}

/* ── Página inicial: cartão principal mais compacto ── */
.dash-hero{border-radius:var(--r-xl)!important;padding:22px 24px!important;min-height:0!important;background:radial-gradient(120% 140% at 100% 0%,rgb(227 6 19 / .22),transparent 46%),linear-gradient(135deg,#17181c,#0f1013 70%)!important;box-shadow:var(--shadow-lg)!important}
.dash-hero-stat{border-radius:14px!important;padding:12px 14px!important}
.dash-hero-v2{border-radius:var(--r-xl)!important;box-shadow:var(--shadow-lg)!important}
.dash-hero-content{padding:26px 28px!important}
.dash-hero-stat-lbl{letter-spacing:.8px!important;font-size:10.5px!important}
@media (max-width:979px){
  .dash-hero-content{padding:18px 16px!important}
  .dash-hero-stats{gap:8px!important}
  .dash-hero-stat{min-width:0!important;flex:1 1 calc(50% - 8px)!important;padding:10px 12px!important}
  .dash-hero-stat-num{font-size:24px!important}
}
.dash-hero-stat-num{font-size:28px!important}

/* ── Correções de camadas antigas ── */
.input,.field input,.field select,.field textarea{font-family:var(--font-sans)}
.search-input-wrap .input,.search-input-wrap input,.search-bar input,.gs-input,input[type="search"]{padding-left:40px!important}
/* títulos e números: Archivo semi-condensado (os nomes antigos "Fraunces" já apontam para Archivo) */
h1,h2,h3,.page-title,.dash-hero-title,[class*="-value"],[class*="-num"],[class*="stat-num"],.edit-modal-title,.pdf-totals-final .amt{font-stretch:86%}
[class*="-value"],[class*="-num"],.mono{font-variant-numeric:tabular-nums}

/* ── Barra fixa do orçamento (total · margem · PDF · Enviar) ── */
.cc-budget-bar{position:fixed;left:calc(var(--nav-w) + 16px);right:16px;bottom:14px;z-index:35;display:flex;align-items:center;gap:12px;flex-wrap:nowrap;
  padding:10px 12px 10px 18px;border-radius:16px;background:rgb(255 255 255 / .94);backdrop-filter:blur(12px) saturate(1.3);-webkit-backdrop-filter:blur(12px) saturate(1.3);
  border:1px solid var(--border);box-shadow:0 16px 40px -14px rgb(17 18 22 / .35)}
[data-theme="dark"] .cc-budget-bar{background:rgb(17 24 38 / .94)}
.cc-budget-bar .btn{min-height:42px}
@media (max-width:979px){
  .cc-budget-bar{left:10px;right:10px;bottom:calc(76px + env(safe-area-inset-bottom));padding:8px 8px 8px 14px;gap:8px}
  .cc-budget-bar .btn{padding:8px 12px;font-size:13px}
}
@media (max-width:420px){ .cc-budget-bar .cc-bar-margin{display:none} .cc-budget-bar .cc-bar-lbl{display:none} .cc-budget-bar .cc-bar-falta{padding:6px 8px;font-size:12px} .cc-budget-bar{gap:6px} }
/* com a barra do orçamento visível, os botões flutuantes sobem/escondem-se para não a taparem */
body:has(.cc-budget-bar) .cc-fab{bottom:92px}
body:has(.cc-budget-bar) #__cc_meas_btn, body:has(.cc-budget-bar) #__cc_pp_link{display:none!important}
@media (max-width:979px){ body:has(.cc-budget-bar) .cc-fab{bottom:calc(148px + env(safe-area-inset-bottom))} }
body:has(.cc-budget-bar) #cc-bell{bottom:96px!important}
body:has(.cc-budget-bar) #__cc_sync{bottom:96px!important;right:84px!important}
/* telemóvel: o sino flutuante repete o 🔔 do topo → sai; o estado do Sync sobe para junto do topo */
@media (max-width:979px){
  #cc-bell{display:none!important}
  #__cc_sync{bottom:auto!important;top:calc(env(safe-area-inset-top, 0px) + 66px)!important;right:10px!important;transform:scale(.86);transform-origin:top right;opacity:.92}
  body:has(.cc-budget-bar) #__cc_sync{bottom:auto!important;right:10px!important}
}

/* Com uma janela de edição aberta, nada flutuante por cima dela */
body:has(.edit-modal-backdrop) #__cc_sync, body:has(.edit-modal-backdrop) .cc-backup-toast,
body:has(.edit-modal-backdrop) #cc-bell, body:has(.edit-modal-backdrop) .cc-fab{display:none!important}
/* aviso de backup semanal: discreto, no canto, não tapa formulários */
.cc-backup-toast{max-width:340px!important;left:auto!important;right:16px!important;bottom:16px!important;transform:none!important;border-radius:14px!important;box-shadow:var(--shadow-lg)!important;font-size:12.5px!important}
@media (max-width:979px){ .cc-backup-toast{left:10px!important;right:10px!important;max-width:none!important;bottom:calc(84px + env(safe-area-inset-bottom))!important} }
body:has(.cc-budget-bar) .cc-backup-toast{display:none!important}

/* Telemóvel: ações do topo de cada página numa linha que desliza (nada cortado) */
@media (max-width:979px){
  .page-header > div:last-child:not(:first-child){width:100%;flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;margin-right:-16px;padding-right:16px}
  .page-header > div:last-child:not(:first-child)::-webkit-scrollbar{display:none}
  .page-header > div:last-child:not(:first-child) > *{flex-shrink:0}
  .page-header .btn{min-height:38px;padding:8px 13px;font-size:13px}
}
/* aviso de backup no computador: canto esquerdo (não tapa os botões da direita) */
@media (min-width:980px){ .cc-backup-toast{right:auto!important;left:calc(var(--nav-w) + 16px)!important} }

/* ═════════ SHELL: barra de topo única · menus · sem botões flutuantes ═════════ */
.cc-appbar{display:none}
@media (min-width:980px){
  .cc-appbar{display:flex;align-items:center;gap:8px;position:sticky;top:0;z-index:40;height:60px;padding:0 24px 0 28px;
    background:rgb(244 244 245 / .9);backdrop-filter:saturate(1.2) blur(12px);-webkit-backdrop-filter:saturate(1.2) blur(12px);border-bottom:1px solid var(--border-soft)}
  [data-theme="dark"] .cc-appbar{background:rgb(10 15 24 / .9)}
  .page-header{top:60px!important}
}
.cc-appbar-search{display:flex;align-items:center;gap:10px;width:min(440px,42vw);height:40px;padding:0 10px 0 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text-light);font-size:13.5px;cursor:text;box-shadow:var(--shadow-xs);transition:border-color .15s,box-shadow .15s}
.cc-appbar-search:hover{border-color:var(--border-strong)}
.cc-appbar-search span{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cc-appbar-search kbd{font:600 11px var(--font-mono);color:var(--text-muted);background:var(--surface-3);border:1px solid var(--border);border-radius:6px;padding:2px 6px}
.cc-appbar-wrap{position:relative}
.cc-appbar-new{min-height:40px!important;padding:0 14px!important}
.cc-appbar-icon{position:relative;display:inline-flex;align-items:center;gap:6px;height:40px;min-width:40px;padding:0 10px;border-radius:11px;color:var(--text-soft);font-size:16px;font-weight:650;border:1px solid transparent;transition:background .15s,border-color .15s}
.cc-appbar-icon:hover{background:var(--surface);border-color:var(--border)}
.cc-appbar-lbl{font-size:13.5px}
.cc-grid-ico{font-size:17px;line-height:1}
.cc-appbar-badge{position:absolute;top:4px;right:4px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--danger);color:#fff;font:800 10px/17px var(--font-sans);text-align:center}
.cc-appbar-sync{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 11px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:12px;font-weight:650;color:var(--text-muted);white-space:nowrap;max-width:180px;overflow:hidden}
.cc-appbar-sync .cc-dot{width:8px;height:8px;border-radius:50%;background:var(--text-light);flex:0 0 8px}
.cc-appbar-sync.active .cc-dot{background:var(--success);box-shadow:0 0 0 3px rgb(20 145 90 / .18)}
.cc-appbar-sync.pending .cc-dot{background:var(--warn)}
.cc-appbar-sync.error .cc-dot{background:var(--danger)}
/* menus Criar / Apps */
.cc-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:60;width:min(560px,92vw);padding:14px;border-radius:16px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);animation:ccMenuIn .14s var(--ease)}
@keyframes ccMenuIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.cc-menu-title{font:800 11px var(--font-sans);letter-spacing:1.2px;text-transform:uppercase;color:var(--text-muted);margin:2px 4px 10px}
.cc-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.cc-menu-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;border:1px solid transparent;text-align:left;transition:background .12s,border-color .12s}
.cc-menu-item:hover{background:var(--surface-2);border-color:var(--border-soft)}
.cc-menu-ico{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-size:18px;background:var(--surface-3);flex:0 0 38px}
.cc-menu-txt{display:flex;flex-direction:column;min-width:0}
.cc-menu-txt strong{font-size:14px;font-weight:700;color:var(--text)}
.cc-menu-txt small{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.more-sheet .cc-menu{position:static;width:auto;box-shadow:none;border:0;padding:0;animation:none}
@media (min-width:980px){ .more-sheet-overlay:has(.cc-menu){display:none} }
@media (max-width:979px){ .cc-appbar-wrap .cc-menu{display:none} }
/* telemóvel: ＋ Criar ao centro da barra de baixo */
.bn-plus{display:none}
@media (max-width:979px){
  .bn-plus{display:grid;place-items:center;width:52px;height:52px;margin:-20px 2px 0;border-radius:17px;flex:0 0 52px;color:#ffffff;
    background:linear-gradient(160deg,var(--gold-light),var(--gold) 60%,var(--gold-deep));box-shadow:0 10px 22px -8px rgb(227 6 19 / .8),inset 0 1px 0 rgb(255 255 255 / .4)}
  .bottom-nav{align-items:flex-end;overflow:visible}
}
/* tudo o que flutuava passa para a barra → escondido (continua a funcionar por baixo) */
#__cc_meas_btn,#__cc_pp_link,#cc-bell,.cc-fab .cc-fab-btn{display:none!important}
#__cc_sync{display:none!important}
.cc-fab:not(.open){display:none!important}
.cc-fab.open{display:block!important;position:fixed!important;top:66px!important;right:20px!important;bottom:auto!important;z-index:99999!important;opacity:1!important}
.cc-fab.open .cc-fab-menu{position:static!important;display:flex!important;max-height:calc(100vh - 90px);overflow-y:auto;border-radius:16px;box-shadow:var(--shadow-lg);border:1px solid var(--border);background:var(--surface)}
@media (max-width:979px){ .cc-fab.open{left:10px!important;right:10px!important;top:auto!important;bottom:calc(86px + env(safe-area-inset-bottom))!important} }
/* Sync no telemóvel: ponto no topo (ao lado da marca) */
.topbar .cc-topbar-sync{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:6px;background:var(--text-light)}

/* ── Vazio ── */
.empty-state{padding:44px 20px;color:var(--text-muted)}
.empty-state h3{color:var(--text);margin-top:8px}

/* ── Movimento: só subtil e respeitando quem não quer ── */
@media (prefers-reduced-motion:reduce){ *{animation:none!important;transition:none!important} }

/* ═════════ IDENTIDADE CARCOR: vermelho #E30613 · branco · grafite ═════════ */
/* Marca: "CARCOR" em Archivo largo (lembra as letras do logótipo) */
.brand-name,.topbar-brand > div > div:first-child{font-family:var(--font-display)!important;font-stretch:125%!important;font-weight:900!important;text-transform:uppercase;letter-spacing:.02em;color:#fff!important;font-size:16px!important}
.brand-name span,.topbar-brand span{color:var(--brand)!important}
.brand-tag{color:rgb(255 255 255 / .45)!important;letter-spacing:1.6px}
.brand-icon{background:var(--brand)!important;color:#fff!important;font-family:var(--font-display)!important;font-stretch:125%;font-weight:900;box-shadow:0 6px 16px -6px rgb(227 6 19 / .7),inset 0 1px 0 rgb(255 255 255 / .25)!important}
/* item ativo do menu: barra vermelha, texto branco */
.nav-item.active{background:linear-gradient(90deg,rgb(227 6 19 / .18),rgb(227 6 19 / .04))!important;color:#fff!important;box-shadow:inset 3px 0 0 var(--brand)!important}
.nav-item.active svg{stroke:#ff5a63!important}
/* ação principal = vermelho CarCor */
.btn-primary,.cc-appbar-new{background:var(--brand)!important;border-color:var(--brand)!important;color:#fff!important;box-shadow:0 6px 16px -8px rgb(227 6 19 / .75)!important}
.btn-primary:hover,.cc-appbar-new:hover{background:#c40511!important}
/* botões "perigo" ficam em contorno (não confundir com a cor da marca) */
.btn-danger{background:#fff!important;color:var(--danger)!important;border:1px solid #f1b8b3!important;box-shadow:none!important}
.btn-danger:hover{background:var(--danger-bg)!important}
/* seleções ativas (filtros, toggles) em grafite — o vermelho fica para ações e marca */
.filter-pill.active,.toggle-btn.active,.toggle-list.active{background:var(--navy)!important;border-color:var(--navy)!important;color:#fff!important}
.tab.active,.series-tab.active{border-bottom-color:var(--brand)!important}
.bn-item.active{color:var(--brand)!important;background:rgb(227 6 19 / .08)!important}
.bn-plus{background:var(--brand)!important;color:#fff!important;box-shadow:0 10px 22px -8px rgb(227 6 19 / .75)!important}
/* cartões de destaque (antes dourados) → grafite com filete vermelho */
.dash-hero-v2,.dash-hero{background:radial-gradient(120% 140% at 100% 0%,rgb(227 6 19 / .22),transparent 46%),linear-gradient(135deg,#1b1c20,#0e0f11 70%)!important}
.dash-hero-stat-num{color:#fff!important}
.dash-hero-greeting,.dash-hero-day{color:#ff6b73!important}
/* sem azul no cartão principal (era o brilho do tema antigo) */
.dash-hero-bg{background-image:radial-gradient(circle at 88% 12%,rgb(227 6 19 / .28) 0%,transparent 46%)!important}
/* cartões de destaque: o "dourado" passa a vermelho sólido limpo, o "navy" a grafite */
.summary-card.gold{background:linear-gradient(135deg,#e30613,#c40511)!important;border:0!important}
.summary-card.gold .s-label,.summary-card.gold .s-sub{color:rgb(255 255 255 / .8)!important;opacity:1!important}
.summary-card.gold .s-value{color:#fff!important}
.summary-card.navy .s-label{color:#ff8a91!important}

/* ── Ecrã de PIN / entrada — marca CARCOR ─────────────────────────── */
.cca-brand-logo{width:150px;flex:0 0 auto}
.cca-brand-logo svg{width:100%;height:auto}
.cca-step-title{font-family:Archivo,Figtree,sans-serif!important;font-stretch:86%;font-weight:800!important;letter-spacing:-.01em}
.cca-screen button,.cca-screen .cca-key{font-family:Figtree,sans-serif!important}

/* Logótipo vetorial na barra lateral / topo */
.brand-icon.brand-icon-svg{background:none!important;box-shadow:none!important;padding:0!important;width:36px;height:36px;border-radius:9px;overflow:hidden}
.brand-name.brand-logo{width:112px;line-height:0;font-size:0}
.brand-logo svg{width:100%;height:auto}
.brand-logo-sm{width:84px;line-height:0;margin-bottom:3px}

/* Ícones de linha que substituem emojis nos botões */
.cc-ei{flex:0 0 auto;vertical-align:-2px;margin-right:6px;opacity:.9}
button > .cc-ei:only-child, a > .cc-ei:only-child{margin-right:0}
.btn{gap:6px}
.btn > .cc-ei{margin-right:0}
.cc-menu-ico .cc-ei{width:19px;height:19px;margin:0;color:var(--gold)}
.cc-menu-item:hover .cc-menu-ico{background:rgb(227 6 19 / .1)}

/* Menu "Mais ferramentas" (details/summary) — ecrãs com menos botões soltos */
.cc-more{position:relative;display:inline-block}
.cc-more>summary{list-style:none;cursor:pointer}
.cc-more>summary::-webkit-details-marker{display:none}
.cc-more-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:230px;display:flex;flex-direction:column;gap:2px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 40px -12px rgb(0 0 0 / .28)}
.cc-more-menu .btn{justify-content:flex-start;width:100%;background:transparent!important;border:0!important;box-shadow:none!important;padding:9px 11px;font-weight:600}
.cc-more-menu .btn:hover{background:var(--surface-3)!important}
@media (max-width:640px){.cc-more-menu{position:fixed;left:12px;right:12px;top:auto;bottom:84px;min-width:0}}

/* Definições: separadores em 3 grupos */
.settings-tabs-bar{display:flex!important;flex-wrap:wrap;gap:10px 18px;align-items:flex-end}
.settings-tab-group{display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding:4px;border-radius:14px;background:var(--surface-3);position:relative;margin-top:14px}
.settings-tab-glabel{position:absolute;top:-15px;left:8px;font-size:9.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}
.settings-tab-group .settings-tab{margin:0!important}
.settings-tab-icon svg{display:block}

/* Simulação na foto da casa */
.hm-ov{position:fixed;inset:0;z-index:9000;background:#0e0f12;color:#fff;display:flex;flex-direction:column;font-family:Figtree,sans-serif}
.hm-top{display:flex;align-items:center;gap:8px;padding:10px 14px;flex-wrap:wrap;border-bottom:1px solid #26272d}
.hm-sp{flex:1}
.hm-btn,.hm-sel{background:#23242a;color:#fff;border:1px solid #34353c;border-radius:10px;padding:8px 12px;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit}
.hm-btn:disabled{opacity:.4;cursor:default}
.hm-ok{background:#e30613;border-color:#e30613}
.hm-thumbs{display:flex;gap:6px;padding:8px 14px;overflow-x:auto}
.hm-thumbs:empty{display:none}
.hm-thumbs img{height:54px;border-radius:7px;cursor:pointer;border:2px solid transparent}
.hm-thumbs img:hover{border-color:#e30613}
.hm-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:10px;overflow:auto}
.hm-wrap{position:relative;display:inline-block;max-width:100%;touch-action:none;user-select:none}
.hm-photo{display:none;max-width:100%;max-height:calc(100vh - 190px);border-radius:6px}
.hm-empty{padding:60px 30px;color:#9a9ca3;text-align:center;border:2px dashed #34353c;border-radius:14px;max-width:420px}
.hm-win{position:absolute;cursor:move;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35))}
.hm-win.on{outline:2px dashed #e30613;outline-offset:3px}
.hm-h{position:absolute;right:-9px;bottom:-9px;width:18px;height:18px;border-radius:50%;background:#e30613;border:2px solid #fff;cursor:nwse-resize;display:none}
.hm-win.on .hm-h{display:block}
.hm-help{padding:8px 14px 12px;font-size:12px;color:#9a9ca3;text-align:center}

/* ═══ PRODUÇÃO — cartões por obra (Encomendas) ═══ */
.pc-stages{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media (max-width:900px){.pc-stages{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pc-stage{min-width:0;display:flex;align-items:center;gap:10px;text-align:left;padding:12px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--border);cursor:pointer;transition:border-color .15s,box-shadow .15s;font:inherit;color:inherit}
.pc-stage:hover{border-color:rgb(227 6 19 / .35)}
.pc-stage.on{border-color:#e30613;box-shadow:0 0 0 3px rgb(227 6 19 / .12)}
.pc-stage-n{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px;background:var(--surface-3);color:var(--text);flex:0 0 30px}
.pc-stage.on .pc-stage-n{background:#e30613;color:#fff}
.pc-stage-txt{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.pc-stage-txt strong{font-size:13.5px}
.pc-stage-txt small{font-size:11.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-stage-v{font-family:var(--font-display,Archivo);font-stretch:86%;font-weight:800;font-size:26px;line-height:1}
.pc-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 1px 2px rgb(0 0 0 / .03)}
.pc-card.is-done{opacity:.75}
.pc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.pc-title{display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:none;border:0;padding:0;cursor:pointer;text-align:left;font:inherit;color:inherit;min-width:0}
.pc-title strong{font-size:16px;font-weight:800}
.pc-title span{font-size:12px;color:var(--text-muted)}
.pc-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.pc-badge{font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:var(--surface-3);color:var(--text-muted)}
.pc-badge.ok{background:rgb(22 163 74 / .1);color:#15803d}
.pc-badge.warn{background:rgb(245 158 11 / .14);color:#b45309}
.pc-steps{display:flex;gap:0;align-items:stretch;overflow-x:auto;scrollbar-width:none}
.pc-step{flex:1 1 0;min-width:96px;display:flex;align-items:center;gap:8px;padding:8px 10px 8px 0;background:none;border:0;cursor:pointer;font:inherit;color:inherit;text-align:left;position:relative}
.pc-step::after{content:"";position:absolute;left:30px;right:6px;top:50%;height:2px;background:var(--border);z-index:0;transform:translateY(-50%);opacity:0}
.pc-dot{width:26px;height:26px;border-radius:50%;flex:0 0 26px;display:grid;place-items:center;font-size:12px;font-weight:800;border:2px solid var(--border);background:var(--surface);color:var(--text-muted);position:relative;z-index:1}
.pc-step.done .pc-dot{background:#16a34a;border-color:#16a34a;color:#fff}
.pc-step.next .pc-dot{background:#e30613;border-color:#e30613;color:#fff;box-shadow:0 0 0 4px rgb(227 6 19 / .15)}
.pc-step-txt{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.pc-step-txt b{font-size:12.5px}
.pc-step-txt small{font-size:11px;color:var(--text-muted);white-space:nowrap}
.pc-step.done .pc-step-txt b{color:#15803d}
.pc-step.next .pc-step-txt b{color:#e30613}
.pc-step:hover .pc-dot{border-color:#e30613}
.pc-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pc-bar{flex:1 1 120px;height:6px;border-radius:99px;background:var(--surface-3);overflow:hidden;min-width:80px}
.pc-bar i{display:block;height:100%;background:linear-gradient(90deg,#16a34a,#22c55e);border-radius:99px}
.pc-go{min-width:170px;justify-content:center}
.pc-ok{font-weight:800;color:#15803d;font-size:13px}
@media (max-width:640px){.pc-go{flex:1 1 100%}.pc-step{min-width:84px}}

/* ═══════════════════════════════════════════════════════════════════
   CLEAN (2026-10) — tema claro: barra lateral branca, Início claro,
   fundos de janela grafite translúcido (nada de azul-escuro).
   Só no tema claro; o modo escuro mantém-se.
   ═══════════════════════════════════════════════════════════════════ */
html:not([data-theme="dark"]) .sidebar{background:#fff!important;border-right:1px solid #ececef!important;color:#17181c}
html:not([data-theme="dark"]) .nav-section{color:rgb(23 24 28 / .42)!important}
html:not([data-theme="dark"]) .nav-item{color:rgb(23 24 28 / .74)!important}
html:not([data-theme="dark"]) .nav-item svg{stroke:rgb(23 24 28 / .6)}
html:not([data-theme="dark"]) .nav-item:hover{background:#f4f4f5!important;color:#17181c!important}
html:not([data-theme="dark"]) .nav-item.active{background:#fff1f2!important;color:#e30613!important;box-shadow:inset 3px 0 0 #e30613!important}
html:not([data-theme="dark"]) .nav-item.active svg{stroke:#e30613!important}
html:not([data-theme="dark"]) .sidebar .brand-tag,html:not([data-theme="dark"]) .sidebar .muted-sm{color:rgb(23 24 28 / .5)!important}
html:not([data-theme="dark"]) .sidebar-brand{border-bottom-color:#ececef!important}
html:not([data-theme="dark"]) .topbar{background:#fff!important;border-bottom:1px solid #ececef;color:#17181c}
html:not([data-theme="dark"]) .topbar .icon-btn-dark{color:#17181c!important;background:#f4f4f5!important;border-color:#ececef!important}
html:not([data-theme="dark"]) .topbar .topbar-page-title{color:rgb(23 24 28 / .6)!important}
/* Início: cartão de boas-vindas claro */
html:not([data-theme="dark"]) .dash-hero,html:not([data-theme="dark"]) .dash-hero-v2{background:radial-gradient(120% 140% at 100% 0%,rgb(227 6 19 / .07),transparent 45%),#fff!important;border:1px solid #ececef!important;box-shadow:0 1px 2px rgb(0 0 0 / .04)!important;color:#17181c!important}
html:not([data-theme="dark"]) .dash-hero-bg{background-image:none!important}
html:not([data-theme="dark"]) .dash-hero *{color:inherit}
html:not([data-theme="dark"]) .dash-hero-greeting,html:not([data-theme="dark"]) .dash-hero-day{color:#e30613!important}
html:not([data-theme="dark"]) .dash-hero-stat{background:#f7f7f8!important;border:1px solid #ececef!important}
html:not([data-theme="dark"]) .dash-hero-stat-num{color:#17181c!important}
html:not([data-theme="dark"]) .dash-hero-stat-lbl{color:rgb(23 24 28 / .55)!important}
/* fundos das janelas/modais */
html:not([data-theme="dark"]) .modal-backdrop:not(:has(.pdf-doc)),html:not([data-theme="dark"]) .edit-modal-backdrop,html:not([data-theme="dark"]) .sheet-backdrop,html:not([data-theme="dark"]) .detail-overlay{background:rgb(23 24 28 / .42)!important;backdrop-filter:blur(4px)}
html:not([data-theme="dark"]) .search-overlay-inner{background:#fff!important;color:#17181c}
/* cartões de resumo antigos com fundo escuro → claros com acento */
html:not([data-theme="dark"]) .summary-card.navy{background:#fff!important;color:#17181c!important;border:1px solid #ececef!important}
html:not([data-theme="dark"]) .summary-card.navy *{color:inherit!important}
/* Início claro: forçar texto escuro (havia branco embutido) */
html:not([data-theme="dark"]) :is(.dash-hero,.dash-hero-v2),html:not([data-theme="dark"]) :is(.dash-hero,.dash-hero-v2) *{color:#17181c!important}
html:not([data-theme="dark"]) :is(.dash-hero,.dash-hero-v2) .dash-hero-stat *{color:rgb(23 24 28 / .58)!important}
html:not([data-theme="dark"]) :is(.dash-hero,.dash-hero-v2) .dash-hero-stat .dash-hero-stat-num{color:#17181c!important}
html:not([data-theme="dark"]) :is(.dash-hero,.dash-hero-v2) :is(.dash-hero-greeting,.dash-hero-greeting *,.dash-hero-day){color:#e30613!important}
/* Esquema de corte passo a passo */
.cc-cutdetail{overflow-x:auto;margin:6px 0 4px;padding:6px 4px;background:#fafafa;border:1px solid var(--border);border-radius:10px;-webkit-overflow-scrolling:touch}
.cc-wsum{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 2px}
.cc-wchip{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px;border:1.5px solid;background:var(--surface)}
.cc-wchip.ok{border-color:#2563eb;color:#1d4ed8}
.cc-vista-info{margin-top:10px;padding:9px 12px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;font-size:12.5px;color:#9a3412}
.cc-vista-info.ok{background:#f0fdf4;border-color:#bbf7d0;color:#166534}

/* ── Telemóvel/tablet (dedo): campos a 16px (o iPhone deixa de fazer zoom ao tocar)
      e alvos de toque com pelo menos 40–44px ── */
@media (pointer: coarse) {
  input.input, select.input, textarea.input, .input, input[type="text"], input[type="number"], input[type="search"], input[type="tel"], input[type="email"], input[type="date"], select, textarea { font-size: 16px !important; }
  .btn, .btn-sm, button.btn { min-height: 40px; }
  .btn-icon-only, .btn-icon { min-width: 40px; min-height: 40px; }
  .filter-pill, .pc-step { min-height: 40px; }
}

/* Seletor de tipo de produto (categorias → grupos → tipos com miniatura) */
.cc-typepick-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin-bottom:10px}
.cc-typepick-group{margin:8px 0 4px}
.cc-typepick-sub{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:6px 2px}
.cc-typepick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}
.cc-typepick-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;border:1.5px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer;text-align:center;min-height:118px}
.cc-typepick-item:hover{border-color:var(--gold)}
.cc-typepick-item.active{border-color:#e30613;box-shadow:0 0 0 3px rgba(227,6,19,.15)}
.cc-typepick-thumb{width:100%;height:74px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.cc-typepick-thumb svg{max-width:100%;max-height:74px;height:auto}
.cc-typepick-name{font-size:11.5px;font-weight:700;line-height:1.2}

/* Barra lateral sempre visível no PC (desaparecia ao descer nas páginas longas) */
@media (min-width: 1024px) { .sidebar { position: sticky; top: 0; height: 100vh; overflow-y: auto; align-self: flex-start; } }
/* Botão "↑" acima da barra fixa do orçamento (tapava o "Enviar" no telemóvel) */
body:has(.cc-budget-bar) .back-to-top { bottom: 150px !important; }
/* Medidas de corte legíveis na oficina (havia texto a 9,5 px) */
.cutsheet-pieces, .cutsheet-pieces * { font-size: max(13px, 100%); }
.bottom-nav .bottom-nav-label, .bottom-nav span { font-size: max(11px, 100%); }

/* ═══ ✂ CORTE — ponto único (separadores) ═══ */
.cc-corte-bar{background:var(--surface);border-bottom:1px solid var(--border-soft);padding:10px 16px 0}
.cc-corte-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.cc-corte-title{font-family:var(--font-display);font-stretch:88%;font-weight:800;font-size:17px}
.cc-corte-obra{padding:3px 10px;border-radius:999px;background:rgb(227 6 19 / .08);color:#b80510;font-weight:700;font-size:12.5px;max-width:60vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
[data-theme="dark"] .cc-corte-obra{color:#ff8a92;background:rgb(227 6 19 / .18)}
.cc-corte-tabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.cc-corte-tabs::-webkit-scrollbar{display:none}
.cc-corte-tab{flex:0 0 auto;border:0;background:transparent;padding:9px 14px;font:inherit;font-weight:700;font-size:13.5px;color:var(--text-muted);border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap;min-height:42px}
.cc-corte-tab:hover{color:var(--text)}
.cc-corte-tab.active{color:#e30613;border-bottom-color:#e30613}
.cc-corte-tab:focus-visible{outline:2px solid #e30613;outline-offset:-2px}

/* ═══ Editor de orçamento/artigo no telemóvel: mais denso, ações em baixo, sem scroll lateral ═══ */
.cc-bar-add{display:none}
@media (max-width:599px), (pointer:coarse) and (max-width:820px){
  .cc-bar-add{display:inline-flex}
  .cc-budget-bar .btn{padding:8px 10px}
  .cc-editor{padding-left:10px!important;padding-right:10px!important;overflow-x:clip}
  .cc-editor .card-pad{padding:10px 12px}
  .cc-editor .card{border-radius:12px}
  .cc-editor .item-card{padding:10px 12px;margin-bottom:8px}
  .cc-editor .mode-toggle{margin-bottom:8px}
  .cc-editor .actions-bar{gap:6px}
  .cc-editor .actions-bar .btn{padding:7px 10px;font-size:12.5px}
  .cc-editor .add-form{padding:12px;border-radius:12px}
  .cc-editor .add-form-section{margin-bottom:10px}
  .cc-editor img,.cc-editor svg,.cc-editor canvas{max-width:100%}
  .edit-modal-header{padding:10px 14px}
  .edit-modal-body{padding:12px 14px;gap:12px;overflow-x:hidden}
  .edit-section{margin-bottom:10px}
  .edit-modal-footer{padding:10px 14px;padding-bottom:max(10px,env(safe-area-inset-bottom))}
  .cc-corte-bar{padding:8px 10px 0}
  .cc-corte-tab{padding:8px 10px;font-size:13px}
}

/* 2026-10-14: barra de pesquisa e pílulas não saem do ecrã no telemóvel */
.search-bar>*{min-width:0;max-width:100%}
@media (max-width:480px){.search-bar .filter-pills,.search-bar>div{flex-wrap:wrap}}


/* 2026-10-14: pré-visualização do PDF no telemóvel — a folha A4 mantém o desenho e encolhe para caber (antes partia o texto) */
@media screen and (max-width:840px){ .modal-backdrop .modal-content{width:210mm;max-width:none;margin:10px 0} }
@media screen and (max-width:840px) and (min-width:700px){ .modal-backdrop .modal-content{zoom:.86} }
@media screen and (max-width:699px) and (min-width:560px){ .modal-backdrop .modal-content{zoom:.7} }
@media screen and (max-width:559px) and (min-width:440px){ .modal-backdrop .modal-content{zoom:.56} }
@media screen and (max-width:439px){ .modal-backdrop .modal-content{zoom:.47} }

/* 2026-10-14: etapas das encomendas com área de toque maior no telemóvel */
@media (max-width:700px){ .pc-step{min-height:44px;padding:10px 10px 10px 0} .pc-dot{width:30px;height:30px;flex-basis:30px} }

