/* React/Radix adapters. Values and geometry come from the copied Blade foundation.
 * Sources: components/ui/*.blade.php, layouts/{master,header,footer}.blade.php.
 * This file never owns API, navigation, form validation or application state. */
.idbarah-ui-v2 {
  --brand-primary: var(--id-ink); --brand-active: var(--id-primary-hover);
  --brand-focus: var(--id-patina); --brand-background: var(--id-paper);
  --brand-surface: #fff; --brand-surface-soft: var(--id-mist);
  --brand-selected: var(--id-selected); --brand-disabled: var(--id-disabled);
  --brand-text: var(--id-text); --brand-text-secondary: var(--id-muted);
  --brand-text-muted: var(--id-muted); --brand-text-disabled: var(--id-disabled-text);
  --brand-border: var(--id-border); --brand-success: var(--id-patina);
  --brand-success-soft: var(--id-patina-soft); --brand-info: var(--id-ink); --brand-info-soft: var(--id-mist);
  --brand-type-h1-size: var(--id-type-display); --brand-type-h1-line-height: 1.5;
  --brand-type-h2-size: var(--id-type-title); --brand-type-h2-line-height: 1.6;
  --brand-type-section-size: var(--id-type-section); --brand-type-section-line-height: var(--id-leading);
  --brand-type-body-size: var(--id-type-body); --brand-type-body-line-height: var(--id-leading);
  --brand-type-label-size: var(--id-type-label); --brand-type-label-line-height: var(--id-leading);
  --brand-type-caption-size: var(--id-type-meta); --brand-type-caption-line-height: var(--id-leading);
  --brand-radius-small: 12px; --brand-radius-control: var(--id-radius-control);
  --brand-radius-card: var(--id-radius-card); --brand-radius-dialog: var(--id-radius-dialog);
  --brand-shadow-card: var(--id-shadow-rest); --brand-shadow-floating: var(--id-shadow-overlay);
  --brand-component-control-height: var(--id-control-md); --brand-component-button-height: var(--id-control-md);
  --brand-component-table-padding: var(--id-table-cell-y);
  --background: var(--id-paper); --foreground: var(--id-text); --card: #fff; --card-foreground: var(--id-text);
  --popover: var(--id-paper); --popover-foreground: var(--id-text);
  --primary: var(--id-ink); --secondary: var(--id-mist); --secondary-foreground: var(--id-ink);
  --muted: var(--id-mist); --muted-foreground: var(--id-muted); --accent: var(--id-selected);
  --accent-foreground: var(--id-ink); --border: var(--id-border); --input: var(--id-border); --ring: var(--id-patina);
  --primary-color: var(--id-ink); --secondary-color: var(--id-patina); --light-primary-color: var(--id-paper);
  --chart-1: var(--id-ink); --chart-2: var(--id-muted); --chart-3: var(--id-patina);
  min-height: 100dvh;
}
.ui-glyph { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 1.25em; height: 1.25em; font-size: 20px; line-height: 1; font-style: normal; vertical-align: middle; }
.ui-glyph::before { font-size: inherit; line-height: 1; }
.idbarah-ui-v2 .student-shell { min-height: 100dvh; }
.idbarah-ui-v2 .student-shell-content { display: flex; flex-direction: column; min-width: 0; min-height: 100dvh; }
.student-shell-content > main { flex: 1; width: 100%; }
.student-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-shrink: 0; z-index: 30; }
.student-header-start, .student-header-actions { display: flex; align-items: center; gap: 20px; }
.idbarah-ui-v2 .student-header .student-nav-toggle { border: 0; background: transparent; color: var(--id-ink); padding: 8px; min-width: 44px; min-height: 44px; }
.student-header .student-nav-toggle .ui-glyph { font-size: 24px; }
.student-language-trigger { display: flex; align-items: center; justify-content: center; cursor: pointer; min-width: 44px; min-height: 44px; background: transparent; border: 0; color: var(--id-ink); }
.student-language-trigger .fa { font-size: 25px; }
.student-nav-toggle .fa { font-size: 20px; }
.student-language-trigger > :last-child { display: none; }
.student-profile-trigger { display: flex; align-items: center; gap: 12px; cursor: pointer; color: var(--id-text); }
.student-profile-trigger { background: transparent; border: 0; padding: 0; text-align: start; }
.student-header-avatar, .student-header-avatar-inner { width: 32px; height: 32px; overflow: hidden; }
.student-profile-details { display: none; }
.student-profile-chevron { color: var(--id-muted); width: 16px; font-size: 16px; }
.student-notification-trigger { width: 44px; height: 44px; padding: 8px; background: transparent; border: 0; color: var(--id-ink); }
.student-notification-menu { z-index: var(--id-z-menu); }
.idbarah-ui-v2 .student-notification-menu { background: var(--id-glass); }
.idbarah-ui-v2 .student-notification-menu > div { height: auto; max-height: 360px; padding: 12px; }
.idbarah-ui-v2 .student-notification-menu h4 { font-size: var(--id-type-label); }
.idbarah-ui-v2 .student-notification-menu a { font-size: var(--id-type-label); }
.idbarah-ui-v2 .student-subject-fallback { background: var(--id-mist); color: var(--id-ink); }
.idbarah-ui-v2 .student-subject-fallback .ui-glyph { color: inherit; }
.idbarah-ui-v2 .student-gallery-card > div { background-color: var(--id-mist) !important; }
.student-profile-menu { z-index: var(--id-z-menu); padding: 12px; }
.student-profile-menu a, .student-profile-menu button { font-size: var(--id-type-label); min-height: 44px; gap: 8px; }
.student-mobile-language { padding-block: 12px; }
.ui-language-options { display: grid; }
.idbarah-ui-v2 .student-footer { padding: 30px 16px; margin-top: auto; background: var(--id-paper); color: var(--id-muted); font-size: 13px; line-height: 1.7; }
@media(min-width:992px) {
  .idbarah-admin-shell .student-shell-content { width: calc(100% - var(--id-sidebar-width) - var(--id-shell-gap) - var(--id-shell-edge)*2); margin-inline-start: calc(var(--id-sidebar-width) + var(--id-shell-gap) + var(--id-shell-edge)); }
  body.idbarah-admin-shell .student-shell-content .navbar.default-layout-navbar { width: 100% !important; margin-inline: 0 !important; }
}
@media(max-width:991.98px) {
  .student-header { padding-inline: 16px; }
  .student-header { gap: 8px; }
  .student-header-start { display: contents; }
  .student-header-start > .ui-brand { order: 0; flex: 0 0 130px; }
  .student-header-actions { order: 1; margin-inline-start: auto; }
  .student-header-start > .student-nav-toggle { order: 2; }
  .student-header-start, .student-header-actions { gap: 8px; }
  .idbarah-ui-v2 .student-header .ui-brand { margin: 0; font-size: 23px; gap: 6px; }
  .student-header .ui-brand-mark { zoom: .7; }
  .idbarah-ui-v2 .student-header .ui-brand small { font-size: 7px; letter-spacing: 3px; }
  .student-header .student-profile-trigger > .hidden { display: none; }
  .student-header .student-profile-chevron { display: none; }
  .idbarah-admin-shell:has(#sidebar.active) .ui-sidebar-backdrop { display: block !important; }
}
.idbarah-ui-v2 .card { position: relative; min-width: 0; }
.idbarah-ui-v2 .card h2:not([data-slot=dialog-title]) { font-size: var(--id-type-section); line-height: var(--id-leading); }
.idbarah-ui-v2 .card h1:not(.page-title) { font-size: var(--id-type-title); }
.idbarah-ui-v2 .ui-card-pad { padding: var(--id-space-8); }
.idbarah-ui-v2 [data-slot=card-header], .idbarah-ui-v2 [data-slot=card-content], .idbarah-ui-v2 [data-slot=card-footer] { padding: var(--id-space-8); }
.idbarah-ui-v2 [data-slot=card-header] + [data-slot=card-content] { padding-top: 0; }
.idbarah-ui-v2 .breadcrumb, .idbarah-ui-v2 .breadcrumb span, .idbarah-ui-v2 .breadcrumb a { font-size: var(--id-type-meta); line-height: 1.7; }
.idbarah-ui-v2 .breadcrumb a { color: var(--id-ink); }
.idbarah-ui-v2 .breadcrumb .ui-glyph { font-size: 16px; }
.idbarah-ui-v2 [data-slot=button] { height: auto; min-height: var(--id-control-md); padding: 8px 20px; font-size: var(--id-type-label); font-weight: 500; line-height: 1.6; border-width: 1px; box-shadow: none; }
.idbarah-ui-v2 [data-slot=button][data-size=sm] { min-height: var(--id-control-sm); padding: 4px 12px; }
.idbarah-ui-v2 [data-slot=button][data-size=lg] { min-height: var(--id-control-lg); }
.idbarah-ui-v2 [data-slot=button][data-size=icon] { width: 44px; height: 44px; padding: 8px; }
.idbarah-ui-v2 [data-slot=button] .ui-glyph { font-size: 20px; }
.idbarah-ui-v2 [data-slot=button][data-variant=default] { background: var(--id-ink); color: white; border-color: transparent; }
.idbarah-ui-v2 [data-slot=button][data-variant=default]:hover { background: var(--id-primary-hover); transform: translateY(-1px); }
.idbarah-ui-v2 [data-slot=button][data-variant=secondary] { background: var(--id-mist); color: var(--id-ink); border-color: transparent; }
.idbarah-ui-v2 [data-slot=button][data-variant=outline] { background: transparent; border-color: var(--id-ink); color: var(--id-ink); }
.idbarah-ui-v2 [data-slot=button][data-variant=outline]:hover { background: var(--id-ink); color: white; }
.idbarah-ui-v2 [data-slot=button]:disabled { opacity: .65; transform: none; }
.idbarah-ui-v2 .form-control { width: 100%; box-shadow: none; }
.idbarah-ui-v2 .form-control:focus { outline: none; }
.idbarah-ui-v2 .form-control[type=checkbox], .idbarah-ui-v2 .form-control[type=radio] { width: 18px; min-height: 18px; height: 18px; background-image: none !important; clip-path: none; }
.idbarah-ui-v2 .ui-button { white-space: normal; }
.idbarah-ui-v2 .badge { display: inline-flex; align-items: center; }
/* Bootstrap tooltip geometry from backend/public/assets/css/style.min.css. */
.idbarah-ui-v2 .tooltip-inner { max-width: 200px; padding: .4rem .75rem; color: #fff; text-align: center; background-color: #000; border-radius: .375rem; font-size: 12px; }
.idbarah-ui-v2 .student-attendance h1 { font-size: var(--id-type-section); line-height: 1.7; padding: 24px 32px; }
.idbarah-ui-v2 .student-calendar-month { font-size: var(--id-type-body); line-height: 1.7; color: var(--id-ink); }
.idbarah-ui-v2 .student-attendance-day > .attendance-cal-cell { width: 100%; }
.idbarah-ui-v2 .student-attendance .card.ui-card-pad { padding: 14px 16px; }
.idbarah-ui-v2 .student-timetable-subject { background: var(--id-paper) !important; border: 1px solid var(--id-border) !important; border-inline-start: 4px solid var(--id-ink) !important; border-radius: 12px !important; color: var(--id-text) !important; box-shadow: none !important; padding: 10px 12px; }
.idbarah-ui-v2 .student-timetable-subject * { color: var(--id-text) !important; font-size: 14px; line-height: 1.65; }
.idbarah-ui-v2 .student-timetable-grid h2 { font-size: var(--id-type-body); color: var(--id-ink); }
.idbarah-ui-v2 [data-slot=select-trigger] { min-height: var(--id-control-md); height: auto; padding: 8px 16px; background-color: #fff; color: var(--id-text); font-size: var(--id-type-body); line-height: var(--id-leading); border: 0; box-shadow: none; }
.idbarah-ui-v2 [data-slot=select-trigger] .ui-glyph { font-size: 16px; }
.idbarah-ui-v2 [data-slot=dialog-overlay], .idbarah-ui-v2 [data-slot=sheet-overlay] { z-index: 1040; background: var(--id-backdrop); backdrop-filter: blur(13px); animation: none; }
.idbarah-ui-v2 [data-slot=dialog-content] { z-index: var(--id-z-dialog); background: var(--id-overlay); border: 0; box-shadow: var(--id-shadow-overlay); padding: 24px; gap: 24px; width: calc(100% - 24px); max-height: calc(100dvh - 64px); animation: none; }
.idbarah-ui-v2 [data-slot=dialog-content].p-0 { padding: 0; }
.idbarah-ui-v2 [data-slot=dialog-content] > [data-slot=dialog-header] { margin: -24px -24px 0; padding: 20px 24px; background: transparent; color: var(--id-text); border-bottom: 1px solid var(--id-divider); border-radius: 0; }
.idbarah-ui-v2 [data-slot=dialog-content].p-0 > [data-slot=dialog-header] { margin: 0; }
.idbarah-ui-v2 [data-slot=dialog-title] { font-size: var(--id-type-title); line-height: 1.5; color: var(--id-text); font-weight: 500; }
.idbarah-ui-v2 [data-slot=dialog-description] { color: var(--id-muted); }
.idbarah-ui-v2:has(.student-confirm) [data-slot=dialog-overlay] { backdrop-filter: blur(var(--id-confirm-blur)); }
.idbarah-ui-v2 .student-confirm [data-slot=dialog-title] { color: var(--id-ink); font-weight: var(--id-weight-semibold); }
.idbarah-ui-v2 [data-slot=dialog-footer] { padding-top: 20px; border-top: 1px solid var(--id-divider); }
.idbarah-ui-v2 [data-slot=dialog-close] { color: var(--id-muted); background: transparent; min-width: 36px; min-height: 36px; display: inline-flex; align-items: center; justify-content: center; }
.idbarah-ui-v2 [data-slot=select-content], .idbarah-ui-v2 [data-slot=dropdown-menu-content], .idbarah-ui-v2 [data-slot=hover-dropdown-content] { background: var(--id-glass); border: 1px solid white; backdrop-filter: blur(22px); box-shadow: 0 16px 34px #29204425; padding: 12px; z-index: 1060; animation: none; }
.idbarah-ui-v2 [data-slot=select-item], .idbarah-ui-v2 [data-slot=dropdown-menu-item] { font-size: var(--id-type-body); line-height: 1.7; padding: 10px 16px; }
.idbarah-ui-v2 [data-slot=select-item][data-highlighted], .idbarah-ui-v2 [data-slot=dropdown-menu-item][data-highlighted] { background: var(--id-selected); color: var(--id-ink); }
.idbarah-ui-v2 [data-slot=tabs-list] { background: transparent; border-bottom: 1px solid var(--id-divider); border-radius: 0; height: auto; padding: 0 0 8px; gap: 8px; justify-content: flex-start; flex-wrap: wrap; margin-bottom: 20px; }
.idbarah-ui-v2 [data-slot=tabs-trigger] { min-height: 44px; padding: 8px 20px; font-size: var(--id-type-label); color: var(--id-muted); background: transparent; border: 0; box-shadow: none; }
.idbarah-ui-v2 [data-slot=tabs-trigger][data-state=active] { background: var(--id-mist); color: var(--id-ink); box-shadow: none; }
.idbarah-ui-v2 table:not(.rdp-month_grid) { width: 100%; border-collapse: collapse; background: var(--id-paper); }
.idbarah-ui-v2 table:not(.rdp-month_grid) th { background: var(--id-table-head); color: var(--id-muted); font-size: var(--id-type-table-head); font-weight: 500; line-height: 1.5; text-align: start; }
.idbarah-ui-v2 table:not(.rdp-month_grid) :is(th,td) { padding: 16px; border-bottom: 1px solid var(--id-divider); }
.idbarah-ui-v2 table:not(.rdp-month_grid) td { font-size: var(--id-type-body); line-height: 1.65; color: var(--id-table-text); }
.idbarah-ui-v2 table:not(.rdp-month_grid) tbody tr:hover { background: var(--id-hover); }
.idbarah-ui-v2 [data-sonner-toast] { background: var(--id-floating-surface) !important; color: var(--id-text) !important; border: 1px solid var(--id-edge) !important; box-shadow: var(--id-shadow-live) !important; padding: 16px !important; font: 400 13px/1.7 var(--id-font) !important; }
.idbarah-ui-v2 [data-sonner-toast] [data-description] { color: var(--id-muted) !important; }
.idbarah-ui-v2 [data-sonner-toaster] { --width: min(360px, calc(100vw - 32px)); z-index: var(--id-z-toast); }
.idbarah-ui-v2 [data-sonner-toast][data-type=success] [data-icon] { color: var(--id-patina); }
.idbarah-ui-v2 [data-sonner-toast][data-type=error] [data-icon] { color: var(--id-danger); }
/* Authentication follows auth/login.blade.php and login.css. Form fields stay student-specific. */
.idbarah-ui-v2 .brand-auth { min-height: 600px; height: 100vh; }
.idbarah-ui-v2 .brand-auth-form { width: 50%; flex: 0 0 50%; padding: 48px 40px; overflow-y: auto; background: #fff; }
.idbarah-ui-v2 .brand-auth-form > div { max-width: 420px; padding-top: 20px; }
.idbarah-ui-v2 .brand-auth-form h2 { font-size: var(--id-type-display); line-height: 1.5; font-weight: 700; margin-bottom: 6px; }
.idbarah-ui-v2 .brand-auth-form form { display: flex; flex-direction: column; gap: 20px; }
.idbarah-ui-v2 .brand-auth-form form > * { margin-block: 0; }
.idbarah-ui-v2 .brand-auth-panel { display: block; width: 50%; flex: 0 0 50%; background: linear-gradient(145deg, #3b376f, #716ba0); }
.idbarah-ui-v2 .brand-auth [type=submit] { width: 100%; }
.idbarah-ui-v2 .brand-auth input { background-color: white; }
@media(max-width:991.98px) {
  .idbarah-ui-v2 .brand-auth { flex-direction: column; height: auto; }
  .idbarah-ui-v2 .brand-auth-form { width: 100%; flex-basis: auto; padding: 36px 24px; align-items: flex-start; }
  .idbarah-ui-v2 .brand-auth-panel { width: 100%; flex-basis: auto; min-height: 280px; }
}
@media(max-width:620px) {
  .student-header { gap: 4px; padding-inline: 8px; }
  .student-header-start > .ui-brand { flex-basis: 110px; }
  .student-header-actions { gap: 0; }
  .idbarah-ui-v2 .ui-card-pad, .idbarah-ui-v2 [data-slot=card-header], .idbarah-ui-v2 [data-slot=card-content], .idbarah-ui-v2 [data-slot=card-footer] { padding: 20px; }
  .idbarah-ui-v2 [data-slot=dialog-content] { max-height: calc(100dvh - 24px); }
}
@media(max-width:575.98px) {
  .idbarah-ui-v2 .brand-auth-form { padding: 28px 16px; }
  .idbarah-ui-v2 .brand-auth-form > div { max-width: 100%; padding-top: 0; }
  .idbarah-ui-v2 .brand-auth-panel { min-height: 220px; }
}
