@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700;800&family=Barlow+Condensed:wght@500;600;700;800&display=swap');
:root{--red:#ED1E24;--red-dark:#C41519;--red-dim:rgba(237,30,36,0.10);--black:#201E1D;--black2:#2A2826;--white:#FFFFFF;--gray:#F2F0EF;--gray2:#E0DDDC;--muted:#9B9694;--muted2:#6B6866;--border:rgba(32,30,29,0.10);--border2:rgba(32,30,29,0.18);--shadow:0 2px 12px rgba(32,30,29,0.09);--font-head:'Barlow Condensed',sans-serif;--font-body:'Barlow',sans-serif;--radius:10px;--radius-sm:6px;--radius-lg:14px}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--gray);color:var(--black);font-family:var(--font-body);font-size:15px;line-height:1.6;min-height:100vh}

/* ── SIDEBAR ── */
.sidebar{position:fixed;top:0;left:0;width:232px;height:100vh;background:var(--black);display:flex;flex-direction:column;z-index:100;transition:transform .3s;overflow-y:auto}
.sidebar-logo{padding:18px 18px 16px;border-bottom:1px solid rgba(255,255,255,.07);display:block;text-decoration:none}
.logo-img{height:30px;width:auto;display:block}
.logo-fallback{display:none;align-items:center;gap:8px}
.logo-icon{width:30px;height:30px;background:var(--red);border-radius:6px;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:800;font-size:13px;color:#fff}
.logo-text{font-family:var(--font-head);font-weight:800;font-size:14px;color:#fff}
.logo-sub{font-size:10px;color:var(--muted2);text-transform:uppercase}
.nav-section{padding:14px 10px 2px}
.nav-section-label{font-size:9px;font-weight:700;color:var(--muted2);text-transform:uppercase;letter-spacing:.12em;padding:0 8px;margin-bottom:4px}
.nav-item{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s,color .12s;text-decoration:none;color:var(--muted);font-size:13px;font-weight:500}
.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}
.nav-item.active{background:var(--red);color:#fff}
.nav-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:currentColor;opacity:.5}
.nav-item.active .nav-dot{opacity:1;background:rgba(255,255,255,.7)}
.sidebar-footer{margin-top:auto;padding:14px 18px;border-top:1px solid rgba(255,255,255,.07);font-size:11px;color:var(--muted2);line-height:1.5}

/* ── LAYOUT ── */
.main{margin-left:232px;min-height:100vh}
.topbar{position:sticky;top:0;background:rgba(242,240,239,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--border2);padding:0 28px;height:58px;display:flex;align-items:center;justify-content:space-between;z-index:50}
.topbar-left{display:flex;align-items:center;gap:10px}
.topbar-title{font-family:var(--font-head);font-weight:700;font-size:17px;color:var(--black);letter-spacing:.3px}
.topbar-tag{font-size:12px;color:var(--muted);background:var(--white);border:1px solid var(--border2);padding:4px 12px;border-radius:20px;font-weight:500}
.breadcrumb{font-size:13px;color:var(--muted)}
.breadcrumb a{color:var(--muted);text-decoration:none}
.breadcrumb a:hover{color:var(--red)}
.content{padding:28px 32px}

/* ── PAGE HEADER ── */
.page-header{margin-bottom:24px}
.page-header-inner{display:flex;align-items:center;gap:14px;padding:18px 22px;background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border);border-left:4px solid var(--red);box-shadow:var(--shadow)}
.page-header-icon{width:44px;height:44px;border-radius:10px;background:var(--red-dim);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.page-header-title{font-family:var(--font-head);font-size:22px;font-weight:700;color:var(--black);letter-spacing:.3px}
.page-header-desc{font-size:13px;color:var(--muted);margin-top:1px}

/* ── LABELS ── */
.sec-label{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;margin-top:2px}

/* ── TEAM GRID ── */
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:22px}
.team-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow);transition:border-color .15s}
.team-card:hover{border-color:var(--border2)}
.team-card.lead{border-left:3px solid var(--red)}
.team-name{font-size:13px;font-weight:600;color:var(--black);line-height:1.3}
.team-cargo{font-size:11px;color:var(--muted);margin-top:1px;line-height:1.3}
.team-badge{display:inline-block;font-size:10px;font-weight:700;background:var(--red);color:#fff;padding:2px 7px;border-radius:4px;margin-top:3px;font-family:var(--font-head);letter-spacing:.3px}

/* ── AVATAR WRAP with camera overlay ── */
.team-av-wrap{position:relative;flex-shrink:0;width:40px;height:40px;cursor:pointer;border-radius:50%}
.team-av{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;position:absolute;inset:0}
.team-av-img{width:40px;height:40px;border-radius:50%;object-fit:cover;position:absolute;inset:0}

/* Camera overlay — shown on hover, hidden when photo exists */
.cam-overlay{
  position:absolute;inset:0;border-radius:50%;
  background:rgba(32,30,29,.55);
  display:flex;align-items:center;justify-content:center;
  color:#fff;opacity:0;
  transition:opacity .18s;pointer-events:none;
}
.team-av-wrap:hover .cam-overlay{opacity:1}
/* If photo exists (.has-photo), overlay still shows on hover but subtly */
.cam-overlay.has-photo{background:rgba(32,30,29,.45)}

/* ── FORM & BUTTONS ── */
.add-collab-btn{display:inline-flex;align-items:center;gap:7px;background:transparent;border:1.5px dashed var(--border2);border-radius:var(--radius-sm);padding:9px 16px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .15s;font-family:var(--font-body)}
.add-collab-btn:hover{border-color:var(--red);color:var(--red);background:var(--red-dim)}
.sec-label{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}

/* ── METRICS ── */
.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px}
.metric{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.metric::before{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--red)}
.metric-input{background:transparent;border:none;font-family:var(--font-head);font-size:24px;font-weight:700;color:var(--black);width:100%;padding:0;outline:none}
.metric-input::placeholder{color:var(--gray2)}
.metric-lbl{font-size:12px;color:var(--muted);margin-top:3px}

