/* ============================================================
   Radar Holdpro — identidade visual DFimóveis
   Paleta oficial: #002E5D (azul-marinho) · #0994F3 (azul da marca)
   #357BBC (azul médio) · #1B7C3F (verde) · #0A3119 (verde escuro)
   Tipografia: Figtree (títulos) + Inter (texto) — Inter é a fonte
   oficial de apoio; Figtree substitui a Como, que não é web font.
   ============================================================ */

:root{
  /* cores institucionais */
  --navy:#002E5D; --brand-blue:#0994F3; --brand-green:#1B7C3F;

  /* superfícies e texto — tema claro */
  --bg:#EEF3F8; --surface:#FFFFFF; --well:#E5EDF6;
  --ink:#0C2337; --ink2:#55697E;
  --line:#D7E2ED; --line2:#C0D1E0;

  /* ação */
  --accent:#00539B; --accent-ink:#FFFFFF; --accent-soft:rgba(9,148,243,.12);

  /* cabeçalho institucional */
  --header:#002E5D; --header-ink:#FFFFFF; --header-ink2:#A9C6E2;
  --header-line:rgba(255,255,255,.16); --header-chip:rgba(255,255,255,.10);

  /* semânticas */
  --warn-ink:#7A4E00; --warn-bg:#F7E7C8;
  --danger:#B5342C; --danger-bg:#F8E0DE;
  --ok:#1B7C3F;

  /* controles nativos seguem o tema (campos de data no Safari, scrollbars, selects) */
  color-scheme: light;

  /* forma */
  --r-lg:14px; --r-md:11px; --r-sm:9px;
  --shadow:0 1px 2px rgba(0,46,93,.07),0 4px 14px rgba(0,46,93,.06);
  --shadow-lift:0 2px 6px rgba(0,46,93,.12),0 12px 30px rgba(0,46,93,.12);
  --backdrop:rgba(4,22,38,.48);
}
@media (prefers-color-scheme: dark){
  :root{
    color-scheme: dark;
    --bg:#08131E; --surface:#11212F; --well:#0C1A26;
    --ink:#E7EFF7; --ink2:#95AABF;
    --line:#1E3245; --line2:#2C4760;
    --accent:#3FA9FF; --accent-ink:#04121F; --accent-soft:rgba(63,169,255,.16);
    --header:#0A2742; --header-ink:#F1F7FC; --header-ink2:#9FC0DE;
    --header-line:rgba(255,255,255,.10); --header-chip:rgba(255,255,255,.07);
    --warn-ink:#E0B25B; --warn-bg:#3A2A0C;
    --danger:#E4695F; --danger-bg:#3D1F1C;
    --ok:#5FBF83;
    --shadow:0 1px 2px rgba(0,0,0,.35),0 4px 14px rgba(0,0,0,.28);
    --shadow-lift:0 2px 6px rgba(0,0,0,.45),0 12px 30px rgba(0,0,0,.45);
    --backdrop:rgba(2,8,14,.66);
  }
}

/* ===== base ===== */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--ink);
  font:400 14px/1.55 "Inter",system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
input,select,textarea{font:inherit;color:var(--ink)}
h1,h2,h3,h4{margin:0;font-family:"Figtree","Inter",system-ui,sans-serif;font-weight:700;letter-spacing:-.01em;text-wrap:balance}
p{margin:0}
:focus-visible{outline:2px solid var(--brand-blue);outline-offset:2px;border-radius:4px}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
#app{min-height:100vh;display:flex;flex-direction:column}

/* ===== cabeçalho institucional (azul-marinho DFimóveis) ===== */
.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  padding:11px 20px;background:var(--header);color:var(--header-ink);
  border-bottom:1px solid var(--header-line);box-shadow:0 1px 0 rgba(0,0,0,.06)}
.brand{display:flex;align-items:center;gap:11px;margin-right:4px}
.brand svg{display:block;flex:none}
.brand-name{font-family:"Figtree",sans-serif;font-weight:700;font-size:17px;line-height:1.1;letter-spacing:-.015em;color:var(--header-ink)}
.brand-sub{font-size:11px;color:var(--header-ink2);letter-spacing:.01em;margin-top:2px}
.tabs{display:flex;background:var(--header-chip);border:1px solid var(--header-line);border-radius:var(--r-sm);padding:3px}
.tabs button{padding:5px 15px;border-radius:7px;font-weight:500;color:var(--header-ink2);white-space:nowrap}
.tabs button:hover{color:var(--header-ink)}
.tabs button.on{background:#fff;color:var(--navy);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.18)}
.top-actions{display:flex;align-items:center;gap:9px;margin-left:auto;flex-wrap:wrap}
.mechip{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--header-ink);
  background:var(--header-chip);border:1px solid var(--header-line);border-radius:99px;padding:3px 13px 3px 4px}
.mechip b.avatar{width:22px;height:22px}
.savepill{font-size:12px;color:var(--header-ink2);background:var(--header-chip);
  border:1px solid var(--header-line);border-radius:99px;padding:3px 11px}
.savepill[hidden]{display:none}
/* botões dentro do cabeçalho: contorno claro sobre o azul-marinho */
.topbar .btn{background:transparent;border-color:var(--header-line);color:var(--header-ink)}
.topbar .btn:hover{background:var(--header-chip);border-color:rgba(255,255,255,.35)}
.topbar .btn.primary{background:#fff;border-color:#fff;color:var(--navy);font-weight:700}
.topbar .btn.primary:hover{background:#EAF4FE;border-color:#EAF4FE;filter:none}

/* ===== botões e campos ===== */
.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--line2);
  border-radius:var(--r-sm);background:var(--surface);font-weight:500;
  transition:background .13s,border-color .13s,color .13s}
.btn:hover{border-color:var(--accent);color:var(--accent)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}
.btn.primary:hover{filter:brightness(1.08);color:var(--accent-ink)}
.btn.danger{color:var(--danger);border-color:var(--line2)}
.btn.danger:hover{border-color:var(--danger);color:var(--danger)}
.btn.danger.armed{background:var(--danger);border-color:var(--danger);color:#fff}
.btn.sm{padding:3px 10px;font-size:12.5px;border-radius:7px}
.btn.block{width:100%;justify-content:center;padding:10px}
.btn[disabled]{opacity:.45;cursor:not-allowed}
input[type="text"],input[type="search"],input[type="email"],input[type="password"],
input[type="date"],input[type="number"],input[type="time"],select,textarea{
  background:var(--surface);border:1px solid var(--line2);border-radius:var(--r-sm);padding:7px 11px;
  transition:border-color .13s,box-shadow .13s}
input[type="date"]{min-width:132px;font-variant-numeric:tabular-nums}
input[type="date"]::-webkit-calendar-picker-indicator{opacity:.6;cursor:pointer}
input[type="date"]:hover::-webkit-calendar-picker-indicator{opacity:1}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px var(--accent-soft)}
textarea{width:100%;resize:vertical;min-height:70px}
select{padding-right:26px}
input::placeholder,textarea::placeholder{color:var(--ink2);opacity:.75}

