/* Base UKPH / PMH shared styles */
.ukph-wrap,
.ukph-wrap *{
  box-sizing:border-box;
}

.ukph-wrap{
  display:block;
  width:100%;
  margin:0 auto;
  padding:20px;
  color:var(--text-color, #1f2937);
  font-size:14px;
}

.ukph-wrap form,
.ukph-wrap table{
  margin:0;
}

.ukph-wrap input,
.ukph-wrap select,
.ukph-wrap textarea{
  max-width:100%;
}

.ukph-card{
  width:100%;
  background:#fff;
  border:0px solid var(--border-color, #d9d9e3);
  border-radius:18px;
  padding:18px;
  margin:0 0 18px;
}

.ukph-title,
.ukph-wrap .ukph-card h3{
  color:var(--accent-color, #574c9a);
}

.ukph-title{
  font-size:30px;
  line-height:1.2;
  font-weight:700;
  margin:0 0 8px;
}

.ukph-sub,
.ukph-muted{
  color:var(--text-color, #1f2937);
}

.ukph-sub{
  margin:0 0 24px;
  opacity:.72;
}

.ukph-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.ukph-stat,
.ukph-small,
.ukph-note-head,
.ukph-client-result-meta,
.ukph-selected-client{
  color:#6b7280;
}

.ukph-small{font-size:12px;}

.ukph-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
  width:100%;
}

.ukph-flex,
.ukph-inline,
.ukph-actions,
.ukph-search,
.ukph-toolbar,
.ukph-inline-actions,
.ukph-calendar-head,
.ukph-inline-editor-head{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.ukph-flex,
.ukph-inline,
.ukph-inline-actions,
.ukph-calendar-head,
.ukph-inline-editor-head{
  align-items:end;
}

.ukph-actions{
  align-items:center;
  margin-top:0px;
}

.ukph-inline .ukph-field,
.ukph-search .ukph-field{
  flex:1 1 1 230px;
}

.ukph-field{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
}

.ukph-field label{
  display:block;
  font-size:14px;
  font-weight:600;
  color:var(--text-color, #1f2937);
  margin:0 0 6px;
}

.ukph-field input,
.ukph-field select,
.ukph-field textarea,
.ukph-call-analytics-filters select,
.ukph-call-analytics-filters input[type="date"]{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--border-color, #d9d9e3);
  border-radius:12px;
  background:var(--surface-color, #f7f8fc);
  color:var(--text-color, #1f2937);
  line-height:1.4;
  box-sizing:border-box;
}

.ukph-field textarea{
  min-height:120px;
  resize:vertical;
}

.ukph-field input[readonly]{
  background:#f8fafc;
}

.ukph-field input:focus,
.ukph-field select:focus,
.ukph-field textarea:focus,
.ukph-call-analytics-filters select:focus,
.ukph-call-analytics-filters input[type="date"]:focus,
.pmh-acct-input:focus,
.pmh-wplc-input:focus{
  outline:none;
  border-color:var(--accent-color, #574c9a);
  box-shadow:0 0 0 3px rgba(87,76,154,.12);
}

.ukph-toggle{
  display:flex;
  align-items:center;
  gap:10px;
  padding-top:10px;
}

.ukph-btn,
.ukph-btn2,
.ukph-call-analytics-filters button,
.pmh-acct-btn,
.pmh-wplc-button,
.pmh-wplc-button3{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:12px;
  border:0;
  background:var(--button-gradient, linear-gradient(90deg, #c9579f 0%, #574c9a 100%));
  color:#fff;
  font-weight:600;
  cursor:pointer;
  text-decoration:none;
}

.ukph-btn:hover,
.ukph-btn2:hover,
.ukph-call-analytics-filters button:hover,
.pmh-acct-btn:hover,
.pmh-wplc-button:hover,
.pmh-wplc-button3:hover{
  opacity:.92;
}

.ukph-btn.alt,
.ukph-btn.secondary,
.ukph-filter-btn-secondary{
  background:#fff;
  color:var(--accent-color, #574c9a);
  border:1px solid var(--border-color, #d9d9e3);
}

.ukph-filter-btn,
.ukph-filter-btn-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:12px;
  font-weight:600;
  cursor:pointer;
  text-decoration:none;
}

.ukph-filter-btn{
  border:1px solid var(--border-color, #d9d9e3);
  background:var(--filter-button-bg, #f7f4ff);
  color:var(--accent-color, #574c9a);
}

.ukph-filter-btn:hover,
.ukph-filter-btn-secondary:hover,
.ukph-btn.alt:hover,
.ukph-btn.secondary:hover{
  border-color:var(--accent-color, #574c9a);
  color:var(--accent-color, #574c9a);
}

.ukph-msg,
.ukph-notice,
.pmh-acct-alert,
.pmh-wplc-alert{
  padding:12px 14px;
  border-radius:12px;
  margin:0 0 16px;
}

.ukph-success,
.ukph-msg-success,
.pmh-acct-alert--ok{
  background:#ecfdf5;
  border:1px solid #a7f3d0;
  color:#065f46;
}

.ukph-error,
.ukph-msg-error,
.pmh-acct-alert--err,
.pmh-wplc-alert{
  background:#fef2f2;
  border:1px solid #fecaca;
  color:#991b1b;
}

.ukph-warn{
  background:#fffbeb;
  border:1px solid #fde68a;
  color:#92400e;
}

.ukph-table-wrap,
.ukph-table-scroll,
.ukph-call-analytics-table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.ukph-table,
.ukph-call-analytics-table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
}

.ukph-table{
  min-width:1100px;
}

.ukph-table th,
.ukph-table td,
.ukph-call-analytics-table th,
.ukph-call-analytics-table td{
  padding:10px 8px;
  border-bottom:1px solid var(--border-color, #d9d9e3);
  text-align:left;
  vertical-align:middle;
  color:var(--text-color, #1f2937);
}

.ukph-table th,
.ukph-call-analytics-table thead tr:first-child th,
.ukph-call-analytics-table thead tr:nth-child(2) th{
  font-weight:700;
  background:var(--surface-color, #f7f8fc);
  color:var(--accent-color, #574c9a);
}

.ukph-call-analytics-table{
  min-width:1200px;
  border:1px solid var(--border-color, #d9d9e3);
}

.ukph-call-analytics-table th,
.ukph-call-analytics-table td{
  border:1px solid var(--border-color, #d9d9e3);
  text-align:center;
  white-space:nowrap;
}

.ukph-call-analytics-wrap{
  color:var(--text-color, #1f2937);
}

.ukph-call-analytics-filters{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  align-items:flex-end;
  background:#fff;
  padding:16px;
  border:1px solid var(--border-color, #d9d9e3);
  border-radius:18px;
  margin-bottom:18px;
}

.ukph-call-analytics-filters label{
  font-weight:600;
  display:block;
  margin-bottom:6px;
}

.ukph-call-analytics-filters select,
.ukph-call-analytics-filters input[type="date"]{
  min-width:220px;
}

.user-col{
  text-align:left !important;
  min-width:180px;
  font-weight:700;
}

.ukph-badge,
.ukph-badge-active,
.ukph-badge-inactive{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
}

.ukph-badge{
  background:#eff6ff;
  border:1px solid #bfdbfe;
  color:#1d4ed8;
}

.ukph-badge-active{
  background:#ecfdf5;
  color:#065f46;
}

.ukph-badge-inactive{
  background:#fef2f2;
  color:#991b1b;
}

.ukph-click-row,
.ukph-clickable,
.ukph-row-toggle{
  cursor:pointer;
}

.ukph-click-row:hover td,
.ukph-clickable:hover td,
.ukph-client-result:hover,
.ukph-client-result.is-active{
  background:#f8fafc;
}

.ukph-click-row.is-selected td,
.ukph-detail,
.ukph-inline-editor-row td{
  background:#f5f2fb;
}

.ukph-detail{display:none;}
.ukph-detail.open{display:table-row;}
.ukph-inline-editor-row td{padding:0;}
.ukph-inline-editor{padding:18px;}

.ukph-client-picker{position:relative;min-width:320px;max-width:560px;}
.ukph-client-results{
  position:absolute;
  left:0;
  right:0;
  top:100%;
  z-index:1000;
  display:none;
  background:#fff;
  border:1px solid var(--border-color, #d9d9e3);
  border-radius:10px;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
  margin-top:6px;
  max-height:280px;
  overflow:auto;
}
.ukph-client-results.is-open{display:block;}
.ukph-client-result{padding:10px 12px;border-bottom:1px solid #eef2f7;cursor:pointer;}
.ukph-client-result:last-child{border-bottom:none;}
.ukph-client-result-name{font-weight:600;color:var(--text-color, #1f2937);}

.ukph-notes-history,
.ukph-readonly-link{
  padding:10px;
  border:1px solid var(--border-color, #d9d9e3);
  border-radius:8px;
  background:#fff;
}

.ukph-notes-history{min-height:120px;overflow-wrap:anywhere;}
.ukph-note-entry{display:grid;grid-template-columns:170px minmax(0,1fr);gap:12px;align-items:start;padding:8px 0;border-bottom:1px solid #eee;}
.ukph-note-entry:last-child{border-bottom:0;}
.ukph-note-head{white-space:nowrap;font-weight:600;}
.ukph-note-body{min-width:0;white-space:pre-wrap;}
.ukph-note-empty{color:#666;}
.ukph-readonly-link a{text-decoration:underline;}

.ukph-calendar-wrap{margin-top:10px;}
.ukph-calendar-title{font-weight:600;}
.ukph-calendar-grid{
  display:grid;
  grid-template-columns:90px repeat(7,minmax(120px,1fr));
  border:1px solid var(--border-color, #d9d9e3);
  border-radius:12px;
  overflow:hidden;
}
.ukph-cal-timehead,
.ukph-cal-dayhead,
.ukph-cal-time,
.ukph-cal-cell{
  border-right:1px solid #e5e5e5;
  border-bottom:1px solid #e5e5e5;
  background:#fff;
}
.ukph-cal-dayhead,
.ukph-cal-time{background:var(--surface-color, #f7f8fc);}
.ukph-cal-dayhead{padding:10px;text-align:center;display:flex;flex-direction:column;gap:3px;}
.ukph-cal-time{padding:10px;font-size:12px;color:#555;}
.ukph-cal-cell{min-height:74px;padding:6px;display:flex;flex-wrap:wrap;align-content:flex-start;gap:6px;}
.ukph-cal-pill{
  display:block;
  flex:1 1 calc(50% - 6px);
  min-width:110px;
  max-width:100%;
  text-align:left;
  border:1px solid var(--accent-color, #574c9a);
  background:var(--button-gradient, linear-gradient(90deg, #c9579f 0%, #574c9a 100%));
  color:#fff;
  border-radius:10px;
  padding:8px 10px;
  cursor:pointer;
}
.ukph-cal-cell[data-count="1"] .ukph-cal-pill{flex-basis:100%;}
.ukph-cal-pill-time{font-size:11px;opacity:.9;display:block;}
.ukph-cal-pill-name{font-size:13px;line-height:1.2;}
.ukph-cal-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:9999;padding:20px;display:flex;align-items:center;justify-content:center;}
.ukph-cal-modal-card{background:#fff;max-width:760px;width:100%;border-radius:16px;padding:20px;position:relative;max-height:85vh;overflow:auto;}
.ukph-cal-close{position:absolute;top:10px;right:12px;border:0;background:transparent;font-size:28px;cursor:pointer;}
.ukph-cal-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;margin-top:14px;}
.ukph-cal-detail-item{padding:10px;border:1px solid var(--border-color, #d9d9e3);border-radius:10px;background:var(--surface-color, #f7f8fc);}
.ukph-cal-detail-item strong{display:block;margin-bottom:4px;}

.ukph-call-link,
.ukph-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border:0px solid var(--border-color, #d9d9e3);
  border-radius:999px;
  text-decoration:none;
  color:var(--text-color, #1f2937);
  background:#fff;
}

.ukph-call-link{padding:6px 10px;font-size:12px;min-width:56px;line-height:1.2;}
.ukph-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px;}
.ukph-tab.active{background:var(--button-gradient, linear-gradient(90deg, #c9579f 0%, #574c9a 100%));color:#fff;border-color:transparent;}

/* PMH front account */
.pmh-acct-wrap{max-width:520px;margin:0 auto;padding:20px;}
.pmh-acct-card{border:1px solid var(--border-color, #d9d9e3);background:#fff;border-radius:18px;padding:18px;box-shadow:0 8px 30px rgba(0,0,0,.04);}
.pmh-acct-title{margin:0 0 12px;color:var(--accent-color, #574c9a);font-size:24px;}
.pmh-acct-label{display:block;margin:10px 0;font-size:14px;color:var(--text-color, #1f2937);}
.pmh-acct-input{width:100%;padding:10px 12px;border:1px solid var(--border-color, #d9d9e3);border-radius:999px;background:var(--surface-color, #f7f8fc);color:var(--text-color, #1f2937);margin-top:6px;}
.pmh-acct-btn{margin-top:14px;border-radius:999px;font-weight:700;}
.pmh-acct-divider{border-top:1px solid var(--border-color, #d9d9e3);margin:14px 0;opacity:.6;}

/* PMH centered login */
.pmh-wplc-wrap{max-width:300px;margin:0 auto;padding:20px;z-index:2147483647;isolation:isolate;pointer-events:auto;}
.pmh-wplc-card{border:1px solid var(--border-color, #d9d9e3);background:#fff;border-radius:18px;padding:22px;}
.pmh-wplc-card h2{margin:0 0 12px;text-align:center;font-size:22px;color:var(--accent-color, #574c9a);}
.pmh-wplc-label{display:block;margin:10px 0;font-weight:600;color:var(--text-color, #1f2937);}
.pmh-wplc-input{width:100%;color:var(--text-color, #1f2937);padding:10px 12px;background:var(--surface-color, #f7f8fc);border:1px solid var(--border-color, #d9d9e3);border-radius:999px;margin-top:6px;position:relative;z-index:3;pointer-events:auto;}
.pmh-wplc-remember{display:block;margin:8px 0 8px;color:#374151;font-size:14px;}
.pmh-wplc-button{width:100%;}
.pmh-wplc-button3{margin-top:10px;text-transform:uppercase;padding:15px 25px;width:157px;text-align:center;font-weight:600;font-size:16px;transition:.5s;background-size:200% auto;border-radius:100px;position:relative;z-index:3;pointer-events:auto;}
.pmh-wplc-button3:hover{background-position:right center;color:#fff;text-decoration:none;}

@media (max-width:1100px){
  .ukph-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:800px){
  .ukph-wrap{padding:18px;}
}

@media (max-width:768px){
  .ukph-grid{grid-template-columns:1fr;}
  .ukph-table{font-size:13px;}
  .ukph-calendar-grid{grid-template-columns:70px repeat(7,minmax(95px,1fr));overflow:auto;}
  .ukph-cal-detail-grid{grid-template-columns:1fr;}
  .ukph-note-entry{grid-template-columns:1fr;gap:4px;}
  .ukph-note-head{white-space:normal;}
  .ukph-cal-pill{flex-basis:100%;min-width:0;}
}
