
#dscr-widget{
  --6b7280;  --accent:#2b6cb0;
  --card:#ffffff;
  --radius:12px;
  --shadow:0 8px 28px rgba(15,23,42,0.06);
  --btn-primary:#475569;
  --btn-ghost:#f8fafc;
  --btn-text:#ffffff;
  --border:#e6eef8;
  --print-scale:1;
}

#dscr-widget.gp-skin{
  font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;
  max-width:1200px;
  margin:18px auto;
  padding:0 12px;
  color:#0f172a;
}

#dscr-widget .dscr-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);
  gap:20px;
  align-items:start;
}

@media (max-width:768px){
  #dscr-widget .dscr-grid{
    grid-template-columns:1fr;
  }

  /* Column 3 (Summary & Actions): only stack label above value at <=768px */
  #dscr-widget section[aria-label="Summary & Actions"] .res-row{
    flex-direction:column !important;
    align-items:stretch !important;
  }

  #dscr-widget section[aria-label="Summary & Actions"] .res-row > span:last-child{
    text-align:right !important;
  }
}

#dscr-widget .dscr-card{
  background:var(--card);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:18px;
  border:1px solid rgba(15,23,42,0.06);
  min-width:0;
}

#dscr-widget h2{
  margin:0 0 8px;
  font-size:18px;
  color:var(--accent);
  font-weight:700;
  letter-spacing:.1px;
}

#dscr-widget label{
  font-weight:600;
  font-size:13px;
  color:#0f172a;
}

#dscr-widget input[type="number"],
#dscr-widget input[type="text"],
#dscr-widget select{
  width:110px;
  padding:10px;
  border-radius:10px;
  border:1px solid var(--border);
  font-size:14px;
  background:#fff;
  height:44px;
  box-sizing:border-box;
}

#dscr-widget .row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:6px;
}

#dscr-widget .row label{
  flex:1;
}

#dscr-widget .inline-field{
  display:flex;
  align-items:center;
  gap:6px;
}

#dscr-widget .inline-field input{
  width:110px;
}

#dscr-widget .opt-header{
  color:#2563eb;
  cursor:pointer;
  font-weight:700;
  font-size:13px;
  margin:12px 0 5px;
  user-select:none;
}

#dscr-widget .opt-box{
  background:#f9fafb;
  border:1px dashed #d1d5db;
  padding:12px;
  border-radius:10px;
  margin-bottom:10px;
}

#dscr-widget .hidden{
  display:none !important;
}

#dscr-widget .divider{
  margin:15px 0;
  height:1px;
  background:#f3f4f6;
}

#dscr-widget .gp-small{
  font-size:13px;
  color:var(--muted);
  margin-top:8px;
}

#dscr-widget .res-row{
  display:flex;
  justify-content:space-between;
  padding:6px 0;
  font-size:14px;
}

#dscr-widget .bold{ font-weight:700; }
#dscr-widget .metric{ font-size:15px; }
#dscr-widget .deduction{ color:#dc2626; font-size:12px; }

#dscr-widget #rowSfD span,
#dscr-widget #rowWcD span{
  font-weight:400 !important;
}

#dscr-widget .plain-label,
#dscr-widget .plain-value,
#dscr-widget .plain-row label{
  font-weight:400 !important;
}

#dscr-widget .metric-wrap{
  display:flex;
  flex-direction:column;
  gap:2px;
}

#dscr-widget .subnote{
  font-size:11px;
  color:var(--muted);
}

#dscr-widget .label-stack{
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
}

#dscr-widget .field-note{
  font-size:11px;
  color:var(--muted);
  line-height:1.2;
  margin-top:2px;
  font-weight:400;
}

#dscr-widget .fee-row{
  align-items:flex-start;
}

#dscr-widget .fee-fields{
  display:flex;
  gap:10px;
  align-items:flex-start;
}

#dscr-widget .fee-fields-3{
  gap:8px;
}

#dscr-widget .mini-field{
  display:flex;
  align-items:center;
  gap:6px;
}

#dscr-widget .mini-field input{
  width:84px;
}

#dscr-widget .fee-fields-3 .mini-field select{
  width:62px;
  min-width:62px;
}

#dscr-widget .mini-prefix{
  font-size:13px;
  color:var(--muted);
  min-width:10px;
  text-align:center;
  font-weight:400;
}

#dscr-widget .good{
  background:#ecfdf5;
  color:#065f46;
}

#dscr-widget .neutral{
  background:#f8fafc;
  color:#1e293b;
}

#dscr-widget .bad{
  background:#fef2f2;
  color:#991b1b;
}

