/* Identidade Visual RUCKE — Azul #0075DF / #015399 · Laranja #FD4F12 · Montserrat / Roboto */
*{box-sizing:border-box}
body{margin:0;font-family:'Roboto',Arial,sans-serif;background:#f2f6fa;color:#1c2733;font-size:14px}
main{padding:20px;max-width:1360px;margin:0 auto}
h1,h2,h3,.logo{font-family:'Montserrat',Arial,sans-serif}
h1{font-size:20px;margin:0 0 16px;color:#015399}
h3{color:#015399;margin:6px 0 10px}
a{color:#0075df}
.mono{font-family:'Roboto Mono',monospace;font-size:12.5px}

/* —— Topbar + menu mobile —— */
.topbar{background:linear-gradient(135deg,#015399,#0075df);display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:0 12px;min-height:54px;position:relative;z-index:100}
.topbar .logo{color:#fff;font-size:17px;margin-right:8px;font-weight:700;letter-spacing:.5px;flex-shrink:0;padding:12px 0}
.topbar .logo b{color:#fd4f12}
.topbar-right{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.crm-btn{background:#fd4f12 !important;color:#fff !important;font-family:'Montserrat',Arial,sans-serif;font-weight:700;font-size:13px;padding:8px 18px !important;border-radius:6px;box-shadow:none !important;min-height:36px;text-decoration:none}
.crm-btn:hover{background:#d84210 !important;color:#fff !important}
.crm-btn.ativo{box-shadow:inset 0 0 0 2px #fff !important}
.gerencial-filtros .btn-sm{padding:7px 14px;font-size:12px}
.nav-toggle{display:none;background:rgba(255,255,255,.15);border:0;color:#fff;font-size:22px;line-height:1;padding:10px 14px;border-radius:6px;cursor:pointer;min-width:44px;min-height:44px}
.nav-toggle:hover{background:rgba(255,255,255,.25)}
.nav-menu{display:flex;align-items:center;flex:1;gap:4px;flex-wrap:wrap}
.nav-links{display:flex;align-items:center;gap:2px;flex-wrap:wrap}
.topbar a{color:#cfe4f7;text-decoration:none;padding:14px 11px;font-size:13.5px;min-height:44px;display:inline-flex;align-items:center}
.topbar a.ativo,.topbar a:hover{color:#fff;box-shadow:inset 0 -3px 0 #fd4f12}
.topbar .user{margin-left:auto;color:#cfe4f7;font-size:13px;white-space:nowrap;padding:8px 0}
.topbar .user a{padding:0;color:#9dc4e8}
.topbar .sino{color:#fff;background:#fd4f12;border-radius:12px;padding:6px 12px !important;font-weight:bold;font-size:12.5px;white-space:nowrap}

table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px rgba(1,83,153,.12)}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:4px;border-radius:8px}
.table-wrap table{margin:0;min-width:520px}
th{background:#015399;color:#fff;text-align:left;padding:9px 10px;font-size:12px;font-family:'Montserrat',Arial,sans-serif;white-space:nowrap}
td{padding:8px 10px;border-bottom:1px solid #e6edf4}
tr:hover td{background:#f4f9ff}
.badge{display:inline-block;padding:2px 9px;border-radius:10px;font-size:12px;background:#e6edf4}
.badge.ganhou{background:#e6f6ec;color:#0b6e32;font-weight:bold}
.badge.perdeu{background:#fde7e9;color:#b3261e;font-weight:bold}
.badge.atrasada{background:#fde7e9;color:#b3261e;font-weight:bold}
.badge.aberta{background:#e1efff;color:#015399}
.badge.etq{background:#fff0ea;color:#c23a0e}
.badge.admin{background:#e1efff;color:#015399;font-weight:bold}
.card-box{background:#fff;border-radius:8px;padding:16px;box-shadow:0 1px 3px rgba(1,83,153,.12);margin-bottom:16px}
.card-box.destaque{border-left:4px solid #0075df}
.card-box.info{border-left:4px solid #fd4f12}
.info-box{font-size:13px;color:#4a5b6c;line-height:1.55}
.info-box ol,.info-box ul{margin:8px 0;padding-left:20px}
.info-box li{margin:4px 0}
.perfil-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.perfil-grid .lbl{font-size:11px;color:#7a8ba0;text-transform:uppercase;letter-spacing:.3px}
.perfil-grid .val{font-weight:bold;margin-top:2px}
input,select,textarea{padding:7px 9px;border:1px solid #c3d4e4;border-radius:6px;font:inherit;width:100%}
label{font-size:12px;color:#4a5b6c;display:block;margin-bottom:3px}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;align-items:end}
.btn{background:#0075df;color:#fff;border:0;border-radius:6px;padding:9px 18px;font:inherit;font-family:'Montserrat',Arial,sans-serif;font-weight:600;cursor:pointer;min-height:40px}
.btn:hover{background:#015399}
.btn-sec{background:#e6edf4;color:#1c2733}
.btn-laranja{background:#fd4f12}
.btn-laranja:hover{background:#d84210}
.btn-sm{padding:6px 12px;font-size:12px;min-height:32px}
.filtros{display:flex;gap:8px;margin-bottom:14px;align-items:center;flex-wrap:wrap}
.filtros input,.filtros select{width:auto;min-width:120px;flex:1 1 140px;max-width:280px}
.filtros .btn,.filtros .btn-sec{flex:0 0 auto}
.kanban{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;align-items:stretch}
.col{background:#e7eef5;border-radius:8px;padding:8px;min-height:300px;display:flex;flex-direction:column;gap:8px;position:relative}
.col::after{content:'';flex:1 1 auto;min-height:100px;pointer-events:none}
.col-h{padding:6px 8px;font-weight:bold;font-family:'Montserrat',Arial,sans-serif;color:#015399;font-size:13px;flex-shrink:0;pointer-events:none}
.col-h small{display:block;color:#4a5b6c;font-weight:normal;font-family:'Roboto Mono',monospace;font-size:11px;margin-top:2px}
.col.sortable-drag-over{outline:3px solid #0075df;outline-offset:-2px;background:#dceaf8}
.card{background:#fff;border-radius:6px;padding:10px;box-shadow:0 1px 2px rgba(1,83,153,.18);cursor:grab;border-left:3px solid #0075df;touch-action:none;-webkit-user-select:none;user-select:none;flex-shrink:0}
.card:active{cursor:grabbing}
.card.sortable-chosen{box-shadow:0 4px 14px rgba(1,83,153,.35)}
.card.sortable-ghost{opacity:.35;background:#e1efff;border:2px dashed #0075df;pointer-events:none !important}
.card.sortable-drag,.sortable-fallback{opacity:.95;cursor:grabbing;pointer-events:none !important;z-index:9999}
body.funil-arrastando .col{min-height:300px}
body.funil-arrastando .kanban .col:not(.sortable-drag-over){opacity:.92}
.dz.sortable-drag-over{outline:3px dashed #0075df;outline-offset:-2px;background:rgba(225,239,255,.55)}
.dz.sortable-drag-over.dz-win{outline-color:#0b8f3f;background:rgba(230,246,236,.65)}
.dz.sortable-drag-over.dz-lose{outline-color:#b3261e;background:rgba(253,231,233,.55)}
.card:hover{box-shadow:0 2px 6px rgba(1,83,153,.3)}
.c-foot .abrir{float:right;color:#0075df;font-weight:bold}
.card-abrir{display:block;margin-top:8px;text-align:center;background:#e1efff;color:#015399;border-radius:5px;padding:8px 0;font-size:12px;font-weight:bold;text-decoration:none;font-family:'Montserrat',Arial,sans-serif;min-height:36px;line-height:20px}
.card-abrir:hover{background:#0075df;color:#fff}
.c-top{display:flex;justify-content:space-between;font-size:11.5px;font-family:'Roboto Mono',monospace;gap:6px}
.c-top span{font-weight:bold;color:#fd4f12;flex-shrink:0}
.c-emp{font-weight:bold;margin:4px 0 2px;font-size:13px}
.c-desc{font-size:12px;color:#4a5b6c}
.c-foot{font-size:11px;color:#7a8ba0;margin-top:6px}
.dropzones{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.dz{border:2px dashed #c3d4e4;border-radius:8px;padding:18px;text-align:center;color:#4a5b6c;min-height:52px;font-family:'Montserrat',Arial,sans-serif;font-weight:600}
.dz-win{border-color:#0b8f3f;color:#0b6e32}
.dz-lose{border-color:#e5484d;color:#b3261e}
.dz .card{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;pointer-events:none}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}
.kpi{background:#fff;border-radius:8px;padding:14px;box-shadow:0 1px 3px rgba(1,83,153,.12);border-top:3px solid #0075df}
.kpi .lbl{font-size:12px;color:#4a5b6c}
.kpi .num{font-size:21px;font-weight:bold;color:#015399;margin-top:4px;font-family:'Roboto Mono',monospace}
.kpi .num.warn{color:#fd4f12}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.login-bg{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#015399,#0075df);padding:16px}
.login-box{background:#fff;border-radius:12px;padding:28px 24px;width:100%;max-width:380px;text-align:center}
.login-box h1{margin:0;color:#015399}
.login-box h1 b{color:#fd4f12}
.login-box .sub{color:#4a5b6c;margin-top:4px;font-size:13px}
.btn-google{width:100%;padding:12px;border:1px solid #c3d4e4;border-radius:6px;background:#fff;color:#1c2733;font:inherit;margin-top:16px;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.btn-google:hover{background:#f4f9ff;border-color:#0075df}
.btn-google:disabled{cursor:not-allowed;color:#7a8ba0}
.divisor{margin:18px 0 10px;color:#7a8ba0;font-size:12px}
.btn-dev{width:100%;padding:12px;margin-top:8px;border:1px solid #0075df;background:#fff;color:#015399;border-radius:6px;font:inherit;cursor:pointer;min-height:44px}
.btn-dev:hover{background:#e1efff}
.erro{color:#b3261e;font-size:13px}
.ok{color:#0b6e32;font-size:13px}
.right{text-align:right}
.nota{border-left:3px solid #fd4f12;background:#fff;border-radius:0 8px 8px 0;padding:10px 12px;margin-bottom:8px;box-shadow:0 1px 2px rgba(1,83,153,.12)}
.nota .meta{font-size:11px;color:#7a8ba0;margin-top:4px;font-family:'Roboto Mono',monospace}
.toolbar{display:flex;gap:4px;margin:4px 0;flex-wrap:wrap}
.toolbar button{padding:8px 12px;border:1px solid #c3d4e4;background:#fff;border-radius:5px;cursor:pointer;font:inherit;min-height:36px}
.toolbar button:hover{background:#e1efff}
.editor{min-height:90px;border:1px solid #c3d4e4;border-radius:6px;padding:9px;background:#fff}
.editor:focus{outline:2px solid #0075df33}
.rico{font-size:12.5px;color:#4a5b6c;margin-top:3px}
.rico ul,.rico ol{margin:4px 0;padding-left:20px}
.dlg{border:0;border-radius:10px;padding:22px;box-shadow:0 8px 40px rgba(1,83,153,.35);max-width:min(520px,calc(100vw - 32px));width:100%}
.dlg::backdrop{background:rgba(1,41,74,.45)}
.dlg h3{margin-top:0}
.import-result{font-size:13px;margin-top:10px;padding:10px;background:#f4f9ff;border-radius:6px}

/* —— Breakpoints —— */
@media(max-width:1100px){.kanban{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){
  .kanban{grid-template-columns:1fr 1fr}
  .grid2{grid-template-columns:1fr}
  .dropzones{grid-template-columns:1fr}
  main{padding:14px}
}
@media(max-width:768px){
  .nav-toggle{display:block;margin-left:auto}
  .crm-label{margin-right:0}
  .nav-menu{display:none;width:100%;flex-direction:column;align-items:stretch;padding-bottom:10px;border-top:1px solid rgba(255,255,255,.2)}
  body.nav-open .nav-menu{display:flex}
  .nav-links{flex-direction:column;width:100%;align-items:stretch}
  .nav-links a{width:100%;padding:14px 12px;box-shadow:none;border-bottom:1px solid rgba(255,255,255,.1)}
  .nav-links a.ativo,.nav-links a:hover{box-shadow:inset 4px 0 0 #fd4f12;background:rgba(255,255,255,.08)}
  .topbar-right{margin-left:0;width:100%;flex-direction:column;align-items:stretch;padding-top:8px;border-top:1px solid rgba(255,255,255,.15)}
  .topbar .user{margin-left:0;width:100%;padding:8px 0;text-align:center}
  .topbar .sino{margin-left:0;width:100%;text-align:center;border-radius:6px}
  .crm-btn{width:100%;justify-content:center;text-align:center}
  h1{font-size:18px}
  .filtros input,.filtros select{max-width:none;flex:1 1 100%}
}
@media(max-width:560px){
  .kanban{grid-template-columns:1fr}
  .login-box{padding:24px 18px}
}