/* ── FORM CARD ── */
.form-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px 28px;margin-bottom:24px;box-shadow:var(--shadow)}
.form-card-title{font-family:var(--font-head);font-size:16px;font-weight:700;color:var(--black);letter-spacing:.3px;margin-bottom:3px}
.form-card-sub{font-size:13px;color:var(--muted);margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--border2)}
.form-group{margin-bottom:15px}
.form-group label{display:block;font-size:12px;font-weight:600;color:var(--black2);margin-bottom:5px}
.form-group input,.form-group select,.form-group textarea{width:100%;background:var(--gray);border:1.5px solid var(--border2);border-radius:var(--radius-sm);padding:9px 12px;font-size:13px;color:var(--black);font-family:var(--font-body);transition:border-color .15s;resize:vertical}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(237,30,36,.1)}
.form-group textarea{min-height:82px;line-height:1.55}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.save-btn{display:inline-flex;align-items:center;gap:8px;background:var(--red);color:#fff;border:none;border-radius:var(--radius-sm);padding:10px 22px;font-size:14px;font-weight:700;letter-spacing:.4px;font-family:var(--font-head);cursor:pointer;transition:background .15s,transform .1s}
.save-btn:hover{background:var(--red-dark)}
.save-btn:active{transform:scale(.97)}
.save-success{display:none;align-items:center;gap:7px;margin-top:12px;padding:10px 14px;background:#F0FDF4;border:1px solid #86EFAC;border-radius:var(--radius-sm);font-size:13px;color:#166534}
.del-btn{background:transparent;border:1.5px solid var(--border2);color:var(--muted);border-radius:var(--radius-sm);padding:10px 16px;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--font-body);transition:all .15s}
.del-btn:hover{border-color:var(--red);color:var(--red)}

/* ── PROCESS LIST ── */
.proc-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.add-proc-btn{display:inline-flex;align-items:center;gap:7px;background:var(--red);color:#fff;border:none;border-radius:var(--radius-sm);padding:8px 16px;font-size:13px;font-weight:700;letter-spacing:.3px;font-family:var(--font-head);cursor:pointer;transition:background .15s}
.add-proc-btn:hover{background:var(--red-dark)}
.proc-empty{background:var(--white);border:1.5px dashed var(--border2);border-radius:var(--radius-lg);padding:28px;text-align:center;font-size:13px;color:var(--muted);margin-bottom:24px}
.proc-item{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:10px;overflow:hidden;box-shadow:var(--shadow)}
.proc-item-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;cursor:pointer;transition:background .12s;user-select:none}
.proc-item-header:hover{background:var(--gray)}
.proc-item-left{display:flex;align-items:center;gap:12px}
.proc-num{font-family:var(--font-head);font-size:20px;font-weight:800;color:var(--red);min-width:32px;line-height:1}
.proc-name{font-family:var(--font-head);font-size:15px;font-weight:700;color:var(--black);letter-spacing:.2px}
.proc-meta{font-size:12px;color:var(--muted);margin-top:2px}
.proc-status{font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;font-family:var(--font-head);letter-spacing:.3px;text-transform:uppercase}
.proc-status.saved{background:#F0FDF4;color:#166534}
.proc-status.empty{background:var(--gray);color:var(--muted)}
.proc-chevron{font-size:14px;color:var(--muted);min-width:16px;text-align:center}
.proc-body{border-top:1px solid var(--border2)}
.proc-form-inner{padding:20px 22px}

/* ── ADD COLLAB MODAL ── */
.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(32,30,29,.55);z-index:200;align-items:center;justify-content:center;padding:20px}
.modal{background:var(--white);border-radius:var(--radius-lg);padding:28px;width:100%;max-width:440px;box-shadow:0 8px 40px rgba(32,30,29,.2)}
.modal-title{font-family:var(--font-head);font-size:18px;font-weight:700;color:var(--black);margin-bottom:18px;letter-spacing:.3px}
.modal-av-area{position:relative;width:64px;height:64px;cursor:pointer;flex-shrink:0}
.modal-av-init{width:64px;height:64px;border-radius:50%;background:var(--gray2);border:2px dashed var(--border2);display:flex;align-items:center;justify-content:center;font-size:24px;position:absolute;inset:0}
.modal-av-img{width:64px;height:64px;border-radius:50%;object-fit:cover;position:absolute;inset:0}
.modal-av-cam{position:absolute;inset:0;border-radius:50%;background:rgba(32,30,29,.5);display:flex;align-items:center;justify-content:center;color:#fff;transition:opacity .15s}
.modal-av-cam:hover{background:rgba(32,30,29,.7)}
.modal-photo-row{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.modal-photo-hint{font-size:13px;color:var(--muted);line-height:1.5}
.modal-photo-hint strong{color:var(--red);display:block;font-size:13px}
.modal-footer{display:flex;gap:10px;margin-top:20px;justify-content:flex-end}
.modal-cancel{background:transparent;border:1.5px solid var(--border2);color:var(--muted);border-radius:var(--radius-sm);padding:9px 18px;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--font-body)}
.modal-cancel:hover{border-color:var(--black);color:var(--black)}

/* ── CROP MODAL ── */
.crop-modal{display:none;position:fixed;inset:0;background:rgba(20,18,17,.8);z-index:300;align-items:center;justify-content:center;padding:20px}
.crop-box{background:var(--white);border-radius:var(--radius-lg);padding:24px;width:100%;max-width:360px}
.crop-title{font-family:var(--font-head);font-size:16px;font-weight:700;color:var(--black);margin-bottom:16px;letter-spacing:.3px}
.crop-area{width:220px;height:220px;border-radius:50%;overflow:hidden;margin:0 auto 16px;cursor:grab;position:relative;background:var(--gray2);border:2px solid var(--border2)}
.crop-area:active{cursor:grabbing}
#crop-img{width:100%;height:100%;object-fit:cover;transform-origin:center;pointer-events:none;user-select:none}
.crop-zoom-row{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.crop-zoom-row label{font-size:12px;color:var(--muted);font-weight:600;white-space:nowrap}
.crop-zoom-row input{flex:1}
.crop-footer{display:flex;gap:10px;justify-content:flex-end}

/* ── MOBILE ── */
.menu-btn{display:none;width:36px;height:36px;background:var(--white);border:1.5px solid var(--border2);border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.menu-btn span{display:block;width:17px;height:1.5px;background:var(--black);border-radius:2px}
.overlay{display:none;position:fixed;inset:0;background:rgba(32,30,29,.5);z-index:90}

@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.fade-up{animation:fadeUp .35s ease both}
.fade-up-1{animation-delay:.06s}.fade-up-2{animation-delay:.12s}.fade-up-3{animation-delay:.18s}

@media(max-width:960px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.main{margin-left:0}.menu-btn{display:flex}.overlay.open{display:block}.content{padding:20px}.form-row{grid-template-columns:1fr}.metrics-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.metrics-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr 1fr}}

/* ── NAV ICON ── */
.nav-icon{display:inline-flex;align-items:center;width:18px;flex-shrink:0;opacity:.65}
.nav-item.active .nav-icon{opacity:1}

/* ── BANCO CARD ── */
.banco-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:var(--shadow);margin-bottom:10px;transition:border-color .15s}
.banco-card:hover{border-color:var(--border2)}
.banco-left{display:flex;align-items:center;gap:12px}
.banco-icon{width:38px;height:38px;background:var(--red-dim);border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--red);flex-shrink:0}
.banco-name{font-family:var(--font-head);font-size:15px;font-weight:700;color:var(--black);letter-spacing:.2px}
.banco-meta{font-size:12px;color:var(--muted);margin-top:2px}
.banco-pix{font-size:11px;color:var(--muted);margin-top:2px;font-family:monospace}

/* ── SYS ACTION BTN (reuse in sector pages) ── */
.sys-action-btn{width:28px;height:28px;border:1px solid var(--border2);border-radius:var(--radius-sm);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:all .12s}
.sys-action-btn:hover{border-color:var(--red);color:var(--red)}

/* ── COLLABORATOR PICKER MODAL ── */
.collab-picker-item{
  display:flex;align-items:center;gap:11px;
  padding:10px 10px;border-radius:var(--radius-sm);
  cursor:pointer;transition:background .12s;
  margin-bottom:2px;
}
.collab-picker-item:hover{background:var(--gray)}
.collab-picker-item:hover .collab-picker-add{
  background:var(--red);border-color:var(--red);color:#fff;
}
.collab-picker-add{
  width:28px;height:28px;flex-shrink:0;
  border:1.5px solid var(--border2);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--muted);transition:all .15s;
}
/* remove button inside team-grid to remove from sector */
.team-card-remove{
  position:absolute;top:-4px;right:-4px;
  width:18px;height:18px;border-radius:50%;
  background:var(--red);color:#fff;border:2px solid var(--white);
  display:none;align-items:center;justify-content:center;
  cursor:pointer;font-size:10px;line-height:1;
}
.team-card:hover .team-card-remove{display:flex}

/* ── USER BADGE (topbar) ── */
.user-badge{
  display:flex;align-items:center;gap:8px;
  padding:5px 10px 5px 6px;
  background:var(--white);border:1px solid var(--border2);
  border-radius:20px;cursor:pointer;
  transition:border-color .15s;user-select:none;
}
.user-badge:hover{border-color:var(--red)}
.user-badge-av{
  width:26px;height:26px;border-radius:50%;
  background:var(--red);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:700;flex-shrink:0;
}
.user-badge-name{font-size:12px;font-weight:600;color:var(--black);line-height:1.2}
.user-badge-role{font-size:10px;color:var(--muted)}
.user-menu{
  position:absolute;top:calc(100% + 6px);right:0;
  background:var(--white);border:1px solid var(--border2);
  border-radius:var(--radius);box-shadow:0 4px 20px rgba(32,30,29,.12);
  min-width:160px;z-index:200;overflow:hidden;
}
.user-menu-item{
  display:flex;align-items:center;gap:8px;
  padding:10px 14px;
  font-size:13px;color:var(--black);
  cursor:pointer;transition:background .12s;
}
.user-menu-item:hover{background:var(--gray);color:var(--red)}
