body.dk-page{
  --bg:#edf7ed;
  --panel:#ffffff;
  --panel-soft:#f7fbf7;
  --text:#173126;
  --dk-muted:#5f7268;
  --line:#d7e7da;
  --brand:#1b4332;
  --brand-2:#2d6a4f;
  --accent:#95d5b2;
  --danger:#b42318;
  --success:#137333;
  --shadow:0 18px 40px rgba(15,42,30,.08);
}

.dk-page *{box-sizing:border-box}
body.dk-page{margin:0;padding:0}
body.dk-page{
  font-family:Arial, Helvetica, sans-serif;
  background:
    radial-gradient(circle at 12% 8%, rgba(149,213,178,.42), transparent 32%),
    radial-gradient(circle at 88% 18%, rgba(82,183,136,.28), transparent 34%),
    linear-gradient(135deg,#eef8ef 0%,#dff2e6 42%,#f7fbf4 100%);
  color:var(--text);
}
.dk-site-header{
  position:sticky;
  top:0;
  z-index:1000;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:16px 5vw;
  background:rgba(27,67,50,.96);
  backdrop-filter:blur(10px);
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}
.dk-brand{
  color:#fff;
  text-decoration:none;
  font-weight:700;
  font-size:1.15rem;
  letter-spacing:0;
}
.dk-site-nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 16px;
  min-width:0;
}
.dk-site-nav a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#eaf5ec;
  text-decoration:none;
  font-size:.95rem;
  padding:8px 12px;
  border-radius:8px;
}
.dk-site-nav a:hover{color:var(--accent)}
.dk-auth-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-left:auto;
}
.dk-user-chip{
  color:#eaf5ec;
  font-size:.92rem;
}
.dk-primary-button,.dk-secondary-button,.dk-header-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px;
  border-radius:8px;
  text-decoration:none;
  border:1px solid transparent;
  font-weight:700;
  cursor:pointer;
}
.dk-primary-button{
  background:var(--brand-2);
  color:#fff;
}
.dk-primary-button:hover{background:#3d8a67}
.dk-secondary-button{
  background:transparent;
  border-color:rgba(255,255,255,.18);
  color:#fff;
}
.dk-secondary-button:hover{border-color:var(--accent);color:var(--accent)}
.dk-header-btn{
  border-radius:8px;
  white-space:nowrap;
}
.dk-header-btn .dk-icon,
.dk-site-nav .dk-icon,
.dk-account-menu .dk-icon{
  width:16px;
  height:16px;
  flex:0 0 auto;
}
.dk-header-btn,
.dk-account-menu a{
  gap:8px;
}
.dk-icon{
  width:16px;
  height:16px;
  flex:0 0 auto;
}
.dk-header-btn-ghost{
  background:transparent;
  border-color:rgba(255,255,255,.25);
  color:#fff;
}
.dk-header-btn-ghost:hover{
  border-color:var(--accent);
  color:var(--accent);
}
.dk-header-btn-solid{
  background:var(--brand-2);
  color:#fff;
}
.dk-header-btn-solid:hover{background:#3d8a67}
.dk-flash-wrap{
  width:min(1180px,calc(100% - 32px));
  margin:18px auto 0;
  position:relative;
  z-index:20;
}
.dk-alert{
  position:relative;
  padding:16px 18px 16px 52px;
  border-radius:8px;
  border:1px solid var(--line);
  background:var(--panel);
  box-shadow:var(--shadow);
  font-weight:600;
  line-height:1.45;
}
.dk-alert::before{
  content:"";
  position:absolute;
  left:16px;
  top:50%;
  width:22px;
  height:22px;
  transform:translateY(-50%);
  border-radius:50%;
  background:currentColor;
  opacity:.16;
}
.dk-alert::after{
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-54%);
  font-size:14px;
  font-weight:700;
}
.dk-alert.dk-alert-error{
  border-color:#f3b4b0;
  background:#fff4f3;
  color:var(--danger);
}
.dk-alert.dk-alert-error::after{
  content:"!";
}
.dk-alert.dk-alert-success{
  border-color:#6fcb8d;
  background:linear-gradient(135deg,#e9fbef 0%,#d9f7e2 100%);
  color:#0f7a35;
  box-shadow:0 18px 35px rgba(18,123,55,.16);
}
.dk-alert.dk-alert-success::after{
  content:"✓";
}
.dk-page main{
  width:min(1180px,calc(100% - 32px));
  margin:28px auto 72px;
}
.dk-site-footer{
  padding:24px 16px 36px;
  text-align:center;
  color:var(--dk-muted);
}
.dk-section-box,.dk-action-panel,.dk-price-summary-card,.dk-auth-card,.dk-summary-mini-card,.dk-plant-request-card,.dk-model-step-card,.dk-simulation-card,.dk-planting-example-card,.dk-map-choice-card,.dk-volunteer-dashboard-preview,.dk-donation-request-form,.dk-donation-map-column,.dk-plant-filter-panel{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:var(--shadow);
}
.dk-solution-hero,.dk-donation-request-hero,.dk-plant-requests-hero,.dk-auth-hero{
  display:grid;
  gap:20px;
  grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);
  align-items:end;
  margin-bottom:24px;
}
.dk-solution-hero h1,.dk-donation-request-hero h1,.dk-plant-requests-hero h1,.dk-auth-hero h1{
  margin:0;
  font-size:clamp(2rem,4vw,3.4rem);
  line-height:1.1;
}
.dk-solution-actions,.dk-role-actions,.dk-map-button-row,.dk-example-action-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.dk-content-section,.dk-plant-requests-page section,.dk-donation-request-page section,.dk-solution-page section{
  margin-top:24px;
}
.dk-section-heading h2,.dk-auth-card h2,.dk-section-box h2,.dk-plant-request-card h2,.dk-model-step-card h3,.dk-history-card h2{
  margin:0 0 12px;
  line-height:1.2;
  letter-spacing:-.01em;
}
.dk-section-heading h2,.dk-section-box h2{
  font-size:1.5rem;
  font-weight:800;
}
.dk-auth-card h2,.dk-plant-request-card h2,.dk-history-card h2{
  font-size:1.28rem;
  font-weight:800;
}
.dk-model-step-card h3{
  font-size:1.16rem;
  font-weight:800;
}
.dk-model-flow-grid,.dk-donation-simulation-grid,.dk-planting-example-grid,.dk-map-choice-grid,.dk-plant-request-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
}
.dk-model-step-card,.dk-simulation-card,.dk-planting-example-card,.dk-map-choice-card,.dk-plant-request-card{
  padding:18px;
}
.dk-model-step-card span,.dk-section-label,.dk-eyebrow{
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:28px;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(45,106,79,.18);
  background:rgba(149,213,178,.14);
  color:var(--brand-2);
  font-size:.76rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.dk-plant-card-topline{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  color:var(--dk-muted);
  font-size:.9rem;
}
.dk-simulation-card.dk-muted{opacity:.72}
.dk-planting-example-card.dk-dark{
  background:var(--brand);
  color:#fff;
}
.dk-planting-example-card.dk-dark .dk-section-label,
.dk-planting-example-card.dk-dark .dk-eyebrow,
.dk-planting-example-card.dk-dark p{
  border-color:rgba(255,255,255,.2);
  background:rgba(255,255,255,.08);
  color:#eef7f1;
}
.dk-dashboard-header-line{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
}
.dk-request-table-preview,.dk-plant-card-meta{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:12px;
}
.dk-request-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  padding:10px 0;
  border-top:1px solid var(--line);
}
.dk-request-row.dk-head{font-weight:700;border-top:none}
.dk-map-workspace,.dk-donation-request-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);
  gap:18px;
  align-items:start;
}
.dk-map-location-form,.dk-auth-form,.dk-plant-filter-form,.dk-donation-request-form{
  display:grid;
  gap:12px;
}
.dk-page label{font-weight:700;font-size:.92rem}
.dk-page input,.dk-page select,.dk-page textarea{
  width:100%;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--text);
  font:inherit;
}
.dk-page textarea{resize:vertical;min-height:120px}
.dk-coordinate-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.dk-planting-map,.dk-donation-map{
  width:100%;
  min-height:360px;
  border-radius:8px;
  overflow:hidden;
  border:1px solid var(--line);
}
.dk-map-status,.dk-map-helper-copy,.dk-action-copy,.dk-auth-note,.dk-price-summary-card p,.dk-calculated-price-box small{
  color:var(--dk-muted);
}
.dk-price-summary-card,.dk-auth-card,.dk-action-panel,.dk-summary-mini-card,.dk-volunteer-dashboard-preview{
  padding:18px;
}
.dk-auth-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);
  gap:18px;
}
.dk-auth-role-list{
  display:grid;
  gap:10px;
}
.dk-auth-switch a,.dk-auth-note a{
  color:var(--brand-2);
  text-decoration:none;
  font-weight:700;
}
.dk-calculated-price-box{
  padding:14px;
  border-radius:8px;
  background:var(--panel-soft);
  border:1px solid var(--line);
}
@media (max-width: 900px){
  .dk-site-header,.dk-solution-hero,.dk-donation-request-hero,.dk-plant-requests-hero,.dk-auth-hero,.dk-auth-grid,.dk-map-workspace,.dk-donation-request-layout{
    grid-template-columns:1fr;
  }
  .dk-site-header{
    align-items:flex-start;
    flex-direction:column;
  }
  .dk-site-nav,.dk-auth-actions{justify-content:flex-start;margin-left:0}
}
@media (max-width: 640px){
  .dk-page main,.dk-flash-wrap{width:calc(100% - 24px)}
  .dk-coordinate-grid,.dk-request-row{grid-template-columns:1fr}
}

