@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800&display=swap');

:root{
  --background:#F5F9FC; --foreground:#0B2545; --card:#fff;
  --primary:#0B2545; --primary-fg:#F7FBFD;
  --accent:#2BA6DE; --accent-fg:#fff; --accent-soft:#E8F4FB;
  --secondary:#EEF3F8; --muted:#F1F5F9; --muted-fg:#64748B;
  --border:#DDE6EE; --success:#16A34A; --warning:#E0A106; --destructive:#DC2626;
  --chart-1:#2BA6DE; --chart-2:#0B2545; --chart-3:#16A34A; --chart-4:#E0A106; --chart-5:#8B5CF6;
  --radius:.75rem;
  --shadow-card:0 1px 2px rgba(11,37,69,.06),0 8px 24px -12px rgba(11,37,69,.18);
  --gradient-brand:linear-gradient(135deg,#0B2545,#2BA6DE);
}

*{box-sizing:border-box;border-color:var(--border)}
body{margin:0;background:var(--background);color:var(--foreground);
  font-family:"Cairo","IBM Plex Sans Arabic",system-ui,sans-serif;-webkit-font-smoothing:antialiased;
  font-size:.9375rem;line-height:1.5}
a{color:inherit;text-decoration:none}
img{max-width:100%}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
     background:var(--muted);padding:.1rem .35rem;border-radius:.25rem;font-size:.85em}

/* === Layout === */
.shell{display:flex;min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;width:16rem;flex:0 0 16rem;display:flex;flex-direction:column;
         background:var(--primary);color:#E6EEF5}
.sidebar__brand{display:flex;align-items:center;gap:.75rem;padding:1.25rem;border-bottom:1px solid rgba(255,255,255,.12)}
.sidebar__mark{display:flex;height:2.75rem;width:2.75rem;align-items:center;justify-content:center;
               border-radius:.75rem;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.sidebar__mark img{height:2rem;width:2rem;object-fit:contain}
.sidebar nav{flex:1;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.25rem}
.navlink{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:.5rem;
         font-size:.875rem;font-weight:500;color:rgba(230,238,245,.8);transition:background .15s;cursor:pointer}
.navlink:hover{background:#16325A;color:#fff}
.navlink.is-active{background:var(--accent);color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.15)}
.navlink__icon{display:inline-flex;width:1.25rem;height:1.25rem;flex:0 0 1.25rem}
.navlink__icon svg{width:1.25rem;height:1.25rem}
.sidebar__footer{border-top:1px solid rgba(255,255,255,.12);padding:.75rem}
.main{flex:1;min-width:0;display:flex;flex-direction:column;animation:page-reveal .35s ease both}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;
        gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);background:rgba(255,255,255,.85);
        backdrop-filter:blur(8px);font-size:.875rem;font-weight:600}
.content{flex:1;padding:1rem}
@media(min-width:1024px){.topbar{padding:.75rem 2rem}.content{padding:2rem}}
@media(max-width:1023px){
  .sidebar{position:fixed;inset-block:0;inset-inline-start:0;z-index:50;display:flex;
           visibility:hidden;opacity:0;pointer-events:none;transform:translateX(-100%);
           transition:transform .28s ease,opacity .2s ease,visibility 0s linear .28s}
  [dir=rtl] .sidebar{transform:translateX(100%)}
  .sidebar.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:translateX(0);
                   transition-delay:0s}
  .js-menu-toggle{display:inline-flex !important}
}

/* === Pieces === */
.card{background:var(--card);border:1px solid var(--border);border-radius:1rem;padding:1.25rem;box-shadow:var(--shadow-card);animation:content-rise .4s ease both}
.page-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}
.page-header h1{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.01em}
.page-header p{margin:.25rem 0 0;font-size:.875rem;color:var(--muted-fg)}
.page-header__actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.stat{background:var(--card);border:1px solid var(--border);border-radius:1rem;padding:1.25rem;box-shadow:var(--shadow-card);animation:content-rise .4s ease both;
      display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}
