.dcp-locked{max-width:480px;margin:80px auto;text-align:center;padding:40px;background:#fff;border:1px solid #E5E0D0;border-radius:16px}
.dcp-locked p{margin-bottom:20px;color:#3A5244}

/* ---------- Auth (login/register) ---------- */
.dcp-auth-wrap{max-width:440px;margin:60px auto;background:#fff;border:1px solid #E5E0D0;border-radius:16px;padding:36px;font-family:system-ui,sans-serif}
.dcp-auth-tabs{display:flex;gap:8px;margin-bottom:24px;background:#F8F5EE;border-radius:100px;padding:4px}
.dcp-auth-tab{flex:1;background:transparent;border:none;padding:10px;border-radius:100px;font-weight:600;font-size:.88rem;color:#687C70;cursor:pointer;transition:all .25s}
.dcp-auth-tab.is-active{background:#1C5C38;color:#fff}
.dcp-auth-panel h2{margin:0 0 6px;color:#1E2C24;font-size:1.4rem}
.dcp-auth-sub{color:#687C70;font-size:.88rem;margin:0 0 20px}
.dcp-field{margin-bottom:16px}
.dcp-field label{display:block;font-size:.78rem;font-weight:600;color:#3A5244;margin-bottom:6px}
.dcp-field input{width:100%;padding:11px 14px;border:1.5px solid #E5E0D0;border-radius:8px;font-size:.95rem;box-sizing:border-box}
.dcp-field input:focus{outline:none;border-color:#1C5C38}
.dcp-btn{display:inline-block;background:#1C5C38;color:#fff;border:none;padding:12px 22px;border-radius:100px;font-weight:600;font-size:.9rem;cursor:pointer;text-decoration:none;text-align:center}
.dcp-btn:hover{filter:brightness(1.08)}
.dcp-btn-wide{width:100%;margin-top:6px}
.dcp-form-msg{padding:11px 14px;border-radius:8px;font-size:.85rem;margin-bottom:16px}
.dcp-form-err{background:#FDECEC;color:#B32D2E}

/* ---------- Account dashboard ---------- */
.dcp-account{max-width:900px;margin:40px auto;padding:0 20px;font-family:system-ui,sans-serif}
.dcp-account-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}
.dcp-account-header h1{margin:0 0 4px;font-size:1.6rem;color:#1E2C24}
.dcp-account-header p{margin:0;color:#687C70;font-size:.9rem}
.dcp-logout{color:#687C70;text-decoration:none;font-size:.85rem;border:1px solid #E5E0D0;padding:8px 16px;border-radius:100px}
.dcp-empty-state{background:#F8F5EE;border-radius:14px;padding:36px;text-align:center}
.dcp-empty-state p{margin:0 0 8px;color:#3A5244}

.dcp-booking-card{background:#fff;border:1px solid #E5E0D0;border-radius:16px;padding:26px;margin-bottom:20px}
.dcp-booking-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}
.dcp-booking-top h2{margin:0 0 4px;font-size:1.2rem;color:#1E2C24}
.dcp-project-tag{font-size:.72rem;font-weight:600;color:#C4922A;background:#FBF1DE;padding:2px 10px;border-radius:100px;margin-left:8px;vertical-align:middle}
.dcp-booking-date{margin:0;font-size:.8rem;color:#687C70}
.dcp-status-badge{color:#fff;padding:6px 14px;border-radius:100px;font-size:.78rem;font-weight:600;white-space:nowrap}

.dcp-progress-wrap{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.dcp-progress-bar{flex:1;height:12px;background:#F0EAD8;border-radius:100px;overflow:hidden}
.dcp-progress-fill{height:100%;background:linear-gradient(90deg,#1C5C38,#28784A);border-radius:100px;transition:width .4s ease}
.dcp-progress-pct{font-size:.85rem;font-weight:700;color:#1C5C38;white-space:nowrap}

.dcp-amount-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}
.dcp-amount-stat{background:#F8F5EE;border-radius:10px;padding:14px}
.dcp-amt-lbl{display:block;font-size:.68rem;color:#687C70;text-transform:uppercase;letter-spacing:.03em;font-weight:600;margin-bottom:4px}
.dcp-amt-val{font-size:1.15rem;font-weight:700;color:#1E2C24}
.dcp-amt-paid{color:#1C5C38}
.dcp-amt-remaining{color:#B32D2E}
.dcp-next-due{font-size:.85rem;color:#B8860B;background:#FFF4D6;padding:8px 14px;border-radius:8px;margin:0 0 16px}

.dcp-history-toggle{background:transparent;border:1.5px solid #E5E0D0;color:#3A5244;padding:8px 16px;border-radius:100px;font-size:.82rem;font-weight:600;cursor:pointer}
.dcp-history-list{margin-top:14px;border-top:1px solid #F0EAD8;padding-top:12px}
.dcp-history-row{display:flex;gap:16px;padding:8px 0;border-bottom:1px solid #F8F5EE;font-size:.85rem}
.dcp-history-date{color:#687C70;min-width:90px}
.dcp-history-amt{font-weight:700;color:#1C5C38;min-width:100px}
.dcp-history-note{color:#3A5244}

@media(max-width:600px){
  .dcp-amount-grid{grid-template-columns:repeat(2,1fr)}
  .dcp-booking-top{flex-direction:column}
  .dcp-account-header{flex-direction:column;gap:12px}
}

/* ---------- "Request to Book" button + modal on the plots grid ---------- */
.dcp-book-btn{width:100%;margin-top:8px;background:transparent;border:1.5px solid #1C5C38;color:#1C5C38;padding:12px;border-radius:100px;font-weight:700;font-size:.85rem;cursor:pointer}
.dcp-book-btn:hover{background:#1C5C38;color:#fff}
.dcp-book-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:9999;padding:14px 24px;border-radius:100px;font-size:.88rem;font-weight:600;box-shadow:0 12px 32px rgba(0,0,0,.2);max-width:90vw;text-align:center}
.dcp-book-ok{background:#1C5C38;color:#fff}
.dcp-book-err{background:#B32D2E;color:#fff}
