:root{--paper: #edf3ec;--card: #fcfefb;--ink: #1e2b23;--muted: #64796c;--faint: #8fa296;--line: #d9e6da;--hairline: #e6efe6;--green-950: #183826;--green-900: #1f4630;--green: #32754c;--green-strong: #285e3d;--sage: #cfe4d1;--sage-soft: #e3eee2;--accent: #4a9078;--amber: #a8712f;--amber-bg: #f5ecdc;--red: #b05454;--red-bg: #f6e7e7;--r-card: 18px;--r-ctl: 12px;--shadow-sm: 0 1px 2px rgba(31, 70, 48, .05);--shadow: 0 1px 2px rgba(31, 70, 48, .05), 0 10px 30px -12px rgba(31, 70, 48, .16);--shadow-pop: 0 24px 60px -16px rgba(24, 56, 38, .35);--font-body: "Assistant", "Segoe UI", Arial, sans-serif;--font-display: "Suez One", "Assistant", serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--paper);color:var(--ink);direction:rtl;min-height:100vh;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:14.5px;color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.app-shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}.sidebar{background:linear-gradient(178deg,var(--green-900) 0%,var(--green) 115%);color:var(--sage);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:22px 14px 16px}.sidebar .brand{padding:2px 10px 20px;border-bottom:1px solid rgba(207,228,209,.16);margin-bottom:14px}.sidebar .brand .figure{width:128px;display:block;margin-bottom:10px}.sidebar .brand .wordmark{width:128px;display:block}.sidebar .brand .tagline{font-size:11.5px;letter-spacing:.08em;opacity:.7;margin-top:7px}.sidebar nav{flex:1;display:flex;flex-direction:column;gap:3px}.side-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border:none;background:none;border-radius:var(--r-ctl);color:#dfeee0d1;font-size:15px;text-align:right;transition:background .15s,color .15s}.side-link svg{flex:0 0 auto;opacity:.85}.side-link:hover{background:#ffffff12;color:#fff}.side-link.active{background:#dfeee024;color:#fff;font-weight:600}.sidebar .foot{border-top:1px solid rgba(207,228,209,.16);padding-top:12px}.sidebar .foot .side-link{font-size:14px}.content{min-width:0;display:flex;flex-direction:column}.page-head{display:flex;align-items:center;gap:14px;padding:30px 34px 0;max-width:1120px;width:100%;margin:0 auto}.page-head h1{font-family:var(--font-display);font-weight:400;font-size:27px;color:var(--green-900);letter-spacing:.01em}.page-head .sub{color:var(--muted);font-size:14px;margin-top:2px}main{padding:20px 34px 96px;max-width:1120px;width:100%;margin:0 auto}.mobile-top{display:none;background:var(--green-900);color:var(--sage);padding:12px 18px;align-items:center;gap:12px}.mobile-top .figure{height:34px}.mobile-top .wordmark{height:15px;display:block}.mobile-top .spacer{flex:1}.mobile-top .icon-btn{background:none;border:none;color:var(--sage);padding:6px}.bottom-nav{display:none;position:fixed;bottom:0;right:0;left:0;background:color-mix(in srgb,var(--card) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:40;padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;color:var(--faint);font-size:10.5px;padding:4px 0;border-radius:10px}.bottom-nav button.active{color:var(--green);font-weight:600}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.mobile-top,.bottom-nav{display:flex}.page-head{padding:20px 18px 0}main{padding:14px 18px 96px}.page-head h1{font-size:23px}}.btn{display:inline-flex;align-items:center;gap:8px;border:none;border-radius:var(--r-ctl);padding:10px 18px;font-size:14.5px;font-weight:600;background:var(--green);color:#fff;box-shadow:var(--shadow-sm);transition:background .15s,transform .1s}.btn:hover{background:var(--green-strong)}.btn:active{transform:translateY(1px)}.btn svg{width:17px;height:17px}.btn.secondary{background:var(--sage-soft);color:var(--green-900);box-shadow:none}.btn.secondary:hover{background:var(--sage)}.btn.ghost{background:transparent;color:var(--green);box-shadow:none}.btn.ghost:hover{background:var(--sage-soft)}.btn.danger{background:var(--red-bg);color:var(--red);box-shadow:none}.btn.danger:hover{background:#f0dcdc}.btn.small{padding:6px 13px;font-size:13px;border-radius:10px}.btn:disabled{opacity:.6;cursor:default}input[type=text],input[type=search],input[type=date],input[type=time],input[type=number],input[type=tel],input[type=email],input[type=password],select,textarea{padding:9px 13px;border:1.5px solid var(--line);border-radius:var(--r-ctl);background:var(--card);transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.toolbar .search-wrap{position:relative}.toolbar .search-wrap svg{position:absolute;top:50%;right:11px;transform:translateY(-50%);width:16px;height:16px;color:var(--faint);pointer-events:none}.toolbar .search-wrap input{padding-right:34px;min-width:220px}.toolbar select{min-width:150px}.toolbar .total{font-family:var(--font-display);font-size:16px;color:var(--green-900)}.spacer{flex:1}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:14px;margin-bottom:22px}.stat{background:var(--card);border:1px solid var(--hairline);border-radius:var(--r-card);padding:16px 18px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:10px}.stat .chip{width:34px;height:34px;border-radius:10px;background:var(--sage-soft);color:var(--green);display:flex;align-items:center;justify-content:center}.stat .chip svg{width:18px;height:18px}.stat .num{font-family:var(--font-display);font-size:27px;line-height:1;color:var(--green-900);font-variant-numeric:tabular-nums}.stat .label{font-size:13px;color:var(--muted);margin-top:-4px}.panel{background:var(--card);border:1px solid var(--hairline);border-radius:var(--r-card);padding:20px;box-shadow:var(--shadow-sm);margin-bottom:18px}.panel>h3{display:flex;align-items:center;gap:9px;font-size:15.5px;font-weight:700;margin-bottom:12px;color:var(--green-900)}.panel>h3 svg{width:18px;height:18px;color:var(--accent)}.panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}.alert-item{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 2px;border-bottom:1px solid var(--hairline);font-size:14px}.alert-item:last-child{border-bottom:none}.alert-item .meta{color:var(--muted);font-size:13px;white-space:nowrap}.empty{color:var(--faint);font-size:14px;padding:10px 0}.table-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--hairline);border-radius:var(--r-card);box-shadow:var(--shadow-sm)}table{width:100%;border-collapse:collapse;font-size:14.5px}th{text-align:right;padding:13px 16px 9px;color:var(--muted);font-size:12.5px;font-weight:700;letter-spacing:.02em;border-bottom:1.5px solid var(--line);white-space:nowrap}td{padding:12px 16px;border-top:1px solid var(--hairline);vertical-align:middle;font-variant-numeric:tabular-nums}tbody tr:first-child td{border-top:none}tbody tr{transition:background .12s}tbody tr:hover{background:color-mix(in srgb,var(--sage-soft) 55%,transparent)}tr.clickable{cursor:pointer}td .name-link{font-weight:700;color:var(--green-900)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:999px;font-size:12.5px;font-weight:600;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.75}.badge.pregnant{background:var(--sage);color:var(--green-900)}.badge.postpartum{background:#ddeee9;color:var(--accent)}.badge.inactive{background:#e9e9e4;color:var(--muted)}.badge.active{background:var(--sage);color:var(--green-900)}.badge.done{background:#e9e9e4;color:var(--muted)}.badge.expired{background:var(--red-bg);color:var(--red)}.progress{background:var(--sage-soft);border-radius:8px;height:7px;min-width:70px;overflow:hidden}.progress>div{height:100%;background:var(--accent);border-radius:8px;transition:width .3s}.progress.low>div{background:var(--amber)}.back-link{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--muted);font-size:14px;padding:4px 2px;border-radius:8px}.back-link:hover{color:var(--green)}.back-link svg{width:16px;height:16px}.client-hero{background:radial-gradient(circle at 8% -40%,color-mix(in srgb,var(--sage) 55%,transparent),transparent 52%),var(--card);border:1px solid var(--hairline);border-radius:var(--r-card);box-shadow:var(--shadow);padding:24px;display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-bottom:18px}.avatar{width:64px;height:64px;border-radius:50%;background:var(--green);color:var(--sage);font-family:var(--font-display);font-size:24px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;letter-spacing:.02em}.client-hero .who{flex:1 1 240px;min-width:0}.client-hero h1{font-family:var(--font-display);font-weight:400;font-size:26px;color:var(--green-900);line-height:1.2}.client-hero .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.contact-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--green-900);font-size:13px;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s}.contact-chip svg{width:15px;height:15px;color:var(--accent)}.contact-chip:hover{border-color:var(--accent);background:var(--sage-soft)}.hero-stats{display:flex;gap:26px;padding:6px 4px;flex:0 1 auto}.hero-stat{text-align:center;min-width:74px}.hero-stat .num{font-family:var(--font-display);font-size:24px;color:var(--green-900);line-height:1.15;font-variant-numeric:tabular-nums}.hero-stat .num.warn{color:var(--amber)}.hero-stat .label{font-size:12px;color:var(--muted)}.client-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.client-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:16px;align-items:start}@media(max-width:900px){.client-grid{grid-template-columns:1fr}.client-hero{padding:18px;gap:16px}.hero-stats{width:100%;justify-content:space-around;border-top:1px solid var(--hairline);padding-top:14px}}.info-row{display:flex;gap:10px;padding:7px 0;font-size:14.5px;align-items:baseline}.info-row .k{color:var(--muted);font-size:13px;min-width:108px;flex:0 0 auto}.info-row .v{min-width:0}.note-block{background:var(--amber-bg);border-radius:12px;padding:10px 14px;font-size:14px;color:#6d4d1f;margin-top:4px}.timeline{position:relative;padding-right:18px}.timeline:before{content:"";position:absolute;right:5px;top:8px;bottom:8px;width:2px;background:var(--sage);border-radius:2px}.timeline-item{position:relative;padding:7px 12px 7px 0;font-size:14px;display:flex;justify-content:space-between;gap:10px}.timeline-item:before{content:"";position:absolute;right:-17.5px;top:14px;width:9px;height:9px;border-radius:50%;background:var(--accent);border:2px solid var(--card)}.timeline-item .meta{color:var(--muted);font-size:13px;white-space:nowrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#182b2073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:48px 16px;z-index:50;overflow-y:auto;animation:fade-in .15s ease-out}.modal{background:var(--card);border-radius:20px;width:100%;max-width:580px;padding:26px;box-shadow:var(--shadow-pop);animation:pop-in .18s ease-out}.modal h2{font-family:var(--font-display);font-weight:400;font-size:21px;color:var(--green-900);margin-bottom:18px}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(10px) scale(.985)}}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid .full{grid-column:1 / -1}.field label{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:5px}.field input,.field select,.field textarea{width:100%}.field textarea{resize:vertical;min-height:64px}.modal-actions{display:flex;gap:10px;margin-top:20px}.modal-actions .delete{margin-right:auto}@media(max-width:640px){.form-grid{grid-template-columns:1fr}.modal{padding:20px}}.login-page{min-height:100vh;background:radial-gradient(ellipse at 50% -30%,rgba(207,228,209,.14),transparent 55%),var(--green-900);display:flex;align-items:center;justify-content:center;padding:24px}.login-box{width:100%;max-width:400px;text-align:center}.login-box .lockup{width:100%;max-width:330px;margin-bottom:20px}.login-box form{display:flex;flex-direction:column;gap:12px}.login-box input{padding:13px 16px;border-radius:14px;border:1.5px solid rgba(207,228,209,.35);background:#fcfefbf2;font-size:16px;text-align:center}.login-box input:focus{border-color:var(--sage);box-shadow:0 0 0 3px #cfe4d133}.login-box button{padding:13px;border:none;border-radius:14px;background:var(--sage);color:var(--green-900);font-size:15.5px;font-weight:700;transition:background .15s}.login-box button:hover{background:#ddecde}.login-error{color:#eecfcf;font-size:14px;min-height:21px}.setup-page{max-width:520px;margin:70px auto;text-align:center;padding:0 20px}.setup-page .figure{width:250px;opacity:.92;margin-bottom:6px}.setup-page h2{font-family:var(--font-display);font-weight:400;color:var(--green-900);font-size:24px;margin-bottom:10px}.setup-page p{color:var(--muted);margin-bottom:22px;line-height:1.65}.toast{position:fixed;bottom:26px;right:50%;transform:translate(50%);background:var(--green-950);color:#f2f7f2;padding:12px 24px;border-radius:14px;font-size:14px;z-index:100;max-width:90vw;text-align:center;box-shadow:var(--shadow-pop);animation:toast-in .22s ease-out}.toast.error{background:var(--red)}.toast.warn{background:var(--amber)}@keyframes toast-in{0%{opacity:0;transform:translate(50%,10px)}}@media(max-width:900px){.toast{bottom:84px}}.loader{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--paper) 55%,transparent);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);display:flex;align-items:center;justify-content:center;z-index:90}.spinner{width:40px;height:40px;border:3.5px solid var(--sage);border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.connect-box{max-width:540px;margin:48px auto;padding:0 20px;text-align:center;display:flex;flex-direction:column;gap:18px;align-items:center}.connect-box .figure{width:240px;opacity:.92;margin-bottom:-6px}.connect-box h2{font-family:var(--font-display);font-weight:400;font-size:24px;color:var(--green-900)}.connect-box .lead{color:var(--muted);line-height:1.65;max-width:46ch}.connect-box form{width:100%;display:flex;flex-direction:column;gap:12px}.connect-field{position:relative}.connect-field svg{position:absolute;top:50%;right:14px;transform:translateY(-50%);width:17px;height:17px;color:var(--faint);pointer-events:none}.connect-field input{width:100%;padding:13px 42px 13px 16px;font-size:14px;border-radius:14px;text-align:left}.connect-current{font-size:14px;color:var(--muted)}.connect-current a{color:var(--accent);font-weight:600;text-decoration:none}.connect-current a:hover{text-decoration:underline}.connect-error{background:var(--red-bg);color:var(--red);border-radius:14px;padding:13px 17px;font-size:14px;line-height:1.6;display:flex;flex-direction:column;gap:10px;align-items:center;width:100%}.connect-share{border-top:1px dashed var(--line);padding-top:18px;width:100%;font-size:14px;color:var(--muted);display:flex;flex-direction:column;gap:7px;align-items:center}.connect-share .k{font-weight:700;color:var(--green-900);font-size:13.5px}.email-chip{display:inline-flex;align-items:center;gap:9px;padding:8px 15px;border-radius:999px;border:1.5px dashed var(--accent);background:var(--sage-soft);color:var(--green-900);font-size:13px;font-weight:600;max-width:100%;overflow-wrap:anywhere;transition:background .15s}.email-chip:hover{background:var(--sage)}.email-chip svg{width:15px;height:15px;flex:0 0 auto;color:var(--accent)}.connect-box.settings{margin:4px 0 0;max-width:none;padding:0;gap:14px}.connect-box.settings form{flex-direction:row}.connect-box.settings .connect-field{flex:1}@media(max-width:640px){.connect-box.settings form{flex-direction:column}}