.stat__label{font-size:.875rem;font-weight:500;color:var(--muted-fg)}
.stat__value{margin-top:.5rem;font-size:1.875rem;font-weight:700;letter-spacing:-.02em}
.stat__hint{margin-top:.25rem;font-size:.75rem;color:var(--muted-fg)}
.stat__icon{height:2.75rem;width:2.75rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center}
.stat__icon svg{width:1.5rem;height:1.5rem}
.stat__icon--default{background:rgba(11,37,69,.1);color:var(--primary)}
.stat__icon--accent{background:rgba(43,166,222,.15);color:var(--accent)}
.stat__icon--success{background:rgba(22,163,74,.15);color:var(--success)}
.stat__icon--warning{background:rgba(224,161,6,.15);color:var(--warning)}
.panel{background:var(--card);border:1px solid var(--border);border-radius:1rem;padding:1.25rem;box-shadow:var(--shadow-card);animation:content-rise .4s ease both}
.panel__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}
.panel__head h2{margin:0;font-size:1rem;font-weight:600}
.empty{border:1px dashed var(--border);border-radius:.75rem;padding:3rem 1rem;text-align:center;
       font-size:.875rem;color:var(--muted-fg)}

/* === Grids === */
.grid{display:grid;gap:1rem}
@media(min-width:640px){.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-7{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-7{grid-template-columns:repeat(4,1fr)}.chart-grid-3{grid-template-columns:2fr 1fr}}
@media(min-width:1280px){.grid-4{grid-template-columns:repeat(4,1fr)}.grid-7{grid-template-columns:repeat(7,1fr)}.chart-grid-3{grid-template-columns:2fr 1fr}}

/* === Tables === */
.table-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--border);border-radius:1rem;box-shadow:var(--shadow-card)}
table{width:100%;border-collapse:collapse;font-size:.875rem}
thead tr{border-bottom:1px solid var(--border);font-size:.75rem;color:var(--muted-fg)}
th{padding:.5rem .75rem;text-align:center;font-weight:500;white-space:nowrap}
td{padding:.625rem .75rem;text-align:center}
tbody tr{border-bottom:1px solid var(--border)}
tbody tr:last-child{border-bottom:0}
tbody tr:hover{background:rgba(241,245,249,.6)}
.t-bold{font-weight:600}
.t-num,.t-date{direction:ltr;unicode-bidi:embed}

/* === Badges === */
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .625rem;
       font-size:.75rem;font-weight:600;white-space:nowrap}
.badge--scheduled{background:rgba(43,166,222,.15);color:var(--accent)}
.badge--in_progress{background:rgba(224,161,6,.2);color:var(--warning)}
.badge--completed{background:rgba(22,163,74,.15);color:var(--success)}
.badge--missed{background:rgba(220,38,38,.15);color:var(--destructive)}
.badge--cancelled{background:var(--muted);color:var(--muted-fg)}
.badge--active{background:rgba(22,163,74,.15);color:var(--success)}
.badge--inactive{background:var(--muted);color:var(--muted-fg)}
.badge--navy{background:rgba(11,37,69,.1);color:#0B2545}
.badge--sky{background:rgba(43,166,222,.15);color:var(--accent)}
.chip{display:inline-flex;align-items:center;border-radius:.375rem;padding:.125rem .5rem;
      font-size:.75rem;background:rgba(43,166,222,.15);color:var(--accent)}
.patient-days{display:flex;flex-wrap:wrap;justify-content:center;column-gap:.375rem;row-gap:.5rem}

/* === Forms & buttons === */
label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}
.field{margin-bottom:1rem}
.field--required label::after{content:" *";color:var(--destructive)}
input[type=text],input[type=email],input[type=password],input[type=date],input[type=time],input[type=search],input[type=number],select,textarea{
  width:100%;height:2.25rem;padding:0 .75rem;font:inherit;font-size:.875rem;color:var(--foreground);
  background:var(--card);border:1px solid var(--border);border-radius:.5rem;outline:none}