.dk-account-dropdown{
  position:relative;
}
.dk-account-button{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:10px 15px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:8px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}
.dk-account-button:hover,
.dk-account-button:focus-visible{
  border-color:var(--accent);
  color:var(--accent);
  outline:none;
}
.dk-account-name{
  max-width:150px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dk-account-caret{
  font-size:.75rem;
  line-height:1;
}
.dk-account-menu{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  display:none;
  min-width:210px;
  padding:8px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--text);
  box-shadow:0 18px 40px rgba(15,42,30,.18);
}
.dk-account-dropdown:hover .dk-account-menu,
.dk-account-dropdown:focus-within .dk-account-menu{
  display:grid;
  gap:4px;
}
.dk-account-menu a{
  display:flex;
  align-items:center;
  min-height:40px;
  padding:10px 12px;
  border-radius:8px;
  color:var(--text);
  text-decoration:none;
  font-weight:700;
}
.dk-account-menu a:hover{
  background:var(--panel-soft);
  color:var(--brand-2);
}
.dk-account-menu .dk-menu-logout{
  border-top:1px solid var(--line);
  margin-top:4px;
  color:var(--danger);
}
.dk-history-page{
  display:grid;
  gap:18px;
}
.dk-history-hero{
  padding:22px;
}
.dk-history-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:16px;
}
.dk-history-card{
  padding:18px;
}
.dk-history-topline,
.dk-history-meta{
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.dk-history-topline{
  color:var(--dk-muted);
  font-size:.9rem;
}
.dk-history-meta{
  margin-top:14px;
  color:var(--dk-muted);
}
.dk-empty-state{
  padding:22px;
}
/* Strong scoped overrides: keeps PHP UI isolated from index.html inline CSS. */
body.dk-page{
  min-height:100vh;
  overflow-x:hidden;
}
body.dk-page .dk-site-header{
  color:#fff;
}
body.dk-page .dk-brand,
body.dk-page .dk-brand:visited,
body.dk-page .dk-site-nav a,
body.dk-page .dk-site-nav a:visited{
  color:#fff;
}
body.dk-page .dk-brand{
  display:inline-flex;
  flex-direction:column;
  gap:2px;
  min-width:max-content;
}
body.dk-page .dk-brand strong{
  font-size:1.12rem;
  line-height:1;
}
body.dk-page .dk-brand small{
  color:#b8e3c3;
  font-size:.78rem;
  line-height:1;
}
body.dk-page .dk-site-nav a:hover{
  color:var(--accent);
}
body.dk-page .dk-site-nav{
  justify-content:center;
  gap:10px 16px;
}
body.dk-page .dk-primary-button,
body.dk-page .dk-primary-button:visited,
body.dk-page .dk-header-btn-solid,
body.dk-page .dk-header-btn-solid:visited{
  background:var(--brand-2);
  border-color:var(--brand-2);
  color:#fff;
}
body.dk-page .dk-secondary-button,
body.dk-page .dk-secondary-button:visited,
body.dk-page .dk-header-btn-ghost,
body.dk-page .dk-header-btn-ghost:visited{
  background:transparent;
  border-color:rgba(27,67,50,.18);
  color:var(--brand);
}
body.dk-page .dk-site-header .dk-header-btn-ghost,
body.dk-page .dk-site-header .dk-header-btn-ghost:visited{
  border-color:rgba(255,255,255,.28);
  color:#fff;
}
body.dk-page .dk-primary-button:hover,
body.dk-page .dk-header-btn-solid:hover{
  background:#3d8a67;
  border-color:#3d8a67;
  color:#fff;
}
body.dk-page .dk-secondary-button:hover,
body.dk-page .dk-header-btn-ghost:hover{
  border-color:var(--accent);
  color:var(--brand-2);
}
body.dk-page .dk-site-header .dk-header-btn-ghost:hover{
  color:var(--accent);
}
body.dk-page .dk-flash-wrap,
body.dk-page main{
  width:min(1180px,calc(100% - 32px));
}
body.dk-page .dk-solution-hero{
  display:block;
  padding:44px 0 0;
}
body.dk-page .dk-solution-hero-content{
  max-width:760px;
}
body.dk-page .dk-solution-hero h1{
  max-width:760px;
  margin:14px 0 18px;
  font-size:clamp(2.2rem,4.2vw,4rem);
  line-height:1.12;
  color:var(--text);
}
body.dk-page .dk-solution-hero p{
  max-width:760px;
  margin:0 0 18px;
  line-height:1.55;
}
body.dk-page .dk-content-section{
  margin-top:28px;
}
body.dk-page .dk-section-box,
body.dk-page .dk-model-step-card,
body.dk-page .dk-simulation-card,
body.dk-page .dk-planting-example-card,
body.dk-page .dk-map-choice-card,
body.dk-page .dk-volunteer-dashboard-preview,
body.dk-page .dk-donation-request-form,
body.dk-page .dk-donation-map-column,
body.dk-page .dk-plant-filter-panel,
body.dk-page .dk-plant-request-card{
  border-radius:8px;
}
body.dk-page .dk-section-heading.dk-section-box,
body.dk-page .dk-solution-wide-box{
  padding:22px;
}
body.dk-page .dk-model-flow-grid{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
}
body.dk-page .dk-account-menu a,
body.dk-page .dk-account-menu a:visited{
  color:var(--text);
}
body.dk-page .dk-account-menu .dk-menu-logout,
body.dk-page .dk-account-menu .dk-menu-logout:visited{
  color:var(--danger);
}
@media (max-width:900px){
  body.dk-page .dk-site-header{
    align-items:stretch;
    grid-template-columns:1fr;
  }
  body.dk-page .dk-site-nav,
  body.dk-page .dk-auth-actions{
    margin-left:0;
  }
  body.dk-page .dk-site-nav{
    justify-content:center;
  }
}
/* Solution page spacing and readable blocks */
body.dk-page .dk-solution-page{
  display:block;
}
body.dk-page .dk-solution-page p,
body.dk-page .dk-solution-page h1,
body.dk-page .dk-solution-page h2,
body.dk-page .dk-solution-page h3{
  overflow-wrap:anywhere;
}
body.dk-page .dk-solution-page p{
  line-height:1.65;
}
body.dk-page .dk-solution-page h2{
  line-height:1.28;
}
body.dk-page .dk-solution-page h3{
  line-height:1.32;
}
body.dk-page .dk-solution-wide-box{
  margin-bottom:18px;
}
body.dk-page .dk-planting-example-grid{
  align-items:stretch;
  margin-top:18px;
}
body.dk-page .dk-planting-example-card{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:230px;
}
body.dk-page .dk-planting-example-card h3,
body.dk-page .dk-planting-example-card p{
  margin:0;
}
body.dk-page .dk-example-status-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:auto;
  color:var(--dk-muted);
}
body.dk-page .dk-planting-example-card.dk-dark .dk-example-status-row{
  color:#e8f6ec;
}
body.dk-page .dk-volunteer-dashboard-preview{
  margin-top:18px;
  padding:22px;
}
body.dk-page .dk-dashboard-header-line{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:18px;
}
body.dk-page .dk-dashboard-header-line h3,
body.dk-page .dk-dashboard-header-line p{
  margin:0;
}
body.dk-page .dk-fake-filters{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
  color:var(--dk-muted);
}
body.dk-page .dk-fake-filters span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel-soft);
}
body.dk-page .dk-request-table-preview{
  display:grid;
  gap:0;
  width:100%;
  overflow-x:auto;
}
body.dk-page .dk-request-row{
  display:grid;
  grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) minmax(80px,.6fr) minmax(120px,1fr);
  align-items:center;
  gap:16px;
  min-width:640px;
  padding:14px 0;
  border-top:1px solid var(--line);
}
body.dk-page .dk-request-row.dk-head{
  border-top:0;
  color:var(--text);
  font-weight:700;
}
body.dk-page .dk-request-row span,
body.dk-page .dk-request-row strong{
  min-width:0;
  white-space:normal;
}
body.dk-page .dk-map-workspace{
  display:grid;
  grid-template-columns:minmax(320px,1fr) minmax(360px,.9fr);
  gap:24px;
  align-items:start;
  padding:22px;
}
body.dk-page .dk-map-form-panel{
  min-width:0;
}
body.dk-page .dk-map-form-panel h3,
body.dk-page .dk-map-form-panel p{
  margin-top:0;
}
body.dk-page .dk-map-location-form{
  gap:14px;
}
body.dk-page .dk-coordinate-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
body.dk-page .dk-map-panel{
  min-width:0;
}
body.dk-page .dk-planting-map,
body.dk-page .dk-donation-map{
  height:360px;
  min-height:360px;
}
body.dk-page .dk-map-status{
  display:block;
  margin-top:10px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel-soft);
  line-height:1.45;
}
body.dk-page .dk-map-choice-grid{
  margin-top:18px;
}
@media (max-width:900px){
  body.dk-page .dk-dashboard-header-line{
    flex-direction:column;
  }
  body.dk-page .dk-fake-filters{
    justify-content:flex-start;
  }
  body.dk-page .dk-map-workspace{
    grid-template-columns:1fr;
  }
}
@media (max-width:640px){
  body.dk-page .dk-coordinate-grid{
    grid-template-columns:1fr;
  }
  body.dk-page .dk-planting-example-card{
    min-height:auto;
  }
}
/* Fix request preview rows: every row must occupy a full line. */
body.dk-page .dk-volunteer-dashboard-preview .dk-request-table-preview{
  display:grid;
  grid-template-columns:1fr !important;
  gap:0 !important;
  width:100%;
  overflow-x:auto;
}
body.dk-page .dk-volunteer-dashboard-preview .dk-request-row{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) minmax(80px,.55fr) minmax(130px,1fr) !important;
  column-gap:22px;
  row-gap:8px;
  width:100%;
  min-width:620px;
  padding:14px 0;
  border-top:1px solid var(--line);
}
body.dk-page .dk-volunteer-dashboard-preview .dk-request-row.dk-head{
  border-top:0;
}
body.dk-page .dk-volunteer-dashboard-preview .dk-request-row > span,
body.dk-page .dk-volunteer-dashboard-preview .dk-request-row > strong{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media (max-width:640px){
  body.dk-page .dk-volunteer-dashboard-preview .dk-request-row{
    min-width:0;
    grid-template-columns:1fr 1fr !important;
  }
}
/* Page background gradient for added PHP pages */
body.dk-page::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,0) 34%),
    radial-gradient(circle at 24% 76%, rgba(183,228,199,.34), transparent 28%),
    radial-gradient(circle at 78% 82%, rgba(116,198,157,.20), transparent 30%);
}
body.dk-page .dk-section-box,
body.dk-page .dk-action-panel,
body.dk-page .dk-auth-card,
body.dk-page .dk-volunteer-dashboard-preview,
body.dk-page .dk-map-workspace,
body.dk-page .dk-history-card,
body.dk-page .dk-history-hero{
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(10px);
}

