.weekly-view{padding-bottom:36px}.weekly-head{align-items:flex-start;gap:20px}.weekly-toolbar{display:grid;grid-template-columns:130px 180px minmax(260px,1fr) auto;gap:12px;align-items:end;margin:18px 0}.weekly-toolbar label{display:grid;gap:6px;font-size:12px;color:var(--muted);font-weight:600}.weekly-toolbar select,.weekly-toolbar input{min-height:42px}.weekly-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.weekly-summary>div{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:14px 16px;display:flex;align-items:baseline;gap:8px}.weekly-summary strong{font-size:24px}.weekly-summary span{color:var(--muted);font-size:13px}.weekly-board{display:grid;grid-template-columns:repeat(4,minmax(250px,1fr));gap:14px;align-items:start;overflow-x:auto;padding-bottom:8px}.weekly-column{border:1px solid var(--border);background:var(--surface-soft,#f7f8f8);border-radius:14px;min-width:250px}.weekly-column-head{padding:14px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.weekly-column-head h3{margin:2px 0 3px;font-size:16px}.weekly-column-head span{font-size:12px;color:var(--muted)}.weekly-column-list{display:grid;gap:10px;padding:10px}.weekly-empty{border:1px dashed var(--border);border-radius:10px;padding:18px 12px;text-align:center;color:var(--muted);font-size:12px}.weekly-item{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:12px;box-shadow:var(--shadow-sm)}.weekly-item.done{border-color:#cde8da;background:#f7fcf9}.weekly-item.pending{border-color:#eadfc4}.weekly-item-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.weekly-item-head h4{margin:0 0 5px;font-size:14px}.weekly-status-dot{font-size:11px;color:var(--muted)}.weekly-link,.weekly-notes{margin:8px 0 0;font-size:12px;color:var(--muted)}.weekly-open-detail{margin-top:10px;width:100%;border:1px solid var(--border);border-radius:9px;background:transparent;padding:9px;display:grid;grid-template-columns:auto auto 1fr;gap:7px;align-items:center;text-align:left;cursor:pointer;color:inherit}.weekly-open-detail span{font-size:11px;color:var(--muted)}.weekly-open-detail strong{text-align:right;font-size:11px}.tiny-button{padding:5px 8px!important;min-height:auto!important;font-size:11px!important}.weekly-week-status{margin:4px 0 10px}.weekly-status-pill{display:inline-flex;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700}.weekly-status-pill.done{background:#e8f7ef;color:#24734c}.weekly-status-pill.pending{background:#fff3dc;color:#8a6114}.weekly-detail-actions{display:flex;gap:8px;margin-bottom:14px}#weeklyToggleDone{background:#2e8b57!important;border-color:#2e8b57!important;color:#fff!important}#weeklyToggleDone:hover{background:#26764a!important;border-color:#26764a!important}.weekly-record-form,.weekly-file-form{border-top:1px solid var(--border);padding-top:15px;margin-top:14px}.weekly-detail-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.weekly-detail-columns h3{font-size:14px;margin:0 0 10px}.weekly-records-list,.weekly-files-list,.weekly-project-history-list{display:grid;gap:8px}.weekly-record,.weekly-project-history-item{border:1px solid var(--border);border-radius:10px;padding:11px;background:var(--surface-soft,#f8f9f9)}.weekly-record p,.weekly-project-history-item p{margin:0 0 7px;white-space:pre-wrap}.weekly-record small,.weekly-project-history-item small{color:var(--muted)}.weekly-project-history-item strong{display:block;font-size:12px;margin-bottom:5px}.weekly-file{border:1px solid var(--border);border-radius:10px;padding:10px;display:flex;justify-content:space-between;gap:10px;align-items:center}.weekly-file>div:first-child{display:grid;gap:3px;min-width:0}.weekly-file strong{font-size:12px;overflow:hidden;text-overflow:ellipsis}.weekly-file small{font-size:10px;color:var(--muted)}.weekly-file>div:last-child{display:flex;gap:5px}.weekly-project-indicator{margin:12px 0;padding:10px 12px;border:1px solid #cde8da;background:#f1faf6;border-radius:10px;display:grid;gap:3px}.weekly-project-indicator strong{font-size:12px}.weekly-project-indicator span{font-size:11px;color:var(--muted)}.weekly-approval-panel{margin-top:26px;padding:10px 14px!important;border-radius:10px!important;box-shadow:none!important;background:var(--surface-soft,#f8f9f9)!important}.weekly-approval-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.weekly-approval-head .eyebrow{font-size:9px;margin:0 0 2px}.weekly-approval-head h4{font-size:12px;margin:0}.weekly-approval-head>strong{font-size:13px}.weekly-approval-empty{font-size:11px;margin:7px 0 0}.weekly-approval-panel .record-list{margin-top:8px}.weekly-approval-panel .record-row{padding:8px 10px;font-size:11px}.weekly-approval-panel .record-row p{font-size:10px;margin:2px 0 0}.weekly-approval-panel .small-button{padding:5px 8px!important;font-size:10px!important;min-height:auto!important}@media(max-width:1200px){.weekly-board{grid-template-columns:repeat(4,280px)}.weekly-detail-columns{grid-template-columns:1fr 1fr}}@media(max-width:850px){.weekly-toolbar{grid-template-columns:1fr 1fr}.weekly-search-label{grid-column:1/-1}.weekly-detail-columns{grid-template-columns:1fr}}@media(max-width:700px){.weekly-summary,.weekly-toolbar{grid-template-columns:1fr}.weekly-search-label{grid-column:auto}.weekly-board{grid-template-columns:repeat(4,260px)}}

/* Usuários: o botão Editar fica abaixo do resumo Histórico e antes do histórico detalhado. */
.user-admin-card.user-admin-card-with-history{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-content:start!important;min-height:260px!important}
.user-admin-card-with-history>.user-admin-card-head,.user-admin-card-with-history>.user-admin-card-head>.user-card-head-actions{display:contents!important}
.user-admin-card-with-history>.user-admin-card-head>div:first-child{grid-column:1;grid-row:1;min-width:0}
.user-admin-card-with-history>.user-admin-card-head>.user-card-head-actions>.badge{grid-column:2;grid-row:1;justify-self:end;align-self:start;margin:0}
.user-admin-card-with-history>.user-admin-card-meta{grid-column:1/-1;grid-row:2;margin-top:14px!important;min-width:0}
.user-admin-card-with-history>.user-admin-card-head>.user-card-head-actions>[data-edit-user]{grid-column:1/-1;grid-row:3;width:100%!important;min-width:0!important;height:34px!important;margin:12px 0 0!important;padding:0 12px!important;display:flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;border-radius:9px!important;font-size:12px!important;font-weight:650!important}
.user-admin-card-with-history>.user-activity-history{grid-column:1/-1;grid-row:4;margin-top:12px!important}
@media(max-width:420px){.user-admin-card.user-admin-card-with-history{grid-template-columns:minmax(0,1fr) auto!important}}

/* ===== CRM Integral — camada responsiva isolada ===== */
@media(max-width:1100px){
html,body{overflow-x:hidden}.main-content{padding:24px 22px}.topbar{gap:14px;align-items:flex-start}.top-actions{flex-wrap:wrap;justify-content:flex-end}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.filters,.clientes-filters,.list-filters,.marketing-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filters>button,.clientes-filters>button,.list-filters>button,.marketing-filters>button{width:100%}.project-grid,.marketing-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout{grid-template-columns:1fr}.record-actions{flex-wrap:wrap}.kanban-board{grid-template-columns:repeat(6,minmax(250px,1fr));scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.kanban-column{scroll-snap-align:start}.progress-toolbar-main,.progress-toolbar-filters,.drill-toolbar,.drill-toolbar-actions{flex-wrap:wrap}.progress-search-wrap,.drill-toolbar-actions input{min-width:220px;flex:1 1 240px}dialog.dialog{max-width:calc(100vw - 28px)}
}
@media(max-width:980px) and (pointer:coarse){.sidebar{width:208px;padding:16px 12px}.brand span{display:none}.nav-button{padding:10px 9px}.main-content{padding:20px 18px}}
@media(max-width:780px){
body{font-size:14px}.app-shell{display:block;min-height:100vh}.sidebar{position:sticky;top:0;z-index:45;width:100%;height:auto;max-height:none;padding:8px 10px 9px;border-right:0;border-bottom:1px solid var(--nav-line)}.sidebar .brand,.sidebar .signed-user{display:none}.sidebar nav{display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding:1px 0 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.sidebar nav::-webkit-scrollbar{display:none}.nav-button{flex:0 0 auto;width:auto;min-height:42px;padding:9px 12px;border-left:0;border-bottom:2px solid transparent;border-radius:9px;white-space:nowrap;font-size:12.4px}.nav-button.active{border-left-color:transparent;border-bottom-color:var(--primary)}.sidebar-footer{display:flex;gap:6px;margin-top:5px;padding-top:6px;overflow-x:auto;border-top:1px solid var(--nav-line)}.sidebar-footer .ghost{flex:1 0 auto;min-height:36px;padding:7px 9px;font-size:11.5px}.main-content{padding:16px 12px 28px}.topbar{flex-direction:column;gap:12px;margin-bottom:18px}.topbar h1{font-size:21px}.top-actions{width:100%;justify-content:stretch;display:grid;grid-template-columns:1fr 1fr;gap:8px}.top-actions .sync-status{grid-column:1/-1;width:fit-content}.top-actions button{width:100%;min-height:42px}.metric-grid,.dashboard-grid,.project-grid,.marketing-project-grid,.detail-metrics,.form-grid.two,.filters,.clientes-filters,.list-filters,.marketing-filters{grid-template-columns:1fr}.metric-card{padding:15px}.metric-card strong{font-size:24px}.panel{padding:14px;border-radius:12px}.panel.compact{padding:10px}.panel-head{align-items:flex-start}.panel-head h2,.panel-head h3{font-size:15px}input,select,textarea{min-height:44px;font-size:16px}textarea{min-height:90px}.primary,.secondary,.ghost,.danger{min-height:42px}.record-list.wide .record-row,.record-row{grid-template-columns:1fr}.record-actions{justify-content:flex-start;margin-top:4px}.record-actions button{flex:1 1 auto}.summary-row{align-items:flex-start}.client-row-list{padding:8px 10px 12px}.client-row{grid-template-columns:1fr 1fr;gap:8px 10px;padding:11px}.client-row>*:first-child{grid-column:1/-1}details.municipality-group>summary{padding:13px 12px}details.nucleus-group>summary{padding:10px 12px 10px 18px}.kanban-board{grid-template-columns:repeat(6,minmax(82vw,1fr));gap:10px;margin-right:-12px;padding-right:12px;scroll-snap-type:x mandatory}.kanban-column{min-height:300px;scroll-snap-align:start}.progress-toolbar,.drill-toolbar{padding:12px}.progress-toolbar-main,.progress-toolbar-filters,.drill-toolbar,.drill-toolbar-actions{display:grid;grid-template-columns:1fr;width:100%;gap:8px}.progress-search-wrap,.drill-toolbar-actions input{min-width:0;width:100%}.breadcrumb{overflow-x:auto;white-space:nowrap;padding-bottom:3px}.progress-summary-grid{grid-template-columns:1fr 1fr}.progress-project-list{overflow-x:auto}.medium-dialog,.large-dialog,#clientFormDialog{width:calc(100vw - 18px)!important;max-width:calc(100vw - 18px)!important;max-height:calc(100dvh - 18px);margin:auto}.dialog-body,#clientFormDialog .dialog-body{padding:14px}.dialog-head{position:sticky;top:0;z-index:4;margin:-14px -14px 14px;padding:14px;background:var(--surface)}.dialog-actions{position:sticky;bottom:0;z-index:4;margin:14px -14px -14px;padding:12px 14px;background:var(--surface);flex-wrap:wrap}.dialog-actions button{flex:1 1 140px}.client-detail-body{max-height:calc(100dvh - 20px)}.detail-data{grid-template-columns:1fr}#clientDetailDialog .detail-data-row strong{max-width:60%;overflow-wrap:anywhere}#clientFormDialog .form-grid.two{grid-template-columns:1fr}#clientFormDialog .span-two{grid-column:auto}#clientFormDialog .client-agents-select:focus{height:150px;min-height:150px}.marketing-journey-progress{align-items:stretch;flex-direction:column;gap:8px}.marketing-etapa-row{align-items:flex-start;flex-direction:column}.marketing-etapa-toggle{width:100%}.toast{left:12px;right:12px;bottom:12px;max-width:none}.empty-state{padding:22px 14px}.weekly-board{grid-template-columns:repeat(4,minmax(82vw,1fr));scroll-snap-type:x mandatory;margin-right:-12px;padding-right:12px}.weekly-column{scroll-snap-align:start}.weekly-detail-actions{flex-wrap:wrap}.weekly-detail-actions button{flex:1 1 auto}.weekly-file{align-items:flex-start;flex-direction:column}.weekly-file>div:last-child{width:100%}.weekly-file>div:last-child button,.weekly-file>div:last-child a{flex:1}
}
@media(max-width:480px){.login-screen{display:block;background:var(--surface)}.login-brand-panel{display:none}.login-form-panel{min-height:100dvh;padding:24px 18px}.auth-card.borderless{width:100%}.top-actions{grid-template-columns:1fr}.top-actions .sync-status{grid-column:auto}.metric-grid{grid-template-columns:1fr}.progress-summary-grid{grid-template-columns:1fr}.client-row{grid-template-columns:1fr}.client-row>*{grid-column:1!important}.summary-row{flex-direction:column}.dialog-actions button{flex-basis:100%}}
@media(hover:none){.client-card:hover,.client-row:hover,.marketing-project-card:hover{transform:none;box-shadow:var(--shadow-xs)}}

/* ===== iPhone / smartphones: navegação principal sempre acessível ===== */
@media(max-width:780px){
  .app-shell{display:block!important;padding-bottom:calc(62px + env(safe-area-inset-bottom,0px))}
  .sidebar{
    position:fixed!important;
    left:0;right:0;top:auto!important;bottom:0;
    z-index:80;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:6px 8px max(6px,env(safe-area-inset-bottom,0px))!important;
    display:block!important;
    border-right:0!important;
    border-top:1px solid var(--nav-line)!important;
    border-bottom:0!important;
    box-shadow:0 -8px 24px rgba(15,18,22,.18);
    background:var(--nav)!important;
  }
  .sidebar .brand,.sidebar .signed-user,.sidebar-footer{display:none!important}
  .sidebar nav{
    display:flex!important;
    flex-direction:row!important;
    gap:5px!important;
    width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:0!important;
    margin:0!important;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
  }
  .sidebar nav::-webkit-scrollbar{display:none}
  .nav-button{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:max-content!important;
    min-height:44px!important;
    padding:9px 12px!important;
    border-left:0!important;
    border-bottom:2px solid transparent!important;
    border-radius:9px!important;
    white-space:nowrap!important;
    font-size:12px!important;
  }
  .nav-button.active{border-left-color:transparent!important;border-bottom-color:var(--primary)!important}
  .main-content{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))!important}
  .toast{bottom:calc(70px + env(safe-area-inset-bottom,0px))!important}
  dialog.dialog{margin-bottom:calc(66px + env(safe-area-inset-bottom,0px))}
}
