/* ═══════════════════════════════════════════════════
   SICOOP — CSS v3.1 | Método Consultores
   Sem frameworks externos | Otimizado (dead-code removido,
   regras consolidadas, redundâncias eliminadas)
═══════════════════════════════════════════════════ */

/* ── Reset ─────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* ── Tokens ─────────────────────────────────────── */
:root{
  --ff:Arial,Helvetica,sans-serif;
  --ffm:"Courier New",Courier,monospace;
  --c0:#fff; --c1:#f4f5f7; --c2:#e8eaf0;
  --c3:#d0d5de; --c4:#8a93a8; --c5:#4a5068; --c6:#1a1d26;
  --accent:#1a6fe8;
  --adim:rgba(26,111,232,.08); --ahov:rgba(26,111,232,.13);
  --label:#0a2463;
  --green:#16a34a; --amber:#ca8a04; --red:#dc2626;
  --r4:4px; --r6:6px; --r8:8px;
  --sh-md:0 6px 24px rgba(0,0,0,.14);
  --sh-lg:0 16px 56px rgba(0,0,0,.20);
  --t:.12s ease;
}

/* ── Base ────────────────────────────────────────── */
html,body{height:100%;font-family:var(--ff);font-size:13px;
  color:var(--c6);background:var(--c1);overflow:hidden}
button{cursor:pointer;font-family:var(--ff)}
input,select,textarea{font-family:var(--ff)}

/* ── Utilitários de largura ──────────────────────── */
.sc-w-50{width:50px} .sc-w-60{width:60px} .sc-w-70{width:70px}
.sc-w-72{width:72px} .sc-w-80{width:80px} .sc-w-90{width:90px}
.sc-w-100{width:100px} .sc-w-105{width:105px} .sc-w-110{width:110px}
.sc-w-115{width:115px} .sc-w-120{width:120px} .sc-w-130{width:130px}
.sc-w-140{width:140px} .sc-w-150{width:150px} .sc-w-155{width:155px} .sc-w-200{width:200px}
.sc-w-300{width:300px} .sc-w-400{width:400px} .sc-w-500{width:500px}

/* ── Utilitários tipografia / layout ─────────────── */
.sc-ta-r{text-align:right}
.sc-ta-c,.sc-home{text-align:center}
.sc-fw{font-weight:700}
.sc-mt-4{margin-top:4px} .sc-mt-6{margin-top:6px} .sc-mt-10{margin-top:10px}
.sc-mt-12{margin-top:12px} .sc-mt-14{margin-top:14px}
.sc-mb-10{margin-bottom:10px} .sc-mb-12{margin-bottom:12px}
.sc-flex{display:flex} .sc-gap-6{gap:6px} .sc-gap-8{gap:8px}
.sc-flex-end{display:flex;justify-content:flex-end}
.sc-flex-wrap{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sc-inline-input{width:60px;padding:2px 6px;border:1px solid var(--c3);
  border-radius:var(--r4);font-size:12px;font-family:var(--ff)}
.sc-unit-label{font-size:12px;color:var(--c4)}
.sc-calc-col-main{width:55%} .sc-calc-col-tag{width:15%}
.sc-cols{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-start}
.sc-col{flex:1;min-width:230px;display:flex;flex-direction:column;gap:14px}

/* ── Window ──────────────────────────────────────── */
.sc-window{display:flex;flex-direction:column;height:100vh;
  background:var(--c0);border:1px solid var(--c3)}

/* ── Titlebar ────────────────────────────────────── */
.sc-titlebar{display:flex;align-items:center;justify-content:space-between;
  height:36px;padding:0 14px;background:var(--c2);
  border-bottom:1px solid var(--c3);flex-shrink:0;user-select:none}
.sc-titlebar__left{display:flex;align-items:center;gap:10px}
.sc-titlebar__icon{width:14px;height:14px;background:var(--accent);
  clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}
.sc-titlebar__text{font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--c5)}
.sc-titlebar__btns{display:flex;gap:6px}
.sc-titlebar__btn{width:12px;height:12px;border-radius:50%;
  cursor:pointer;transition:opacity var(--t)}
.sc-titlebar__btn:hover{opacity:.7}
.sc-titlebar__btn--close{background:var(--red)}
.sc-titlebar__btn--min{background:var(--amber)}
.sc-titlebar__btn--max{background:var(--green)}

/* ── Menubar ─────────────────────────────────────── */
.sc-menubar{display:flex;align-items:stretch;height:34px;
  background:var(--c0);border-bottom:1px solid var(--c3);
  flex-shrink:0;padding:0 4px;position:relative;z-index:500}
