/* بحر — تجاوزات الشخصية: أمواج، تدرجات تيل ناعمة، ظلال مائية ملوّنة، دوائر إنجاز */
body{background:
  radial-gradient(640px 460px at 100% 0,#CDEFEA 0,transparent 70%),
  radial-gradient(700px 520px at 0 40%,#D4E8FF 0,transparent 70%),
  radial-gradient(640px 480px at 80% 110%,#CFF3E6 0,transparent 70%),#EAF6F5;background-attachment:fixed}
h1,h2,h3,h4{font-weight:700}
.btn-primary{background:linear-gradient(135deg,#0E8D95 0%,#0B7A82 55%,#096A71 100%)}
.btn-primary:hover,.btn-primary.is-hover{background:linear-gradient(135deg,#10999F,#0C8089 55%,#0A727A);transform:translateY(-1px)}
.btn-secondary{background:#fff;box-shadow:0 6px 16px -8px rgba(11,122,130,.3);border-color:transparent}.btn-secondary:hover,.btn-secondary.is-hover{box-shadow:0 10px 20px -8px rgba(11,122,130,.38)}
.btn-outline{border-color:#8FBFBC;color:var(--primary-text)}.btn-outline:hover,.btn-outline.is-hover{background:var(--primary-soft);border-color:var(--primary)}
.btn-ghost:hover,.btn-ghost.is-hover{background:rgba(255,255,255,.7)}
.btn-danger{background:var(--danger-soft);border-color:transparent}
.btn-coral{background:linear-gradient(135deg,#FF9A85,#FF7A66);color:#3A0F08;box-shadow:0 10px 22px -10px rgba(255,122,102,.9)}
.btn[disabled],.btn.is-disabled{background:#D9EEEC;color:#6F9693;box-shadow:none;opacity:1}
.card{transition:transform var(--dur) var(--ease),box-shadow var(--dur)}.card:hover{box-shadow:var(--sh-2)}
.input,.select,.textarea{border-width:1.5px}
.badge{font-weight:600}
.chip{border-width:1.5px;border-color:#BBDCD9;font-weight:600}.chip[aria-pressed=true]{background:var(--primary);color:#fff;border-color:var(--primary)}
.tabs{background:rgba(255,255,255,.6);border:1px solid var(--border)}.tab{font-weight:600}
.tabs-line .tab[aria-selected=true]{color:var(--primary-text);border-color:var(--primary)}
.avatar{background:linear-gradient(135deg,#D3F0EE,#CFE3FF);color:var(--primary-text);font-weight:700}
.avatar.c1{background:linear-gradient(135deg,#0E8D95,#0B7A82);color:#fff}.avatar.c2{background:linear-gradient(135deg,#FF9A85,#FF7A66);color:#3A0F08}.avatar.c3{background:linear-gradient(135deg,#7FD1F2,#2F80ED);color:#fff}.avatar.c4{background:linear-gradient(135deg,#B5A9FF,#7F6BF0);color:#fff}
.popup,.menu,.tabbar,.topbar,.notif,.modal{box-shadow:var(--sh-2);border-color:transparent}
.popup-ic{border-radius:50%;box-shadow:0 0 0 8px rgba(11,122,130,.07)}
.popup-ic.ok{box-shadow:0 0 0 8px rgba(8,114,74,.08)}.popup-ic.bad{box-shadow:0 0 0 8px rgba(176,42,56,.08)}.popup-ic.warn{box-shadow:0 0 0 8px rgba(255,200,87,.2)}
.alert{border-radius:20px}
.progress{height:10px;background:#D9EEEC}.progress>i{background:linear-gradient(90deg,#5BC0EB,#0B7A82)}.progress.ok>i{background:linear-gradient(90deg,#5DD4B3,#08724A)}.progress.warn>i{background:linear-gradient(90deg,#FFE08A,#FFC857)}.progress.bad>i{background:linear-gradient(90deg,#FFA9A3,#E5484D)}
.ring{--ring-color:#0B7A82}.ring.warn{--ring-color:#FFC857}
.table th{background:var(--surface-2);color:var(--text-3);font-weight:600;border-bottom:0}.table th:first-child{border-radius:0 14px 14px 0}.table th:last-child{border-radius:14px 0 0 14px}
.table td{border-bottom:1px solid var(--border)}.table tbody tr:hover td{background:var(--surface-2)}
.stat .stat-value{font-weight:800;letter-spacing:-.02em}
.c-bar{rx:12}.c-line{stroke-width:3.4}.c-dot{stroke-width:4}
.c-d0{stroke:#0B7A82}.c-d1{stroke:#FF7A66}.c-d2{stroke:#5BC0EB}.c-d3{stroke:#FFC857}
.c-gval{stroke:#0B7A82}.c-gtrack,.c-track{stroke:#D9EEEC}
.li-ic{border-radius:16px;background:linear-gradient(135deg,#D3F0EE,#CFE3FF);color:var(--primary-text)}
.tabbar .it.on{background:linear-gradient(135deg,#0E8D95,#0B7A82);color:#fff}
.step.done b,.page.on,.cal-grid .sel,.wheel .on{background:linear-gradient(135deg,#0E8D95,#0B7A82);color:#fff}
.upload,.empty{background:rgba(255,255,255,.6);border:2px dashed #8FBFBC;border-radius:26px}
.skeleton{background:linear-gradient(90deg,#E1F3F1 25%,#fff 50%,#E1F3F1 75%);background-size:200% 100%}
.sb-toc{background:rgba(255,255,255,.65);backdrop-filter:blur(12px)}
.wave{display:block;width:100%;height:auto}