#dscr-widget .dscr-btn-stack{
  display:flex;
  flex-direction:column;
  gap:12px;
}

#dscr-widget .dscr-btn-two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

@media (max-width:700px){
  #dscr-widget .dscr-btn-two{
    grid-template-columns:1fr;
  }

  #dscr-widget .fee-row{
    flex-direction:column;
    align-items:stretch;
  }

  #dscr-widget .fee-fields,
  #dscr-widget .fee-fields-3{
    justify-content:flex-end;
    flex-wrap:wrap;
  }
}

#dscr-widget button{
  width:100%;
  padding:12px 14px;
  border-radius:10px;
  font-weight:700;
  font-size:14px;
  cursor:pointer;
  text-align:center;
  border:0;
}

#dscr-widget .btn-primary{
  background:var(--btn-primary);
  color:var(--btn-text);
}

#dscr-widget .btn-ghost{
  background:var(--btn-ghost);
  color:#1f2937;
  border:1px solid rgba(15,23,42,0.12);
}

/* Keep the 3-column layout stable on screen */
@media screen and (min-width:769px) {
  #dscr-widget{
    position:relative !important;
    z-index:1 !important;
  }

  #dscr-widget .dscr-print-header,
  #dscr-widget .dscr-print-title{
    display:none !important;
  }

  #dscr-widget .dscr-print-surface{
    transform:none !important;
    width:auto !important;
    margin-top:0 !important;
  }

  #dscr-widget .dscr-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) !important;
    gap:20px !important;
    align-items:start !important;
  }

  #dscr-widget .dscr-card{
    min-width:0 !important;
    width:auto !important;
    max-width:none !important;
    display:block !important;
  }

  #dscr-widget .row,
  #dscr-widget .fee-row{
    display:flex !important;
    flex-wrap:nowrap !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:12px !important;
  }

  #dscr-widget .label-stack{
    flex:1 1 auto !important;
    min-width:0 !important;
  }

  #dscr-widget .fee-fields,
  #dscr-widget .fee-fields-3{
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:flex-start !important;
    justify-content:flex-end !important;
    gap:10px !important;
  }
}

/* Column 1 + Column 2: title/label goes above at <=1100px */
@media screen and (max-width:1100px){
  /* Column 1 (Property Inputs): label above input */
  #dscr-widget section[aria-label="Property Inputs"] .row{
    flex-direction:column !important;
    align-items:stretch !important;
  }

  #dscr-widget section[aria-label="Property Inputs"] input[type="number"],
  #dscr-widget section[aria-label="Property Inputs"] input[type="text"],
  #dscr-widget section[aria-label="Property Inputs"] select{
    width:100% !important;
  }

  #dscr-widget section[aria-label="Property Inputs"] .inline-field{
    width:100% !important;
  }

  #dscr-widget section[aria-label="Property Inputs"] .inline-field input{
    width:100% !important;
  }

  /* Column 2 (Expenses): label above input groups */
  #dscr-widget section[aria-label="Expenses"] .fee-row{
    flex-direction:column !important;
    align-items:stretch !important;
  }

  #dscr-widget section[aria-label="Expenses"] .fee-fields,
  #dscr-widget section[aria-label="Expenses"] .fee-fields-3{
    width:100% !important;
    justify-content:flex-end !important;
    flex-wrap:wrap !important;
  }
}

/* Print / PDF */
@page{
  size:letter landscape;
  margin:0.35in;
}

@media print{
  body *{
    visibility:hidden !important;
  }

  #dscr-widget,
  #dscr-widget *{
    visibility:visible !important;
  }

  #dscr-widget{
    position:absolute !important;
    left:0 !important;
    top:0 !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }

  #dscr-widget .dscr-print-header{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:16px !important;
    padding:10px 0 12px !important;
    border-bottom:2px solid #e5e7eb !important;
    margin-bottom:10px !important;
  }

  #dscr-widget .dscr-print-logo{
    display:block !important;
    height:34px !important;
    width:auto !important;
    object-fit:contain !important;
  }

  #dscr-widget .dscr-print-title{
    display:block !important;
    font-weight:400 !important;
    font-size:18px !important;
    color:#111827 !important;
    text-align:right !important;
    line-height:1.1 !important;
  }

  #dscr-widget .dscr-btn-stack{
    display:none !important;
  }

  #dscr-widget .dscr-print-surface{
    margin-top:10px !important;
    transform-origin:top left !important;
    transform:scale(var(--print-scale)) !important;
    width:calc(100% / var(--print-scale)) !important;
  }
}