/* Page spacing for donation, plant and history pages */
body.dk-page .dk-donation-request-page,
body.dk-page .dk-plant-requests-page,
body.dk-page .dk-history-page{
  display:grid;
  gap:24px;
}
body.dk-page .dk-donation-request-page > section,
body.dk-page .dk-plant-requests-page > section,
body.dk-page .dk-history-page > section{
  margin-top:0;
}
body.dk-page .dk-donation-request-hero,
body.dk-page .dk-plant-requests-hero,
body.dk-page .dk-history-hero{
  padding:24px;
  margin-bottom:0;
}
body.dk-page .dk-donation-request-layout,
body.dk-page .dk-plant-filter-panel,
body.dk-page .dk-donation-login-panel,
body.dk-page .dk-empty-state,
body.dk-page .dk-history-card,
body.dk-page .dk-plant-request-card,
body.dk-page .dk-summary-mini-card,
body.dk-page .dk-donation-map-column{
  padding:22px;
}
body.dk-page .dk-donation-request-layout{
  gap:24px;
}
body.dk-page .dk-donation-request-form,
body.dk-page .dk-plant-filter-form{
  gap:14px;
}
body.dk-page .dk-plant-request-summary{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:16px;
}
body.dk-page .dk-history-grid,
body.dk-page .dk-plant-request-grid{
  gap:18px;
}
body.dk-page .dk-history-card h2,
body.dk-page .dk-plant-request-card h2{
  margin-top:2px;
  margin-bottom:10px;
}
body.dk-page .dk-history-meta,
body.dk-page .dk-plant-card-meta{
  margin-top:16px;
}
body.dk-page .dk-map-form-panel h3,
body.dk-page .dk-map-form-panel p{
  margin-bottom:12px;
}
body.dk-page .dk-donation-map-column .dk-map-status,
body.dk-page .dk-map-status{
  margin-top:12px;
}
@media (max-width:768px){
  body.dk-page .dk-donation-request-layout,
  body.dk-page .dk-map-workspace{
    padding:18px;
  }
  body.dk-page .dk-donation-request-hero,
  body.dk-page .dk-plant-requests-hero,
  body.dk-page .dk-history-hero{
    padding:18px;
  }
}
/* Readme updates: language switch, filters, status photos and support chat */
body.dk-page .dk-lang-switch{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:3px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:8px;
  background:rgba(255,255,255,.08);
}
body.dk-page .dk-lang-switch a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:36px;
  min-height:30px;
  border-radius:6px;
  color:#fff;
  font-weight:700;
  font-size:.82rem;
  text-decoration:none;
}
body.dk-page .dk-lang-switch a.active{
  background:#fff;
  color:var(--brand);
}
body.dk-page .dk-filter-grid{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  align-items:end;
}
body.dk-page .dk-plant-card-actions,
body.dk-page .dk-status-update-form,
body.dk-page .dk-chat-form{
  display:grid;
  gap:12px;
  margin-top:16px;
}
body.dk-page .dk-photo-upload-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;
}
body.dk-page .dk-form-helper{
  display:block;
  color:var(--dk-muted);
  line-height:1.5;
}
body.dk-page .dk-history-accordion{
  display:grid;
  gap:18px;
}
body.dk-page .dk-donation-detail-card summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  cursor:pointer;
  list-style:none;
}
body.dk-page .dk-donation-detail-card summary::-webkit-details-marker{display:none}
body.dk-page .dk-donation-detail-card summary span:first-child{
  display:grid;
  gap:4px;
}
body.dk-page .dk-donation-detail-card summary small{
  color:var(--dk-muted);
}
body.dk-page .dk-completion-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;
  margin-top:16px;
}
body.dk-page .dk-completion-gallery img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:8px;
  border:1px solid var(--line);
}
body.dk-page .dk-request-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  min-height:32px;
  padding:6px 10px;
  border-radius:8px;
  background:var(--panel-soft);
  border:1px solid var(--line);
  color:var(--brand);
  font-weight:700;
}
body.dk-page .dk-request-status.planted{background:#e7f8ed;color:#0f7a35;border-color:#9ad9ac}
body.dk-page .dk-request-status.maintenance{background:#fff8df;color:#806000;border-color:#efd071}
body.dk-page .dk-request-status.rejected{background:#fff0ee;color:var(--danger);border-color:#f1aaa4}
body.dk-page .dk-chat-page,
body.dk-page .dk-admin-page{
  display:grid;
  gap:24px;
}
body.dk-page .dk-chat-layout,
body.dk-page .dk-admin-chat-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);
  gap:18px;
  align-items:start;
}
body.dk-page .dk-admin-chat-grid{
  grid-template-columns:280px minmax(0,1fr);
}
body.dk-page .dk-chat-thread,
body.dk-page .dk-chat-form,
body.dk-page .dk-admin-user-list{
  padding:22px;
}
body.dk-page .dk-chat-thread{
  display:grid;
  gap:12px;
}
body.dk-page .dk-chat-bubble{
  max-width:78%;
  padding:12px 14px;
  border-radius:8px;
  background:var(--panel-soft);
  border:1px solid var(--line);
}
body.dk-page .dk-chat-bubble.admin{
  margin-left:auto;
  background:#e7f8ed;
  border-color:#b7e4c7;
}
body.dk-page .dk-chat-bubble span,
body.dk-page .dk-chat-bubble small{
  display:block;
  color:var(--dk-muted);
  font-size:.82rem;
}
body.dk-page .dk-chat-bubble p{
  margin:6px 0;
  line-height:1.55;
}
body.dk-page .dk-admin-user-list{
  display:grid;
  gap:8px;
}
body.dk-page .dk-admin-user-list a{
  display:grid;
  gap:4px;
  padding:10px 12px;
  border-radius:8px;
  color:var(--text);
  text-decoration:none;
  border:1px solid var(--line);
  background:var(--panel-soft);
}
body.dk-page .dk-admin-user-list a.active,
body.dk-page .dk-admin-user-list a:hover{
  background:var(--brand);
  color:#fff;
}
body.dk-page .dk-admin-user-list small{color:inherit;opacity:.78}
body.dk-page .dk-floating-support{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:1200;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:12px 16px;
  border-radius:8px;
  background:var(--brand);
  color:#fff;
  text-decoration:none;
  font-weight:800;
  box-shadow:0 18px 35px rgba(15,42,30,.22);
  border:1px solid rgba(255,255,255,.16);
}
body.dk-page .dk-floating-support:hover{
  background:var(--brand-2);
  color:#fff;
}
body.dk-page .dk-floating-support-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#95d5b2;
  box-shadow:0 0 0 5px rgba(149,213,178,.18);
}
@media (max-width:900px){
  body.dk-page .dk-chat-layout,
  body.dk-page .dk-admin-chat-grid{grid-template-columns:1fr}
  body.dk-page .dk-chat-bubble{max-width:100%}
}
@media (max-width:640px){
  body.dk-page .dk-floating-support{
    right:14px;
    bottom:14px;
    min-height:44px;
    padding:10px 13px;
    font-size:.92rem;
  }
}

