:root{--turq:#10aeb5;--turq-dark:#08777c;--ink:#17383a;--muted:#6c7f80;--line:#dce9e9;--bg:#f5fbfb;--white:#fff;--red:#bd3e3e;--green:#24845d;--amber:#a56a14;--radius:16px;--shadow:0 7px 24px rgba(8,75,79,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-size:16px}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg)}a{color:var(--turq-dark);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{position:sticky;top:0;z-index:20;height:68px;padding:10px max(16px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.topbar.platform{background:#073f42;color:#fff}.brand{display:inline-flex;align-items:center;gap:8px;font-size:24px;font-weight:750;color:var(--ink)}.platform .brand{color:#fff}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--turq);color:white;font-size:15px;letter-spacing:.04em}.brand.compact{font-size:18px}.new-menu{position:relative}.new-menu summary{list-style:none;background:var(--turq);color:white;border-radius:14px;padding:12px 16px;font-weight:750;box-shadow:var(--shadow)}.new-menu summary::-webkit-details-marker{display:none}.new-menu nav{position:absolute;right:0;top:54px;width:210px;padding:8px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.new-menu nav a{display:block;padding:13px;border-radius:10px;color:var(--ink)}.new-menu nav a:hover{background:var(--bg)}.page{max-width:760px;margin:0 auto;padding:18px 16px calc(92px + env(safe-area-inset-bottom))}.bottom-nav{position:fixed;z-index:20;bottom:0;left:0;right:0;display:flex;justify-content:center;background:rgba(255,255,255,.97);border-top:1px solid var(--line);padding:8px 10px calc(8px + env(safe-area-inset-bottom));backdrop-filter:blur(12px)}.bottom-nav a{width:min(33%,170px);display:grid;place-items:center;gap:2px;color:var(--muted);font-size:12px}.bottom-nav a span{font-size:21px;color:var(--turq-dark)}h1{font-size:1.55rem;margin:.3rem 0 1rem}h2{font-size:1.1rem;margin:.25rem 0}h3{font-size:1rem;margin:.25rem 0}.muted,.empty,small{color:var(--muted)}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin:14px 0;box-shadow:var(--shadow)}.centered{text-align:center}.stack{display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.full{grid-column:1/-1}label{display:grid;gap:6px;font-weight:650;color:#2d4a4b}label small{font-weight:400}input,select,textarea{width:100%;border:1px solid #bdd1d2;border-radius:11px;padding:12px 13px;background:white;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--turq);box-shadow:0 0 0 3px rgba(16,174,181,.14)}textarea{resize:vertical}.check{display:flex;align-items:flex-start;grid-template-columns:auto 1fr;font-weight:450}.check input{width:22px;height:22px}.button{border:0;border-radius:12px;padding:12px 16px;font-weight:750;text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px}.button.primary{background:var(--turq);color:white}.button.secondary{background:#e9f5f5;color:var(--turq-dark)}.button.biometric,.biometric{background:#102c2e;color:white}.button.whatsapp{background:#1e9e57;color:white}.button.danger{background:#fff0f0;color:var(--red);border:1px solid #f2c7c7}.button.small{padding:8px 12px;min-height:38px;font-size:.9rem}.link-button{border:0;background:transparent;color:var(--turq-dark);padding:8px}.platform .link-button{color:#fff}.danger-text{color:var(--red)}.flash{padding:12px 14px;border-radius:12px;margin-bottom:12px}.flash.success{background:#e4f6ed;color:#175b3f}.flash.error{background:#fff0f0;color:#8a2525}.guest{display:grid;place-items:center;padding:24px}.auth-shell{width:min(100%,430px)}.auth-shell>.brand{display:flex;justify-content:center;margin-bottom:20px}.auth-card{padding:24px}.auth-links{display:flex;justify-content:space-between;gap:12px;margin-top:18px;font-size:.9rem}.status-icon{width:64px;height:64px;margin:auto;display:grid;place-items:center;border-radius:50%;background:#dff5ed;color:var(--green);font-size:30px}.secret{display:block;padding:14px;background:#edf7f7;border-radius:10px;font-size:1.1rem;letter-spacing:.12em;overflow-wrap:anywhere}.break-all{overflow-wrap:anywhere}.search-row form,.search-row{display:flex}.search-row input{border-radius:14px 0 0 14px;background:white}.search-row button{width:52px;border:0;border-radius:0 14px 14px 0;background:var(--turq);color:#fff;font-size:22px}.section-head,.title-row,.patient-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0 8px}.title-row h1,.patient-head h1{margin:0}.back{font-size:34px;line-height:1}.list{display:grid;background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.list-item{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;padding:14px 15px;color:var(--ink);border-bottom:1px solid var(--line)}.list-item:last-child{border-bottom:0}.list-item time{grid-row:1/3;color:var(--turq-dark);font-weight:750}.list-item span{color:var(--muted);font-size:.9rem}.list-item.patient{grid-template-columns:auto 1fr}.list-item.patient .avatar{grid-row:1/3}.avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#dcf4f5;color:var(--turq-dark);font-weight:800}.reminder-banner{margin-top:14px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:15px;border-radius:14px;background:#fff7df;color:#674600;border:1px solid #eedba2}.reminder-banner b{background:#a56a14;color:white;border-radius:99px;padding:4px 9px}.tabs{display:flex;gap:6px;margin:12px 0}.tabs a{padding:8px 12px;border-radius:99px;color:var(--muted)}.tabs a.active{background:#dff4f5;color:var(--turq-dark);font-weight:750}.patient-head>div{display:grid;grid-template-columns:auto 1fr;align-items:center}.patient-head p{grid-column:2;margin:0;color:var(--muted)}.contact-strip{display:grid;gap:7px;padding:14px;background:white;border:1px solid var(--line);border-radius:14px}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.quick-actions a{padding:13px;text-align:center;background:var(--turq);color:white;border-radius:12px;font-weight:750}.note-add summary,details>summary{cursor:pointer;font-weight:750}.timeline{position:relative;padding-left:18px}.timeline:before{content:"";position:absolute;left:5px;top:3px;bottom:3px;width:2px;background:var(--line)}.timeline-item{position:relative;background:white;border:1px solid var(--line);border-radius:14px;padding:13px 14px;margin:0 0 12px}.timeline-item:before{content:"";position:absolute;left:-19px;top:17px;width:11px;height:11px;border-radius:50%;background:var(--turq);border:3px solid var(--bg)}.timeline-item time{color:var(--muted);font-size:.8rem}.timeline-item p{margin:.35rem 0}.status{display:inline-block;padding:3px 8px;border-radius:99px;font-size:.78rem}.status.paid,.status.active{background:#dff5eb;color:#176344}.status.partial,.status.pending_approval{background:#fff1ca;color:#76520d}.status.unpaid,.status.suspended,.status.rejected{background:#ffe5e5;color:#892c2c}.status.pending_email{background:#e7edf6;color:#3f5878}.inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin-top:10px}.inline-form>*{flex:1 1 120px}.danger-zone{margin:28px 0}.day-picker{display:grid;grid-template-columns:48px 1fr 48px;gap:8px;margin:12px 0}.day-picker button{border:1px solid var(--line);background:white;border-radius:11px;font-size:24px}.agenda{display:grid;gap:10px}.agenda-item{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:10px;padding:14px;background:white;border:1px solid var(--line);border-radius:14px}.agenda-item time{color:var(--turq-dark);font-weight:800}.agenda-item div{display:grid}.agenda-item span{font-size:.85rem;color:var(--muted)}.agenda-item select{padding:8px;max-width:130px}.reminder-item{display:flex;justify-content:space-between;gap:12px;padding:14px;border-bottom:1px solid var(--line)}.reminder-item>div:first-child{display:grid}.row-actions{display:flex;align-items:center;gap:6px}.privacy-note{padding:10px 12px;border-left:4px solid var(--amber);background:#fff8e6;color:#6d4c10;font-size:.9rem}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line)}td small,td a{display:block}.facts dl{display:grid;grid-template-columns:140px 1fr;gap:10px}.facts dt{color:var(--muted)}.simple-list>div,.device-list>div{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.device-list span{display:grid}.template-form{padding:12px 0;border-bottom:1px solid var(--line)}details.card summary h2{display:inline}.whatsapp{background:#1f9d55;color:white}
@media(max-width:560px){.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.auth-links{flex-direction:column}.agenda-item{grid-template-columns:52px 1fr}.agenda-item form{grid-column:2}.reminder-item{display:grid}.row-actions{justify-content:flex-end}.facts dl{grid-template-columns:1fr}.facts dd{margin:0 0 8px}.page{padding-inline:12px}.quick-actions{grid-template-columns:1fr 1fr}.inline-form{display:grid;grid-template-columns:1fr 1fr}.inline-form>*{min-width:0}}
@media(prefers-reduced-motion:no-preference){.button,.list-item{transition:transform .12s ease,filter .12s ease}.button:active,.list-item:active{transform:scale(.985)}}
.clinic-logo-preview{max-width:160px;max-height:80px;object-fit:contain;border:1px solid var(--line);border-radius:10px;padding:6px;background:#fff}.small-link{display:inline-block;margin:.25rem 0;font-size:.85rem;font-weight:700}