.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:90;
  background:var(--navy);color:#fff;padding:9px 18px;border-radius:99px;font-size:13px;
  box-shadow:var(--shadow-lift);max-width:min(90vw,480px);
  /* só informa: não pode engolir o clique nem o soltar de um cartão arrastado */
  pointer-events:none}

/* ===== filtros ===== */
.filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 20px 2px}
.chipset{display:flex;gap:6px;flex-wrap:wrap}
.fchip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border:1px solid var(--line2);
  border-radius:99px;background:var(--surface);font-size:12.5px;color:var(--ink2)}
.fchip i{width:8px;height:8px;border-radius:50%;display:inline-block}
.fchip:hover{border-color:var(--accent);color:var(--ink)}
.fchip.on{border-color:var(--accent);background:var(--accent-soft);color:var(--ink);font-weight:600}
.fsep{width:1px;height:22px;background:var(--line)}
.filters select{font-size:12.5px;padding:5px 26px 5px 10px;max-width:160px}
.filters input[type="search"]{font-size:12.5px;padding:5px 11px;width:190px}
.pendtoggle{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink2);cursor:pointer;user-select:none}
.kpis{margin-left:auto;display:flex;gap:8px;align-items:center}
.kpi{font-size:12px;color:var(--ink2);background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:4px 11px;font-variant-numeric:tabular-nums}
.kpi b{color:var(--ink);font-weight:700}
.kpi.alert b{color:var(--warn-ink)}
.linklike{font-size:12px;color:var(--accent);text-decoration:underline;text-underline-offset:2px;
  background:none;border:0;cursor:pointer;padding:0}

/* ===== quadro ===== */
.main{flex:1}
.board{display:flex;gap:13px;align-items:flex-start;padding:16px 20px 28px;overflow-x:auto}
.col{flex:1 0 262px;min-width:262px;max-width:334px;background:var(--well);
  border:1px solid var(--line);border-radius:var(--r-lg);padding:10px}
.col-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:4px 6px 10px;
  position:relative}
.col-head h3{font-size:14.5px;font-weight:700}
.col-head .hint{font-size:11px;color:var(--ink2);margin-top:2px;line-height:1.35}
.count{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;background:var(--surface);
  border:1px solid var(--line);border-radius:99px;padding:1px 9px;color:var(--ink2)}
.col-cards{display:flex;flex-direction:column;gap:8px;min-height:56px;border-radius:var(--r-md)}
.col-cards.dragover{outline:2px dashed var(--brand-blue);outline-offset:3px;background:var(--accent-soft)}
.empty{border:1.5px dashed var(--line2);border-radius:var(--r-md);padding:15px 10px;font-size:12px;color:var(--ink2);text-align:center}
.col-add{width:100%;margin-top:9px;padding:7px;border:1px dashed var(--line2);border-radius:var(--r-md);
  font-size:12.5px;color:var(--ink2);text-align:center;transition:color .13s,border-color .13s}
.col-add:hover{color:var(--accent);border-color:var(--accent)}

/* ===== cartões ===== */
.card{background:var(--surface);border:1px solid var(--line);border-left-width:4px;border-radius:var(--r-md);
  padding:11px 12px;cursor:pointer;box-shadow:var(--shadow);transition:box-shadow .13s,transform .13s,border-color .13s}
.card:hover{box-shadow:var(--shadow-lift);transform:translateY(-1px)}
.card.dragging{opacity:.45}
.card.prio-alta{border-left-color:#B5342C}
.card.prio-media{border-left-color:#C6871C}
.card.prio-baixa{border-left-color:var(--line2)}
.card-title{font-family:"Inter",sans-serif;font-size:13.5px;font-weight:600;line-height:1.4}
.chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:2px 9px;border-radius:99px;
  background:var(--well);color:var(--ink2);border:1px solid var(--line)}
.chip i{width:7px;height:7px;border-radius:50%;display:inline-block;flex:none}
.chip.pend{background:var(--warn-bg);color:var(--warn-ink);border-color:transparent;font-weight:600}
.card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}
.who{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink2);min-width:0}
.who.none{font-style:italic;opacity:.8}
.avatar{flex:none;width:21px;height:21px;border-radius:50%;color:#fff;font-size:9.5px;font-weight:700;
  font-style:normal;display:inline-flex;align-items:center;justify-content:center;letter-spacing:.02em}
.foot-right{display:inline-flex;align-items:center;gap:7px}
.notes{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--ink2);font-variant-numeric:tabular-nums}
.notes svg{opacity:.7}
.age{font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;background:var(--well);
  border-radius:99px;padding:2px 8px;color:var(--ink2)}
.age.warn{background:var(--warn-bg);color:var(--warn-ink)}
.age.late{background:var(--danger-bg);color:var(--danger)}

/* ===== janelas ===== */
.overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-start;justify-content:center;padding:4vh 16px}
.backdrop{position:absolute;inset:0;background:var(--backdrop)}
.sheet{position:relative;width:min(680px,100%);max-height:92vh;overflow-y:auto;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 24px;box-shadow:var(--shadow-lift)}
.sheet-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}
.sheet-head h2{font-size:19px;font-weight:700;flex:1}
.xclose{flex:none;width:29px;height:29px;border-radius:var(--r-sm);color:var(--ink2);font-size:18px;
  line-height:1;display:flex;align-items:center;justify-content:center}
.xclose:hover{background:var(--well);color:var(--ink)}
.field{margin-bottom:13px}
.field > label,.flabel{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink2);margin-bottom:5px}
.field input[type="text"],.field input[type="email"],.field input[type="password"],.field select{width:100%}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
@media (max-width:560px){.grid2{grid-template-columns:1fr}}
#m-title{font-size:15px;font-weight:600}
.seg{display:flex;flex-wrap:wrap;gap:4px;background:var(--well);border:1px solid var(--line);border-radius:var(--r-sm);padding:3px}
.seg button{flex:1;min-width:86px;padding:6px 8px;border-radius:7px;font-size:12.5px;color:var(--ink2)}
.seg button:hover{color:var(--ink)}
.seg button.on{background:var(--accent);color:var(--accent-ink);font-weight:600}
.pendrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pendrow input[type="text"]{flex:1;min-width:200px}
.switch{display:inline-flex;align-items:center;gap:7px;cursor:pointer;user-select:none;font-weight:500}
.meta-line{font-size:12px;color:var(--ink2);margin:4px 0 15px;font-variant-numeric:tabular-nums}
.sheet-actions{display:flex;align-items:center;gap:10px;margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}
.sheet-actions .spacer{flex:1}