/* Roomier request cards and visible status colors */
body.dk-page .dk-plant-request-grid,
body.dk-page .dk-history-grid,
body.dk-page .dk-history-accordion{
  gap:24px;
}
body.dk-page .dk-plant-request-card,
body.dk-page .dk-history-card,
body.dk-page .dk-donation-detail-card{
  padding:28px;
}
body.dk-page .dk-planting-status-card,
body.dk-page .dk-plant-request-card,
body.dk-page .dk-donation-detail-card{
  display:grid;
  gap:18px;
}
body.dk-page .dk-planting-status-card p,
body.dk-page .dk-plant-request-card p,
body.dk-page .dk-donation-detail-card p{
  margin:0;
  line-height:1.65;
}
body.dk-page .dk-history-topline,
body.dk-page .dk-plant-card-topline{
  align-items:flex-start;
  gap:16px;
  margin-bottom:2px;
}
body.dk-page .dk-history-meta,
body.dk-page .dk-plant-card-meta{
  gap:18px;
  padding-top:2px;
}
body.dk-page .dk-plant-card-actions,
body.dk-page .dk-status-update-form{
  gap:16px;
  margin-top:4px;
}
body.dk-page .dk-photo-upload-grid{
  gap:16px;
}
body.dk-page .dk-status-update-form input[type="file"]{
  padding:12px;
  background:#fff;
}
body.dk-page .dk-status-update-form .dk-primary-button{
  min-height:44px;
  margin-top:2px;
}
body.dk-page .dk-request-status{
  min-height:34px;
  padding:7px 12px;
  border-radius:8px;
  font-weight:800;
}
body.dk-page .dk-request-status.pending,
body.dk-page .dk-request-status.assigned{
  background:#fff5c2;
  color:#7a5a00;
  border-color:#e4c852;
}
body.dk-page .dk-request-status.maintenance{
  background:#f3e0cb;
  color:#6f421d;
  border-color:#d2a06c;
}
body.dk-page .dk-request-status.planted{
  background:#dff7e8;
  color:#0f7a35;
  border-color:#86cf9e;
}
body.dk-page .dk-request-status.rejected{
  background:#fff0ee;
  color:var(--danger);
  border-color:#f1aaa4;
}
body.dk-page .dk-donation-detail-card summary{
  padding-bottom:4px;
}
body.dk-page .dk-plant-card-meta,
body.dk-page .dk-history-meta{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:18px 22px;
  align-items:start;
}
body.dk-page .dk-plant-card-meta > div,
body.dk-page .dk-history-meta > span{
  display:grid;
  gap:6px;
  min-width:0;
  padding:12px 0;
}
body.dk-page .dk-plant-card-meta span,
body.dk-page .dk-history-meta span{
  color:var(--dk-muted);
  line-height:1.35;
}
body.dk-page .dk-plant-card-meta strong,
body.dk-page .dk-history-meta strong{
  display:block;
  color:var(--text);
  line-height:1.35;
  overflow-wrap:anywhere;
}
body.dk-page .dk-plant-card-actions{
  margin-top:10px;
  padding-top:4px;
}
body.dk-page .assigned-badge,
body.dk-page .assigned-by-me-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  min-height:36px;
  padding:8px 10px;
  border-radius:8px;
  background:var(--panel-soft);
  border:1px solid var(--line);
  color:var(--dk-muted);
  line-height:1.35;
}
@media (max-width:640px){
  body.dk-page .dk-plant-request-card,
  body.dk-page .dk-history-card,
  body.dk-page .dk-donation-detail-card{
    padding:20px;
  }
}
/* Certificate page */
body.dk-page .dk-certificate-page{
  display:grid;
  gap:22px;
  max-width:1120px;
  margin:0 auto;
  padding:28px 5vw 42px;
}