.sc-menu{position:relative;display:inline-flex;align-items:stretch}
.sc-menu__title{display:flex;align-items:center;padding:0 11px;
  font-size:12px;font-weight:600;color:var(--c5);white-space:nowrap;
  cursor:pointer;border-radius:var(--r4);user-select:none;
  transition:background var(--t),color var(--t)}
.sc-menu__title:hover,
.sc-menu.open .sc-menu__title{background:var(--adim);color:var(--c6)}
.sc-menu__title--danger{color:var(--red);opacity:.85}
.sc-menu.open>.sc-dropdown,
.sc-dropdown__item:hover>.sc-submenu{display:block}
.sc-panel.active,
.sc-subpanel.active{display:block}
.sc-dropdown,.sc-submenu{
  display:none;position:absolute;
  min-width:240px;background:var(--c0);border:1px solid var(--c3);
  border-radius:var(--r6);box-shadow:var(--sh-md);padding:4px 0;z-index:600}
.sc-dropdown{top:calc(100% + 2px);left:0}
.sc-submenu{left:calc(100% + 4px);top:-4px;z-index:700}
.sc-dropdown__item{display:flex;align-items:center;
  justify-content:space-between;padding:7px 14px 7px 20px;
  font-size:12px;color:var(--c5);cursor:pointer;white-space:nowrap;
  border-radius:4px;margin:0 4px;position:relative;
  transition:background var(--t),color var(--t)}
.sc-dropdown__item:hover{background:var(--ahov);color:var(--c6)}
.sc-dropdown__item--active{color:var(--accent);font-weight:700}
.sc-dropdown__item--danger{color:var(--red)}
.sc-dropdown__sep{height:1px;background:var(--c3);margin:4px 8px}
.sc-dropdown__label{padding:4px 14px 2px 20px;font-family:var(--ffm);
  font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--c4)}
.sc-dropdown__shortcut{font-family:var(--ffm);font-size:9.5px;
  color:var(--c4);margin-left:18px}

/* ── Body (toolbar + content) ────────────────────── */
.sc-body{flex:1;display:flex;overflow:hidden}

/* ── Toolbar (coluna esquerda) ───────────────────── */
.sc-toolbar{display:flex;flex-direction:column;align-items:center;gap:4px;
  width:46px;flex-shrink:0;padding:8px 5px;background:var(--c1);
  border-right:1px solid var(--c3)}
.sc-toolbar__btn{display:flex;align-items:center;justify-content:center;
  width:34px;height:28px;padding:0;border-radius:var(--r4);
  border:1px solid transparent;background:none;font-size:15px;color:var(--c5);
  cursor:pointer;transition:background var(--t),border-color var(--t),color var(--t)}
.sc-toolbar__btn:hover{background:var(--c2);border-color:var(--c3)}
.sc-toolbar__btn--primary{background:rgba(26,111,232,.10);border-color:rgba(26,111,232,.28);color:var(--accent)}
.sc-toolbar__btn--green  {background:rgba(22,163,74,.10); border-color:rgba(22,163,74,.28); color:var(--green)}
.sc-toolbar__btn--amber  {background:rgba(202,138,4,.10); border-color:rgba(202,138,4,.28); color:var(--amber)}
.sc-toolbar__btn--orange {background:rgba(234,88,12,.10); border-color:rgba(234,88,12,.28); color:#ea580c}

/* ── Content / Home ──────────────────────────────── */
.sc-content{flex:1;display:flex;align-items:center;
  justify-content:center;overflow:hidden;background:var(--c0)}
.sc-home__title{font-size:24px;font-weight:700;letter-spacing:.04em;color:var(--c5)}
.sc-home__pulse{width:6px;height:6px;background:var(--accent);
  border-radius:50%;margin:0 auto 14px;
  animation:sic-pulse 2s ease-in-out infinite}
@keyframes sic-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(26,111,232,.6)}
  50%     {box-shadow:0 0 0 6px rgba(26,111,232,0)}
}
.sc-home__logo{margin-top:24px}
.sc-home__logo img{max-height:80px;max-width:260px;object-fit:contain}
/* ── Seleção de empresa (home) ───────────────────── */
.sc-empresa-form{margin-top:28px}
.sc-empresa-label{font-size:11px;color:var(--c4);margin-bottom:12px;letter-spacing:.04em}
.sc-empresa-cards{display:flex;gap:10px;justify-content:center}
.sc-empresa-card{padding:10px 28px;font-size:13px;font-weight:600;
  background:var(--c1);color:var(--c5);border:1px solid var(--c3);
  border-radius:var(--r6);cursor:pointer;
  transition:background var(--t),color var(--t),border-color var(--t)}