/* linha do tempo */
.updates{margin-top:20px;padding-top:15px;border-top:1px solid var(--line)}
.updates h4{font-size:13px;font-weight:700;margin-bottom:11px}
.composer{background:var(--well);border:1px solid var(--line);border-radius:var(--r-md);padding:11px;margin-bottom:15px}
.composer textarea{min-height:58px;background:var(--surface)}
.composer-foot{display:flex;align-items:center;gap:8px;margin-top:9px;flex-wrap:wrap;justify-content:flex-end}
.timeline{list-style:none;margin:0;padding:0}
.timeline li{position:relative;padding:0 0 13px 19px;border-left:2px solid var(--line);margin-left:6px}
.timeline li::before{content:"";position:absolute;left:-5px;top:5px;width:8px;height:8px;border-radius:50%;
  background:var(--brand-blue);border:2px solid var(--surface)}
.timeline li.sys::before{background:var(--line2)}
.timeline li:last-child{padding-bottom:2px}
.u-meta{display:block;font-size:11px;color:var(--ink2);font-variant-numeric:tabular-nums;margin-bottom:2px}
.timeline li p{font-size:13px;white-space:pre-wrap}
.timeline li.sys p{color:var(--ink2);font-style:italic;font-size:12.5px}

/* ===== usuários ===== */
.people-list{display:flex;flex-direction:column;gap:7px;margin-bottom:15px}
.person-row{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--line);
  border-radius:var(--r-md);background:var(--surface);flex-wrap:wrap}
.person-row.inactive{opacity:.55}
.person-row .pname{font-weight:600}
.person-row .pmail{font-size:12px;color:var(--ink2)}
.person-row .pgrow{flex:1;min-width:150px}
.person-row .pactions{display:flex;gap:6px;flex-wrap:wrap}
.role-badge{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;
  border-radius:99px;background:var(--accent-soft);color:var(--accent)}
.role-badge.member{background:var(--well);color:var(--ink2)}
.temp-pass{background:var(--warn-bg);color:var(--warn-ink);border-radius:var(--r-md);padding:11px 13px;
  font-size:13px;margin-bottom:12px}
.temp-pass code{font-weight:700;font-size:15px;user-select:all}
.newuser{border-top:1px solid var(--line);padding-top:15px;margin-top:6px}
.newuser .grid2{margin-bottom:11px}
.pactions{display:flex;gap:8px;flex-wrap:wrap}

/* ===== projetos ===== */
.projects{padding:18px 20px 32px;max-width:1080px}
.newproj{display:flex;gap:9px;flex-wrap:wrap;align-items:center;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:13px 15px;margin-bottom:17px;box-shadow:var(--shadow)}
.newproj input{flex:1;min-width:200px}
.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:13px}
.proj-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:15px 17px;box-shadow:var(--shadow)}
.proj-top{display:flex;align-items:flex-start;gap:8px}
.proj-top h3{font-size:15.5px;font-weight:700;flex:1;min-width:0;overflow-wrap:anywhere}
.icon-btn{flex:none;width:27px;height:27px;border-radius:var(--r-sm);color:var(--ink2);
  display:inline-flex;align-items:center;justify-content:center}
.icon-btn:hover{background:var(--well);color:var(--accent)}
.icon-btn.danger:hover{background:var(--danger-bg);color:var(--danger)}
.rename-wrap{display:flex;gap:6px;flex:1}
.rename-wrap input{flex:1;min-width:0}
.proj-comp{margin-top:5px}
.stagebar{display:flex;gap:2px;height:10px;border-radius:99px;overflow:hidden;margin:13px 0 7px;background:var(--well)}
.stagebar i{display:block;height:100%}
.proj-stats{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--ink2);
  font-variant-numeric:tabular-nums;margin-bottom:11px}
.proj-stats b{color:var(--ink);font-weight:700}
.proj-stats .pend b{color:var(--warn-ink)}
.legend{display:flex;gap:13px;flex-wrap:wrap;margin:15px 2px 0;font-size:11.5px;color:var(--ink2)}
.legend span{display:inline-flex;align-items:center;gap:5px}
.legend i{width:9px;height:9px;border-radius:3px;display:inline-block}
.void{padding:44px 20px;text-align:center;color:var(--ink2)}
.void h3{font-size:16.5px;margin-bottom:7px;color:var(--ink)}

/* ===== login ===== */
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;
  background:var(--bg);
  background-image:radial-gradient(1100px 520px at 50% -10%, var(--accent-soft), transparent 70%)}
.login-card{width:min(410px,100%);background:var(--surface);border:1px solid var(--line);
  border-radius:18px;padding:30px;box-shadow:var(--shadow-lift)}
.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px;
  padding-bottom:18px;border-bottom:1px solid var(--line)}
.login-card h1{font-size:20px;font-weight:700;letter-spacing:-.015em}
.login-sub{font-size:12px;color:var(--ink2);margin-top:2px}
.login-card .field input{width:100%}
.form-error{color:var(--danger);background:var(--danger-bg);border-radius:var(--r-sm);padding:9px 13px;font-size:13px;margin-bottom:13px}
.form-ok{color:var(--accent);background:var(--accent-soft);border-radius:var(--r-sm);padding:9px 13px;font-size:13px;margin-bottom:13px}
.form-info{color:var(--ink2);font-size:12.5px;margin-top:14px;text-align:center}
.form-info .linklike{background:none;border:0;cursor:pointer;padding:0}
[hidden]{display:none!important}

/* ===== prazo e próximo passo ===== */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 12px}
@media (max-width:660px){.grid3{grid-template-columns:1fr}}
.block{border:1px solid var(--line);background:var(--well);border-radius:var(--r-md);
  padding:13px 14px 3px;margin:4px 0 14px}
.block .flabel{margin-bottom:10px}
.block input,.block select{background:var(--surface)}
.hintline{display:block;font-size:11.5px;color:var(--ink2);line-height:1.5;margin-top:5px}
.chip.due{background:var(--well);color:var(--ink2);border-color:var(--line);font-variant-numeric:tabular-nums}
.chip.due.soon{background:var(--warn-bg);color:var(--warn-ink);border-color:transparent;font-weight:600}
.chip.due.late{background:var(--danger-bg);color:var(--danger);border-color:transparent;font-weight:700}
.nextstep{font-size:12px;color:var(--ink2);line-height:1.45;margin-top:8px;
  padding-left:1px;overflow-wrap:anywhere}
.nextstep b{color:var(--ink);font-weight:600}

/* ===== decisões ===== */
.dec-item{border:1px solid var(--line);border-left:3px solid var(--brand-green);
  border-radius:var(--r-md);padding:10px 12px;margin-bottom:8px;background:var(--surface)}