input[type=date],input[type=time]{direction:ltr;font-family:Arial,sans-serif;font-variant-numeric:lining-nums}
input[type=date]::-webkit-datetime-edit, input[type=time]::-webkit-datetime-edit{font-family:Arial,sans-serif;font-variant-numeric:lining-nums}
textarea{height:auto;padding:.5rem .75rem;min-height:5rem}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(43,166,222,.25)}
input[disabled],select[disabled],textarea[disabled]{background:var(--muted);color:var(--muted-fg);cursor:not-allowed}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:2.25rem;padding:0 .875rem;
     border-radius:.5rem;border:1px solid transparent;font-size:.875rem;font-weight:600;cursor:pointer;
  font-family:inherit;text-decoration:none;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}
.btn--sm{height:2rem;padding:0 .625rem;font-size:.75rem}
.btn--primary{background:var(--primary);color:var(--primary-fg)}
.btn--primary:hover{background:#16325A}
.btn--secondary{background:var(--secondary);color:var(--primary)}
.btn--outline{background:var(--card);border-color:var(--border);color:var(--foreground)}
.btn--outline:hover{background:var(--muted)}
.btn--ghost{background:transparent;color:var(--foreground)}
.btn--ghost:hover{background:var(--muted)}
.sidebar .btn--ghost:hover{background:#16325A;color:#fff}
.btn--danger{background:transparent;color:var(--destructive);border-color:transparent}
.btn--danger:hover{background:rgba(220,38,38,.08)}
.btn--lg{height:2.75rem;width:100%;font-size:1rem}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.btn svg{width:1rem;height:1rem}
@media (hover:hover){
  .btn:not([disabled]):hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(11,37,69,.12)}
  .btn:not([disabled]):active{transform:translateY(0);box-shadow:none}
}
.day-toggle{border:1px solid var(--border);border-radius:.5rem;padding:.375rem .75rem;font-size:.875rem;
            font-weight:500;background:var(--card);cursor:pointer}
.day-toggle.is-on{background:var(--primary);border-color:var(--primary);color:var(--primary-fg)}

/* === Forms layout === */
.form-grid{display:grid;gap:1rem}
@media(min-width:640px){.form-grid-2{grid-template-columns:repeat(2,1fr)}}
.form-grid-2 .span-2{grid-column:1 / -1}
.form-grid-2 .span-2 textarea{min-height:5rem}

/* === Dialog === */
.dialog-backdrop{position:fixed;inset:0;background:rgba(11,37,69,.5);display:flex;align-items:center;justify-content:center;padding:1rem;
                 visibility:hidden;opacity:0;pointer-events:none;z-index:60;transition:opacity .2s ease,visibility 0s linear .2s}
.dialog-backdrop.is-open{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s}
.dialog{background:var(--card);border-radius:1rem;box-shadow:0 24px 48px -24px rgba(11,37,69,.5);
  width:100%;max-width:34rem;max-height:90vh;overflow-y:auto;padding:1.5rem;transform:translateY(.75rem) scale(.98);opacity:0;
  transition:transform .22s ease,opacity .18s ease}
.dialog-backdrop.is-open .dialog{transform:translateY(0) scale(1);opacity:1}
.dialog h3{margin:0 0 1rem;font-size:1.125rem;font-weight:700}
.dialog__footer{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem}

/* === Toast === */
.toast{position:fixed;inset-block-end:1.5rem;inset-inline-end:1.5rem;background:var(--card);
       border:1px solid var(--border);border-radius:.75rem;box-shadow:var(--shadow-card);
       padding:.75rem 1rem;font-size:.875rem;z-index:70}
.toast--error{border-color:var(--destructive);color:var(--destructive)}
.toast--success{border-color:var(--success);color:var(--success)}

/* === Login split screen === */
.auth{display:grid;min-height:100vh}
@media(min-width:1024px){.auth{grid-template-columns:1fr 1fr}}
.auth__brand{display:none;position:relative;overflow:hidden;padding:3rem;color:#fff;
             background:var(--gradient-brand);flex-direction:column;justify-content:space-between}
@media(min-width:1024px){.auth__brand{display:flex}}
.auth__brand h2{font-size:2.25rem;line-height:1.15;font-weight:800;margin:0}
.auth__blob{position:absolute;border-radius:999px;background:rgba(255,255,255,.10)}
.auth__form{display:flex;flex-direction:column;background:var(--background)}
.auth__card{width:100%;max-width:24rem;margin:auto;padding:0 1.5rem 4rem}
.auth__card h1{font-size:1.875rem;font-weight:700;margin:0}
.auth__logo-mobile{display:none;width:min(80%,14rem);height:auto;max-width:80%;margin:0 auto 1.5rem;object-fit:contain}
@media(max-width:1023px){
  .auth__card h1,.auth__card > p{text-align:center}
}

/* === Today session card === */
.session-card{background:var(--card);border:1px solid var(--border);border-radius:1rem;padding:1.25rem;box-shadow:var(--shadow-card);animation:content-rise .4s ease both}
.session-card__head{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start;margin-bottom:.75rem}
.session-card__name{font-size:1rem;font-weight:600}
.session-card__org{font-size:.75rem;color:var(--muted-fg);margin-top:.125rem}
.session-card__dl{display:grid;grid-template-columns:auto 1fr;gap:.375rem .75rem;margin-bottom:.875rem}
.session-card__dl dt{font-size:.75rem;color:var(--muted-fg)}
.session-card__dl dd{margin:0;font-size:.875rem;font-weight:500}
.session-card__actions{display:flex;flex-wrap:wrap;gap:.5rem}

/* === Organization card === */
.org-card{background:var(--card);border:1px solid var(--border);border-radius:1rem;padding:1.25rem;box-shadow:var(--shadow-card);animation:content-rise .4s ease both}
.org-card__head{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}
.org-card__icon{height:2.75rem;width:2.75rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;
                 background:rgba(11,37,69,.1);color:var(--primary)}
.org-card__icon svg{width:1.5rem;height:1.5rem}
.org-card__dl{display:grid;grid-template-columns:auto 1fr;gap:.375rem .75rem;margin-top:.5rem}
.org-card__dl dt{font-size:.75rem;color:var(--muted-fg)}
.org-card__dl dd{margin:0;font-size:.875rem;font-weight:500;text-align:end}

/* === Schedule preview === */
.day-card{background:var(--card);border:1px solid var(--border);border-radius:.75rem;padding:.75rem;min-height:8rem}
.day-card__head{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:.5rem}
.day-card__wd{font-size:.875rem;font-weight:600}
.day-card__md{font-size:.75rem;color:var(--muted-fg);direction:ltr}
.day-card__tile{background:var(--muted);border-radius:.375rem;padding:.375rem .5rem;margin-bottom:.375rem;font-size:.75rem}
.day-card__tile-row{display:flex;justify-content:space-between;gap:.375rem;align-items:center}
.day-card__tile-nurse{font-size:.6875rem;color:var(--muted-fg);margin-top:.125rem}

/* === Schedule generator patient list === */
.pick-list{max-height:14rem;overflow-y:auto;border:1px solid var(--border);border-radius:.75rem;padding:.5rem}
.pick-list__row{display:flex;align-items:center;gap:.5rem;padding:.375rem .25rem;cursor:pointer;border-radius:.375rem}
.pick-list__row:hover{background:var(--muted)}
.pick-list__row input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary);flex:0 0 1rem}
.pick-list__name{flex:1;font-size:.875rem}
.pick-list__days{font-size:.75rem;color:var(--muted-fg)}