.sc-empresa-card:hover{background:var(--ahov);color:var(--c6);border-color:var(--accent)}
.sc-empresa-card--active{background:var(--adim);color:var(--accent);border-color:var(--accent)}
.sc-empresa-error{margin-top:10px;font-size:11px;color:var(--red)}

/* ── Statusbar ───────────────────────────────────── */
.sc-statusbar{display:flex;align-items:center;height:26px;
  background:var(--c2);border-top:1px solid var(--c3);flex-shrink:0}
.sc-statusbar__cell{display:flex;align-items:center;height:100%;
  padding:0 12px;font-family:var(--ffm);font-size:10px;color:var(--c4);
  border-right:1px solid var(--c3);white-space:nowrap}
.sc-statusbar__cell--grow{flex:1;color:var(--c5)}
.sc-statusbar__dot{width:5px;height:5px;background:var(--green);
  border-radius:50%;margin-right:7px;animation:sic-pulse 3s ease infinite}

/* ── Toast ───────────────────────────────────────── */
.sc-toast{position:fixed;top:48px;right:20px;
  transform:translateY(-8px);
  background:var(--c6);color:var(--c0);padding:8px 20px;
  border-radius:var(--r6);font-size:12px;font-weight:600;
  opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;
  z-index:9999;white-space:nowrap}
.sc-toast.show{opacity:1;transform:translateY(0)}

/* ── Modal backdrop ──────────────────────────────── */
.sc-backdrop{display:none;position:fixed;inset:0;
  background:rgba(0,0,0,.28);z-index:9000;
  align-items:center;justify-content:center}
.sc-backdrop.open{display:flex}

/* ── Modal window ────────────────────────────────── */
.sc-modal{background:var(--c0);border:1px solid var(--c3);
  border-radius:var(--r8);box-shadow:var(--sh-lg);
  width:920px;max-width:96vw;max-height:92vh;
  display:flex;flex-direction:column;overflow:hidden}
.sc-modal--sm{width:620px}
.sc-modal--md{width:760px}
.sc-modal--wide{width:1100px}
.sc-modal__header{display:flex;align-items:center;
  justify-content:space-between;padding:9px 16px;
  background:var(--c2);border-bottom:1px solid var(--c3);flex-shrink:0}
.sc-modal__title{font-size:13px;font-weight:700;color:var(--c6)}
.sc-modal__close{width:22px;height:22px;border-radius:50%;
  background:var(--c3);border:none;font-size:11px;color:var(--c4);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:background var(--t),color var(--t)}
.sc-modal__close:hover{background:var(--red);color:var(--c0)}
.sc-modal__toolbar{display:flex;align-items:center;gap:3px;
  padding:6px 12px;background:var(--c1);
  border-bottom:1px solid var(--c3);flex-shrink:0;flex-wrap:wrap}
.sc-modal__body{flex:1;overflow:hidden;display:flex;
  flex-direction:column;min-height:0}

/* ── Buttons ─────────────────────────────────────── */
.sc-btn{display:inline-flex;align-items:center;gap:5px;
  padding:5px 12px;border-radius:var(--r4);font-size:11.5px;
  font-weight:600;border:1px solid transparent;
  background:none;color:var(--c5);cursor:pointer;white-space:nowrap;
  transition:background var(--t),color var(--t),border-color var(--t)}