.dec-head{display:flex;align-items:flex-start;gap:8px}
.dec-head b{flex:1;font-size:13px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}
.dec-head .icon-btn{font-size:15px;line-height:1}
.dec-head .icon-btn.armed{background:var(--danger);color:#fff;width:auto;padding:0 8px;font-size:11.5px;font-weight:700}
.dec-meta{font-size:11px;color:var(--ink2);margin-top:3px;font-variant-numeric:tabular-nums}
.dec-body{font-size:12.5px;color:var(--ink);margin-top:6px;line-height:1.5;white-space:pre-wrap}
.dec-body em{color:var(--ink2);font-style:normal;font-weight:600}
details.foldform{border:1px dashed var(--line2);border-radius:var(--r-md);padding:0 13px;margin-top:11px}
details.foldform summary{cursor:pointer;font-size:12.5px;font-weight:600;color:var(--accent);
  padding:10px 0;list-style:none}
details.foldform summary::marker,details.foldform summary::-webkit-details-marker{display:none}
details.foldform summary::before{content:"+ ";font-weight:700}
details.foldform[open] summary::before{content:"– "}
details.foldform[open]{padding-bottom:12px}
details.foldform textarea{min-height:54px}

/* ===== anexos ===== */
.files{list-style:none;margin:0 0 11px;padding:0;display:flex;flex-direction:column;gap:6px}
.file-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:8px 11px;
  border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}
.fname{flex:1;min-width:150px;text-align:left;font-size:13px;font-weight:500;overflow-wrap:anywhere}
.fmeta{font-size:11px;color:var(--ink2);font-variant-numeric:tabular-nums}
.filepick{cursor:pointer}

/* ===== reuniões ===== */
.newproj.wrap input[type="date"]{flex:none;min-width:0}
textarea.tall{min-height:170px;font-size:12.5px;line-height:1.55}
.mini-sum{list-style:none;margin:11px 0 0;padding:0;display:flex;flex-direction:column;gap:5px}
.mini-sum li{position:relative;padding-left:14px;font-size:12.5px;color:var(--ink2);line-height:1.5}
.mini-sum li::before{content:"";position:absolute;left:2px;top:7px;width:5px;height:5px;
  border-radius:50%;background:var(--brand-blue)}
.mini-sum.big li{font-size:13px;color:var(--ink)}
.mini-sum.warnlist li::before{background:#C2410C}
.sugblock{margin-top:16px}
.sugblock h5{margin:0 0 8px;font-family:"Figtree",sans-serif;font-size:12px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}
.sug{border:1px solid var(--line);border-left:3px solid var(--brand-blue);border-radius:var(--r-md);
  padding:11px 13px;margin-bottom:8px;background:var(--surface)}
.sug.done{border-left-color:var(--line2);opacity:.62}
.sug-head{display:flex;align-items:flex-start;gap:9px;flex-wrap:wrap}
.sug-head b{flex:1;min-width:180px;font-size:13px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}
.sug-tag{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  background:var(--well);color:var(--ink2);border-radius:99px;padding:3px 9px;white-space:nowrap}
.sug-line{font-size:12.5px;color:var(--ink);margin-top:6px;line-height:1.5;overflow-wrap:anywhere}
.sug-line em{color:var(--ink2);font-style:normal;font-weight:600}
.sug-foot{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:11px;
  padding-top:10px;border-top:1px dashed var(--line)}
select.ai-target{flex:1;min-width:190px;max-width:100%;font-size:12.5px;padding:5px 26px 5px 10px}

/* ===== indicadores ===== */
.metrics{padding:18px 20px 34px;max-width:1180px}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px;margin-bottom:16px}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);
  padding:12px 14px;box-shadow:var(--shadow)}
.tile b{display:block;font-family:"Figtree",sans-serif;font-size:25px;font-weight:700;
  line-height:1.05;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.tile span{display:block;font-size:11.5px;color:var(--ink2);margin-top:4px;line-height:1.35}
.tile.alert{border-left:3px solid var(--danger)}
.tile.alert b{color:var(--danger)}
.mgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:13px}
.mcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:15px 17px 17px;box-shadow:var(--shadow)}
.mcard.wide{grid-column:1/-1}
.mcard h4{font-size:14px;font-weight:700;margin-bottom:4px}
.mnote{font-size:12.5px;color:var(--ink2);margin-top:12px;padding-top:11px;border-top:1px solid var(--line);line-height:1.5}
.mnote b{color:var(--ink);font-weight:700}
.foot-note{margin-top:16px;max-width:70ch}
.hbars{display:flex;flex-direction:column;gap:9px;margin-top:13px}
.hbar-row{display:grid;grid-template-columns:88px 1fr auto;align-items:center;gap:10px}
.hbar-lbl{font-size:12.5px;font-weight:600}
.hbar-track{height:13px;border-radius:99px;background:var(--well);overflow:hidden}
.hbar-track i{display:block;height:100%;border-radius:99px;min-width:3px}
.hbar-val{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.hbar-val em{font-style:normal;font-weight:400;color:var(--ink2);font-size:11px}
@media (max-width:520px){
  .hbar-row{grid-template-columns:1fr auto;grid-template-areas:"l v" "t t"}
  .hbar-lbl{grid-area:l}.hbar-val{grid-area:v}.hbar-track{grid-area:t}
}
.vbars{display:flex;align-items:flex-end;gap:10px;height:158px;margin-top:15px;position:relative}
.vbar{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;height:100%}
.vbar-val{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
.vbar-track{flex:1;width:100%;max-width:46px;display:flex;align-items:flex-end;
  background:var(--well);border-radius:var(--r-sm);overflow:hidden}
.vbar-track i{display:block;width:100%;border-radius:var(--r-sm) var(--r-sm) 0 0}
.vbar-lbl{font-size:11px;color:var(--ink2);white-space:nowrap}
.vbar-val.zero{color:var(--ink2);font-weight:500;opacity:.7}

/* ===== histórico de responsáveis ===== */
.ownhist{list-style:none;margin:0 0 11px;padding:0;display:flex;flex-direction:column;gap:6px}
.own-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:8px 11px;
  border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}
.own-name{flex:1;min-width:120px;font-size:13px;font-weight:600}
.own-when{font-size:11.5px;color:var(--ink2);font-variant-numeric:tabular-nums}
.own-days{font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;
  background:var(--well);color:var(--ink2);border-radius:99px;padding:2px 9px}
.avatar.big{width:34px;height:34px;font-size:12.5px}

/* ===== prazos ===== */
.deadlines{padding:6px 20px 30px}
.dlbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 0 14px}
.dlbar .chipset{flex:1}
.fchip-n{font-weight:700;font-variant-numeric:tabular-nums;background:var(--well);
  border-radius:99px;padding:1px 7px;margin-left:6px;font-size:10.5px;color:var(--ink2)}
.fchip.on .fchip-n{background:var(--surface);color:var(--accent)}
.seg.small button{min-width:0;padding:5px 13px;font-size:12.5px;flex:none}

.tablewrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-lg);box-shadow:var(--shadow)}
table.dltable{width:100%;border-collapse:collapse;font-size:12.5px;min-width:1020px}
.dltable th{text-align:left;font-family:"Figtree",sans-serif;font-size:10.5px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);white-space:nowrap;
  padding:11px 12px;border-bottom:1px solid var(--line2);background:var(--well);position:sticky;top:0;z-index:2}
.dltable th.sortable button{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;
  display:inline-flex;align-items:center;gap:4px}
.dltable th.sortable button:hover{color:var(--accent)}
.dltable th.on{color:var(--accent)}
.dltable th i{font-style:normal;font-size:11px}
.dltable td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.dltable tbody tr{cursor:pointer}
.dltable tbody tr:hover{background:var(--well)}
.dltable tbody tr:focus-visible{outline:2px solid var(--brand-blue);outline-offset:-2px}
.dltable tbody tr:last-child td{border-bottom:0}
.dltable td.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.c-title{min-width:250px;max-width:340px}
.c-title>span{display:inline-block;vertical-align:middle}
.c-title b{display:block;font-size:13px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.c-title .c-proj{display:block;font-style:normal;font-size:11px;color:var(--ink2);margin-top:2px}
.c-title .chip.pend{margin-top:5px;max-width:100%}
.c-next{max-width:230px;color:var(--ink2);line-height:1.4;overflow-wrap:anywhere}
.prio-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:8px;vertical-align:top;margin-top:5px}
.prio-dot.prio-alta{background:#B5342C}
.prio-dot.prio-media{background:#C6871C}
.prio-dot.prio-baixa{background:var(--line2)}
.stagetag{display:inline-block;font-size:11px;font-weight:600;padding:2px 9px;border-radius:99px;white-space:nowrap}
.cell-none{color:var(--ink2);opacity:.75;font-style:italic;font-size:12px}
.duecell{display:inline-flex;flex-direction:column;line-height:1.25;font-variant-numeric:tabular-nums;
  font-weight:600;white-space:nowrap}
.duecell em{font-style:normal;font-weight:500;font-size:10.5px;color:var(--ink2)}
.duecell.soon{color:var(--warn-ink)}
.duecell.soon em{color:var(--warn-ink);opacity:.85}
.duecell.late{color:var(--danger)}
.duecell.late em{color:var(--danger);opacity:.9}

/* por responsável */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:13px;align-items:start}
.pcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--shadow);overflow:hidden}
.pcard-head{display:flex;align-items:center;gap:11px;padding:14px 15px 12px;border-bottom:1px solid var(--line)}
.pcard-head h3{font-size:14.5px;font-weight:700}
.pcard-sub{font-style:normal;font-size:11px;font-weight:500;color:var(--ink2)}
.pcard-stats{font-size:11.5px;color:var(--ink2);margin-top:3px}
.pcard-stats b{color:var(--ink);font-weight:700}
.pcard-stats b.bad{color:var(--danger)}
.pl{list-style:none;margin:0;padding:0}
.pl-row{display:flex;align-items:center;gap:10px;padding:10px 15px;border-bottom:1px solid var(--line);cursor:pointer}
.pl-row:last-child{border-bottom:0}
.pl-row:hover{background:var(--well)}
.pl-row:focus-visible{outline:2px solid var(--brand-blue);outline-offset:-2px}
.pl-title{flex:1;min-width:0}
.pl-title b{display:block;font-size:12.5px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.pl-title em{display:block;font-style:normal;font-size:11px;color:var(--ink2);margin-top:2px}
.pl-right{display:flex;align-items:center;gap:8px;flex:none}

/* ===== responsabilidade coletiva ===== */
.avatar.team{color:#fff}
.avatar.team svg{display:block}
.who.team{font-weight:600;color:var(--ink)}
.own-row.team{border-left:3px solid var(--navy)}
.own-name em{font-style:normal;font-weight:500;font-size:11px;color:var(--ink2);margin-left:6px}

/* ===== tarefas da demanda ===== */
.subtasks h4{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.st-count{font-family:"Inter",sans-serif;font-size:11.5px;font-weight:500;color:var(--ink2);letter-spacing:0}
.st-count b.bad{color:var(--danger);font-weight:700}
.st-bar{height:5px;border-radius:99px;background:var(--well);overflow:hidden;margin:0 0 12px}
.st-bar i{display:block;height:100%;border-radius:99px;background:var(--ok);transition:width .2s}
.stlist{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:5px}
.st-row{display:flex;align-items:flex-start;gap:10px;padding:9px 11px;
  border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}
.st-row.done{background:var(--well);border-color:transparent}
.st-row.editing{display:block;padding:11px;background:var(--well)}
.st-check{flex:none;width:19px;height:19px;margin-top:1px;border:1.5px solid var(--line2);
  border-radius:5px;display:inline-flex;align-items:center;justify-content:center;color:#fff}
.st-check:hover{border-color:var(--ok)}
.st-check.on{background:var(--ok);border-color:var(--ok)}
.st-body{flex:1;min-width:0}
.st-title{display:block;font-size:13px;font-weight:500;line-height:1.4;overflow-wrap:anywhere}
.st-row.done .st-title{text-decoration:line-through;color:var(--ink2);font-weight:400}
.st-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:5px}
.st-who{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--ink2)}
.st-who.none{font-style:italic;opacity:.8}
.st-doneby{font-size:11px;color:var(--ink2);font-variant-numeric:tabular-nums}
.avatar.xs{width:17px;height:17px;font-size:8px}
.avatar.xs svg{width:10px;height:10px}
.st-actions{flex:none;display:flex;gap:2px}
.st-actions .icon-btn{width:24px;height:24px}
.st-actions .icon-btn.danger{font-size:15px;line-height:1}
.st-actions .icon-btn.armed{background:var(--danger);color:#fff;width:auto;padding:0 8px;font-size:11.5px;font-weight:700}
.st-add,.st-edit{display:flex;flex-direction:column;gap:8px}
.st-add{border:1px dashed var(--line2);border-radius:var(--r-md);padding:11px}
.st-add input[type="text"],.st-edit input[type="text"]{width:100%}
.st-add-row,.st-edit-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.st-add-row select,.st-edit-row select{flex:1;min-width:150px;font-size:12.5px;padding:5px 26px 5px 10px}
.st-add-row input[type="date"],.st-edit-row input[type="date"]{font-size:12.5px;padding:5px 9px}
.notes.bad{color:var(--danger);font-weight:700}
.notes.bad svg{opacity:1}

/* tarefas da pessoa no painel de prazos */
.pl-sub{border-top:1px solid var(--line);padding:11px 15px 13px;background:var(--well)}
.pl-sub h4{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:var(--ink2);margin-bottom:8px}
.pl-sub h4 b.bad{color:var(--danger)}
.pl-sub ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.pl-sub li{display:flex;align-items:center;gap:9px;cursor:pointer;padding:6px 8px;
  border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line)}
.pl-sub li:hover{border-color:var(--accent)}
.pl-sub li:focus-visible{outline:2px solid var(--brand-blue);outline-offset:-2px}
.pls-title{flex:1;min-width:0;font-size:12px;line-height:1.35}
.pls-title em{display:block;font-style:normal;font-size:10.5px;color:var(--ink2);margin-top:2px}

/* ===== ordem manual na coluna ===== */
.card{cursor:grab}
.card:active{cursor:grabbing}
.col-cards.dragover{outline:2px dashed var(--brand-blue);outline-offset:3px;background:var(--accent-soft)}
.col-cards.drop-empty{outline-style:solid}
/* a linha marca exatamente onde o cartão vai entrar */
.card.drop-before,.card.drop-after{position:relative}
.card.drop-before::before,.card.drop-after::after{
  content:"";position:absolute;left:-2px;right:-2px;height:3px;border-radius:99px;
  background:var(--brand-blue);box-shadow:0 0 0 2px var(--accent-soft)}
.card.drop-before::before{top:-6px}
.card.drop-after::after{bottom:-6px}
.col-head .icon-btn{flex:none;margin-top:-3px}
.col-head .icon-btn.armed{background:var(--danger);color:#fff;width:auto;padding:0 8px;font-size:11px;font-weight:700}

/* ===== reserva de agenda na tarefa ===== */
.st-agenda{display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin-top:9px;padding-top:9px;border-top:1px dashed var(--line)}
.st-agenda[hidden]{display:none!important}
.st-agenda-lbl{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2)}
.st-agenda input[type="time"]{font-size:12.5px;padding:5px 9px;font-variant-numeric:tabular-nums}
.st-agenda select{font-size:12.5px;padding:5px 26px 5px 10px;min-width:96px;flex:none}
.st-agenda .hintline{flex:1;min-width:180px;margin-top:0}
.st-agenda-on{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  background:var(--accent-soft);color:var(--accent);border-radius:99px;padding:3px 9px}
.st-when{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--ink2);
  font-variant-numeric:tabular-nums;background:var(--well);border-radius:99px;padding:2px 8px}
.st-when svg{opacity:.75}

/* ===== OKR ===== */
/* barra de progresso com o traço do "esperado para hoje" */
.pbar{position:relative;display:inline-block;flex:1 1 80px;min-width:56px;height:8px;border-radius:99px;
  background:var(--well);border:1px solid var(--line);vertical-align:middle}
.pbar i{display:block;height:100%;border-radius:99px;background:var(--accent);max-width:100%}
.pbar.big{height:11px}
.pbar.sm{height:6px;min-width:44px}
.pbar .pb-exp{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;border-radius:2px;
  background:var(--ink);opacity:.5}
.conf{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;white-space:nowrap}
.conf i{width:8px;height:8px;border-radius:50%;flex:none}
.conf.conf-ok{color:var(--ok)} .conf.conf-ok i{background:var(--ok)}
.conf.conf-risk{color:var(--warn-ink)} .conf.conf-risk i{background:#C6871C}
.conf.conf-off{color:var(--danger)} .conf.conf-off i{background:var(--danger)}

/* quadro do projeto de OKR: objetivo → raias por KR → iniciativas nas etapas */
.okr-board{padding:14px 20px 30px}
.okr-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:14px 18px;box-shadow:var(--shadow);margin-bottom:14px}
.okr-id{display:flex;flex-direction:column;gap:4px;min-width:150px}
.okr-kicker{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}
.okr-id h2{font-size:21px;line-height:1.15}
.okr-id .chip{align-self:flex-start}
.okr-sum{flex:1 1 300px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.okr-sum .pbar{flex:1 1 220px}
.okr-pct{font-family:"Figtree",sans-serif;font-size:23px;font-variant-numeric:tabular-nums}
.okr-facts{flex-basis:100%;font-size:12px;color:var(--ink2)}
.okr-facts b.bad{color:var(--danger)}
.okr-facts b.warn{color:var(--warn-ink)}
.okr-acts{display:flex;gap:8px;flex-wrap:wrap}
.okr-obj{background:var(--well);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px 12px 10px;margin-bottom:14px}
.okr-obj-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:2px 4px 8px}
.okr-tag{flex:none;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  background:var(--navy);color:#fff;border-radius:6px;padding:3px 8px}
.okr-obj-head h3{font-size:16px;flex:1 1 240px;min-width:0}
.okr-obj-prog{display:flex;align-items:center;gap:8px;flex:0 1 220px;min-width:150px}
.okr-obj-prog b{font-size:13px;font-variant-numeric:tabular-nums;min-width:36px;text-align:right}
.okr-why{font-size:12.5px;color:var(--ink2);padding:0 4px 10px;max-width:90ch}
.okr-scroll{overflow-x:auto;padding-bottom:4px}
/* Cada resultado-chave é uma faixa: o cartão do KR e as cinco etapas dele
   formam uma linha só, com o mesmo traçado de colunas do cabeçalho. */
.okr-grid{display:flex;flex-direction:column;gap:10px;min-width:1110px}
.okr-row{display:grid;grid-template-columns:minmax(220px,260px) repeat(5,minmax(166px,1fr));gap:8px;padding:0 8px}
.okr-gh{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);padding:2px 4px}
.okr-lane{--faixa:var(--ok);padding:8px;border-radius:var(--r-lg);border:1px solid color-mix(in srgb,var(--faixa) 30%,var(--line));
  background:color-mix(in srgb,var(--faixa) 6%,var(--surface));transition:box-shadow .15s ease,background .15s ease}
.okr-lane.kr-risk{--faixa:#C6871C}
.okr-lane.kr-off{--faixa:var(--danger)}
.okr-lane:hover,.okr-lane:focus-within{background:color-mix(in srgb,var(--faixa) 11%,var(--surface));
  box-shadow:0 0 0 2px color-mix(in srgb,var(--faixa) 35%,transparent)}
.okr-lane .okr-cell{border-color:color-mix(in srgb,var(--faixa) 28%,var(--line));background:color-mix(in srgb,var(--surface) 55%,transparent)}
.okr-lane-loose{--faixa:var(--ink2);border-style:dashed;background:transparent}
.okr-lane-loose:hover,.okr-lane-loose:focus-within{background:transparent;box-shadow:none}
.okr-dica{font-size:12px;color:var(--ink2);margin:-4px 2px 12px}
.kr-inis{font-size:11.5px;color:var(--ink);line-height:1.4;padding:5px 7px;margin:2px 0 0;border-radius:7px;
  background:color-mix(in srgb,var(--faixa,var(--ok)) 10%,transparent)}
.kr-inis b{font-weight:700}
.kr-inis.none{color:var(--ink2);background:transparent;padding-left:0}
.chip.krtag{background:var(--accent-soft);color:var(--accent);font-weight:700;letter-spacing:.02em}
.okr-kr{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--ok);border-radius:var(--r-md);
  padding:10px 11px;display:flex;flex-direction:column;gap:5px;box-shadow:var(--shadow);min-width:0}
.okr-kr.kr-risk{border-left-color:#C6871C}
.okr-kr.kr-off{border-left-color:var(--danger)}
.kr-top{display:flex;align-items:center;justify-content:space-between;margin:-2px -4px -2px 0}
.kr-code{font-size:10.5px;font-weight:700;letter-spacing:.05em;color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap}
.okr-kr h4{font-family:"Inter",sans-serif;font-size:13.5px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.kr-metric,.kr-now{font-size:12px;color:var(--ink2);font-variant-numeric:tabular-nums}
.kr-metric b,.kr-now b{color:var(--ink)}
.kr-prog{display:flex;align-items:center;gap:8px}
.kr-prog b{font-size:12.5px;font-variant-numeric:tabular-nums;min-width:34px;text-align:right}
.kr-foot{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap}
.kr-when{font-size:10.5px;color:var(--ink2)}
.kr-when.stale,.ap-kr-t .stale{color:var(--warn-ink);font-weight:600}
.kr-own{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink2);min-width:0}
.kr-acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:3px}
.okr-cell{border:1px dashed var(--line);border-radius:var(--r-md);padding:4px;min-height:66px;gap:6px}
.okr-cell .card{padding:9px 10px}
.okr-cell .card-title{font-size:12.5px}
.okr-cell .chips:empty{display:none}
.okr-add{margin-top:10px}
.okr-nokr{padding:2px 4px 0}
.okr-loose{background:transparent;border-style:dashed}
.okr-loose .okr-tag{background:var(--ink2)}
.okr-loose-info{font-size:12px;color:var(--ink2);line-height:1.45;padding:9px 11px;border:1px dashed var(--line2);
  border-radius:var(--r-md);background:var(--surface)}
.okr-empty{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 24px;
  box-shadow:var(--shadow);max-width:780px;margin-bottom:14px}
.okr-empty h3{font-size:17px;margin-bottom:12px}
.okr-steps{margin:0 0 16px;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:13.5px;max-width:70ch}
.okr-steps b{font-family:"Figtree",sans-serif}

/* check-in */
.ci-title{font-size:16px;margin:2px 0 10px}
.ci-now{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.ci-now b{font-family:"Figtree",sans-serif;font-size:18px;font-variant-numeric:tabular-nums}
.conf-seg{display:flex;gap:6px;flex-wrap:wrap}
.conf-opt{flex:1 1 120px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 10px;
  border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--surface);font-weight:600;font-size:13px;color:var(--ink2)}
.conf-opt i{width:9px;height:9px;border-radius:50%;flex:none}
.conf-opt.conf-ok i{background:var(--ok)}
.conf-opt.conf-risk i{background:#C6871C}
.conf-opt.conf-off i{background:var(--danger)}
.conf-opt:hover{border-color:var(--accent);color:var(--ink)}
.conf-opt.on{color:var(--ink);box-shadow:inset 0 0 0 1px currentColor}
.conf-opt.conf-ok.on{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 13%,var(--surface));box-shadow:inset 0 0 0 1px var(--ok)}
.conf-opt.conf-risk.on{border-color:#C6871C;background:var(--warn-bg);box-shadow:inset 0 0 0 1px #C6871C}
.conf-opt.conf-off.on{border-color:var(--danger);background:var(--danger-bg);box-shadow:inset 0 0 0 1px var(--danger)}
.cilist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.ci-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 11px;border:1px solid var(--line);
  border-radius:var(--r-sm);background:var(--well)}
.ci-val{font-weight:700;font-variant-numeric:tabular-nums;min-width:62px}
.ci-meta{font-size:11px;color:var(--ink2);margin-left:auto;font-variant-numeric:tabular-nums}
.ci-row p{flex-basis:100%;font-size:12.5px}
.spark{display:block;width:100%;height:auto;max-height:112px;margin:0 0 12px}
.spark-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round}
.spark-dot{fill:var(--surface);stroke:var(--accent);stroke-width:2}
.spark-meta{stroke:var(--ok);stroke-width:1.3;stroke-dasharray:5 4}
.spark-lbl{font-size:11px;fill:var(--ok);font-family:"Inter",sans-serif;font-weight:600}

