@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--rose:#9b5b63;--dark:#78434b;--soft:#f8edef;--ink:#30292a;--muted:#756b6c;--line:#eadfe0}*{box-sizing:border-box}body{margin:0;background:#fcf9f7;color:var(--ink);font:15px 'DM Sans',sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}.topbar{background:#fff;border-bottom:1px solid var(--line);padding:12px max(18px,calc((100vw - 1100px)/2));display:flex;justify-content:space-between;align-items:center;gap:12px;position:sticky;top:0;z-index:5}.brand{display:flex;gap:10px;align-items:center}.mark{background:var(--rose);color:#fff;border-radius:13px;padding:10px 12px;font-weight:700}.brand b,.brand small{display:block}.brand small{font-size:11px;color:var(--muted)}nav{display:flex;gap:5px;flex-wrap:wrap}nav a,nav button{border:0;background:transparent;padding:9px 11px;border-radius:9px;cursor:pointer;font:inherit;font-size:13px}nav a:hover,nav button:hover{background:var(--soft)}main{max-width:1100px;min-height:82vh;margin:auto;padding:30px 20px 55px}footer{text-align:center;padding:20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}h1,h2{font-family:'Playfair Display',serif}h1{font-size:clamp(30px,5vw,48px);line-height:1.12;margin:10px 0}.muted{color:var(--muted)}.hero{background:linear-gradient(120deg,#f8e9e8,#fff8ef);border-radius:24px;padding:42px;display:grid;grid-template-columns:1.4fr .7fr;gap:25px;align-items:center}.hero-art{background:linear-gradient(145deg,#b8757b,#e7bfc0);border-radius:22px;min-height:190px;display:grid;place-items:center;color:white;font:70px 'Playfair Display'}.eyebrow{color:var(--rose);font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}.btn{display:inline-block;border:0;border-radius:10px;background:var(--rose);color:white;padding:11px 16px;font-weight:600;cursor:pointer}.btn.secondary{background:white;color:var(--dark);border:1px solid var(--line)}.btn.small{padding:7px 10px;font-size:12px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:16px 0}.card,.panel,.auth{background:white;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 5px 18px #45262b08}.card h3{margin:8px 0}.card p{color:var(--muted);font-size:13px}.icon{background:var(--soft);width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:21px}.auth{max-width:470px;margin:20px auto;padding:28px}.auth h1{font-size:31px}.field{margin:14px 0}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:5px}.field input,.field textarea,.field select{width:100%;border:1px solid #ddd0d2;border-radius:9px;padding:11px;font:inherit}.field textarea{min-height:100px}.alert{padding:12px;background:var(--soft);border-radius:10px;margin:12px 0;color:var(--dark);font-size:13px}.success{background:#eaf5ee;color:#246445}.warn{background:#fff4df;color:#805a17}.pill{padding:4px 8px;border-radius:30px;background:#eee;font-size:11px}.pending{background:#fff1d8;color:#8a5c13}.approved{background:#e5f4eb;color:#246445}.rejected,.suspended{background:#fbe8e9;color:#9a3c45}.tablewrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table td,.table th{padding:10px;border-bottom:1px solid var(--line);text-align:left}.table th{color:var(--muted)}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.pagehead{margin-bottom:22px}.empty,.loading{text-align:center;padding:30px;color:var(--muted)}details{margin-top:12px}summary{cursor:pointer;font-weight:600}.note{font-size:12px;color:var(--muted)}@media(max-width:700px){.topbar{align-items:flex-start;flex-direction:column}nav{overflow:auto;width:100%;flex-wrap:nowrap}nav a,nav button{white-space:nowrap}.hero{grid-template-columns:1fr;padding:24px}.hero-art{min-height:110px;font-size:48px}.grid,.two{grid-template-columns:1fr}main{padding:22px 14px}.auth{padding:20px}}
.quiz-wrap{max-width:760px;margin:0 auto}.quiz-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.quiz-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.quiz-progress{height:7px;background:var(--soft);border-radius:9px;margin:12px 0 24px;overflow:hidden}.quiz-progress span{display:block;height:100%;background:var(--rose);transition:width .2s}.quiz-question{font:600 23px 'DM Sans',sans-serif;line-height:1.4;margin:22px 0}.quiz-options{display:grid;gap:10px}.quiz-option{display:flex;gap:12px;text-align:left;width:100%;padding:14px;border:1px solid var(--line);background:white;border-radius:12px;font:inherit;cursor:pointer}.quiz-option span{font-weight:700;color:var(--rose)}.quiz-option.selected{border:2px solid var(--rose);background:var(--soft)}.quiz-option:disabled{opacity:1;cursor:default}.quiz-explain{padding:14px;border-radius:12px;margin-top:18px;font-size:14px}.quiz-explain p{margin:6px 0 0}.quiz-explain.correct{background:#eaf5ee;color:#246445}.quiz-explain.incorrect{background:#fff4df;color:#805a17}.quiz-actions{display:flex;justify-content:flex-end;margin-top:22px}.quiz-actions button:disabled{opacity:.5;cursor:not-allowed}.quiz-result{text-align:center;padding:28px 10px}.quiz-result .icon{margin:auto}.quiz-score{font:700 48px 'Playfair Display',serif;color:var(--rose);margin:8px 0 18px}

/* Pregnancy tools */
.preg-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 26px}.preg-tabs a{border:1px solid var(--line);border-radius:999px;padding:9px 14px;background:#fff;color:var(--dark);font-size:13px}.preg-tabs a:hover{background:var(--soft)}
.preg-section{margin:24px 0;scroll-margin-top:100px}.preg-section h2{margin:4px 0 8px}.preg-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.preg-form-grid .field{min-width:0}.preg-form-grid input,.preg-section input,.preg-section select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;color:var(--ink)}.preg-result{margin:16px 0;padding:14px;background:var(--soft);border-radius:12px;min-height:50px}.preg-result small{color:var(--muted)}.preg-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.preg-stats>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;min-width:0}.preg-stats small,.preg-stats b{display:block}.preg-stats small{color:var(--muted);font-size:11px}.preg-stats b{margin-top:5px;font-size:15px;overflow-wrap:anywhere}.preg-progress{height:9px;background:#f3e5eb;border-radius:99px;overflow:hidden;margin:10px 0 6px}.preg-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#b35d7d,#e6a7bd);transition:width .25s}.preg-week-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;margin-top:16px}.preg-week-btn{border:1px solid var(--line);border-radius:9px;padding:9px 4px;background:#fff;color:var(--ink);cursor:pointer}.preg-week-btn:hover,.preg-week-btn.active{background:var(--rose);border-color:var(--rose);color:#fff}.preg-week-detail{display:grid;grid-template-columns:minmax(130px,.42fr) minmax(0,1fr);gap:24px;align-items:center;margin-top:14px}.preg-baby-art{min-height:210px;border-radius:18px;background:radial-gradient(circle at 50% 45%,#fff 0 15%,#f6dce3 16% 36%,#f9eef0 37% 100%);display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--rose)}.preg-baby-art div{font-size:88px;line-height:1}.preg-baby-art span{font-size:10px;letter-spacing:2px;font-weight:700}.preg-week-detail h3{font-family:'Playfair Display',serif;font-size:24px;margin:12px 0}.preg-week-detail h4{margin:14px 0 4px}.preg-contraction-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.preg-clock-panel{text-align:center}.preg-clock{font:700 clamp(44px,8vw,68px) 'DM Sans',sans-serif;color:var(--rose);letter-spacing:2px;margin:16px 0}.preg-clock-panel .actions{justify-content:center}.preg-history-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.preg-history-head h3{margin:0}.tablewrap{overflow-x:auto}.preg-section .table{width:100%;border-collapse:collapse;font-size:13px}.preg-section .table th,.preg-section .table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.preg-section .alert{margin-top:12px}.preg-section .alert.urgent{border-left:4px solid #b64b4b;background:#fff0ef;padding:13px;border-radius:8px;color:#713333}.preg-section .alert.urgent ul{padding-left:20px;margin:8px 0 0}.preg-section .alert.warn{padding:13px;border-radius:8px;background:#fff7e8;color:#76501c}.preg-section .note,.preg-section .small-note{font-size:12px;color:var(--muted)}.preg-section .pill{display:inline-block;border-radius:99px;background:var(--soft);color:var(--dark);padding:5px 10px;font-size:11px}
@media(max-width:760px){.preg-form-grid,.preg-contraction-grid{grid-template-columns:1fr}.preg-week-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.preg-week-detail{grid-template-columns:1fr}.preg-baby-art{min-height:130px}.preg-stats{grid-template-columns:1fr 1fr}.preg-history-head{align-items:flex-start;flex-direction:column}}
@media(max-width:420px){.preg-week-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.preg-stats{grid-template-columns:1fr}.preg-tabs a{font-size:12px;padding:8px 10px}}