/* === Toolbar === */
.toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem}
.toolbar > *{margin:0}
.toolbar .grow{flex:1;min-width:10rem}

/* === Pagination === */
.pagination{display:flex;gap:.375rem;justify-content:center;margin-top:1rem}

/* === Misc === */
.divider{border-top:1px solid var(--border);margin:.5rem 0}
.text-muted{color:var(--muted-fg)}
.text-sm{font-size:.75rem}
.text-md{font-size:.875rem}
.flex{display:flex}
.flex-between{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.flex-wrap{flex-wrap:wrap}
.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}
.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}
.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}
.w-full{width:100%}
.text-end{text-align:end}
table .text-end{text-align:center}

/* === Chart container === */
.chart-wrap{position:relative;height:18rem}
.chart-wrap--sm{height:16rem}
.chart-wrap canvas{max-width:100%}

/* === Toggle switch === */
.toggle{display:inline-flex;align-items:center;cursor:pointer;gap:.5rem}
.toggle input{display:none}
.toggle__track{width:2.5rem;height:1.5rem;border-radius:999px;background:var(--muted);position:relative;transition:background .2s}
.toggle__track::after{content:"";position:absolute;top:.125rem;left:.125rem;width:1.25rem;height:1.25rem;
                     background:#fff;border-radius:999px;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .2s}
.toggle input:checked + .toggle__track{background:var(--success)}
.toggle input:checked + .toggle__track::after{transform:translateX(1rem)}

/* === Login form submit state === */
.btn--loading{position:relative;color:transparent !important}
.btn--loading::after{content:"";position:absolute;top:50%;left:50%;width:1rem;height:1rem;margin:-.5rem 0 0 -.5rem;
                    border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

@keyframes page-reveal{
  from{opacity:0}
  to{opacity:1}
}
@keyframes content-rise{
  from{opacity:0;transform:translateY(.5rem)}
  to{opacity:1;transform:translateY(0)}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-duration:.01ms !important}
}

/* print friendly */
@media print{.sidebar,.topbar,.btn{display:none}}

/* ==========================================================================
   Addendum #2 — session record sheet, reports, print
   ========================================================================== */

/* --- The clinical sheet is LTR English, like the paper original --- */
.rec-sheet{direction:ltr;text-align:left;font-size:.8125rem}
.rec-sheet textarea{width:100%;font-size:.8125rem}
.rec-head{display:flex;align-items:center;gap:1rem;border-bottom:2px solid var(--primary);
          padding-bottom:.75rem;margin-bottom:1rem}
.rec-head img{flex:0 0 auto}
.rec-head__title{flex:1}
.rec-head__title h2{margin:0;font-size:1.0625rem;letter-spacing:.04em}
.rec-head__title p{margin:.125rem 0 0;font-size:.75rem;color:var(--muted-fg)}
.rec-head__meta{text-align:right;font-size:.75rem;color:var(--muted-fg)}

.rec-grid{display:grid;gap:.75rem;margin-bottom:.75rem}
.rec-grid.cols-2{grid-template-columns:1fr}
.rec-grid.cols-4{grid-template-columns:repeat(2,1fr)}
@media(min-width:768px){
  .rec-grid.cols-2{grid-template-columns:repeat(2,1fr)}
  .rec-grid.cols-4{grid-template-columns:repeat(4,1fr)}
}
.rec-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-fg);margin-bottom:.25rem}
.rec-static{height:2.25rem;display:flex;align-items:center;padding:0 .5rem;background:var(--muted);
            border-radius:.375rem;font-weight:600}