/* projetos de OKR */
.proj-card.okr{border-top:3px solid var(--navy)}
.okrchip{background:var(--accent-soft);color:var(--accent);border-color:transparent;font-weight:600}
.proj-okr{display:flex;align-items:center;gap:8px;margin:13px 0 7px}
.proj-okr b{font-variant-numeric:tabular-nums;font-size:13px}
.proj-card .pactions{margin-top:10px;align-items:center}

/* painel de OKRs por área */
.okrpanel{padding:16px 20px 32px;max-width:1320px}
.okr-bar .chipset{flex:0 1 auto}
.okr-bar .btn{margin-left:auto}
.fchip-now{font-style:normal;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}
.tile.warn{border-left:3px solid #C6871C}
.tile.warn b{color:var(--warn-ink)}
.area-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(440px,100%),1fr));gap:14px;align-items:start}
.area-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden}
.area-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 16px;border-bottom:1px solid var(--line);background:var(--well)}
.area-id{display:flex;align-items:center;gap:8px;flex:1 1 150px;min-width:0}
.area-id h3{font-size:16px}
.area-prog{display:flex;align-items:center;gap:8px;flex:1 1 150px}
.area-prog b{font-family:"Figtree",sans-serif;font-size:17px;font-variant-numeric:tabular-nums}
.ap-obj{padding:11px 16px 12px;border-bottom:1px solid var(--line)}
.ap-obj:last-child{border-bottom:0}
.ap-obj-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.ap-obj-head b{flex:1;min-width:0;font-size:13px;line-height:1.35}
.ap-obj-head .pbar{flex:0 0 84px}
.ap-pct{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;min-width:34px;text-align:right}
.ap-krs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}
.ap-kr{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) 74px auto auto;gap:9px;align-items:center;
  text-align:left;padding:6px 8px;border-radius:var(--r-sm);border:1px solid transparent}
