/* FRONTIS Admin Design System — v1.5.3
   Shared visual rules only. No data/model behavior lives here.
*/
:root{
  --frontis-control-h:44px;
  --frontis-control-radius:11px;
  --frontis-date-width:148px;
  --frontis-focus:0 0 0 4px rgba(164,52,58,.10);
  --frontis-hover:#fbf5f6;
}

/* Shared controls */
.admin-theme-frontis input,
.admin-theme-frontis select,
.admin-theme-frontis textarea,
.admin-theme-sand input,
.admin-theme-sand select,
.admin-theme-sand textarea,
.admin-theme-mist input,
.admin-theme-mist select,
.admin-theme-mist textarea{
  min-height:var(--frontis-control-h);
  border-radius:var(--frontis-control-radius);
}

.admin-theme-frontis input:focus,
.admin-theme-frontis select:focus,
.admin-theme-frontis textarea:focus,
.admin-theme-sand input:focus,
.admin-theme-sand select:focus,
.admin-theme-sand textarea:focus,
.admin-theme-mist input:focus,
.admin-theme-mist select:focus,
.admin-theme-mist textarea:focus{
  border-color:#c98a8f;
  box-shadow:var(--frontis-focus);
  outline:0;
}

/* One date-field convention for the entire admin. */
.frontis-date-field{
  width:var(--frontis-date-width);
  min-width:var(--frontis-date-width);
}
.frontis-date-field .js-date-display{
  width:100%;
  min-width:var(--frontis-date-width);
  height:var(--frontis-control-h);
  padding-right:44px;
}
.frontis-date-field .date-picker-button{
  width:32px;
  height:32px;
  right:6px;
  border-radius:8px;
  display:grid;
  place-items:center;
  font-size:0;
  background:#f3f6f7;
  color:var(--slate);
}
.frontis-date-field .date-picker-button::before{
  content:'▦';
  font-size:15px;
  line-height:1;
}
.frontis-date-field .date-picker-button:hover{
  background:#eceff1;
  color:var(--red);
}
.date-filter-input{
  width:var(--frontis-date-width);
  min-width:var(--frontis-date-width);
}
.date-filter-input>input[type=text]{
  width:var(--frontis-date-width)!important;
}
.date-filter .date-field{
  min-width:var(--frontis-date-width);
}
.response-date-field{
  width:var(--frontis-date-width);
}
.response-date-field .js-date-display{
  min-width:var(--frontis-date-width);
}

/* Tables use the same quiet row rhythm across the admin. */
.admin-main table tbody tr{transition:background-color .14s ease}
.admin-main table tbody tr:hover{background:var(--frontis-hover)}
.admin-main table td,
.admin-main table th{vertical-align:middle}

/* Status selects always use the same visual language; DB values stay internal. */
.survey-status-row select,
.response-management select{font-weight:700;color:var(--ink);background:var(--card);border:1px solid var(--line)}

/* Rating display is a shared read-only component. */
.rating-stars-readonly .rating-star{transition:color .14s ease,opacity .14s ease}
.rating-stars-readonly:hover .rating-star.is-filled{opacity:.86}

/* Consistent compact action hover, intentionally subtle. */
.button.secondary:hover,
.response-table td:last-child a:hover,
.survey-card-actions .button:hover{
  transform:translateY(-1px);
}

/* Graphite follows the same control geometry while keeping readable contrast. */
.admin-theme-graphite{
  --frontis-hover:#30393f;
  --frontis-focus:0 0 0 4px rgba(225,165,27,.12);
}
.admin-theme-graphite input:focus,
.admin-theme-graphite select:focus,
.admin-theme-graphite textarea:focus{
  border-color:#7f919b;
  box-shadow:var(--frontis-focus);
}
.admin-theme-graphite .frontis-date-field .date-picker-button{background:#46525a;color:#eef2f4}
.admin-theme-graphite .frontis-date-field .date-picker-button:hover{background:#56656e;color:#fff}
.admin-theme-graphite .admin-main table tbody tr:hover{background:#30393f}

@media(max-width:760px){
  .frontis-date-field,
  .date-filter-input,
  .date-filter .date-field,
  .response-date-field{
    width:100%;
    min-width:0;
  }
  .frontis-date-field .js-date-display,
  .date-filter-input>input[type=text]{
    width:100%!important;
    min-width:0;
  }
}


/* Analytics v1.6 — shared presentation only. */
.analytics-page .analytics-filters{flex-wrap:wrap;justify-content:flex-end}
.analytics-page .analytics-survey-filter{display:flex;flex-direction:column;gap:6px;min-width:210px}
.analytics-page .analytics-survey-filter span{font-size:10px;font-weight:900;letter-spacing:1.2px;color:var(--slate);text-transform:uppercase}
.analytics-page .analytics-survey-filter select{min-height:44px;border:1px solid #d7e0e4;background:#fff;border-radius:11px;padding:10px 12px;color:var(--ink);font:inherit}
.admin-theme-graphite .analytics-page .analytics-survey-filter select{background:#293238;color:var(--ink);border-color:#617079}
@media(max-width:760px){.analytics-page .analytics-filters{display:grid;grid-template-columns:1fr 1fr;align-items:end}.analytics-page .analytics-filters .date-separator{display:none}.analytics-page .analytics-survey-filter{grid-column:1/-1;min-width:0}.analytics-page .analytics-filters>button{grid-column:1/-1;width:100%}}