.rec-sheet input,.rec-sheet select{width:100%}

.section-title{margin:1.25rem 0 .5rem;font-size:.75rem;font-weight:700;letter-spacing:.08em;
               text-transform:uppercase;color:var(--primary);border-bottom:1px solid var(--border);padding-bottom:.25rem}

.rec-table{width:100%;border-collapse:collapse;font-size:.75rem}
.rec-table th,.rec-table td{border:1px solid var(--border);padding:.125rem .25rem;text-align:center;vertical-align:middle}
.rec-table thead th{background:var(--secondary);font-weight:700;font-size:.6875rem;letter-spacing:.03em}
.rec-table tbody th{background:var(--muted);font-weight:600;text-align:center;white-space:nowrap}
.rec-table input{width:100%;height:1.875rem;border:0;background:transparent;padding:0 .25rem;text-align:center;font-size:.75rem}
.rec-table input:focus{outline:2px solid var(--primary);outline-offset:-2px;border-radius:.25rem}

.rec-checks{display:flex;flex-wrap:wrap;gap:1rem;margin:.5rem 0 .25rem;font-size:.75rem;font-weight:600}
.rec-checks label{display:inline-flex;align-items:center;gap:.375rem;cursor:pointer}
.rec-checks input{width:1rem;height:1rem;accent-color:var(--primary)}

