/* Platinum Family Hub — responsive RTL UI */
:root{
  --bg:#f5f7fb;
  --surface:#ffffff;
  --surface-2:#f0f3f8;
  --ink:#171b28;
  --muted:#6b7280;
  --line:#e6e9ef;
  --brand:#e12931;
  --brand-dark:#a90d18;
  --brand-soft:#fff0f1;
  --navy:#151926;
  --navy-2:#22283a;
  --gold:#f5b942;
  --green:#16a46b;
  --green-soft:#eafaf3;
  --blue:#3478f6;
  --blue-soft:#eef4ff;
  --orange:#f28b30;
  --orange-soft:#fff5e9;
  --danger:#d73a49;
  --danger-soft:#fff0f2;
  --shadow-sm:0 8px 24px rgba(25,31,48,.06);
  --shadow:0 20px 60px rgba(25,31,48,.10);
  --radius-sm:12px;
  --radius:20px;
  --radius-lg:28px;
  --sidebar:286px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  background:var(--bg);
  color:var(--ink);
  font-family:Tahoma,Arial,"Segoe UI",sans-serif;
  direction:rtl;
  -webkit-font-smoothing:antialiased;
}
body.no-scroll{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
.icon{display:inline-block;vertical-align:middle;flex:none}
.app-shell{min-height:100vh}
.sidebar{
  position:fixed;
  inset:0 auto 0 0;
  width:var(--sidebar);
  background:linear-gradient(180deg,var(--navy),#0c0f18);
  color:#fff;
  padding:20px 18px;
  z-index:50;
  display:flex;
  flex-direction:column;
  overflow:auto;
}
[dir="rtl"] .sidebar{right:0;left:auto}
.sidebar__brand{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:60px;
}
.brand img{width:190px;height:auto}
.sidebar__close{display:none;color:#fff}
.sidebar__player{
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px;
  margin:18px 0;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
}
.sidebar__player small{display:block;color:#aab1c4;margin-bottom:4px}
.sidebar__player strong{display:block;font-size:14px;line-height:1.5}
.sidebar__nav{display:flex;flex-direction:column;gap:5px}
.sidebar__nav a{
  min-height:48px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 13px;
  border-radius:13px;
  color:#cbd1df;
  font-size:14px;
  transition:.18s ease;
}
.sidebar__nav a:hover{background:rgba(255,255,255,.07);color:#fff}
.sidebar__nav a.is-active{
  background:linear-gradient(135deg,var(--brand),#f04d55);
  color:#fff;
  box-shadow:0 10px 25px rgba(225,41,49,.24);
}
.sidebar__footer{
  margin-top:auto;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.08);
  display:grid;
  gap:6px;
}
.sidebar__footer a{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;
  color:#cbd1df;
  font-size:13px;
}
.sidebar-backdrop{display:none}
.main{
  min-height:100vh;
  margin-right:var(--sidebar);
  display:flex;
  flex-direction:column;
}
.topbar{
  position:sticky;
  top:0;
  z-index:30;
  min-height:82px;
  padding:14px 30px;
  background:rgba(245,247,251,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(230,233,239,.85);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.topbar__start,.topbar__actions{display:flex;align-items:center;gap:14px}
.topbar h1{font-size:22px;margin:2px 0 0}
.eyebrow{font-size:11px;color:var(--brand);font-weight:800;letter-spacing:.5px}
.menu-btn{display:none}
.icon-btn{
  width:44px;height:44px;border:1px solid var(--line);border-radius:14px;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--surface);color:var(--ink);position:relative;
  transition:.16s ease;
}
.icon-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.has-badge .badge-count{
  position:absolute;top:-5px;left:-5px;
  min-width:20px;height:20px;padding:0 5px;border-radius:10px;
  background:var(--brand);color:#fff;border:2px solid var(--bg);
  font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;
}
.account-chip{
  display:flex;align-items:center;gap:9px;
  background:var(--surface);border:1px solid var(--line);
  padding:6px 8px 6px 13px;border-radius:16px;font-size:13px;font-weight:700;
}
.avatar{
  border-radius:50%;
  background:linear-gradient(135deg,var(--brand),#ff7a64);
  color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  overflow:hidden;flex:none;font-weight:900;
}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar--sm{width:34px;height:34px;font-size:11px}
.avatar--md{width:52px;height:52px;font-size:16px}
.avatar--lg{width:64px;height:64px;font-size:20px}
.avatar--xl{width:92px;height:92px;font-size:28px}
.child-select{
  height:46px;padding:5px 10px;
  display:flex;align-items:center;gap:8px;
  background:var(--surface);border:1px solid var(--line);border-radius:14px;
}
.child-select label{font-size:11px;color:var(--muted)}
.child-select select{border:0;background:transparent;outline:0;font-weight:700;color:var(--ink);max-width:150px}
.page-content{
  width:100%;
  max-width:1500px;
  margin:0 auto;
  padding:28px 30px 90px;
  flex:1;
}
.page-footer{
  padding:18px 30px 28px;
  display:flex;justify-content:space-between;gap:20px;
  font-size:12px;color:var(--muted);
}
.bottom-nav{display:none}
.alert{
  display:flex;align-items:center;gap:11px;
  border:1px solid var(--line);border-radius:15px;
  padding:13px 15px;margin-bottom:18px;background:#fff;
  box-shadow:var(--shadow-sm);font-size:13px;
}
.alert>div{flex:1}
.alert button{border:0;background:transparent;color:var(--muted);padding:0}
.alert--success{background:var(--green-soft);border-color:#cdeedf;color:#08764a}
.alert--warning{background:var(--orange-soft);border-color:#f9d9b5;color:#9a5314}
.alert--danger{background:var(--danger-soft);border-color:#f5cbd0;color:#a31d2a}
.alert--info{background:var(--blue-soft);border-color:#d4e2ff;color:#1f55ac}
.hero{
  position:relative;
  overflow:hidden;
  border-radius:var(--radius-lg);
  min-height:255px;
  padding:30px;
  color:#fff;
  background:
    radial-gradient(circle at 15% 10%,rgba(245,185,66,.23),transparent 32%),
    radial-gradient(circle at 90% 95%,rgba(225,41,49,.35),transparent 40%),
    linear-gradient(135deg,#111521,#242b41);
  box-shadow:var(--shadow);
}
.hero:before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:28px 28px;
  pointer-events:none;
}
.hero__content{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center}
.hero__identity{display:flex;gap:18px;align-items:center}
.hero__identity h2{font-size:28px;margin:0 0 7px}
.hero__identity p{margin:0;color:#c9cfdd;line-height:1.8}
.hero__tag{
  display:inline-flex;align-items:center;gap:7px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);
  border-radius:999px;padding:7px 11px;font-size:12px;margin-bottom:12px;
}
.hero__next{
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;padding:20px;
}
.hero__next small{color:#bcc4d5}
.hero__next h3{margin:8px 0 4px;font-size:20px}
.hero__next p{margin:0;color:#cbd1df;font-size:13px;line-height:1.7}
.countdown{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px
}
.countdown__item{
  background:rgba(0,0,0,.22);border-radius:13px;padding:9px;text-align:center
}
.countdown__item strong{font-size:20px;display:block}
.countdown__item span{font-size:10px;color:#c7cede}
.hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.btn{
  min-height:44px;
  border:0;border-radius:13px;
  padding:10px 16px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-weight:800;font-size:13px;
  transition:.16s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn--primary{background:linear-gradient(135deg,var(--brand),#f24d55);color:#fff;box-shadow:0 10px 24px rgba(225,41,49,.22)}
.btn--dark{background:var(--navy);color:#fff}
.btn--light{background:#fff;color:var(--ink)}
.btn--ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}
.btn--soft{background:var(--brand-soft);color:var(--brand)}
.btn--success{background:var(--green);color:#fff}
.btn--block{width:100%}
.btn--sm{min-height:36px;padding:7px 11px;font-size:12px;border-radius:10px}
.grid{display:grid;gap:18px}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}
.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mt-24{margin-top:24px}.mt-30{margin-top:30px}
.mb-0{margin-bottom:0}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}
.card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:20px;
  box-shadow:var(--shadow-sm);
}
.card--flat{box-shadow:none}
.card--dark{background:var(--navy);color:#fff;border-color:var(--navy)}
.card--accent{background:linear-gradient(135deg,var(--brand),#ff675a);color:#fff;border:0}
.card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}
.card__head h3{margin:0;font-size:17px}
.card__head p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.7}
.card__icon{
  width:48px;height:48px;border-radius:15px;
  display:flex;align-items:center;justify-content:center;
  background:var(--brand-soft);color:var(--brand);flex:none;
}
.kpi{
  background:var(--surface);border:1px solid var(--line);border-radius:18px;
  padding:18px;box-shadow:var(--shadow-sm);
  display:flex;align-items:center;gap:14px;min-height:112px;
}
.kpi__icon{
  width:52px;height:52px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  background:var(--blue-soft);color:var(--blue);flex:none
}
.kpi--green .kpi__icon{background:var(--green-soft);color:var(--green)}
.kpi--orange .kpi__icon{background:var(--orange-soft);color:var(--orange)}
.kpi--red .kpi__icon{background:var(--danger-soft);color:var(--danger)}
.kpi__body{min-width:0}
.kpi__body small{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}
.kpi__body strong{display:block;font-size:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi__body span{font-size:11px;color:var(--muted)}
.section-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:18px;
  margin:30px 0 16px;
}
.section-head h2{font-size:20px;margin:0}
.section-head p{font-size:12px;color:var(--muted);margin:5px 0 0;line-height:1.7}
.text-link{color:var(--brand);font-size:12px;font-weight:800;display:inline-flex;align-items:center;gap:4px}
.action-card{
  padding:18px;border-radius:18px;border:1px solid var(--line);background:#fff;
  display:flex;align-items:center;gap:14px;transition:.16s ease;
}
.action-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:#d8dce5}
.action-card__icon{
  width:52px;height:52px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  background:var(--surface-2);color:var(--navy);flex:none;
}
.action-card h3{font-size:14px;margin:0 0 5px}
.action-card p{font-size:11px;color:var(--muted);margin:0;line-height:1.6}
.action-card .chev{margin-right:auto;color:#9ba2b2}
.task-list{display:grid;gap:10px}
.task{
  border:1px solid var(--line);border-radius:15px;padding:14px;
  display:flex;align-items:flex-start;gap:12px;background:#fff
}
.task__dot{width:10px;height:10px;border-radius:50%;background:var(--orange);margin-top:6px;flex:none}
.task--high .task__dot{background:var(--danger)}
.task__body{flex:1}
.task h4{margin:0 0 5px;font-size:13px}
.task p{margin:0;color:var(--muted);font-size:11px;line-height:1.7}
.progress-row{margin-bottom:15px}
.progress-row:last-child{margin-bottom:0}
.progress-row__head{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:8px}
.progress-row__head strong{color:var(--brand)}
.progress{height:9px;border-radius:999px;background:#edf0f5;overflow:hidden}
.progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),#ff745f)}
.timeline{position:relative;padding-right:28px}
.timeline:before{content:"";position:absolute;right:8px;top:6px;bottom:6px;width:2px;background:var(--line)}
.timeline__item{position:relative;padding:0 0 22px}
.timeline__item:last-child{padding-bottom:0}
.timeline__dot{
  position:absolute;right:-27px;top:2px;width:18px;height:18px;border-radius:50%;
  background:#fff;border:4px solid var(--brand);box-shadow:0 0 0 4px var(--brand-soft)
}
.timeline__card{
  background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;
  display:flex;gap:12px;align-items:flex-start
}
.timeline__icon{width:38px;height:38px;border-radius:12px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--brand);flex:none}
.timeline__body{flex:1}
.timeline__body h4{font-size:13px;margin:0 0 5px}
.timeline__body p{font-size:11px;color:var(--muted);line-height:1.7;margin:0}
.timeline__date{font-size:10px;color:#9299a8;white-space:nowrap}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:17px;background:#fff}
.data-table{width:100%;border-collapse:collapse;min-width:720px}
.data-table th,.data-table td{padding:14px 15px;text-align:right;border-bottom:1px solid var(--line);font-size:12px;vertical-align:middle}
.data-table th{background:#f8f9fc;color:#5e6677;font-weight:800;white-space:nowrap}
.data-table tr:last-child td{border-bottom:0}
.data-table tbody tr:hover{background:#fbfcfe}
.mobile-list{display:none}
.list-card{
  background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;
}
.list-card__top{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}
.list-card__top h3{margin:0;font-size:14px}
.meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.meta-item{padding:9px 10px;background:var(--surface-2);border-radius:11px}
.meta-item small{display:block;color:var(--muted);font-size:10px;margin-bottom:3px}
.meta-item strong{font-size:12px}
.status{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:26px;padding:4px 9px;border-radius:999px;font-size:10px;font-weight:800;
  background:var(--surface-2);color:var(--muted)
}
.status--success{background:var(--green-soft);color:#08764a}
.status--warning{background:var(--orange-soft);color:#a55e1d}
.status--danger{background:var(--danger-soft);color:#aa2532}
.status--info{background:var(--blue-soft);color:#245bb8}
.status--muted{background:var(--surface-2);color:#697182}
.empty-state{
  min-height:250px;padding:35px;text-align:center;
  background:#fff;border:1px dashed #ccd2dd;border-radius:20px;
  display:flex;align-items:center;justify-content:center;flex-direction:column;
}
.empty-state__icon{width:66px;height:66px;border-radius:20px;background:var(--brand-soft);color:var(--brand);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.empty-state h3{margin:0 0 8px;font-size:17px}
.empty-state p{margin:0 0 18px;color:var(--muted);font-size:12px;line-height:1.8;max-width:500px}
.form-card{max-width:850px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-group{display:grid;gap:7px}
.form-group--full{grid-column:1/-1}
.form-group label{font-size:12px;font-weight:800}
.form-group .hint{font-size:10px;color:var(--muted);line-height:1.6}
.input,.select,.textarea{
  width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);
  border-radius:13px;min-height:46px;padding:10px 13px;outline:0;
  transition:.15s ease;font-size:13px
}
.textarea{min-height:120px;resize:vertical}
.input:focus,.select:focus,.textarea:focus{border-color:#ef8b91;box-shadow:0 0 0 4px var(--brand-soft)}
.form-actions{display:flex;gap:10px;align-items:center;margin-top:18px}
.tabs{display:flex;gap:8px;overflow:auto;margin-bottom:18px;padding-bottom:4px}
.tab{
  border:1px solid var(--line);background:#fff;color:var(--muted);
  padding:10px 14px;border-radius:12px;white-space:nowrap;font-size:12px;font-weight:800
}
.tab.is-active{background:var(--navy);color:#fff;border-color:var(--navy)}
.badge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.badge-card{
  border:1px solid var(--line);background:#fff;border-radius:20px;padding:20px;text-align:center;
  position:relative;overflow:hidden;box-shadow:var(--shadow-sm)
}
.badge-card:before{content:"";position:absolute;inset:auto -30px -50px; height:100px;background:radial-gradient(circle,var(--brand-soft),transparent 70%)}
.badge-card__icon{
  position:relative;width:76px;height:76px;border-radius:50%;margin:0 auto 14px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#fff7d8,#f4bd45);color:#8b5d00;border:7px solid #fff4c5;
}
.badge-card h3{position:relative;margin:0 0 6px;font-size:14px}
.badge-card p{position:relative;margin:0;color:var(--muted);font-size:11px;line-height:1.7}
.badge-card__points{position:relative;margin-top:12px;color:var(--brand);font-weight:900;font-size:12px}
.challenge-card{
  background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow-sm)
}
.challenge-card__top{display:flex;gap:13px;align-items:flex-start}
.challenge-card__icon{width:55px;height:55px;border-radius:17px;background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center}
.challenge-card h3{margin:0 0 6px;font-size:15px}
.challenge-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.7}
.day-checks{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:16px}
.day-check{
  aspect-ratio:1;border-radius:12px;border:1px solid var(--line);background:#fff;
  display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:var(--muted)
}
.day-check.is-done{background:var(--green);border-color:var(--green);color:#fff}
.schedule-week{display:grid;grid-template-columns:repeat(7,minmax(160px,1fr));gap:12px;overflow:auto;padding-bottom:8px}
.day-column{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;min-height:230px}
.day-column.is-today{border-color:#ef8b91;box-shadow:0 0 0 3px var(--brand-soft)}
.day-column__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.day-column__head h3{font-size:13px;margin:0}
.day-column__head span{font-size:10px;color:var(--muted)}
.training-slot{background:var(--surface-2);border-radius:13px;padding:11px;margin-bottom:9px;border-right:4px solid var(--brand)}
.training-slot h4{font-size:12px;margin:0 0 5px}
.training-slot p{font-size:10px;color:var(--muted);margin:2px 0;line-height:1.6}
.score-ring{
  --value:0;
  width:128px;height:128px;border-radius:50%;
  background:conic-gradient(var(--brand) calc(var(--value)*1%),#edf0f5 0);
  display:grid;place-items:center;position:relative
}
.score-ring:before{content:"";width:96px;height:96px;border-radius:50%;background:#fff}
.score-ring__value{position:absolute;text-align:center}
.score-ring__value strong{display:block;font-size:25px}
.score-ring__value span{font-size:10px;color:var(--muted)}
.chart-shell{padding:18px;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}
.chart-shell svg{width:100%;height:auto;min-height:260px}
.chart-grid line{stroke:#e8ebf1;stroke-width:1}
.chart-line{fill:none;stroke:var(--brand);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.chart-area{fill:url(#chartGradient)}
.chart-dot{fill:#fff;stroke:var(--brand);stroke-width:3}
.notifications-list{display:grid;gap:10px}
.notification{
  display:flex;gap:13px;align-items:flex-start;
  background:#fff;border:1px solid var(--line);border-radius:17px;padding:15px
}
.notification.is-unread{border-right:4px solid var(--brand);background:#fffafb}
.notification__icon{width:42px;height:42px;border-radius:13px;background:var(--brand-soft);color:var(--brand);display:flex;align-items:center;justify-content:center;flex:none}
.notification__body{flex:1}
.notification h3{font-size:13px;margin:0 0 5px}
.notification p{font-size:11px;color:var(--muted);line-height:1.7;margin:0}
.notification time{font-size:10px;color:#9299a8}
.chat-layout{display:grid;grid-template-columns:320px 1fr;min-height:620px;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden}
.chat-threads{border-left:1px solid var(--line);padding:12px;overflow:auto}
.thread{display:block;padding:13px;border-radius:14px;margin-bottom:5px}
.thread:hover,.thread.is-active{background:var(--surface-2)}
.thread h3{font-size:12px;margin:0 0 5px}
.thread p{font-size:10px;color:var(--muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-main{display:flex;flex-direction:column}
.chat-header{padding:16px 18px;border-bottom:1px solid var(--line)}
.chat-header h3{margin:0;font-size:14px}
.chat-messages{flex:1;padding:20px;overflow:auto;background:#f8f9fc}
.bubble{max-width:75%;padding:11px 13px;border-radius:15px;margin-bottom:10px;font-size:12px;line-height:1.8}
.bubble--parent{margin-right:auto;background:var(--navy);color:#fff;border-bottom-left-radius:4px}
.bubble--staff{margin-left:auto;background:#fff;border:1px solid var(--line);border-bottom-right-radius:4px}
.bubble time{display:block;font-size:9px;opacity:.65;margin-top:4px}
.chat-compose{padding:12px;border-top:1px solid var(--line);display:flex;gap:8px}
.chat-compose textarea{min-height:46px;max-height:130px;resize:vertical}
.document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.document-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;display:flex;gap:13px;align-items:flex-start}
.document-card__icon{width:48px;height:48px;border-radius:14px;background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center}
.document-card h3{margin:0 0 5px;font-size:13px}
.document-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.6}
.document-card__actions{margin-right:auto;display:flex;gap:5px}
.profile-summary{display:flex;align-items:center;gap:18px}
.profile-summary h2{margin:0 0 6px;font-size:22px}
.profile-summary p{margin:0;color:var(--muted);font-size:12px;line-height:1.7}
.info-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.info-item{background:var(--surface-2);border-radius:13px;padding:12px}
.info-item small{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}
.info-item strong{font-size:12px;word-break:break-word}
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.service-card{
  background:#fff;border:1px solid var(--line);border-radius:19px;padding:18px;
  display:block;transition:.16s ease;min-height:150px
}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);border-color:#d9dde6}
.service-card__icon{width:48px;height:48px;border-radius:15px;background:var(--brand-soft);color:var(--brand);display:flex;align-items:center;justify-content:center;margin-bottom:15px}
.service-card h3{font-size:14px;margin:0 0 6px}
.service-card p{font-size:10px;line-height:1.7;color:var(--muted);margin:0}
.login-page{
  min-height:100vh;background:
  radial-gradient(circle at 20% 15%,rgba(225,41,49,.22),transparent 30%),
  radial-gradient(circle at 85% 85%,rgba(245,185,66,.17),transparent 32%),
  linear-gradient(135deg,#0d1018,#20263a);
  display:grid;place-items:center;padding:24px;
}
.login-shell{
  width:min(1050px,100%);
  display:grid;grid-template-columns:1.05fr .95fr;
  background:#fff;border-radius:30px;overflow:hidden;box-shadow:0 35px 100px rgba(0,0,0,.28);
}
.login-visual{
  min-height:650px;padding:42px;
  background:
    linear-gradient(180deg,rgba(14,17,27,.25),rgba(14,17,27,.9)),
    radial-gradient(circle at 30% 20%,rgba(225,41,49,.55),transparent 28%),
    linear-gradient(135deg,#1b2030,#090b11);
  color:#fff;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;
}
.login-visual:after{
  content:"";position:absolute;width:360px;height:360px;border:70px solid rgba(255,255,255,.035);border-radius:50%;left:-130px;bottom:-130px
}
.login-visual img{width:240px;position:relative;z-index:2}
.login-copy{position:relative;z-index:2;max-width:430px}
.login-copy .pill{display:inline-flex;gap:7px;align-items:center;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.07);border-radius:999px;padding:8px 12px;font-size:11px}
.login-copy h1{font-size:38px;line-height:1.35;margin:16px 0 12px}
.login-copy p{color:#cbd1df;line-height:1.9;font-size:13px}
.login-features{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;position:relative;z-index:2}
.login-feature{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);border-radius:15px;padding:12px;font-size:11px;display:flex;align-items:center;gap:8px}
.login-form{padding:55px 50px;display:flex;flex-direction:column;justify-content:center}
.login-form__head{margin-bottom:26px}
.login-form__head h2{font-size:27px;margin:0 0 8px}
.login-form__head p{margin:0;color:var(--muted);font-size:12px;line-height:1.7}
.password-field{position:relative}
.password-field .input{padding-left:48px}
.password-toggle{position:absolute;left:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--muted);width:36px;height:36px}
.login-links{display:flex;justify-content:space-between;gap:12px;font-size:11px;margin:10px 0 20px}
.login-links a{color:var(--brand);font-weight:800}
.security-note{margin-top:18px;padding:12px;background:var(--green-soft);border-radius:13px;color:#08764a;font-size:10px;line-height:1.7;display:flex;gap:8px}
.points-hero{
  background:linear-gradient(135deg,#f9c74f,#f29e2e);color:#3d2900;border-radius:22px;padding:24px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;overflow:hidden
}
.points-hero:after{content:"★";position:absolute;font-size:150px;opacity:.08;left:18px;top:-35px}
.points-hero strong{font-size:36px;display:block}
.points-hero span{font-size:12px}
.digital-card{
  max-width:650px;margin:auto;aspect-ratio:1.7/1;border-radius:28px;padding:28px;color:#fff;
  background:
    radial-gradient(circle at 85% 15%,rgba(245,185,66,.35),transparent 25%),
    linear-gradient(135deg,#10141f,#292f45);
  position:relative;overflow:hidden;box-shadow:var(--shadow)
}
.digital-card:before{content:"";position:absolute;inset:0;background-image:linear-gradient(45deg,transparent 45%,rgba(255,255,255,.04) 46%,rgba(255,255,255,.04) 48%,transparent 49%);background-size:24px 24px}
.digital-card>*{position:relative;z-index:2}
.digital-card__top{display:flex;justify-content:space-between;align-items:flex-start}
.digital-card__top img{width:170px}
.digital-card__body{display:flex;gap:20px;align-items:center;margin-top:35px}
.digital-card h2{font-size:25px;margin:0 0 8px}
.digital-card p{margin:4px 0;color:#cbd1df;font-size:12px}
.qr-placeholder{margin-right:auto;width:104px;height:104px;background:#fff;color:#111;border-radius:12px;padding:9px;display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.qr-placeholder i{display:block;background:#111}
@media(max-width:1250px){
  .grid--5{grid-template-columns:repeat(3,1fr)}
  .grid--4,.service-grid{grid-template-columns:repeat(3,1fr)}
  .badge-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:1024px){
  :root{--sidebar:270px}
  .sidebar{transform:translateX(105%);transition:.22s ease;box-shadow:var(--shadow)}
  [dir="rtl"] .sidebar{transform:translateX(105%)}
  .sidebar.is-open{transform:translateX(0)}
  .sidebar__close,.menu-btn{display:inline-flex}
  .sidebar-backdrop{position:fixed;inset:0;background:rgba(4,7,12,.55);z-index:45}
  .sidebar-backdrop.is-open{display:block}
  .main{margin-right:0}
  .hero__content{grid-template-columns:1fr}
  .grid--4,.service-grid{grid-template-columns:repeat(2,1fr)}
  .grid--3{grid-template-columns:repeat(2,1fr)}
  .badge-grid{grid-template-columns:repeat(2,1fr)}
  .document-grid{grid-template-columns:repeat(2,1fr)}
  .chat-layout{grid-template-columns:280px 1fr}
}
@media(max-width:760px){
  body{padding-bottom:76px}
  .topbar{min-height:68px;padding:10px 15px}
  .topbar h1{font-size:17px}
  .eyebrow,.account-chip span:not(.avatar),.child-select label{display:none}
  .child-select{padding:5px 7px}
  .child-select select{max-width:105px;font-size:11px}
  .page-content{padding:18px 14px 30px}
  .page-footer{display:none}
  .bottom-nav{
    position:fixed;bottom:0;right:0;left:0;height:72px;
    background:rgba(255,255,255,.96);backdrop-filter:blur(14px);
    border-top:1px solid var(--line);z-index:35;
    display:flex;align-items:stretch;justify-content:space-around;
    padding-bottom:env(safe-area-inset-bottom);
    overflow-x:auto
  }
  .bottom-nav a{
    min-width:68px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:4px;color:#8b92a0;font-size:9px;font-weight:700;position:relative
  }
  .bottom-nav a.is-active{color:var(--brand)}
  .bottom-nav a.is-active:before{content:"";position:absolute;top:0;width:32px;height:3px;border-radius:0 0 4px 4px;background:var(--brand)}
  .hero{padding:21px;min-height:auto;border-radius:22px}
  .hero__identity{align-items:flex-start}
  .hero__identity h2{font-size:21px}
  .hero__identity p{font-size:11px}
  .hero__content{gap:18px}
  .hero__next h3{font-size:17px}
  .grid--2,.grid--3,.grid--4,.grid--5,.service-grid,.badge-grid,.document-grid{grid-template-columns:1fr}
  .kpi{min-height:96px}
  .section-head{align-items:flex-start;margin-top:24px}
  .section-head h2{font-size:17px}
  .table-wrap{display:none}
  .mobile-list{display:grid;gap:10px}
  .form-grid{grid-template-columns:1fr}
  .form-group--full{grid-column:auto}
  .login-page{padding:0;background:#fff;display:block}
  .login-shell{display:block;border-radius:0;box-shadow:none;min-height:100vh}
  .login-visual{min-height:260px;padding:26px 22px}
  .login-visual img{width:180px}
  .login-copy h1{font-size:25px;margin-top:12px}
  .login-copy p{display:none}
  .login-features{display:none}
  .login-form{padding:30px 22px 45px}
  .login-form__head h2{font-size:23px}
  .chat-layout{display:block;min-height:auto}
  .chat-threads{border-left:0;border-bottom:1px solid var(--line);max-height:230px}
  .chat-main{min-height:520px}
  .bubble{max-width:88%}
  .profile-summary{align-items:flex-start}
  .info-list{grid-template-columns:1fr}
  .points-hero{align-items:flex-start}
  .points-hero strong{font-size:28px}
  .digital-card{aspect-ratio:auto;min-height:390px;padding:22px}
  .digital-card__body{align-items:flex-start;flex-wrap:wrap}
  .qr-placeholder{margin-right:0}
}
@media(max-width:430px){
  .topbar__actions{gap:7px}
  .icon-btn{width:40px;height:40px;border-radius:12px}
  .child-select{height:40px}
  .account-chip{display:none}
  .hero__identity{display:block}
  .hero__identity .avatar{margin-bottom:12px}
  .countdown__item strong{font-size:17px}
  .meta-grid{grid-template-columns:1fr}
  .day-checks{gap:4px}
  .day-check{border-radius:9px}
}
@media print{
  .sidebar,.topbar,.bottom-nav,.page-footer,.no-print{display:none!important}
  .main{margin:0}
  .page-content{padding:0;max-width:none}
  body{background:#fff}
  .card,.hero,.digital-card{box-shadow:none}
}