body.dk-page .dk-certificate-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
}

body.dk-page .dk-certificate-paper{
  position:relative;
  overflow:hidden;
  min-height:760px;
  padding:54px;
  border:10px solid #1b4332;
  border-radius:22px;
  background:
    radial-gradient(circle at 12% 16%, rgba(183,228,199,.45), transparent 28%),
    radial-gradient(circle at 86% 82%, rgba(82,183,136,.20), transparent 26%),
    linear-gradient(135deg,#fffdf5 0%,#f6fbf3 48%,#eef8ef 100%);
  box-shadow:0 24px 70px rgba(27,67,50,.18);
  color:#173126;
  text-align:center;
}

body.dk-page .dk-certificate-paper::before{
  content:"";
  position:absolute;
  inset:24px;
  border:2px dashed rgba(27,67,50,.35);
  border-radius:14px;
  pointer-events:none;
}

body.dk-page .dk-certificate-corner{
  position:absolute;
  width:180px;
  height:180px;
  border-radius:50%;
  background:rgba(45,106,79,.12);
}

body.dk-page .dk-certificate-corner-left{
  left:-70px;
  top:-70px;
}

body.dk-page .dk-certificate-corner-right{
  right:-70px;
  bottom:-70px;
}

body.dk-page .dk-certificate-logo{
  position:relative;
  z-index:1;
  display:inline-grid;
  gap:4px;
  justify-items:center;
  margin-bottom:26px;
}

body.dk-page .dk-certificate-logo span{
  display:grid;
  place-items:center;
  width:70px;
  height:70px;
  border-radius:50%;
  background:#1b4332;
  color:#fff;
  font-size:2rem;
  box-shadow:0 12px 30px rgba(27,67,50,.22);
}

body.dk-page .dk-certificate-logo strong{
  font-size:1.25rem;
  color:#1b4332;
}

body.dk-page .dk-certificate-logo small{
  color:#52796f;
  font-weight:700;
}

body.dk-page .dk-certificate-eyebrow{
  position:relative;
  z-index:1;
  margin:0 0 10px;
  color:#2d6a4f;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:.82rem;
}

body.dk-page .dk-certificate-paper h1{
  position:relative;
  z-index:1;
  margin:0;
  font-size:clamp(2rem,4vw,3.7rem);
  line-height:1.08;
  color:#1b4332;
}

body.dk-page .dk-certificate-presented{
  position:relative;
  z-index:1;
  margin:38px 0 8px;
  color:#52796f;
  font-weight:700;
}

body.dk-page .dk-certificate-paper h2{
  position:relative;
  z-index:1;
  display:inline-block;
  margin:0;
  padding:10px 34px 14px;
  border-bottom:3px solid #2d6a4f;
  color:#081c15;
  font-size:clamp(1.9rem,4vw,3.2rem);
  font-family:Georgia, "Times New Roman", serif;
}

body.dk-page .dk-certificate-text{
  position:relative;
  z-index:1;
  max-width:760px;
  margin:28px auto;
  color:#344e41;
  font-size:1.12rem;
  line-height:1.8;
}

body.dk-page .dk-certificate-info-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:28px 0;
}