.ap-kr:hover{border-color:var(--line2);background:var(--well)}
.ap-kr-t{font-size:12.5px;line-height:1.3;min-width:0;overflow-wrap:anywhere}
.ap-kr-t em{display:block;font-style:normal;font-size:11px;color:var(--ink2);font-variant-numeric:tabular-nums;margin-top:1px}
.ap-kr .pbar{min-width:0}
@media (max-width:560px){
  .ap-kr{grid-template-columns:auto minmax(0,1fr) auto;row-gap:4px}
  .ap-kr .pbar{grid-column:2/3}
  .ap-kr .conf{grid-column:2/-1}
  .okr-head{padding:12px 14px}
}

/* ===== acesso por projeto ===== */
.peopleline{display:flex;align-items:center;gap:8px;width:100%;margin:10px 0 2px;padding:6px 9px;border:1px dashed var(--line2);
  border-radius:var(--r-sm);font-size:12px;color:var(--ink2);text-align:left;background:transparent;cursor:pointer}
.peopleline:hover{border-color:var(--accent);color:var(--ink)}
.peopleline .pl-av{display:flex;flex:none}
.peopleline .pl-av .avatar{margin-left:-4px;box-shadow:0 0 0 2px var(--surface)}
.peopleline .pl-av .avatar:first-child{margin-left:0}
.peopleline em{margin-left:auto;font-style:normal;color:var(--accent);font-weight:600}
.ro-note{font-size:12.5px;line-height:1.45;background:var(--accent-soft);color:var(--ink);border-radius:var(--r-sm);padding:9px 12px;margin:0 0 12px}
.paccess{font-size:12px;color:var(--ink2)}
.paccess em{font-style:normal;opacity:.8}
.paccess b.bad{color:var(--danger)}
.uu-plist{display:flex;flex-wrap:wrap;gap:6px 16px;margin:4px 0 12px;max-height:180px;overflow:auto}
.uu-pick{display:inline-flex;align-items:center;gap:6px;font-size:13px}
.mb-list{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.mb-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);flex-wrap:wrap}
.mb-row.inactive{opacity:.55}
.mb-name{flex:1 1 160px;min-width:0;font-weight:600;font-size:13.5px}
.mb-name small{display:block;font-weight:400;font-size:11px;color:var(--ink2)}
.mb-name em{font-weight:400;font-style:normal;color:var(--ink2)}
.mb-row select{width:auto}
.mb-add{margin:4px 0 14px}
.mb-add-row{display:flex;gap:8px;flex-wrap:wrap}
.mb-add-row select{flex:1 1 150px;width:auto}
.mb-papeis{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:12.5px;margin:10px 0 6px;padding:10px 12px;
  background:var(--well);border-radius:var(--r-sm)}
