/*
 DDF UI v1.0 - Framework Mobile Oficial do Domesticos da Fe
 Sprint 1: fundacao visual, header inteligente, bottom bar e componentes base.
*/
:root{
  --ddf-primary:#17223b;
  --ddf-primary-soft:#23345b;
  --ddf-bg:#f4f5f7;
  --ddf-surface:#ffffff;
  --ddf-surface-2:#f8fafc;
  --ddf-text:#111827;
  --ddf-muted:#64748b;
  --ddf-border:#e2e8f0;
  --ddf-success:#0f8f4f;
  --ddf-warning:#b7791f;
  --ddf-danger:#b42318;
  --ddf-radius-sm:10px;
  --ddf-radius:16px;
  --ddf-radius-lg:24px;
  --ddf-shadow:0 14px 34px rgba(15,23,42,.08);
  --ddf-space-1:4px;
  --ddf-space-2:8px;
  --ddf-space-3:12px;
  --ddf-space-4:16px;
  --ddf-space-5:24px;
  --ddf-space-6:32px;
}

.ddf-mobile-header,.ddf-bottom-bar{display:none}
.ddf-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ddf-primary);color:#fff;font-weight:900;box-shadow:0 8px 20px rgba(23,34,59,.18)}
.ddf-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;background:#eef2f7;color:var(--ddf-primary)}
.ddf-badge-success{background:#e7f8ef;color:var(--ddf-success)}
.ddf-badge-warning{background:#fff7e6;color:var(--ddf-warning)}
.ddf-badge-danger{background:#fff1f0;color:var(--ddf-danger)}
.ddf-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 12px}
.ddf-section-title h2{font-size:20px;margin:0;color:var(--ddf-text)}
.ddf-section-title a{font-size:14px;font-weight:800;color:var(--ddf-primary);text-decoration:none}
.ddf-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:14px;text-decoration:none;font-weight:800;border:1px solid transparent}
.ddf-button-primary{background:var(--ddf-primary);color:#fff}
.ddf-button-secondary{background:#fff;color:var(--ddf-primary);border-color:var(--ddf-border)}

@media(max-width:900px){
  body{background:linear-gradient(180deg,#f8fafc 0%,#eef2f7 100%);padding-bottom:92px;color:var(--ddf-text)}
  .admin-shell{display:block;min-height:100vh}
  .sidebar{display:none!important}
  .main-area{width:100%}
  .topbar:not(.public){display:none!important}
  .topbar.public{display:none!important}
  .ddf-mobile-header{display:block;position:sticky;top:0;z-index:50;background:rgba(248,250,252,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(226,232,240,.9)}
  .ddf-header-main{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 12px}
  .ddf-header-main strong{display:block;font-size:19px;line-height:1.15;color:var(--ddf-text)}
  .ddf-header-main small{display:block;margin-top:3px;color:var(--ddf-muted);font-size:12px;line-height:1.25}
  .ddf-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ddf-muted);font-weight:900;margin-bottom:3px}
  .ddf-header-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
  .ddf-icon-button{position:relative;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--ddf-border);text-decoration:none;box-shadow:0 8px 20px rgba(15,23,42,.05)}
  .ddf-notification-dot{position:absolute;right:-4px;top:-4px;min-width:18px;height:18px;border-radius:999px;padding:0 5px;display:grid;place-items:center;background:var(--ddf-danger);color:#fff;font-size:11px;font-weight:900;border:2px solid #fff}
  .ddf-header-exit{display:none}
  .container{max-width:100%;padding:18px 14px 24px}
  h1{font-size:25px;line-height:1.15;margin-bottom:10px}
  h2{font-size:20px}
  .cards{grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
  .card,.panel,.login-card,.auth-box{border-radius:20px;border-color:var(--ddf-border);box-shadow:var(--ddf-shadow);background:var(--ddf-surface)}
  .card{padding:18px;min-height:118px}
  .card b{font-size:24px;line-height:1.15}
  .card span{display:block;margin-top:6px;font-size:13px;line-height:1.3}
  .panel{padding:18px;margin:14px 0}
  .grid2{grid-template-columns:1fr;gap:14px}
  input,select,textarea{min-height:46px;border-radius:14px;font-size:16px}
  button,.button,.actions-bar a{min-height:44px;border-radius:14px}
  table{display:block;width:100%;overflow-x:auto;white-space:nowrap}
  .ddf-bottom-bar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:10px;right:10px;bottom:10px;z-index:60;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border:1px solid rgba(226,232,240,.95);border-radius:24px;padding:7px 6px;box-shadow:0 18px 45px rgba(15,23,42,.18)}
  .ddf-bottom-item{min-height:58px;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:var(--ddf-muted);font-weight:800}
  .ddf-bottom-item span{font-size:20px;line-height:1}
  .ddf-bottom-item small{font-size:10px;line-height:1.1;text-align:center}
  .ddf-bottom-item.is-active{background:var(--ddf-primary);color:#fff;box-shadow:0 8px 20px rgba(23,34,59,.25)}
}

@media(max-width:420px){
  .cards{grid-template-columns:1fr}
  .ddf-header-main{padding-left:13px;padding-right:13px}
  .ddf-bottom-bar{left:7px;right:7px;bottom:7px;border-radius:20px}
  .ddf-bottom-item{border-radius:15px}
}

/* DDF UI v1.1 - Pacote 2: Home Mobile Oficial e atalhos inteligentes */
.ddf-search{display:flex;align-items:center;gap:10px;background:var(--ddf-surface);border:1px solid var(--ddf-border);border-radius:999px;padding:7px 8px 7px 14px;box-shadow:0 10px 28px rgba(15,23,42,.06);margin:12px 0 18px}
.ddf-search span{font-size:18px;line-height:1;color:var(--ddf-muted)}
.ddf-search input{border:0;background:transparent;outline:0;flex:1;min-height:38px;font-size:15px;color:var(--ddf-text)}
.ddf-search button{border:0;background:var(--ddf-primary);color:#fff;border-radius:999px;min-height:38px;padding:0 14px;font-weight:900;cursor:pointer}
.ddf-home-hero{position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(135deg,#ffffff 0%,#f1f5f9 48%,#e5e7eb 100%);border:1px solid rgba(226,232,240,.95);box-shadow:var(--ddf-shadow);padding:22px;margin:2px 0 18px}
.ddf-home-hero:after{content:"";position:absolute;right:-46px;top:-54px;width:150px;height:150px;border-radius:50%;background:rgba(23,34,59,.08)}
.ddf-home-hero h1{margin:5px 0 8px;font-size:28px;line-height:1.08;color:var(--ddf-text)}
.ddf-home-hero p{margin:0;color:var(--ddf-muted);line-height:1.45;max-width:680px}
.ddf-hero-label{display:inline-flex;border-radius:999px;background:var(--ddf-primary);color:#fff;font-weight:900;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:5px 9px}
.ddf-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;position:relative;z-index:1}
.ddf-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:12px 0 20px}
.ddf-card{display:flex;align-items:flex-start;gap:12px;min-height:112px;padding:16px;border-radius:22px;background:var(--ddf-surface);border:1px solid var(--ddf-border);box-shadow:0 12px 30px rgba(15,23,42,.07);text-decoration:none;color:var(--ddf-text);position:relative;overflow:hidden}
.ddf-card:after{content:"";position:absolute;right:-30px;bottom:-36px;width:96px;height:96px;border-radius:50%;background:rgba(23,34,59,.04)}
.ddf-card-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:17px;background:#f1f5f9;font-size:22px;line-height:1}
.ddf-card-body{display:flex;flex-direction:column;gap:6px;position:relative;z-index:1}
.ddf-card-body strong{font-size:16px;line-height:1.15;color:var(--ddf-text)}
.ddf-card-body small{font-size:13px;line-height:1.35;color:var(--ddf-muted)}
.ddf-card .ddf-badge{position:absolute;top:12px;right:12px;z-index:2;font-size:10px;padding:3px 7px}
.ddf-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0 20px}
.ddf-stat-card{display:block;min-height:98px;border-radius:22px;background:var(--ddf-surface);border:1px solid var(--ddf-border);box-shadow:0 12px 30px rgba(15,23,42,.06);padding:16px;text-decoration:none;color:var(--ddf-text)}
.ddf-stat-card b{display:block;font-size:28px;line-height:1.05;color:var(--ddf-primary)}
.ddf-stat-card span{display:block;margin-top:8px;color:var(--ddf-muted);font-size:13px;line-height:1.25;font-weight:800}
.ddf-empty{text-align:center;border:1px dashed var(--ddf-border);border-radius:22px;background:#fff;padding:24px;color:var(--ddf-muted)}
.ddf-empty span{display:block;font-size:30px;margin-bottom:8px}.ddf-empty strong{display:block;color:var(--ddf-text);font-size:18px}.ddf-empty p{margin:6px 0 0}
.ddf-mobile-only{display:none}

@media(max-width:900px){
  .ddf-mobile-only{display:block}
  .ddf-desktop-title{display:none!important}
  .ddf-home-hero{padding:20px 18px;border-radius:24px;margin-top:0}
  .ddf-home-hero h1{font-size:26px}
  .ddf-hero-actions .ddf-button{flex:1 1 auto}
  .ddf-action-grid{grid-template-columns:1fr 1fr;gap:11px}
  .ddf-card{min-height:126px;padding:15px;display:block}
  .ddf-card-icon{margin-bottom:12px}
  .ddf-stat-grid{grid-template-columns:1fr 1fr;gap:11px}
  .ddf-stat-card{min-height:96px;padding:15px}
  .ddf-stat-card b{font-size:25px}
}

@media(max-width:420px){
  .ddf-action-grid{grid-template-columns:1fr}
  .ddf-search button{padding:0 12px}
}

/* DDF UI v1.2 - Pacote 3: paginas internas, paineis, abas e tabelas responsivas */
.ddf-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:4px 0 18px;padding:22px;border-radius:28px;background:linear-gradient(135deg,#fff 0%,#f8fafc 58%,#eef2f7 100%);border:1px solid var(--ddf-border);box-shadow:var(--ddf-shadow)}
.ddf-page-header h1{margin:4px 0 6px;font-size:30px;line-height:1.08;color:var(--ddf-text)}
.ddf-page-header p{margin:0;color:var(--ddf-muted);line-height:1.45;max-width:760px}
.ddf-page-kicker{display:inline-flex;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:var(--ddf-muted)}
.ddf-page-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;flex:0 0 auto}
.ddf-panel{border-radius:24px;background:var(--ddf-surface);border:1px solid var(--ddf-border);box-shadow:0 12px 30px rgba(15,23,42,.06);padding:20px;margin:14px 0}
.ddf-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.ddf-panel-head h2{margin:0;font-size:20px;line-height:1.2;color:var(--ddf-text)}
.ddf-panel-head p{margin:5px 0 0;color:var(--ddf-muted);line-height:1.45}
.ddf-alert{border-radius:16px;padding:13px 15px;margin:10px 0 14px;font-weight:800;border:1px solid var(--ddf-border);background:#fff;color:var(--ddf-text)}
.ddf-alert-info{background:#f8fafc;color:var(--ddf-primary)}
.ddf-alert-success{background:#e7f8ef;color:var(--ddf-success);border-color:#bdeccf}
.ddf-alert-warning{background:#fff7e6;color:var(--ddf-warning);border-color:#f5d48b}
.ddf-alert-danger{background:#fff1f0;color:var(--ddf-danger);border-color:#ffc9c3}
.ddf-table-wrap{width:100%;overflow:auto;border:1px solid var(--ddf-border);border-radius:18px;background:#fff}
.ddf-table-wrap table{width:100%;border:0;margin:0}
.ddf-table-wrap th{position:sticky;top:0;background:#f8fafc;z-index:1}
.ddf-module-tabs{display:flex;gap:10px;overflow:auto;padding:2px 2px 10px;margin:4px 0 14px;scrollbar-width:none}
.ddf-module-tabs::-webkit-scrollbar{display:none}
.ddf-module-tab{display:inline-flex;align-items:center;gap:8px;min-height:44px;white-space:nowrap;border-radius:999px;border:1px solid var(--ddf-border);background:#fff;color:var(--ddf-primary);text-decoration:none;padding:0 15px;font-weight:900;box-shadow:0 8px 18px rgba(15,23,42,.04)}
.ddf-module-tab span{font-size:18px;line-height:1}
.ddf-module-tab.is-active{background:var(--ddf-primary);color:#fff;border-color:var(--ddf-primary);box-shadow:0 10px 24px rgba(23,34,59,.22)}
.ddf-touching{transform:scale(.985)}

@media(max-width:900px){
  .ddf-page-header{display:block;margin:0 0 14px;padding:18px;border-radius:24px}
  .ddf-page-header h1{font-size:26px}
  .ddf-page-actions{justify-content:stretch;margin-top:14px}
  .ddf-page-actions .ddf-button{flex:1 1 auto}
  .ddf-panel{border-radius:22px;padding:16px;margin:12px 0}
  .ddf-panel-head{display:block}
  .ddf-table-wrap{border-radius:16px;box-shadow:inset -16px 0 18px -20px rgba(15,23,42,.35)}
  .ddf-table-wrap table{min-width:720px}
  .ddf-module-tabs{margin-left:-2px;margin-right:-2px}
}

/* DDF UI v1.3 - DDF-MOBILE-04.001: estrutura oficial de paginas */
.ddf-page{position:relative;isolation:isolate;min-height:calc(100vh - 120px)}
.ddf-page:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at top right, rgba(23,34,59,.06), transparent 34%), linear-gradient(180deg, rgba(248,250,252,.98), rgba(241,245,249,.98))}
.ddf-page-app{width:100%}
.ddf-page-public{max-width:1180px;margin-left:auto;margin-right:auto}
.ddf-content{width:100%}
.ddf-content-narrow{max-width:840px;margin-left:auto;margin-right:auto}
.ddf-content-wide{max-width:1240px;margin-left:auto;margin-right:auto}
.ddf-page > :first-child{margin-top:0}
.ddf-page > :last-child{margin-bottom:0}
.ddf-page [data-ddf-page-title]{scroll-margin-top:86px}

@media(min-width:901px){
  .ddf-page{padding-top:22px;padding-bottom:36px}
  .ddf-page:before{display:none}
}

@media(max-width:900px){
  .ddf-page{padding-top:16px;padding-bottom:104px}
  .ddf-page-app,.ddf-page-public{max-width:100%}
  .ddf-page .panel:first-child,.ddf-page .card:first-child,.ddf-page .ddf-panel:first-child,.ddf-page .ddf-page-header:first-child{margin-top:0}
}

@media(max-width:420px){
  .ddf-page{padding-left:12px;padding-right:12px}
}



/* DDF UI v1.3.1 - DDF-MOBILE-04.002: toolbar oficial de contexto */
.ddf-toolbar{display:none}
.ddf-toolbar-left{display:flex;align-items:center;gap:10px;min-width:0}
.ddf-toolbar-title{display:flex;flex-direction:column;min-width:0}
.ddf-toolbar-title strong{font-size:16px;line-height:1.1;color:var(--ddf-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:58vw}
.ddf-toolbar-title small{font-size:11px;line-height:1.2;color:var(--ddf-muted);margin-top:2px;font-weight:800}
.ddf-toolbar-back,.ddf-toolbar-action{width:38px;height:38px;border:0;border-radius:15px;display:grid;place-items:center;text-decoration:none;font-weight:900;cursor:pointer}
.ddf-toolbar-back{background:#f1f5f9;color:var(--ddf-primary);font-size:28px;line-height:1;padding:0 0 3px}
.ddf-toolbar-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.ddf-toolbar-action{background:var(--ddf-primary);color:#fff;box-shadow:0 8px 18px rgba(23,34,59,.18)}
.ddf-toolbar-action span{font-size:18px;line-height:1}

@media(max-width:900px){
  .ddf-toolbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-4px 0 14px;padding:10px 12px;border:1px solid rgba(226,232,240,.92);border-radius:20px;background:rgba(255,255,255,.92);box-shadow:0 10px 26px rgba(15,23,42,.08);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
}

@media(max-width:420px){
  .ddf-toolbar{border-radius:18px;margin-left:-2px;margin-right:-2px}
  .ddf-toolbar-title strong{max-width:52vw}
}


/* DDF UI v1.3.2 - DDF-MOBILE-04.003: cards oficiais reutilizaveis */
.ddf-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 20px}
.ddf-card{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
.ddf-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(15,23,42,.10);border-color:rgba(23,34,59,.18)}
.ddf-card:focus-visible{outline:3px solid rgba(23,34,59,.22);outline-offset:3px}
.ddf-card-chevron{margin-left:auto;align-self:center;width:24px;height:24px;border-radius:999px;display:grid;place-items:center;background:#f8fafc;color:var(--ddf-muted);font-size:22px;font-weight:900;position:relative;z-index:1}
.ddf-card-primary .ddf-card-icon{background:rgba(23,34,59,.10);color:var(--ddf-primary)}
.ddf-card-success .ddf-card-icon{background:#e7f8ef;color:var(--ddf-success)}
.ddf-card-warning .ddf-card-icon{background:#fff7e6;color:var(--ddf-warning)}
.ddf-card-danger .ddf-card-icon{background:#fff1f0;color:var(--ddf-danger)}
.ddf-card-compact{min-height:86px;padding:14px;border-radius:20px}
.ddf-card-compact .ddf-card-icon{width:36px;height:36px;border-radius:14px;font-size:19px}
.ddf-info-card{border-radius:24px;background:var(--ddf-surface);border:1px solid var(--ddf-border);box-shadow:0 12px 30px rgba(15,23,42,.06);padding:20px;margin:14px 0;overflow:hidden;position:relative}
.ddf-info-card:after{content:"";position:absolute;right:-42px;top:-42px;width:118px;height:118px;border-radius:999px;background:rgba(23,34,59,.04);pointer-events:none}
.ddf-info-card-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;position:relative;z-index:1}
.ddf-info-card-head span{width:38px;height:38px;border-radius:15px;display:grid;place-items:center;background:#f1f5f9;color:var(--ddf-primary);font-weight:900;font-size:20px}
.ddf-info-card-head h2{margin:0;font-size:20px;line-height:1.2;color:var(--ddf-text)}
.ddf-info-card-content{position:relative;z-index:1;color:var(--ddf-text)}
.ddf-info-card-content p{margin:8px 0;color:var(--ddf-muted);line-height:1.45}
.ddf-info-card-content strong{color:var(--ddf-text)}
.ddf-info-card-content .ok{color:var(--ddf-success);font-weight:900}
.ddf-info-card-success .ddf-info-card-head span{background:#e7f8ef;color:var(--ddf-success)}
.ddf-info-card-warning .ddf-info-card-head span{background:#fff7e6;color:var(--ddf-warning)}
.ddf-info-card-danger .ddf-info-card-head span{background:#fff1f0;color:var(--ddf-danger)}
.ddf-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}

@media(max-width:900px){
  .ddf-card-grid{grid-template-columns:1fr 1fr;gap:11px}
  .ddf-card-chevron{position:absolute;right:12px;bottom:12px}
  .ddf-info-grid{grid-template-columns:1fr;gap:11px}
  .ddf-info-card{border-radius:22px;padding:16px;margin:12px 0}
  .ddf-info-card-head h2{font-size:18px}
}

@media(max-width:420px){
  .ddf-card-grid{grid-template-columns:1fr}
}


/* DDF-MOBILE-04.004 - Search Oficial DDF */
.ddf-search{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;background:transparent;border:0;border-radius:0;padding:0;box-shadow:none;margin:12px 0 18px}
.ddf-search-box{display:flex;align-items:center;gap:10px;background:var(--ddf-surface);border:1px solid var(--ddf-border);border-radius:999px;padding:7px 8px 7px 14px;box-shadow:0 10px 28px rgba(15,23,42,.06);min-width:0}
.ddf-search-box span[aria-hidden="true"]{font-size:18px;line-height:1;color:var(--ddf-muted)}
.ddf-search input{border:0;background:transparent;outline:0;flex:1;min-height:38px;font-size:15px;color:var(--ddf-text);min-width:0;width:100%}
.ddf-search input::placeholder{color:#94a3b8}
.ddf-search button{border:0;background:var(--ddf-primary);color:#fff;border-radius:999px;min-height:44px;padding:0 16px;font-weight:900;cursor:pointer;box-shadow:0 10px 22px rgba(30,64,175,.18)}
.ddf-search-clear{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:#eef2ff;color:#1e40af;text-decoration:none;font-size:20px;font-weight:900;line-height:1}
.ddf-search-helper{grid-column:1/-1;color:var(--ddf-muted);font-size:12px;padding:0 4px}
.ddf-search-compact{margin:8px 0 12px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:520px){.ddf-search{grid-template-columns:1fr}.ddf-search button{width:100%;min-height:42px}.ddf-search-box{padding-right:7px}.ddf-search-helper{padding:0 8px}}

/* DDF-MOBILE-04.005 - Ajustes Home Mobile e Permissoes */
.ddf-bottom-item span{position:relative;display:inline-flex;align-items:center;justify-content:center}
.ddf-bottom-badge{position:absolute;right:-12px;top:-9px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#ef4444;color:#fff;border:2px solid #fff;font-size:10px;font-style:normal;font-weight:900;line-height:13px;text-align:center;box-shadow:0 4px 10px rgba(239,68,68,.25)}
@media(max-width:900px){.ddf-header-actions{gap:8px}.ddf-mobile-header .ddf-avatar{box-shadow:0 10px 24px rgba(15,23,42,.14)}}

/* DDF-MOBILE-04.006 - Home limpa, header por identidade e Oportunidades no centro */
@media(max-width:900px){
  .ddf-header-main-clean{justify-content:flex-start;gap:12px;padding:18px 18px 16px}
  .ddf-header-main-clean .ddf-avatar{width:52px;height:52px;font-size:21px;flex:0 0 auto}
  .ddf-header-copy{min-width:0;flex:1}
  .ddf-header-copy .ddf-kicker{font-size:12px;letter-spacing:.075em;margin-bottom:4px;color:#64748b}
  .ddf-header-copy strong{font-size:18px;line-height:1.16;text-transform:none;letter-spacing:0;color:#0f172a;white-space:normal}
  .ddf-header-copy strong span{color:#94a3b8;font-weight:700;padding:0 2px}
  .ddf-header-main-clean .ddf-header-actions{margin-left:auto}
  .ddf-page-app{padding-top:24px}
  .ddf-home-clean-grid .ddf-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 26px}
  .ddf-home-clean-grid .ddf-card{min-height:150px;padding:14px 8px;border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:13px;box-shadow:0 14px 32px rgba(15,23,42,.06)}
  .ddf-home-clean-grid .ddf-card:after,.ddf-home-clean-grid .ddf-card-chevron{display:none}
  .ddf-home-clean-grid .ddf-card-icon{width:62px;height:62px;border-radius:999px;margin:0;font-size:28px}
  .ddf-home-clean-grid .ddf-card-body{gap:0;align-items:center}
  .ddf-home-clean-grid .ddf-card-body strong{font-size:15px;line-height:1.16}
  .ddf-home-clean-grid .ddf-card-body small{display:none}
  .ddf-feature-list .ddf-card{min-height:96px;display:flex;align-items:center;text-align:left}
  .ddf-feature-list .ddf-card-icon{margin-bottom:0}
  .ddf-account-security-panel{display:none}
  .ddf-bottom-item.ddf-bottom-primary{transform:translateY(-8px);color:#b7791f}
  .ddf-bottom-item.ddf-bottom-primary span{width:54px;height:54px;border-radius:999px;background:linear-gradient(135deg,#d69b00 0%,#b7791f 100%);color:#fff;font-size:24px;box-shadow:0 12px 28px rgba(183,121,31,.34)}
  .ddf-bottom-item.ddf-bottom-primary small{font-size:9px;color:#b7791f;font-weight:900;text-transform:uppercase;letter-spacing:-.02em}
  .ddf-bottom-item.ddf-bottom-primary.is-active{background:transparent;box-shadow:none;color:#b7791f}
  .ddf-bottom-item.ddf-bottom-primary.is-active span{background:linear-gradient(135deg,#d69b00 0%,#a16207 100%);box-shadow:0 14px 30px rgba(183,121,31,.42)}
}
@media(max-width:390px){
  .ddf-home-clean-grid .ddf-action-grid{gap:9px}
  .ddf-home-clean-grid .ddf-card{min-height:134px;border-radius:20px;padding:12px 6px}
  .ddf-home-clean-grid .ddf-card-icon{width:52px;height:52px;font-size:24px}
  .ddf-home-clean-grid .ddf-card-body strong{font-size:13px}
  .ddf-header-main-clean .ddf-avatar{width:48px;height:48px}
  .ddf-header-copy strong{font-size:16px}
}

/* DDF-MOBILE-04.007 - Meu Perfil Inteligente em secoes expansíveis */
.ddf-profile-smart{max-width:980px;margin:0 auto 34px}
.ddf-profile-summary{display:flex;align-items:center;gap:16px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);border:1px solid var(--ddf-border);border-radius:26px;padding:18px;box-shadow:0 16px 38px rgba(15,23,42,.07);margin:0 0 16px}
.ddf-profile-avatar{width:68px;height:68px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,var(--ddf-primary),#0f172a);color:#fff;font-size:28px;font-weight:900;box-shadow:0 12px 28px rgba(15,23,42,.20);flex:0 0 auto}
.ddf-profile-summary-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.ddf-profile-summary-copy>strong{font-size:22px;line-height:1.12;color:var(--ddf-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ddf-profile-summary-copy>span{font-size:14px;color:var(--ddf-muted);font-weight:800}
.ddf-profile-progress{margin-top:8px;display:flex;flex-direction:column;gap:6px}
.ddf-profile-progress>div{height:9px;border-radius:999px;background:#e5e7eb;overflow:hidden}
.ddf-profile-progress i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--ddf-success),#22c55e)}
.ddf-profile-progress small{font-size:12px;color:var(--ddf-muted);font-weight:800}
.ddf-profile-accordion-form{display:block}
.ddf-accordion{display:flex;flex-direction:column;gap:10px}
.ddf-accordion-item{background:#fff;border:1px solid var(--ddf-border);border-radius:22px;box-shadow:0 12px 30px rgba(15,23,42,.055);overflow:hidden}
.ddf-accordion-item summary{list-style:none;display:flex;align-items:center;gap:13px;padding:16px 16px;cursor:pointer;user-select:none}
.ddf-accordion-item summary::-webkit-details-marker{display:none}
.ddf-accordion-icon{width:44px;height:44px;border-radius:17px;display:grid;place-items:center;background:#f8fafc;font-size:22px;flex:0 0 auto}
.ddf-accordion-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.ddf-accordion-copy strong{font-size:16px;line-height:1.18;color:var(--ddf-text)}
.ddf-profile-section-status{font-size:12px;font-weight:900}
.ddf-status-complete{color:var(--ddf-success)}
.ddf-status-partial{color:#b7791f}
.ddf-status-empty{color:#94a3b8}
.ddf-status-neutral{color:var(--ddf-muted)}
.ddf-accordion-arrow{width:34px;height:34px;border-radius:999px;background:#f8fafc;color:var(--ddf-muted);display:grid;place-items:center;font-weight:900;font-size:20px;transition:transform .18s ease,background .18s ease;color:var(--ddf-muted);flex:0 0 auto}
.ddf-accordion-item[open] .ddf-accordion-arrow{transform:rotate(180deg);background:#eef2ff;color:var(--ddf-primary)}
.ddf-accordion-item[open] summary{border-bottom:1px solid var(--ddf-border);background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
.ddf-accordion-content{padding:16px;background:#fff}
.ddf-accordion-content.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ddf-section-save{display:flex;justify-content:flex-end;margin-top:4px}
.ddf-section-save button,.ddf-profile-final-save button{min-height:44px;border:0;border-radius:999px;background:var(--ddf-primary);color:#fff;font-weight:900;padding:0 18px;cursor:pointer;box-shadow:0 12px 24px rgba(30,64,175,.18)}
.ddf-profile-final-save{display:flex;justify-content:center;margin:18px 0 0}
.ddf-profile-final-save button{width:min(100%,320px);min-height:48px}
.ddf-profile-smart .profile-privacy-callout{margin:0;background:#f8fafc;border:1px solid var(--ddf-border);border-radius:18px;padding:14px;color:var(--ddf-muted)}
@media(max-width:720px){
  .ddf-profile-smart{margin-bottom:88px}
  .ddf-profile-summary{border-radius:24px;padding:16px;margin-top:0}
  .ddf-profile-avatar{width:60px;height:60px;font-size:24px}
  .ddf-profile-summary-copy>strong{font-size:19px}
  .ddf-accordion-content.form-grid{grid-template-columns:1fr;gap:12px}
  .ddf-accordion-item{border-radius:20px}
  .ddf-accordion-item summary{padding:14px}
  .ddf-accordion-icon{width:40px;height:40px;border-radius:15px;font-size:20px}
  .ddf-section-save{justify-content:stretch}
  .ddf-section-save button{width:100%}
}
@media(max-width:390px){
  .ddf-profile-summary{gap:12px;padding:14px}
  .ddf-profile-avatar{width:52px;height:52px;font-size:21px}
  .ddf-profile-summary-copy>strong{font-size:17px}
  .ddf-accordion-copy strong{font-size:15px}
  .ddf-accordion-item summary{gap:10px}
}


/* DDF-MOBILE-04.008 - Header discreto e rodape uniforme */
@media(max-width:900px){
  .ddf-header-main-clean{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    padding:13px 16px 12px;
  }
  .ddf-header-main-clean .ddf-avatar{
    width:42px;
    height:42px;
    font-size:17px;
    flex:0 0 auto;
    box-shadow:0 8px 20px rgba(23,34,59,.14);
  }
  .ddf-header-copy{
    min-width:0;
    flex:1 1 auto;
  }
  .ddf-header-copy .ddf-kicker{
    font-size:11px;
    line-height:1.05;
    letter-spacing:.08em;
    margin-bottom:3px;
    color:#64748b;
  }
  .ddf-header-copy strong{
    font-size:14px;
    line-height:1.12;
    font-weight:800;
    color:#0f172a;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .ddf-header-copy strong span{
    color:#94a3b8;
    font-weight:700;
    padding:0 2px;
  }
  .ddf-header-main-clean .ddf-header-actions{
    display:block;
    flex:0 0 clamp(72px,24vw,128px);
    min-height:42px;
    margin-left:8px;
  }
  .ddf-bottom-item.ddf-bottom-primary,
  .ddf-bottom-item.ddf-bottom-primary.is-active{
    transform:none;
    color:var(--ddf-muted);
    background:transparent;
    box-shadow:none;
  }
  .ddf-bottom-item.ddf-bottom-primary span,
  .ddf-bottom-item.ddf-bottom-primary.is-active span{
    width:auto;
    height:auto;
    border-radius:0;
    background:transparent;
    color:inherit;
    font-size:21px;
    box-shadow:none;
    font-weight:900;
  }
  .ddf-bottom-item.ddf-bottom-primary small{
    font-size:9px;
    color:inherit;
    font-weight:800;
    text-transform:none;
    letter-spacing:-.03em;
  }
  .ddf-bottom-item.is-active{
    background:var(--ddf-primary);
    color:#fff;
    box-shadow:0 8px 20px rgba(23,34,59,.25);
  }
}
@media(max-width:390px){
  .ddf-header-main-clean{padding-left:13px;padding-right:13px}
  .ddf-header-main-clean .ddf-header-actions{flex-basis:72px;margin-left:4px}
  .ddf-header-copy strong{font-size:13px}
  .ddf-bottom-item.ddf-bottom-primary small{font-size:8.5px}
}

/* DDF-MOBILE-04.009 - Meu Perfil: orientacao acolhedora e progresso colorido */
.ddf-profile-guidance{
  display:flex;
  gap:16px;
  align-items:flex-start;
  background:linear-gradient(135deg,#fffbeb 0%,#ffffff 72%);
  border:1px solid #f4d58d;
  border-radius:26px;
  padding:20px 20px;
  box-shadow:0 16px 38px rgba(180,125,16,.08);
  margin:0 0 16px;
}
.ddf-profile-guidance-icon{
  width:56px;
  height:56px;
  border-radius:20px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#fff7cc 0%,#ffd24d 100%);
  font-size:30px;
  flex:0 0 auto;
  box-shadow:0 12px 26px rgba(214,155,0,.16);
}
.ddf-profile-guidance-copy{min-width:0;flex:1}
.ddf-profile-guidance-copy strong{
  display:block;
  font-size:21px;
  line-height:1.22;
  color:var(--ddf-text);
  margin:0 0 10px;
}
.ddf-profile-guidance-copy p{
  margin:0;
  font-size:15px;
  line-height:1.62;
  color:#334155;
  font-style:italic;
}
.ddf-profile-progress-card{
  background:#fff;
  border:1px solid var(--ddf-border);
  border-radius:24px;
  padding:18px 20px;
  box-shadow:0 16px 38px rgba(15,23,42,.07);
  margin:0 0 14px;
}
.ddf-profile-progress-card strong{
  display:block;
  color:#1d4ed8;
  font-size:22px;
  line-height:1.12;
  margin:0 0 14px;
  letter-spacing:-.02em;
}
.ddf-profile-progress-bar{
  height:14px;
  border-radius:999px;
  background:#e5e7eb;
  overflow:hidden;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.08);
}
.ddf-profile-progress-bar i{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#1d4ed8 0%,#2563eb 60%,#3b82f6 100%);
  box-shadow:0 5px 14px rgba(37,99,235,.26);
}
.ddf-profile-progress-card p{
  margin:14px 0 0;
  color:var(--ddf-text);
  font-size:14px;
  line-height:1.4;
  font-style:italic;
}
@media(max-width:720px){
  .ddf-profile-guidance{border-radius:22px;padding:18px 16px;gap:12px}
  .ddf-profile-guidance-icon{width:46px;height:46px;border-radius:17px;font-size:25px}
  .ddf-profile-guidance-copy strong{font-size:18px}
  .ddf-profile-guidance-copy p{font-size:14px;line-height:1.55}
  .ddf-profile-progress-card{border-radius:22px;padding:17px 16px}
  .ddf-profile-progress-card strong{font-size:20px}
}
@media(max-width:390px){
  .ddf-profile-guidance{padding:16px 14px;gap:10px}
  .ddf-profile-guidance-icon{width:42px;height:42px;font-size:23px}
  .ddf-profile-guidance-copy strong{font-size:16px}
  .ddf-profile-guidance-copy p{font-size:13px}
  .ddf-profile-progress-card strong{font-size:18px}
}

/* DDF-MOBILE-04.010 - Oportunidades em secoes expansíveis */
.ddf-opportunities-mobile{max-width:980px;margin:0 auto 36px}
.ddf-opportunity-guidance{display:flex;gap:16px;align-items:flex-start;background:linear-gradient(135deg,#eff6ff 0%,#ffffff 76%);border:1px solid #bfdbfe;border-radius:26px;padding:20px;box-shadow:0 16px 38px rgba(37,99,235,.07);margin:0 0 14px}
.ddf-opportunity-guidance-icon{width:56px;height:56px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,#dbeafe 0%,#60a5fa 100%);font-size:29px;flex:0 0 auto;box-shadow:0 12px 26px rgba(37,99,235,.15)}
.ddf-opportunity-guidance strong{display:block;font-size:21px;line-height:1.22;color:var(--ddf-text);margin:0 0 8px}
.ddf-opportunity-guidance p{margin:0;color:#334155;font-size:15px;line-height:1.56}
.ddf-opportunity-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}
.ddf-opportunity-summary span{background:#fff;border:1px solid var(--ddf-border);border-radius:20px;padding:13px 10px;text-align:center;box-shadow:0 10px 26px rgba(15,23,42,.05)}
.ddf-opportunity-summary strong{display:block;font-size:22px;line-height:1;color:var(--ddf-primary);margin-bottom:5px}
.ddf-opportunity-summary small{display:block;color:var(--ddf-muted);font-size:11px;font-weight:800;line-height:1.18}
.ddf-section-list{display:flex;flex-direction:column;gap:10px}
.ddf-section-item{background:#fff;border:1px solid var(--ddf-border);border-radius:22px;box-shadow:0 12px 30px rgba(15,23,42,.055);overflow:hidden}
.ddf-section-item summary{list-style:none;display:flex;align-items:center;gap:13px;padding:16px;cursor:pointer;user-select:none}
.ddf-section-item summary::-webkit-details-marker{display:none}
.ddf-section-icon{width:44px;height:44px;border-radius:17px;display:grid;place-items:center;background:#f8fafc;font-size:22px;flex:0 0 auto}
.ddf-section-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.ddf-section-copy strong{font-size:16px;line-height:1.18;color:var(--ddf-text)}
.ddf-section-copy small{font-size:12px;line-height:1.35;color:var(--ddf-muted);font-weight:800}
.ddf-section-arrow{width:34px;height:34px;border-radius:999px;background:#f8fafc;color:var(--ddf-muted);display:grid;place-items:center;font-weight:900;font-size:20px;transition:transform .18s ease,background .18s ease,color .18s ease;flex:0 0 auto}
.ddf-section-item[open] .ddf-section-arrow{transform:rotate(180deg);background:#eef2ff;color:var(--ddf-primary)}
.ddf-section-item[open] summary{border-bottom:1px solid var(--ddf-border);background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
.ddf-section-content{padding:16px;background:#fff}
.ddf-section-content h3{font-size:16px;margin:14px 0 10px;color:var(--ddf-text)}
.ddf-section-action-row{display:flex;justify-content:flex-end;margin-bottom:10px}
.ddf-opportunity-form-wrap{background:#f8fafc;border:1px solid var(--ddf-border);border-radius:20px;padding:14px;margin-bottom:14px}
.ddf-opportunity-form-wrap .grid-form{margin:0;background:transparent;border:0;box-shadow:none;padding:0}
.ddf-opportunity-list{display:flex;flex-direction:column;gap:10px}
.ddf-opportunity-item{display:flex;flex-direction:column;gap:5px;text-decoration:none;background:#fff;border:1px solid var(--ddf-border);border-radius:18px;padding:14px;color:var(--ddf-text);box-shadow:0 8px 22px rgba(15,23,42,.04)}
.ddf-opportunity-item strong{font-size:15px;line-height:1.25;color:var(--ddf-text)}
.ddf-opportunity-item small{font-size:12px;color:var(--ddf-muted);line-height:1.35}
.ddf-opportunity-item span{font-size:12px;color:var(--ddf-primary);font-weight:900}
.ddf-opportunity-search-results{margin-top:14px}
@media(max-width:720px){
  .ddf-opportunities-mobile{margin-bottom:92px}
  .ddf-opportunity-guidance{border-radius:22px;padding:18px 16px;gap:12px}
  .ddf-opportunity-guidance-icon{width:46px;height:46px;border-radius:17px;font-size:25px}
  .ddf-opportunity-guidance strong{font-size:18px}
  .ddf-opportunity-guidance p{font-size:14px;line-height:1.52}
  .ddf-opportunity-summary{gap:8px}
  .ddf-opportunity-summary span{border-radius:17px;padding:12px 7px}
  .ddf-opportunity-summary strong{font-size:19px}
  .ddf-opportunity-summary small{font-size:10px}
  .ddf-section-item{border-radius:20px}
  .ddf-section-item summary{padding:14px;gap:11px}
  .ddf-section-icon{width:40px;height:40px;border-radius:15px;font-size:20px}
  .ddf-section-content{padding:14px}
  .ddf-section-action-row{justify-content:stretch}
  .ddf-section-action-row .button{width:100%;text-align:center}
}
@media(max-width:390px){
  .ddf-opportunity-summary small{font-size:9.5px}
  .ddf-opportunity-guidance{padding:16px 14px;gap:10px}
  .ddf-opportunity-guidance-icon{width:42px;height:42px;font-size:23px}
  .ddf-opportunity-guidance strong{font-size:16px}
  .ddf-opportunity-guidance p{font-size:13px}
  .ddf-section-copy strong{font-size:15px}
  .ddf-section-copy small{font-size:11px}
}

/* DDF-MOBILE-04.011 - Oportunidades: cards verticais expansivos */
.ddf-opportunities-mobile .ddf-section-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.ddf-opportunities-mobile .ddf-section-item{
  position:relative;
  border-radius:24px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.ddf-opportunities-mobile .ddf-section-item:hover,
.ddf-opportunities-mobile .ddf-section-item:focus-within{
  transform:translateY(-2px);
  box-shadow:0 18px 42px rgba(15,23,42,.09);
  border-color:#dbeafe;
}
.ddf-opportunities-mobile .ddf-section-item summary{
  min-height:154px;
  padding:20px 16px 22px;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  gap:12px;
  position:relative;
}
.ddf-opportunities-mobile .ddf-section-icon{
  width:62px;
  height:62px;
  border-radius:999px;
  font-size:30px;
  background:#f8fafc;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.03);
}
.ddf-opportunities-mobile .ddf-section-copy{
  align-items:center;
  gap:6px;
}
.ddf-opportunities-mobile .ddf-section-copy strong{
  font-size:16px;
  line-height:1.14;
}
.ddf-opportunities-mobile .ddf-section-copy small{
  font-size:12px;
  color:var(--ddf-muted);
  line-height:1.2;
}
.ddf-opportunities-mobile .ddf-section-arrow{
  position:absolute;
  right:12px;
  bottom:10px;
  width:auto;
  height:auto;
  background:transparent;
  border-radius:0;
  color:#64748b;
  opacity:.34;
  font-size:18px;
}
.ddf-opportunities-mobile .ddf-section-item[open]{
  grid-column:1/-1;
  box-shadow:0 20px 48px rgba(15,23,42,.10);
  border-color:#bfdbfe;
}
.ddf-opportunities-mobile .ddf-section-item[open] summary{
  min-height:142px;
  border-bottom:1px solid var(--ddf-border);
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
}
.ddf-opportunities-mobile .ddf-section-item[open] .ddf-section-arrow{
  opacity:.72;
  color:var(--ddf-primary);
}
.ddf-section-action-row-strong{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  justify-content:stretch;
  margin-bottom:14px;
}
.ddf-section-action-row-strong .button{
  width:100%;
  text-align:center;
  justify-content:center;
  min-height:46px;
  border-radius:16px;
  font-weight:900;
}
.ddf-section-primary-action{
  background:var(--ddf-primary)!important;
  color:#fff!important;
  border-color:var(--ddf-primary)!important;
  box-shadow:0 12px 26px rgba(30,64,175,.18);
}
@media(min-width:860px){
  .ddf-opportunities-mobile .ddf-section-list{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:390px){
  .ddf-opportunities-mobile .ddf-section-list{gap:10px;}
  .ddf-opportunities-mobile .ddf-section-item summary{min-height:138px;padding:17px 10px 20px;}
  .ddf-opportunities-mobile .ddf-section-icon{width:54px;height:54px;font-size:26px;}
  .ddf-opportunities-mobile .ddf-section-copy strong{font-size:14px;}
  .ddf-opportunities-mobile .ddf-section-copy small{font-size:11px;}
}

/* DDF-MOBILE-04.015 - Oportunidades: modo foco real */
.ddf-opportunities-mobile .ddf-section-list.ddf-section-list-focus > .ddf-section-item:not([open]){
  display:none!important;
}
.ddf-opportunities-mobile .ddf-section-list.ddf-section-list-focus{
  grid-template-columns:1fr!important;
}
.ddf-opportunities-mobile .ddf-section-list.ddf-section-list-focus > .ddf-section-item[open]{
  grid-column:1/-1!important;
}



/* DDF-MOBILE-04.016 - Foco real unificado para Meu Perfil e Oportunidades */
.ddf-profile-focus-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
.ddf-profile-focus-grid > .ddf-accordion-item{
  position:relative;
  border-radius:24px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.ddf-profile-focus-grid > .ddf-accordion-item:hover,
.ddf-profile-focus-grid > .ddf-accordion-item:focus-within{
  transform:translateY(-2px);
  box-shadow:0 18px 42px rgba(15,23,42,.09);
  border-color:#dbeafe;
}
.ddf-profile-focus-grid > .ddf-accordion-item > summary{
  min-height:132px;
  padding:18px 14px 20px;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  gap:11px;
  position:relative;
}
.ddf-profile-focus-grid .ddf-accordion-icon{
  width:58px;
  height:58px;
  border-radius:999px;
  font-size:27px;
}
.ddf-profile-focus-grid .ddf-accordion-copy{
  align-items:center;
  gap:6px;
}
.ddf-profile-focus-grid .ddf-accordion-arrow{
  position:absolute;
  right:12px;
  bottom:10px;
  width:auto;
  height:auto;
  background:transparent;
  opacity:.34;
}
.ddf-profile-focus-grid > .ddf-accordion-item[open]{
  grid-column:1/-1!important;
  box-shadow:0 20px 48px rgba(15,23,42,.10);
  border-color:#bfdbfe;
}
.ddf-profile-focus-grid.ddf-focus-active > .ddf-accordion-item:not([open]),
.ddf-opportunity-focus-grid.ddf-focus-active > .ddf-section-item:not([open]){
  display:none!important;
}
.ddf-profile-focus-grid.ddf-focus-active,
.ddf-opportunity-focus-grid.ddf-focus-active{
  grid-template-columns:1fr!important;
}
.ddf-profile-focus-grid.ddf-focus-active > .ddf-accordion-item[open],
.ddf-opportunity-focus-grid.ddf-focus-active > .ddf-section-item[open]{
  grid-column:1/-1!important;
}
.ddf-focus-back{display:none!important}
@media(max-width:390px){
  .ddf-profile-focus-grid{gap:10px!important}
  .ddf-profile-focus-grid > .ddf-accordion-item > summary{min-height:124px;padding:16px 10px 18px}
  .ddf-profile-focus-grid .ddf-accordion-icon{width:52px;height:52px;font-size:24px}
  .ddf-profile-focus-grid .ddf-profile-section-status{font-size:11px}
}

/* DDF-MOBILE-04.019 - HOTFIX: foco de Oportunidades tambem no mobile
   Usa CSS nativo como camada de seguranca quando o evento JS de toggle nao atualizar a classe no celular. */
.ddf-opportunities-mobile .ddf-section-list:has(> .ddf-section-item[open]){
  grid-template-columns:1fr!important;
}
.ddf-opportunities-mobile .ddf-section-list:has(> .ddf-section-item[open]) > .ddf-section-item:not([open]){
  display:none!important;
}
.ddf-opportunities-mobile .ddf-section-list:has(> .ddf-section-item[open]) > .ddf-section-item[open]{
  grid-column:1/-1!important;
}
@media(max-width:859px){
  .ddf-opportunities-mobile .ddf-section-list.ddf-section-list-focus,
  .ddf-opportunities-mobile .ddf-section-list:has(> .ddf-section-item[open]){
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .ddf-opportunities-mobile .ddf-section-list.ddf-section-list-focus > .ddf-section-item:not([open]),
  .ddf-opportunities-mobile .ddf-section-list:has(> .ddf-section-item[open]) > .ddf-section-item:not([open]){
    display:none!important;
  }
}

/* DDF-MOBILE-DESKTOP-04.030 - PWA e atendimento AURISVALENTE LTDA */
.ddf-install-panel{border:1px solid #dbeafe!important;background:linear-gradient(180deg,#ffffff,#f8fbff)!important}.ddf-install-app-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:14px;background:#0f3d7a;color:#fff;border:0;font-weight:900;padding:12px 18px;box-shadow:0 10px 24px rgba(15,61,122,.18);cursor:pointer}.ddf-install-app-button:disabled{opacity:.72}.ddf-install-help{margin-top:10px;display:block}.ddf-install-help.is-visible{display:block}.ddf-auri-link{color:inherit;text-decoration:underline;text-underline-offset:3px;font-weight:900}.ddf-auri-link:hover{opacity:.85}


/* DDF-QA-001 Patch 01 - Logout mobile sempre visivel */
.ddf-mobile-logout-fab{display:none}
@media(max-width:859px){
  .ddf-mobile-logout-fab{
    display:inline-flex;
    position:fixed;
    right:12px;
    bottom:82px;
    z-index:1100;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 14px;
    border-radius:999px;
    background:#111827;
    color:#fff!important;
    text-decoration:none;
    font-weight:900;
    font-size:13px;
    box-shadow:0 14px 32px rgba(15,23,42,.22);
  }
}


/* DDF-QA-001 Patch 01 - Minha comunidade no Meu Perfil */
.ddf-profile-community-card{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  border:1px solid var(--ddf-border,#e5e7eb);
  border-radius:24px;
  padding:16px;
  margin:0 0 14px;
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  box-shadow:0 12px 32px rgba(15,23,42,.06);
}
.ddf-profile-community-card strong{display:block;font-size:18px;line-height:1.2;color:#0f172a}
.ddf-profile-community-card p{margin:5px 0 0;color:#475569}
.ddf-profile-community-card small{display:block;margin-top:7px;color:#64748b;line-height:1.35}
.ddf-profile-community-kicker{display:block;margin-bottom:5px;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#2563eb}
.ddf-profile-community-status{white-space:nowrap;border-radius:999px;padding:7px 10px;background:#fef3c7;color:#854d0e;font-size:12px;font-weight:900}
.ddf-profile-community-status.ok{background:#dcfce7;color:#166534}
@media(max-width:520px){.ddf-profile-community-card{flex-direction:column}.ddf-profile-community-status{align-self:flex-start}}


/* DDF-QA-001 CONSOLIDADO - Hiperfoco real Desktop + Mobile
   Quando um card expansivo e aberto, todos os demais cards da mesma lista desaparecem.
   Mantem header, sidebar/topbar e bottom bar fora do escopo do hiperfoco. */
[data-ddf-focus-list].ddf-focus-active > details:not([open]),
[data-ddf-focus-list].ddf-focus-active > .ddf-section-item:not([open]),
[data-ddf-focus-list].ddf-focus-active > .ddf-accordion-item:not([open]){
  display:none!important;
}
[data-ddf-focus-list].ddf-focus-active{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
}
[data-ddf-focus-list].ddf-focus-active > details[open],
[data-ddf-focus-list].ddf-focus-active > .ddf-section-item[open],
[data-ddf-focus-list].ddf-focus-active > .ddf-accordion-item[open]{
  display:block!important;
  grid-column:1/-1!important;
  width:100%!important;
}
.ddf-hyperfocus-root.is-ddf-focused > .ddf-opportunity-guidance,
.ddf-hyperfocus-root.is-ddf-focused > .ddf-opportunity-summary{
  display:none!important;
}
.ddf-profile-smart.is-ddf-focused > .ddf-profile-guidance,
.ddf-profile-smart.is-ddf-focused > .ddf-profile-progress-card{
  display:none!important;
}
@media(min-width:860px){
  .ddf-opportunities-mobile .ddf-section-list:not(.ddf-focus-active){
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .ddf-profile-focus-grid:not(.ddf-focus-active){
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:859px){
  .ddf-opportunities-mobile .ddf-section-list:not(.ddf-focus-active),
  .ddf-profile-focus-grid:not(.ddf-focus-active){
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
  }
}


/* DDF-UX-003 - Navegacao por intencoes (Home -> Ajuda/Ajudar -> Categoria -> Acao) */
.ddf-intencoes-grid .ddf-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 22px}
.ddf-intencoes-passo .ddf-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px}
.ddf-intencoes-grid .ddf-card{min-height:92px}
@media(max-width:760px){.ddf-intencoes-grid .ddf-action-grid,.ddf-intencoes-passo .ddf-action-grid{grid-template-columns:1fr}.ddf-intencoes-grid .ddf-card{min-height:82px}}

/* DDF-ACC-001 - Modo Alto Contraste
   Fundo preto, letras brancas e maior contraste para cards e botoes. */
.ddf-contrast-toggle{
  border:1px solid rgba(15,23,42,.18);
  background:#fff;
  color:#0f172a;
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(15,23,42,.08);
}
.ddf-contrast-toggle:hover{background:#f8fafc}
html.ddf-high-contrast,
html.ddf-high-contrast body{
  background:#000!important;
  color:#fff!important;
}
html.ddf-high-contrast body,
html.ddf-high-contrast .admin-shell,
html.ddf-high-contrast .main-area,
html.ddf-high-contrast .container,
html.ddf-high-contrast .ddf-page,
html.ddf-high-contrast .ddf-page-body{
  background:#000!important;
  color:#fff!important;
}
html.ddf-high-contrast .sidebar,
html.ddf-high-contrast .topbar,
html.ddf-high-contrast .ddf-header,
html.ddf-high-contrast .ddf-bottom-bar,
html.ddf-high-contrast .ddf-card,
html.ddf-high-contrast .card,
html.ddf-high-contrast .panel,
html.ddf-high-contrast .ddf-intention-hero,
html.ddf-high-contrast .ddf-profile-community-card,
html.ddf-high-contrast .ddf-mobile-logout-fab,
html.ddf-high-contrast details,
html.ddf-high-contrast summary{
  background:#050505!important;
  color:#fff!important;
  border-color:#fff!important;
  box-shadow:none!important;
}
html.ddf-high-contrast .ddf-card,
html.ddf-high-contrast .card,
html.ddf-high-contrast .panel,
html.ddf-high-contrast .ddf-profile-community-card,
html.ddf-high-contrast details{
  border:1px solid #fff!important;
}
html.ddf-high-contrast a,
html.ddf-high-contrast .sidebar a,
html.ddf-high-contrast .ddf-bottom-bar a,
html.ddf-high-contrast .ddf-card a{
  color:#fff!important;
}
html.ddf-high-contrast p,
html.ddf-high-contrast small,
html.ddf-high-contrast span,
html.ddf-high-contrast label,
html.ddf-high-contrast .muted,
html.ddf-high-contrast .text-muted,
html.ddf-high-contrast .ddf-card p,
html.ddf-high-contrast .ddf-card small{
  color:#fff!important;
}
html.ddf-high-contrast input,
html.ddf-high-contrast select,
html.ddf-high-contrast textarea{
  background:#000!important;
  color:#fff!important;
  border:1px solid #fff!important;
}
html.ddf-high-contrast .btn,
html.ddf-high-contrast button,
html.ddf-high-contrast .ddf-btn,
html.ddf-high-contrast .ddf-contrast-toggle{
  background:#fff!important;
  color:#000!important;
  border-color:#fff!important;
}
html.ddf-high-contrast .btn-primary,
html.ddf-high-contrast .ddf-btn-primary,
html.ddf-high-contrast .ddf-mobile-logout-fab{
  background:#fff!important;
  color:#000!important;
}
html.ddf-high-contrast .ddf-contrast-toggle::before{content:'✓ ';font-weight:900}
html.ddf-high-contrast .ddf-card-icon,
html.ddf-high-contrast .icon,
html.ddf-high-contrast .avatar{
  background:#fff!important;
  color:#000!important;
}
@media(max-width:760px){
  .ddf-contrast-toggle{padding:7px 10px;font-size:11px}
  .topbar .ddf-contrast-toggle{margin-left:auto}
}

/* DDF-QA-003 - Comunidades reais */
.ddf-communities-hero h1{margin-top:0}.ddf-community-search{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.ddf-community-search input{flex:1;min-width:220px}.ddf-community-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.ddf-community-list{display:grid;gap:.75rem}.ddf-community-list.compact{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.ddf-community-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid rgba(15,23,42,.1);border-radius:18px;padding:1rem;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.06)}.ddf-community-card.public{align-items:flex-start}.ddf-community-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(15,118,110,.08);font-size:1.3rem;flex:0 0 auto}.ddf-community-body{flex:1}.ddf-community-body h3{margin:.05rem 0 .25rem}.ddf-community-body p{margin:.15rem 0;color:#64748b}.ddf-community-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.ddf-community-actions form{margin:0}.ddf-community-actions button,.ddf-community-search button{border:0;border-radius:999px;padding:.7rem 1rem;background:#0f766e;color:#fff;font-weight:700}.ddf-community-actions .reject{background:#b91c1c}.ddf-community-actions .approve{background:#15803d}.ddf-status{display:inline-flex;align-items:center;border-radius:999px;padding:.35rem .7rem;font-size:.78rem;font-weight:800;background:#e2e8f0;color:#334155;white-space:nowrap}.ddf-status.aprovado{background:#dcfce7;color:#166534}.ddf-status.pendente{background:#fef3c7;color:#92400e}.ddf-status.rejeitado{background:#fee2e2;color:#991b1b}
@media(max-width:720px){.ddf-community-card,.ddf-community-card.public{align-items:stretch;flex-direction:column}.ddf-community-actions{justify-content:flex-start}.ddf-community-search{display:grid}.ddf-community-search input{min-width:0;width:100%}}

/* DDF v31 - Mural de Competencias */
.ddf-competencias-hero h1{margin-top:0}.ddf-competence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}.ddf-competence-card{display:flex;flex-direction:column;gap:.25rem;border:1px solid rgba(15,23,42,.1);border-radius:18px;padding:1rem;background:#fff;text-decoration:none;color:#0f172a;box-shadow:0 8px 24px rgba(15,23,42,.06)}.ddf-competence-card:hover,.ddf-competence-card.is-active{border-color:#0f766e;box-shadow:0 12px 30px rgba(15,118,110,.12)}.ddf-competence-card small{color:#64748b}.ddf-competence-card span{font-weight:800;color:#0f766e}.ddf-person-inline{display:flex;align-items:center;gap:.75rem}.ddf-id-avatar{width:42px;height:42px;border-radius:999px;display:grid;place-items:center;background:#e2e8f0;color:#334155;font-weight:800}.ddf-public-photo{width:48px;height:48px;border-radius:999px;object-fit:cover;border:2px solid rgba(15,118,110,.18)}

/* DDF v31.2 - Formulários Inteligentes / Sangue */
.ddf-smart-form .alert.info,
.ddf-smart-search .alert.info{border-radius:12px;}
.ddf-sangue-form h2,
.ddf-sangue-search h2{display:flex;align-items:center;gap:.5rem;}
.ddf-sangue-form h2::before,
.ddf-sangue-search h2::before{content:'🩸';font-size:1.1em;}
.ddf-smart-form .grid-3,
.ddf-smart-form .grid-2{gap:16px;}
.ddf-smart-form input,
.ddf-smart-form select,
.ddf-smart-search input,
.ddf-smart-search select{min-height:42px;}
.ddf-smart-form .muted-text{background:#f8fafc;border:1px solid #e5eaf2;border-radius:12px;padding:12px 14px;}
@media (max-width: 760px){
  .ddf-smart-form .grid-3,
  .ddf-smart-form .grid-2{grid-template-columns:1fr!important;}
  .ddf-smart-search .ddf-inline-form{display:grid;grid-template-columns:1fr;gap:10px;}
}

/* DDF V2 Alpha04 - Hiperfoco Global e biblioteca visual oficial */
.ddf-hyperfocus-region{position:relative;display:block;width:100%}
.ddf-focus-item{transition:opacity .18s ease, transform .18s ease, max-height .18s ease}
.ddf-focus-close{display:none;align-items:center;justify-content:center;min-height:42px;border:1px solid var(--ddf-border);background:#fff;color:var(--ddf-primary);border-radius:999px;padding:0 15px;font-weight:900;cursor:pointer;margin:0 0 12px;text-decoration:none}
.ddf-hyperfocus-region.ddf-hyperfocus-active .ddf-focus-item:not(.ddf-focus-current){display:none!important}
.ddf-hyperfocus-region.ddf-hyperfocus-active .ddf-focus-current{display:block!important;animation:ddfFocusIn .18s ease-out both}
.ddf-hyperfocus-region.ddf-hyperfocus-active .ddf-focus-current .ddf-focus-close{display:inline-flex}
.ddf-hyperfocus-status{display:none;margin:0 0 12px;padding:10px 13px;border-radius:16px;background:#f8fafc;border:1px solid var(--ddf-border);color:var(--ddf-muted);font-size:13px;font-weight:800}
.ddf-hyperfocus-region.ddf-hyperfocus-active>.ddf-hyperfocus-status{display:block}
.ddf-ui-showcase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0 18px}
.ddf-ui-showcase-box{border:1px solid var(--ddf-border);background:#fff;border-radius:22px;padding:16px;box-shadow:0 10px 25px rgba(15,23,42,.05)}
.ddf-ui-showcase-box h3{margin:0 0 8px;font-size:17px;color:var(--ddf-text)}
.ddf-ui-showcase-box p{margin:0;color:var(--ddf-muted);line-height:1.4;font-size:14px}
@keyframes ddfFocusIn{from{opacity:.25;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){
  .ddf-ui-showcase-grid{grid-template-columns:1fr}
  .ddf-hyperfocus-region.ddf-hyperfocus-active{padding-top:2px}
  .ddf-hyperfocus-region.ddf-hyperfocus-active .ddf-focus-current{min-height:calc(100vh - 220px)}
}