body.dk-page .dk-certificate-info-grid div{
  display:grid;
  gap:8px;
  padding:16px;
  border:1px solid rgba(27,67,50,.20);
  border-radius:14px;
  background:rgba(255,255,255,.66);
}

body.dk-page .dk-certificate-info-grid span{
  color:#52796f;
  font-size:.83rem;
  font-weight:800;
}

body.dk-page .dk-certificate-info-grid strong{
  color:#1b4332;
}

body.dk-page .dk-certificate-photo-row{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  max-width:620px;
  margin:26px auto 0;
}

body.dk-page .dk-certificate-photo-row img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:14px;
  border:5px solid #fff;
  box-shadow:0 12px 26px rgba(27,67,50,.14);
}

body.dk-page .dk-certificate-footer-line{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:22px;
  margin-top:42px;
  padding-top:22px;
  border-top:1px solid rgba(27,67,50,.22);
  text-align:left;
}

body.dk-page .dk-certificate-footer-line div:first-child{
  display:grid;
  gap:5px;
}

body.dk-page .dk-certificate-footer-line span{
  color:#52796f;
  font-size:.92rem;
}

body.dk-page .dk-certificate-seal{
  display:grid;
  place-items:center;
  width:92px;
  height:92px;
  border:4px solid #1b4332;
  border-radius:50%;
  color:#1b4332;
  font-weight:900;
  font-size:1.55rem;
  background:rgba(183,228,199,.32);
}

body.dk-page .dk-certificate-button-row{
  margin-top:16px;
  display:flex;
  justify-content:flex-start;
}

@media print{
  body.dk-page .dk-site-header,
  body.dk-page .dk-site-footer,
  body.dk-page .dk-floating-support,
  body.dk-page .dk-certificate-actions,
  body.dk-page .dk-flash-wrap{
    display:none !important;
  }

  body.dk-page{
    background:#fff !important;
  }

  body.dk-page .dk-certificate-page{
    max-width:none;
    padding:0;
  }

  body.dk-page .dk-certificate-paper{
    min-height:100vh;
    box-shadow:none;
    border-radius:0;
  }
}