.v4-tabs-layout  {
  min-width: 0;
}
.v4-tabs  {
  display:flex;
  gap:4px;
  flex-wrap:wrap;
  border-bottom:1px solid var(--v4-border);
  margin:0 0 22px;
}
.v4-tabs a  {
  display:flex;
  align-items:center;
  gap:8px;
  padding:12px 16px;
  color:var(--v4-muted);
  font-size:14px;
  font-weight:500;
  text-decoration:none;
  border-bottom:3px solid transparent;
}
.v4-tabs a:hover  {
  color:var(--v4-text);
  background:var(--v4-soft);
}
.v4-tabs a[aria-selected=true]  {
  border-color:var(--v4-link);
  color:var(--v4-link);
}
.v4-tab-panel[hidden]  {
  display:none;
}
.v4-tab-panel  {
  min-width:0;
}
.v4-form-section  {
  padding:24px;
  max-width:960px;
}
.v4-form-section>p  {
  color:var(--v4-muted);
  font-size:14px;
  margin-bottom:24px;
}
.v4-form-section fieldset  {
  border:0;
  padding:0 0 24px;
  margin:0 0 24px;
  border-bottom:1px solid var(--v4-border);
}
.v4-form-section legend  {
  font-size:16px;
  font-weight:600;
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:20px;
}
.v4-form-section legend span  {
  width:26px;
  height:26px;
  border-radius:6px;
  display:grid;
  place-items:center;
  background:var(--v4-soft);
  font-size:12px;
  color:var(--v4-muted);
}
.v4-form-grid,.v4-content .form-grid  {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 24px;
}
.v4-span-full,.v4-content .form-grid .full  {
  grid-column:1/-1;
}
.v4-field-help  {
  font-size:12px;
  color:var(--v4-muted);
  margin:7px 0 0;
}
.v4-form-actions,.v4-content .actions  {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  margin-top:22px;
}
.v4-weekdays  {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.v4-weekdays label  {
  display:flex;
  gap:7px;
  align-items:center;
  border:1px solid var(--v4-field);
  padding:8px 11px;
  border-radius:6px;
  font-size:13px;
  cursor:pointer;
}
.v4-weekdays .form-check-input  {
  margin:0;
}
.v4-import-help  {
  background:var(--v4-bg);
  padding:20px;
  margin-top:22px;
  border-radius:8px;
  font-size:14px;
}
.v4-import-help details  {
  margin-top:16px;
}
.v4-import-help details p  {
  margin-top:10px;
  overflow-wrap:anywhere;
}
.v4-content .hero  {
  margin-bottom:24px;
}
.v4-content .hero p  {
  color:var(--v4-muted);
  font-size:14px;
  margin-bottom:0;
}
.v4-content .section-title  {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}
.v4-content .section-title h1  {
  margin:6px 0 10px;
}
.v4-content .section-title .actions  {
  margin:0;
}
.v4-content .card  {
  display:block;
  padding:24px;
  border:1px solid var(--v4-border);
  background:var(--v4-surface);
  border-radius:var(--v4-radius);
  box-shadow:none;
  margin-bottom:20px;
  min-width:0;
}
.v4-content .card h2  {
  margin:0 0 12px;
}
.v4-content .card>p  {
  font-size:14px;
  color:var(--v4-muted);
}
.v4-content .card .card  {
  box-shadow:none;
  border-radius:6px;
}
.v4-content .grid  {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  align-items:start;
}
.v4-content .redesign-detail-grid  {
  display:block;
}
.v4-content .compact-grid  {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-bottom:22px;
}
.v4-content .subtle-surface  {
  border:1px solid var(--v4-border);
  background:var(--v4-surface);
  padding:18px;
  border-radius:8px;
  min-width:0;
}
.v4-content .subtle-surface h3  {
  font-size:12px;
  color:var(--v4-muted);
  font-weight:500;
}
.v4-content .big  {
  font-size:28px;
  font-weight:600;
  margin:6px 0 0;
}
.v4-content .muted  {
  color:var(--v4-muted);
}
.v4-content .small  {
  font-size:12px;
}
.v4-content .pill  {
  display:inline-flex;
  padding:4px 8px;
  background:var(--v4-soft);
  border-radius:5px;
  font-size:12px;
  color:var(--v4-muted);
}
.v4-content .pill.ok,.v4-content .note.ok  {
  color:var(--v4-positive);
  background:var(--v4-positive-bg);
}
.v4-content .pill.warn  {
  color:var(--v4-danger);
  background:var(--v4-danger-bg);
}
.v4-content .note  {
  padding:14px 16px;
  background:var(--v4-soft);
  border-radius:8px;
  font-size:14px;
}
.v4-content .stack  {
  display:grid;
  gap:16px;
}
.v4-content form>label.form-label  {
  display:block;
  margin-top:15px;
}
.v4-content form>label.form-label:first-child  {
  margin-top:0;
}
.v4-content .form-check-input  {
  margin-right:7px;
}
.v4-content .table-wrap  {
  max-width:100%;
  overflow:auto;
}
.v4-content .table-wrap .v4-table  {
  min-width:640px;
}
.v4-content .record-list  {
  display:grid;
  gap:12px;
}
.v4-content .record  {
  padding:16px;
  border:1px solid var(--v4-border);
  border-radius:8px;
}
.v4-content .form-label  {
  font-size:13px;
}
.v4-content .btn-warning  {
  color:var(--v4-danger);
  background:var(--v4-danger-bg);
  border:1px solid var(--v4-danger);
}
.v4-content .actions>form {
  max-width:100%;
  min-width:0;
}
.v4-content .actions .btn,.v4-content form>.btn {
  max-width:100%;
  white-space:normal;
}
.v4-content .kbd  {
  display:inline-block;
  padding:4px 8px;
  border:1px solid var(--v4-border);
  border-radius:5px;
  font-size:13px;
  overflow-wrap:anywhere;
}
.v4-content .error  {
  color:var(--v4-danger);
  background:var(--v4-danger-bg);
  padding:16px;
  margin-bottom:18px;
  border-radius:8px;
}
.v4-content .success  {
  color:var(--v4-positive);
  background:var(--v4-positive-bg);
  padding:16px;
  margin-bottom:18px;
  border-radius:8px;
}
.v4-policy-form fieldset  {
  border:0;
  border-bottom:1px solid var(--v4-border);
  margin:0 0 22px;
  padding:0 0 24px;
}
.v4-policy-form legend  {
  font-size:15px;
  font-weight:600;
  margin:0 0 18px;
}
.v4-content .brand-identity  {
  display:flex;
  align-items:center;
  gap:12px;
}
.v4-content .brand-logo-box  {
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  background:var(--v4-soft);
  border:1px solid var(--v4-border);
  border-radius:8px;
  flex-shrink:0;
}
.v4-content .brand-logo-img  {
  max-width:100%;
  max-height:64px;
  object-fit:contain;
}
.v4-content .brand-monogram  {
  font-size:20px;
  font-weight:600;
}
.v4-content .brand-identity small,.v4-content .brand-identity strong  {
  display:block;
}
.v4-content .brand-colors  {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:20px;
}
.v4-content .brand-swatch  {
  display:inline-flex;
  gap:8px;
  align-items:center;
  font-size:12px;
}
.v4-content .brand-swatch::before  {
  content:'';
  width:18px;
  height:18px;
  border-radius:4px;
  background:var(--swatch);
  border:1px solid var(--v4-field);
}
.v4-content input[type=color]  {
  width:100%;
  max-width:180px;
  height:44px;
  padding:4px;
  cursor:pointer;
}
.v4-content .brand-upload-preview  {
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:18px;
  background:var(--v4-bg);
  border-radius:8px;
  margin:16px 0;
  font-size:12px;
}
.v4-content .brand-upload-preview img  {
  max-width:240px;
  max-height:120px;
  object-fit:contain;
  align-self:flex-start;
}
.v4-platform-logo  {
  width:76px;
  height:40px;
  flex-shrink:0;
  background:#fff;
  border-radius:6px;
  padding:5px;
  display:grid;
  place-items:center;
}
.v4-platform-logo img  {
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.v4-content .v3-inline-filter  {
  display:flex;
  align-items:end;
  gap:16px;
  flex-wrap:wrap;
}
.v4-content .v3-inline-filter>div  {
  flex:1;
  min-width:150px;
}
.v4-profile-grid  {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  align-items:start;
}
.v4-profile-grid>div:only-child  {
  max-width:620px;
  width:100%;
}
.v4-profile-sections  {
  min-width:0;
}
.v4-clock-card  {
  border-top:3px solid var(--v4-primary);
}
.v4-worked-time  {
  font-size:36px;
  font-weight:600;
  letter-spacing:-.035em;
  margin:0;
  line-height:1.3;
}
.v4-clock-actions  {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.v4-clock-actions .btn  {
  min-height:44px;
  padding:10px 20px;
  font-size:14px;
}
.v4-shift-details  {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  border-top:1px solid var(--v4-border);
  margin-top:28px;
  padding-top:20px;
}
.v4-shift-details span  {
  display:block;
  font-size:12px;
  color:var(--v4-muted);
  margin-bottom:6px;
}
.v4-shift-details strong  {
  font-weight:500;
  font-size:14px;
}
.v4-history-record  {
  padding:20px 22px;
  border-bottom:1px solid var(--v4-border);
}
.v4-history-record:last-child  {
  border-bottom:0;
}
.v4-history-summary  {
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:18px;
  align-items:center;
  font-size:14px;
}
.v4-history-summary strong  {
  font-weight:500;
  display:block;
}
.v4-history-summary .v4-badge  {
  margin-top:6px;
}
.v4-history-summary small  {
  display:block;
  color:var(--v4-muted);
  font-size:12px;
  margin-bottom:5px;
}
.v4-history-record details  {
  font-size:12px;
  color:var(--v4-muted);
  margin-top:12px;
}
.v4-history-record dl  {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  padding:18px;
  background:var(--v4-bg);
  border-radius:6px;
  margin:12px 0 0;
}
.v4-history-record dt  {
  font-weight:500;
}
.v4-history-record dd  {
  margin:6px 0 0;
}
.v4-logout  {
  max-width:520px;
  padding:30px;
  margin:48px auto;
}
.v4-logout p  {
  color:var(--v4-muted);
  font-size:14px;
}
.v4-row-actions  {
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.v4-day-total  {
  font-size:26px;
  font-weight:600;
  white-space:nowrap;
}
.v4-timer-adjust  {
  margin-top:18px;
  font-size:12px;
  color:var(--v4-muted);
}
.v4-timer-adjust .v4-form-grid  {
  margin-top:14px;
}
.v4-clock-card label.form-label  {
  margin-top:18px;
}
.v4-plan-info  {
  padding:24px;
  margin-top:22px;
}
.v4-plan-info p  {
  color:var(--v4-muted);
  font-size:14px;
  margin-bottom:0;
}
.v4-report-filter  {
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.v4-report-totals  {
  padding:22px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.v4-report-totals span,.v4-report-totals small  {
  display:block;
  color:var(--v4-muted);
  font-size:12px;
}
.v4-report-totals strong  {
  display:block;
  font-size:28px;
  font-weight:600;
  margin:8px 0;
}
.v4-report-chart,.v4-report-results  {
  margin-top:22px;
}
.modal-content  {
  background:var(--v4-surface);
  color:var(--v4-text);
}
.modal-header  {
  padding:20px 24px;
}
.modal-body  {
  padding:24px;
}
@media(max-width:767px) {
  .v4-report-filter {
    grid-template-columns:minmax(0,1fr)
  }
  .v4-report-totals {
    grid-template-columns:1fr;
    gap:18px
  }
  .v4-day-total {
    font-size:23px
  }
  .modal-body {
    padding:18px
  }
}
@media(max-width:767px) {
  .v4-history-summary {
    grid-template-columns:1fr 1fr
  }
  .v4-history-summary>div:first-child {
    grid-column:1/-1
  }
  .v4-history-record dl {
    grid-template-columns:1fr
  }
  .v4-logout {
    padding:24px;
    margin:22px auto
  }
  .v4-shift-details {
    grid-template-columns:1fr
  }
  .v4-clock-actions .btn {
    padding:10px 14px
  }
}
@media(max-width:767px) {
  .v4-profile-grid {
    grid-template-columns:1fr
  }
  .v4-content .v3-inline-filter>div {
    min-width:100%
  }
}
.v4-content .v3-card-head  {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:18px;
}
@media(max-width:767px)  {
  .v4-tabs  {
    gap:0;
  }
  .v4-tabs a  {
    padding:11px 12px;
    font-size:13px;
  }
  .v4-form-section,.v4-content .card  {
    padding:18px;
  }
  .v4-form-grid,.v4-content .form-grid,.v4-content .grid  {
    grid-template-columns:1fr;
    gap:16px;
  }
  .v4-content .compact-grid  {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .v4-content .section-title  {
    align-items:flex-start;
    flex-wrap:wrap;
    gap:14px;
  }
  .v4-content .table-wrap .v4-table,.v4-content .table-wrap .v4-table tbody  {
    display:table;
  }
  .v4-content .table-wrap .v4-table tbody  {
    display:table-row-group;
  }
  .v4-content .table-wrap .v4-table thead  {
    display:table-header-group;
  }
  .v4-content .table-wrap .v4-table tr  {
    display:table-row;
  }
  .v4-content .table-wrap .v4-table td,.v4-content .table-wrap .v4-table th  {
    display:table-cell;
    padding:12px;
  }
}
.v4-config-field  {
  margin:24px 0;
}
.v4-config-field h3  {
  font-size:16px;
  margin-bottom:8px;
}
.v4-config-editor  {
  margin:18px 0;
}
.v4-config-row  {
  display:grid;
  grid-template-columns:minmax(150px,1fr) minmax(150px,2fr) auto;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
}
.v4-config-row .form-label  {
  margin:0;
}
.v4-config-row .v4-field-help  {
  grid-column:2;
}
.v4-config-add  {
  margin:18px 0;
  padding:16px;
  background:var(--v4-bg);
  border-radius:8px;
}
.v4-config-add .form-label,.v4-config-add .btn  {
  margin-top:14px;
}
.v4-config-advanced  {
  font-size:13px;
  color:var(--v4-muted);
}
.v4-config-advanced textarea  {
  font-family:ui-monospace,monospace;
  font-size:13px;
  margin-top:10px;
}
.v4-table-controls  {
  display:flex;
  align-items:center;
  gap:8px;
  margin:12px 0;
}
.v4-table-controls[hidden]  {
  display:none;
}
.v4-table-controls span  {
  flex:1;
  color:var(--v4-muted);
  font-size:13px;
}
.v4-pagination  {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:18px 22px;
  font-size:13px;
  color:var(--v4-muted);
}
.v4-content .user-card  {
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:18px 0;
  border-bottom:1px solid var(--v4-border);
}
.v4-content .user-name  {
  font-weight:600;
}
.v4-content .user-meta  {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.v4-content .user-actions  {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  max-width:420px;
}
.v4-content .record-item  {
  padding:14px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border-bottom:1px solid var(--v4-border);
}
.v4-content .stat-card  {
  padding:22px;
  border:1px solid var(--v4-border);
  border-radius:8px;
  background:var(--v4-surface);
}
.v4-content .stat-card strong  {
  display:block;
  font-size:28px;
  margin-top:12px;
}
@media(max-width:767px) {
  .v4-config-row {
    grid-template-columns:1fr auto
  }
  .v4-config-row .form-label {
    grid-column:1/-1
  }
  .v4-config-row .v4-field-help {
    grid-column:1/-1
  }
  .v4-pagination {
    flex-wrap:wrap
  }
}
.v4-registration {
  max-width:1000px;
  margin:40px auto
}
.v4-registration-card {
  padding:28px
}
.v4-registration-fields h2 {
  margin:0 0 18px
}
.v4-registration-fields>.v4-tab-panel>.v4-field-help {
  margin-bottom:22px
}
.v4-consent {
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin-top:24px;
  font-size:13px;
  color:var(--v4-muted)
}
.v4-consent input {
  flex-shrink:0
}
.v4-registration-fields .v4-form-grid {
  margin-top:22px
}
@media(max-width:767px) {
  .v4-registration {
    margin:28px auto
  }
  .v4-registration-card {
    padding:20px
  }
}
.v4-case-overview {
  padding:24px;
  margin-bottom:24px
}
.v4-case-filter {
  display:flex;
  align-items:end;
  gap:14px;
  padding:20px 22px;
  border-bottom:1px solid var(--v4-border)
}
.v4-case-filter>div {
  min-width:0;
  flex:1;
  max-width:340px
}
.v4-person-schedule {
  border-top:1px solid var(--v4-border);
  padding:16px 0
}
.v4-person-schedule>summary {
  cursor:pointer;
  display:list-item;
  color:var(--v4-text)
}
.v4-person-schedule>summary strong {
  font-weight:500
}
.v4-person-schedule>summary span {
  display:block;
  margin:5px 0 0 18px;
  font-size:13px;
  color:var(--v4-muted)
}
.v4-person-schedule[open]>summary {
  margin-bottom:16px
}
.v4-inline-create {
  margin:20px 0
}
.v4-inline-create summary {
  cursor:pointer;
  color:var(--v4-link);
  font-weight:500;
  margin-bottom:16px
}
.v4-inline-assignment {
  display:flex;
  align-items:center;
  gap:10px
}
.v4-inline-assignment select {
  min-width:170px
}
.v4-section-gap {
  margin-top:24px
}