.sc-btn:hover{background:var(--ahov);border-color:var(--c3);color:var(--accent)}
.sc-btn--primary{background:var(--accent);color:var(--c0);border-color:var(--accent)}
.sc-btn--primary:hover{background:#1460d0;border-color:#1460d0;color:var(--c0)}
.sc-btn--ghost{background:var(--c2);border-color:var(--c3);color:var(--c6)}
.sc-btn--ghost:hover{background:var(--c3);color:var(--c6)}
.sc-btn--danger:hover{background:rgba(220,38,38,.08);
  color:var(--red);border-color:#fca5a5}
.sc-btn-sep{width:1px;height:18px;background:var(--c3);margin:0 3px}
.sc-btn:disabled,.sc-btn[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}

/* ── Tabs ────────────────────────────────────────── */
.sc-tabs{display:flex;border-bottom:1px solid var(--c3);
  background:var(--c1);flex-shrink:0}
.sc-tab,.sc-subtab{cursor:pointer;font-weight:600;
  border-bottom:2px solid transparent;user-select:none;
  transition:color var(--t),border-color var(--t)}
.sc-tab{padding:8px 20px;font-size:12px;color:var(--c4)}
.sc-subtab{padding:6px 15px;font-size:12px;color:var(--c4)}
.sc-tab.active,.sc-subtab.active{color:var(--accent);border-bottom-color:var(--accent)}
.sc-tab.active{background:var(--c0)}
.sc-tab:hover:not(.active),
.sc-subtab:hover:not(.active){color:var(--c5)}
.sc-panel{display:none;overflow-y:auto;padding:16px}
.sc-subtabs{display:flex;border-bottom:1px solid var(--c3);
  margin-bottom:14px;flex-wrap:wrap}
.sc-subpanel{display:none}

/* ── Form / Section ──────────────────────────────── */
.sc-section__legend,.sc-actions__legend{
  position:absolute;top:-9px;left:12px;background:var(--c0);
  padding:0 6px;font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;color:var(--label)}
.sc-section{border:1px solid var(--c3);border-radius:var(--r6);
  padding:14px 16px 12px;margin-bottom:14px;position:relative}
.sc-filterbox{background:var(--c1);border:1px solid var(--c3);
  border-radius:var(--r6);padding:12px 16px;margin-bottom:14px}
.sc-filterbox__title{font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:var(--label);margin-bottom:10px}
.sc-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.sc-row--form{display:flex;gap:12px;margin-bottom:10px;
  align-items:flex-end;flex-wrap:wrap}
.sc-row--form:last-child{margin-bottom:0}
.sc-field{display:flex;flex-direction:column;gap:4px}
.sc-field--grow{flex:1;min-width:100px}
.sc-field label{font-size:10.5px;font-weight:700;color:var(--label)}
.sc-field input,.sc-field select,.sc-field textarea{
  padding:5px 9px;border:1px solid var(--c3);border-radius:var(--r4);
  font-size:12px;font-family:var(--ff);background:var(--c0);
  color:var(--c6);outline:none;transition:border-color var(--t);width:100%}
.sc-field input:focus,.sc-field select:focus,.sc-field textarea:focus,
.sc-calc-table input:focus,.sc-formula-row input:focus{
  border-color:var(--accent)}
.sc-field input[readonly]{background:var(--c1);color:var(--c4)}
.sc-field textarea{resize:none}
.sc-radio-row{display:flex;gap:12px;align-items:center;
  margin-top:2px;flex-wrap:wrap}
.sc-radio-row label{font-size:12px;font-weight:600;color:var(--label);
  display:flex;align-items:center;gap:5px;cursor:pointer}
.sc-check-list{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.sc-check-list label{font-size:12px;display:flex;align-items:flex-start;
  gap:6px;cursor:pointer;color:var(--c5);line-height:1.4}
.sc-check-list label input{margin-top:2px;flex-shrink:0}

/* ── CEP ─────────────────────────────────────────── */
.sc-cep-row{display:flex;gap:8px;align-items:flex-end;
  flex-wrap:wrap;margin-bottom:10px}
.sc-cep-btn{display:inline-flex;align-items:center;gap:5px;
  padding:5px 14px;background:var(--accent);color:var(--c0);
  border:none;border-radius:var(--r4);font-size:12px;font-weight:700;
  font-family:var(--ff);cursor:pointer;height:29px;
  transition:background var(--t)}
.sc-cep-btn:hover{background:#1460d0}
.sc-cep-btn:disabled{opacity:.6;cursor:not-allowed}
.sc-cep-status{font-size:11.5px;padding:4px 10px;border-radius:var(--r4);
  font-weight:600;display:none}
.sc-cep-status.ok  {background:#dcfce7;color:#166534;border:1px solid #bbf7d0;display:block}
.sc-cep-status.err {background:#fee2e2;color:#991b1b;border:1px solid #fecaca;display:block}
.sc-cep-status.spin{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe;display:block}
.sc-field--cep-filled input{background:#f0fdf4!important;border-color:#86efac!important}

/* ── Grid ────────────────────────────────────────── */
.sc-grid,.sc-calc-table{width:100%;border-collapse:collapse;font-size:12px}
.sc-grid thead th{background:var(--c2);padding:6px 10px;text-align:left;
  font-weight:700;font-size:10.5px;color:var(--c4);text-transform:uppercase;
  letter-spacing:.05em;border-bottom:1px solid var(--c3);white-space:nowrap}
.sc-grid tbody td{padding:7px 10px;border-bottom:1px solid #eef0f5;color:var(--c5)}
.sc-grid tbody tr:hover td{background:var(--adim);cursor:pointer}
.sc-grid tbody tr.selected td{background:#dbeafe;color:var(--c6)}

/* ── Badge ───────────────────────────────────────── */
.sc-badge{display:inline-block;padding:2px 8px;
  border-radius:10px;font-size:10px;font-weight:700}
.sc-badge--ok  {background:#dcfce7;color:#166534}
.sc-badge--no  {background:#fee2e2;color:#991b1b}
.sc-badge--wrn {background:#fef9c3;color:#854d0e}
.sc-badge--err {background:#fee2e2;color:#991b1b}
.sc-badge--info{background:#dbeafe;color:#1e40af}

/* ── Actions bar ─────────────────────────────────── */
.sc-actions{border:1px solid var(--c3);border-radius:var(--r6);
  padding:10px 14px;margin-top:14px;position:relative}
.sc-actions__row{display:flex;gap:8px;flex-wrap:wrap}
.sc-actions .sc-btn{flex:1;justify-content:center;
  background:var(--c2);border-color:var(--c3);color:var(--c6)}
.sc-actions .sc-btn:hover{background:var(--c3)}

/* ── Calc table ──────────────────────────────────── */
.sc-calc-table th{background:var(--c2);padding:5px 8px;text-align:left;
  font-size:10.5px;font-weight:700;color:var(--c4);text-transform:uppercase;
  letter-spacing:.04em;border:1px solid var(--c3)}
.sc-calc-table td{padding:4px 6px;border:1px solid var(--c3)}
.sc-calc-table td:first-child{font-weight:700;color:var(--label);padding:5px 8px}
.sc-calc-table tr:nth-child(odd)  td{background:var(--c1)}
.sc-calc-table tr:nth-child(even) td{background:var(--c0)}
.sc-calc-tag{display:inline-block;background:var(--c2);border:1px solid var(--c3);
  border-radius:2px;padding:2px 8px;font-size:10.5px;font-weight:700;
  color:var(--label);font-family:var(--ffm)}
.sc-calc-table input{width:100%;padding:3px 6px;border:1px solid var(--c3);
  border-radius:2px;font-size:12px;font-family:var(--ff);
  background:var(--c0);color:var(--c6);outline:none;
  transition:border-color var(--t)}

/* ── Formula rows ────────────────────────────────── */
.sc-formula-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.sc-formula-row__label{font-size:12px;font-weight:700;color:var(--label);
  width:220px;flex-shrink:0}
.sc-formula-row__ref{font-size:11px;color:var(--c4);
  width:36px;flex-shrink:0;font-family:var(--ffm)}
.sc-formula-row input{flex:1;padding:4px 8px;border:1px solid var(--c3);
  border-radius:var(--r4);font-size:12px;font-family:var(--ff);
  background:var(--c0);color:var(--c6);outline:none;
  transition:border-color var(--t)}
.sc-formula-row .sc-btn{flex-shrink:0;padding:4px 9px;
  background:var(--c2);border-color:var(--c3);color:var(--c5)}

/* ── Transfer widget ─────────────────────────────── */
.sc-transfer{display:flex;gap:8px;align-items:flex-start}
.sc-transfer__list{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.sc-transfer__label{font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;color:var(--label);margin-bottom:2px}
.sc-transfer__box{border:1px solid var(--c3);border-radius:var(--r4);
  overflow:auto;height:180px;background:var(--c0)}
.sc-transfer__box table{width:100%;border-collapse:collapse;font-size:11px}
.sc-transfer__box table thead th{position:sticky;top:0;background:var(--c2);
  padding:4px 7px;font-weight:700;font-size:10px;color:var(--c4);
  text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--c3);
  white-space:nowrap}
.sc-transfer__box table tbody td{padding:5px 7px;border-bottom:1px solid #eef0f5;
  color:var(--c5);cursor:pointer;white-space:nowrap}
.sc-transfer__box table tbody tr:hover td{background:var(--adim)}
.sc-transfer__box table tbody tr.selected td{background:#dbeafe;color:var(--c6);font-weight:600}
.sc-transfer__ctrl{display:flex;flex-direction:column;gap:4px;
  justify-content:center;padding-top:22px}
.sc-transfer__ctrl button{padding:4px 8px;min-width:36px;font-size:11px;
  font-weight:700;text-align:center}

/* ── Status pill ─────────────────────────────────── */
.sc-status-pill{display:inline-flex;align-items:center;gap:6px;
  padding:4px 10px;border-radius:10px;font-size:11px;font-weight:700}
.sc-status-pill--open{background:#fef9c3;color:#854d0e}
.sc-status-pill--ok  {background:#dcfce7;color:#166534}
.sc-status-pill--done{background:#dbeafe;color:#1e40af}
.sc-status-pill--err {background:#fee2e2;color:#991b1b}
