:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#173532;background:#f4f7f6;line-height:1.5;--teal:#0f766e;--dark:#134e4a;--mint:#dff4ef;--line:#d9e4e1;--muted:#607773;--white:#fff;--danger:#b42318}*{box-sizing:border-box}body{margin:0;min-width:320px}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1180px)/2));position:sticky;top:0;z-index:10}.brand{display:flex;gap:10px;align-items:center;color:inherit;text-decoration:none}.brand-logo{width:44px;height:44px;object-fit:contain}.brand strong,.brand small{display:block}.brand small{font-size:12px;color:var(--muted)}nav{display:flex;gap:10px;align-items:center}.professional-name{font-size:13px;font-weight:700;color:var(--muted)}.page{max-width:1180px;margin:auto;padding:42px 20px 70px}.hero{display:flex;justify-content:space-between;align-items:end;background:linear-gradient(135deg,#e5f6f2,#fff);border:1px solid #cfe8e2;border-radius:24px;padding:34px}.eyebrow{font-size:12px;letter-spacing:.12em;font-weight:800;color:var(--teal);margin:0 0 6px}.hero h1,.form-heading h1{font-size:clamp(28px,4vw,42px);line-height:1.1;margin:0}.hero p,.form-heading p{color:var(--muted);margin-bottom:0}.stat{text-align:right}.stat strong{display:block;font-size:40px;color:var(--dark)}.stat span{color:var(--muted)}button,.secondary,.file-label{font:inherit;border:0;border-radius:10px;padding:11px 16px;font-weight:700;cursor:pointer}.primary{background:var(--teal);color:#fff}.primary:hover{background:var(--dark)}.secondary,.ghost{background:#fff;color:var(--dark);border:1px solid var(--line)}.ghost{padding:10px}.toolbar{display:flex;gap:12px;margin:24px 0}.search{flex:1;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 14px}.search input{width:100%;border:0;outline:0;padding:13px 0;font:inherit;background:transparent}.patient-list{display:grid;gap:12px}.patient-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.patient-card h3{margin:0 0 4px}.patient-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:14px}.badge{display:inline-block;padding:4px 9px;background:var(--mint);color:var(--dark);border-radius:99px;font-size:12px;font-weight:800}.card-actions{display:flex;gap:8px}.danger{color:var(--danger);background:#fff;border:1px solid #f0c7c2}.empty{text-align:center;background:#fff;border:1px dashed #b9cfca;border-radius:18px;padding:50px}.empty>div{font-size:42px}.empty h2{margin-bottom:4px}.empty p{color:var(--muted)}.privacy-note{margin-top:18px;padding:15px 18px;background:#fff7dc;border:1px solid #ead99d;border-radius:12px;color:#655516;font-size:14px}.hidden{display:none!important}.form-heading{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}.icon-btn{width:42px;height:42px;padding:0;background:#fff;border:1px solid var(--line);font-size:20px}.form-card{background:#fff;border:1px solid var(--line);border-radius:18px;margin-bottom:16px;overflow:hidden}.section-title{padding:18px 22px;background:#f7fbfa;border-bottom:1px solid var(--line)}.section-title h2{font-size:18px;margin:0}.section-title p{font-size:13px;color:var(--muted);margin:3px 0 0}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:22px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:750}.required::after{content:" *";color:var(--danger)}input,select,textarea{width:100%;border:1px solid #bdcfcb;border-radius:9px;padding:11px 12px;font:inherit;color:inherit;background:#fff}textarea{min-height:88px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid #bce7df;border-color:var(--teal)}.help{font-size:12px;color:var(--muted)}.cycle-banner{padding:12px 16px;background:var(--mint);border-radius:10px;color:var(--dark);font-weight:700}.form-actions{display:flex;justify-content:flex-end;gap:12px;position:sticky;bottom:0;background:rgba(244,247,246,.94);padding:16px 0;backdrop-filter:blur(8px)}#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,120px);background:#153d39;color:#fff;padding:12px 18px;border-radius:10px;transition:.25s;z-index:20;box-shadow:0 8px 30px #0003}#toast.show{transform:translate(-50%,0)}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 15% 15%,#d9f1ec 0,transparent 32%),linear-gradient(135deg,#eef8f5,#f7fbfa)}.auth-card{width:min(100%,460px);background:#fff;border:1px solid #cfe8e2;border-radius:24px;box-shadow:0 18px 60px #134e4a1c;padding:34px;display:grid;gap:14px}.auth-card h1{font-size:30px;line-height:1.1;margin:0}.auth-card>p{color:var(--muted);margin:0}.auth-card label{font-size:13px;font-weight:750;display:grid;gap:6px}.auth-logo{width:62px;height:62px;object-fit:contain}.back-public{font-size:13px;color:var(--teal);font-weight:700;text-decoration:none}.text-button{padding:0;background:transparent;color:var(--teal);text-align:left}.auth-status{min-height:20px;font-size:13px;color:var(--muted)}.auth-status.error{color:var(--danger)}.auth-status.success{color:#087443}.auth-notice{font-size:12px;padding:12px;background:#fff7dc;border-radius:10px;color:#655516}.auth-notice strong{color:#4e4210}@media(max-width:720px){.topbar{height:64px;padding:0 14px}.topbar nav .ghost,.professional-name{display:none}.topbar .primary{padding:10px 12px}.page{padding:24px 14px 60px}.hero{align-items:start;padding:24px;flex-direction:column;gap:18px}.stat{text-align:left}.toolbar{flex-wrap:wrap}.search{flex-basis:100%}.secondary{flex:1}.fields{grid-template-columns:1fr;padding:18px}.field.full{grid-column:auto}.patient-card{grid-template-columns:1fr}.card-actions button{flex:1}.form-heading h1{font-size:28px}.auth-card{padding:26px 22px}}@media print{.topbar,.form-actions,.icon-btn,.privacy-note{display:none!important}.page{padding:0}.form-card{break-inside:avoid}.fields{padding:12px}.form-heading{margin:0 0 12px}}