.mb-papeis dt{font-weight:700}
.mb-papeis dd{margin:0;color:var(--ink2)}

/* OKR: formato, papel, tema, área e checkout */
.okr-mode{flex:none}
.okr-mode button{min-width:72px}
.okr-papel{flex-basis:100%;font-size:12px;color:var(--ink2);margin:0}
.okr-theme{font-size:12px;font-weight:600;color:var(--accent)}
.kr-area{font-size:11px;background:var(--well);border-radius:5px;padding:1px 6px;color:var(--ink2)}
.kr-done{font-size:11px;font-weight:700;color:var(--ok);white-space:nowrap}
.co-box{border:1px solid var(--ok);background:color-mix(in srgb,var(--ok) 9%,var(--surface));border-radius:var(--r-sm);
  padding:10px 12px;font-size:13px;margin-bottom:12px}
.co-box p{margin:6px 0 0;color:var(--ink2)}
.co-box .btn{margin-top:8px}

/* Ficha: o formulário de OKR das equipes, preenchido ao vivo */
.ficha{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;margin-bottom:14px;box-shadow:var(--shadow)}
.fi-head{display:flex;align-items:center;gap:10px;border-bottom:2px solid var(--accent);padding-bottom:8px;margin-bottom:12px}
.fi-head h3{font-size:16px;flex:1;text-transform:uppercase;letter-spacing:.03em}
.fi-head h3 span{text-transform:none;letter-spacing:0;color:var(--ink2);font-weight:600;margin-left:6px}
.fi-just{margin-bottom:12px}
.fi-just p{font-size:13px;margin:4px 0 0;max-width:90ch;line-height:1.5}
.fi-tabwrap{overflow-x:auto}
.fi-tab{width:100%;border-collapse:collapse;font-size:13px;min-width:560px}
.fi-tab th,.fi-tab td{border:1px solid var(--line);padding:7px 9px;text-align:left;vertical-align:top}
.fi-tab thead th{background:var(--well);font-size:12.5px}
.fi-tab thead th:first-child{width:76px}
.fi-tab tbody th{font-weight:700;color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums}
.fi-kr.kr-ok th{box-shadow:inset 4px 0 0 var(--ok)}
.fi-kr.kr-risk th{box-shadow:inset 4px 0 0 #C6871C}
.fi-kr.kr-off th{box-shadow:inset 4px 0 0 var(--danger)}
.fi-sub{display:block;font-size:11.5px;color:var(--ink2);margin-top:2px;font-variant-numeric:tabular-nums}
.fi-resp{font-size:12.5px;color:var(--ink2);width:24%}
.fi-tab .fi-n-col{width:66px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.fi-tab tfoot th{font-weight:600;color:var(--ink2);font-size:12px;text-align:right}
.fi-add{margin:8px 0 0}
.fi-sec{margin-top:16px}
.fi-sec h4{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid var(--line)}
.fi-bloco{margin-bottom:8px}
.fi-bloco .hintline{margin:2px 0 2px 18px}
.fi-r{font-weight:700;color:var(--accent);margin-right:6px;font-variant-numeric:tabular-nums}
.fi-inis{list-style:none;margin:4px 0 4px 14px;padding:0;display:flex;flex-direction:column;gap:2px}
.fi-ini{display:flex;flex-wrap:wrap;gap:3px 8px;font-size:13px;padding:4px 7px;border-radius:7px;cursor:pointer}
.fi-ini:hover,.fi-ini:focus-visible{background:var(--well)}
.fi-n{color:var(--ink2)}
.fi-t{font-weight:600}
.fi-meta{color:var(--ink2);font-size:12px;font-variant-numeric:tabular-nums}
.fi-meta .bad{color:var(--danger);font-weight:600}
.fi-linha{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;padding:4px 0}
.fi-dado{flex:1;min-width:200px;font-variant-numeric:tabular-nums}
.fi-dado em{font-style:normal;color:var(--ink2)}
.fi-dado em.stale{color:var(--warn-ink);font-weight:600}
.fi-nota{color:var(--ink2);font-style:italic}
.fi-resp-m{display:none}
@media (max-width:640px){
  .ficha{padding:14px 12px}
  .fi-tab{min-width:0}
  .fi-tab .fi-resp{display:none}
  .fi-resp-m{display:block}
  .fi-inis{margin-left:4px}
}

/* impressão: só a ficha, sem botões */
@media print{
  .topbar,.filters,.okr-acts,.okr-papel,.fi-add,.fi-bloco .linklike,.fi-linha .btn,.fi-linha .linklike,.fi-head .icon-btn,.toast{display:none!important}
  body{background:#fff}
  .okr-board{padding:0}
  .okr-head,.ficha{box-shadow:none}
  .ficha{break-inside:avoid-page}
}

/* ===== abas no celular: rolam dentro da própria barra em vez de alargar a página ===== */
@media (max-width:720px){
  .tabs{order:3;flex:1 1 100%;max-width:100%;overflow-x:auto;scrollbar-width:none}
  .tabs::-webkit-scrollbar{display:none}
  .tabs button{flex:none}
}
