/*
Theme Name: DocLife — Life Dashboard
Theme URI: https://doclife.online
Author: Coutto Space tecnologia CtechTopia
Author URI: https://doclife.online
Description: Tema oficial DocLife v0.7.0. Home Life Dashboard conectada ao DocLife Core/Power, com Hoje, Saúde, My Family, Life Vault, Agenda, Custos, Minha Rede e ações rápidas.
Version: 0.7.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: doclife-life-dashboard
*/

:root{
  --dl-navy:#071a40;
  --dl-navy-2:#0b2555;
  --dl-blue:#174b86;
  --dl-gold:#c89531;
  --dl-gold-light:#f0c66e;
  --dl-white:#ffffff;
  --dl-bg:#f3f6fa;
  --dl-line:#dfe4ea;
  --dl-text:#102b55;
  --dl-muted:#60718a;
  --dl-radius:20px;
  --dl-shadow:0 12px 34px rgba(7,26,64,.07);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--dl-bg);
  color:var(--dl-text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
button,input,select,textarea{font:inherit}
img{max-width:100%;height:auto}
.dl-theme-shell{min-height:100vh}
.dl-theme-main{width:min(1500px,100%);margin:0 auto;padding:24px 26px 110px}

.dl-topbar{
  position:sticky;
  top:0;
  z-index:90;
  min-height:74px;
  display:flex;
  align-items:center;
  gap:18px;
  padding:12px 26px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--dl-line);
}
.admin-bar .dl-topbar{top:32px}
.dl-brand{display:flex;align-items:center;gap:13px;text-decoration:none}
.dl-brand img{
  width:188px;
  max-height:48px;
  object-fit:contain;
  object-position:left center;
}
.dl-brand-copy{display:none}
.dl-topnav{display:flex;gap:6px;margin-left:auto}
.dl-topnav a{
  padding:10px 12px;
  border-radius:12px;
  text-decoration:none;
  color:#40536f;
  font-size:13px;
  font-weight:800;
}
.dl-topnav a:hover{background:#f4f7fa;color:var(--dl-navy)}
.dl-top-actions{display:flex;align-items:center;gap:9px}
.dl-icon-btn{
  position:relative;
  width:42px;height:42px;
  display:grid;place-items:center;
  border:1px solid var(--dl-line);
  border-radius:14px;
  background:#fff;
  text-decoration:none;
  color:#a56d13;
  font-weight:900;
}
.dl-icon-btn b{
  position:absolute;right:-5px;top:-6px;
  min-width:19px;height:19px;padding:0 5px;
  display:grid;place-items:center;
  border-radius:999px;
  background:var(--dl-navy);
  color:var(--dl-gold-light);
  border:2px solid #fff;
  font-size:9px;
}
.dl-user-chip{
  min-width:190px;
  display:flex;align-items:center;gap:10px;
  padding:5px 11px 5px 5px;
  border:1px solid var(--dl-line);
  border-radius:999px;
  background:#fff;
  text-decoration:none;
}
.dl-avatar{
  width:40px;height:40px;flex:none;
  display:grid;place-items:center;
  overflow:hidden;
  border-radius:50%;
  background:linear-gradient(145deg,var(--dl-navy),#245fa6);
  border:2px solid rgba(200,149,49,.7);
  color:var(--dl-gold-light);
  font-weight:900;
}
.dl-avatar img{width:100%;height:100%;object-fit:cover}
.dl-user-chip strong{display:block;font-size:12px;color:var(--dl-navy)}
.dl-user-chip small{display:block;margin-top:1px;color:#728097;font-size:10px;font-weight:700}

.dl-welcome{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(320px,.55fr);
  gap:16px;
  margin-bottom:16px;
}
.dl-hero{
  position:relative;
  overflow:hidden;
  min-height:270px;
  padding:28px 30px;
  border-radius:26px;
  background:
    radial-gradient(circle at 92% 20%,rgba(240,198,110,.20),transparent 23%),
    radial-gradient(circle at 76% 88%,rgba(74,146,220,.16),transparent 28%),
    linear-gradient(135deg,#061632,#0b285c 55%,#1d5797);
  border:1px solid rgba(200,149,49,.52);
  box-shadow:0 18px 46px rgba(7,26,64,.13);
}
.dl-kicker{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--dl-gold-light)!important;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.dl-kicker:before{
  content:"";
  width:7px;height:7px;
  border-radius:50%;
  background:var(--dl-gold-light);
  box-shadow:0 0 0 4px rgba(240,198,110,.12);
}
.dl-hero h1{
  max-width:830px;
  margin:11px 0 8px;
  color:#fff!important;
  font-size:clamp(35px,4vw,58px);
  line-height:1.02;
  letter-spacing:-.035em;
}
.dl-hero p{
  max-width:800px;
  margin:0;
  color:rgba(255,255,255,.9)!important;
  font-size:17px;
  line-height:1.5;
  font-weight:600;
}
.dl-hero-bridge{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:22px;
}
.dl-hero-bridge span{
  display:inline-flex;
  align-items:center;
  min-height:33px;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#fff!important;
  font-size:11px;
  font-weight:800;
}
.dl-hero-bridge b{color:var(--dl-gold-light)}
.dl-hero-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}
.dl-btn{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 15px;
  border:1px solid var(--dl-line);
  border-radius:14px;
  background:#fff;
  color:var(--dl-navy);
  text-decoration:none;
  font-size:13px;
  font-weight:850;
  cursor:pointer;
}
.dl-btn:hover{transform:translateY(-1px)}
.dl-btn.primary{
  border-color:#c4912e;
  background:linear-gradient(145deg,#f3cf7e,#c99631 58%,#e6bd62);
  color:#09204b;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.56),0 8px 20px rgba(200,149,49,.18);
}
.dl-btn.navy{
  border-color:#153d78;
  background:linear-gradient(145deg,#0a1f4d,#184789);
  color:var(--dl-gold-light);
}
.dl-welcome-side{
  display:grid;
  grid-template-rows:1fr auto;
  gap:12px;
}
.dl-focus-card,.dl-card{
  background:#fff;
  border:1px solid var(--dl-line);
  border-radius:var(--dl-radius);
  box-shadow:var(--dl-shadow);
}
.dl-focus-card{padding:22px}
.dl-focus-card .dl-eyebrow,.dl-eyebrow{
  color:#8c5d10;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.dl-focus-card h2{margin:7px 0 6px;font-size:24px;color:var(--dl-navy)}
.dl-focus-card p{margin:0;color:#52647d;font-size:14px;line-height:1.45;font-weight:650}
.dl-focus-card .dl-mini-metrics{margin-top:16px}
.dl-mini-metrics{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.dl-mini-metrics div{
  padding:11px 10px;
  border:1px solid #e5e9ee;
  border-radius:14px;
  background:#fff;
}
.dl-mini-metrics strong{display:block;font-size:20px;color:var(--dl-navy)}
.dl-mini-metrics span{display:block;margin-top:2px;color:#6a7890;font-size:10px;font-weight:750}

.dl-account-alert{
  padding:16px 18px;
  border:1px solid #e4cf9a;
  border-radius:18px;
  background:#fff8e9;
}
.dl-account-alert strong{display:block;color:#75500f;font-size:13px}
.dl-account-alert p{margin:4px 0 10px;color:#695f4d;font-size:12px;font-weight:650}

.dl-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-bottom:16px;
}
.dl-summary{
  min-height:118px;
  padding:17px 18px;
  border:1px solid var(--dl-line);
  border-radius:18px;
  background:#fff;
}
.dl-summary span{color:#6f7c91;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.dl-summary strong{display:block;margin:6px 0 2px;color:var(--dl-navy);font-size:31px}
.dl-summary small{color:#52647d;font-size:12px;font-weight:650}

.dl-home-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);
  gap:16px;
}
.dl-column{display:grid;gap:16px;align-content:start}
.dl-card{padding:20px}
.dl-card-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:15px;
  margin-bottom:14px;
}
.dl-card-head h2{margin:4px 0 2px;color:var(--dl-navy);font-size:22px}
.dl-card-head p{margin:0;color:#5c6e87;font-size:13px;font-weight:620}
.dl-card-head>a{
  flex:none;
  color:#174b86;
  font-size:11px;
  font-weight:850;
  text-decoration:none;
}

.dl-today-list{display:grid;gap:8px}
.dl-today-item{
  display:grid;
  grid-template-columns:70px 1fr auto;
  gap:12px;
  align-items:center;
  min-height:67px;
  padding:10px 3px;
  border-bottom:1px solid #edf0f3;
}
.dl-today-item:last-child{border-bottom:0}
.dl-today-time{
  display:grid;place-items:center;
  min-height:45px;
  border-radius:12px;
  background:#f4f7fb;
  color:var(--dl-navy);
  font-size:12px;
  font-weight:900;
}
.dl-today-copy strong{display:block;color:var(--dl-navy);font-size:15px}
.dl-today-copy span{display:block;margin-top:3px;color:#64758c;font-size:11px;font-weight:650}
.dl-type-chip{
  padding:5px 8px;
  border-radius:999px;
  background:#fff8e9;
  border:1px solid #ebd39a;
  color:#825510;
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
}
.dl-empty{
  min-height:150px;
  display:grid;place-items:center;
  text-align:center;
  padding:20px;
  border:1px dashed #d9e0e8;
  border-radius:16px;
  background:#fbfcfd;
}
.dl-empty strong{display:block;color:var(--dl-navy);font-size:16px}
.dl-empty p{margin:5px 0 12px;color:#66778f;font-size:12px;font-weight:650}

.dl-health-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:9px;
}
.dl-health-tile{
  min-height:110px;
  display:flex;
  flex-direction:column;
  padding:14px;
  border:1px solid #e2e7ed;
  border-radius:16px;
  background:#fff;
  text-decoration:none;
}
.dl-health-tile span{color:#8b5c0f;font-size:10px;font-weight:900;text-transform:uppercase}
.dl-health-tile strong{margin-top:auto;color:var(--dl-navy);font-size:28px}
.dl-health-tile small{margin-top:1px;color:#68788f;font-size:10px;font-weight:700}

.dl-family-people{display:flex;align-items:center;margin:11px 0}
.dl-family-people .dl-avatar{margin-right:-8px;border-width:3px}
.dl-family-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:13px;
}
.dl-family-stats div{padding:10px;border-radius:13px;background:#f6f8fb;border:1px solid #e4e8ee}
.dl-family-stats strong{display:block;color:var(--dl-navy);font-size:18px}
.dl-family-stats span{font-size:9px;color:#728096;font-weight:800}

.dl-vault-row,.dl-cost-row,.dl-network-row,.dl-upcoming-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 0;
  border-bottom:1px solid #edf0f3;
}
.dl-vault-row:last-child,.dl-cost-row:last-child,.dl-network-row:last-child,.dl-upcoming-row:last-child{border-bottom:0}
.dl-vault-row strong,.dl-cost-row strong,.dl-network-row strong,.dl-upcoming-row strong{
  display:block;color:var(--dl-navy);font-size:13px
}
.dl-vault-row span,.dl-cost-row span,.dl-network-row span,.dl-upcoming-row span{
  display:block;margin-top:2px;color:#6b7b91;font-size:10px;font-weight:650
}
.dl-metric-big{font-size:32px!important}
.dl-gold{color:#a76d0f!important}

.dl-quick-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:9px;
}
.dl-quick{
  min-height:86px;
  display:flex;flex-direction:column;justify-content:space-between;
  padding:12px;
  border:1px solid #e1e6ec;
  border-radius:15px;
  background:#fff;
  text-decoration:none;
}
.dl-quick b{font-size:18px;color:#b57817}
.dl-quick span{font-size:11px;font-weight:850;color:var(--dl-navy)}

.dl-mobile-dock{
  display:none;
  position:fixed;
  left:12px;right:12px;bottom:10px;
  z-index:120;
  min-height:68px;
  grid-template-columns:repeat(5,1fr);
  padding:7px;
  border:1px solid rgba(240,198,110,.42);
  border-radius:22px;
  background:rgba(7,26,64,.96);
  box-shadow:0 15px 44px rgba(7,26,64,.24);
  backdrop-filter:blur(16px);
}
.dl-mobile-dock a{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  color:#fff;text-decoration:none;font-size:9px;font-weight:800
}
.dl-mobile-dock b{font-size:18px;color:var(--dl-gold-light)}
.dl-mobile-dock .center{
  transform:translateY(-14px);
}
.dl-mobile-dock .center b{
  width:48px;height:48px;display:grid;place-items:center;
  border-radius:50%;
  background:linear-gradient(145deg,#f3cf7e,#c89531);
  color:var(--dl-navy);
  border:4px solid var(--dl-navy);
  font-size:24px;
}

.dl-public-shell{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:30px;
  background:
    radial-gradient(circle at 10% 10%,rgba(240,198,110,.17),transparent 28%),
    linear-gradient(145deg,#061632,#0b285c 58%,#1d5797);
}
.dl-public-card{
  width:min(1180px,100%);
  display:grid;
  grid-template-columns:1fr 1fr;
  overflow:hidden;
  border-radius:30px;
  background:#fff;
  border:1px solid rgba(240,198,110,.5);
  box-shadow:0 30px 100px rgba(0,0,0,.22);
}
.dl-public-brand{padding:54px}
.dl-public-brand img{width:280px}
.dl-public-brand h1{margin:26px 0 10px;color:var(--dl-navy);font-size:48px;line-height:1.03}
.dl-public-brand p{color:#52647d;font-size:17px;line-height:1.5;font-weight:620}
.dl-public-actions{display:flex;gap:9px;margin-top:24px;flex-wrap:wrap}
.dl-public-features{
  padding:42px;
  display:grid;
  align-content:center;
  gap:10px;
  background:#f6f8fb;
}
.dl-public-feature{padding:16px;border-radius:16px;background:#fff;border:1px solid #e0e5eb}
.dl-public-feature strong{display:block;color:var(--dl-navy);font-size:15px}
.dl-public-feature span{display:block;margin-top:4px;color:#66778e;font-size:12px;font-weight:650}

@media(max-width:1100px){
  .dl-welcome{grid-template-columns:1fr}
  .dl-welcome-side{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .dl-summary-grid{grid-template-columns:repeat(2,1fr)}
  .dl-health-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:860px){
  .dl-topnav{display:none}
  .dl-user-chip{min-width:0}
  .dl-user-chip>div:last-child{display:none}
  .dl-home-grid{grid-template-columns:1fr}
  .dl-welcome-side{grid-template-columns:1fr}
  .dl-quick-grid{grid-template-columns:repeat(2,1fr)}
  .dl-mobile-dock{display:grid}
  .dl-public-card{grid-template-columns:1fr}
  .dl-public-brand,.dl-public-features{padding:30px}
}
@media(max-width:600px){
  .admin-bar .dl-topbar{top:46px}
  .dl-topbar{padding:10px 14px}
  .dl-brand img{width:150px}
  .dl-theme-main{padding:14px 12px 105px}
  .dl-hero{padding:22px 19px;border-radius:22px}
  .dl-hero h1{font-size:35px}
  .dl-hero p{font-size:14px}
  .dl-summary-grid{gap:8px}
  .dl-summary{padding:14px;min-height:105px}
  .dl-summary strong{font-size:26px}
  .dl-card{padding:16px}
  .dl-today-item{grid-template-columns:58px 1fr}
  .dl-type-chip{grid-column:2;justify-self:start}
  .dl-family-stats{grid-template-columns:1fr 1fr 1fr}
  .dl-health-grid{grid-template-columns:1fr 1fr}
  .dl-public-shell{padding:0}
  .dl-public-card{border-radius:0;min-height:100vh}
  .dl-public-brand h1{font-size:37px}
}