/* --- Reports --- */
.report-print-header{display:none}
.doctor-note{border-inline-start:4px solid var(--primary)}
.doctor-note h3{margin:0 0 .25rem;font-size:1rem}
.doctor-note__body{white-space:pre-wrap;margin:.5rem 0 0}
.doctor-note textarea{width:100%;min-height:5rem}
.report-period{display:inline-block;white-space:nowrap;font-variant-numeric:tabular-nums}
.report-note{display:inline-block;max-width:18rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;text-align:start}
.report-session h3{margin:0;font-size:.9375rem}
.report-dl{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem 1rem;margin:.75rem 0 0}
@media(min-width:768px){.report-dl{grid-template-columns:repeat(3,1fr)}}
.report-dl dt{font-size:.6875rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted-fg)}
.report-dl dd{margin:.125rem 0 0;font-size:.8125rem;font-weight:600}
.inline{display:inline}

/* --- Print: clinical sheet / report only --- */
@media print{
  .no-print,.sidebar,.topbar,.toast{display:none !important}
  body{background:#fff;color:#172B3A;font-size:10pt;line-height:1.4}
  .app,.content,main{display:block !important;padding:0 !important;margin:0 !important}
  .report-view{direction:rtl}
  .report-print-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;
    border-bottom:3px solid #0B2545;padding:0 0 1rem;margin-bottom:1rem}
  .report-print-header h1{margin:.2rem 0 .15rem;font-size:18pt;line-height:1.2;color:#0B2545}
  .report-print-header p{margin:0;color:#526575;font-size:9pt}
  .report-print-header__brand{font-size:9pt;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#2BA6DE}
  .report-print-header__meta{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;text-align:left;font-size:9pt;color:#526575}
  .report-print-header__meta strong{font-size:12pt;color:#0B2545}
  .report-summary{background:#F3F7FA !important;border:1px solid #C9D8E3 !important}
  .report-summary .flex{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
  .report-summary strong{display:block;margin-top:.15rem;color:#0B2545}
  .card{box-shadow:none;border:1px solid #C9D8E3;padding:.85rem;margin:0 0 .75rem;break-inside:avoid;page-break-inside:avoid}
  .card h3{color:#0B2545}
  .doctor-note{border-inline-start:4px solid #2BA6DE}
  .report-print-note{display:block !important}
  .report-files .table-wrap{margin-top:.25rem !important}
  .report-note{max-width:none;white-space:normal;overflow:visible;text-overflow:clip}
  .report-session{break-inside:auto;page-break-inside:auto}
  .report-session > .flex-between{border-bottom:1px solid #C9D8E3;padding-bottom:.4rem;margin-bottom:.5rem}
  .report-session h3{font-size:11pt}
  .report-dl{grid-template-columns:repeat(3,1fr);gap:.4rem .8rem;margin-top:.5rem}
  .report-dl dt{font-size:7.5pt;color:#526575}
  .report-dl dd{font-size:8.5pt}
  .table-wrap{overflow:visible;border:0;box-shadow:none}
  table{font-size:8.5pt}
  th{padding:.35rem .45rem;background:#EAF1F5 !important;color:#0B2545}
  td{padding:.35rem .45rem}
  thead{display:table-header-group}
  tr{page-break-inside:avoid}
  .rec-sheet input,.rec-sheet select,.rec-sheet textarea{border:0;background:transparent;color:#000;-webkit-appearance:none;appearance:none}
  .rec-table th,.rec-table td{border:1px solid #999}
  a[href]::after{content:""}
  @page{size:A4;margin:14mm 12mm 16mm}
}
