
:root{--ink:#17333b;--ink-2:#36545c;--muted:#72888e;--brand:#103842;--brand-2:#184f5d;--teal:#2d8a84;--mint:#dff2ea;--surface:#fff;--surface-2:#f5f9f7;--line:#dfe9e6;--danger:#d84d53;--danger-soft:#fdebec;--warn:#ca7b28;--warn-soft:#fff2df;--good:#1f8b68;--good-soft:#e5f5ef;--blue:#377dc2;--blue-soft:#e9f1fb;--purple:#6b55c8;--purple-soft:#efebff;--shadow:0 16px 38px rgba(24,59,66,.08);--shadow-sm:0 8px 18px rgba(24,59,66,.06);--radius:18px;--sidebar:260px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Bahnschrift,"Aptos Display",Aptos,"Segoe UI Variable","Segoe UI",system-ui,sans-serif;background:#edf4f1;color:var(--ink)}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.hidden{display:none!important}
.auth-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:linear-gradient(135deg,#0d3440 0%,#184f5b 55%,#2c706f 100%)}.auth-brand{padding:64px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;position:relative;overflow:hidden}.auth-brand::after{content:"";position:absolute;inset:auto -120px -130px auto;width:440px;height:440px;border-radius:50%;background:rgba(255,255,255,.05)}.brand-row{display:flex;align-items:center;gap:14px;font-weight:800;font-size:28px;letter-spacing:.04em}.brand-row img{width:42px;height:42px}.auth-copy{max-width:620px;position:relative;z-index:2}.auth-copy h1{font-size:52px;line-height:1.02;margin:0 0 20px;font-weight:800;letter-spacing:-.035em}.auth-copy p{font-size:19px;line-height:1.6;color:#d6e8e7;max-width:560px}.auth-points{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}.auth-point{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);padding:16px;border-radius:16px;font-size:14px;color:#e7f2f1}.auth-panel{background:#f7fbf9;padding:32px;display:flex;align-items:center;justify-content:center}.auth-card{width:min(480px,100%);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:28px;padding:34px}.auth-card h2{margin:0 0 8px;font-size:30px;letter-spacing:-.03em}.auth-card>p{margin:0 0 26px;color:var(--muted)}.tabs{display:flex;background:#edf4f2;padding:4px;border-radius:12px;margin-bottom:22px}.tab-btn{flex:1;border:0;background:transparent;padding:10px 12px;border-radius:9px;color:var(--ink-2);font-weight:700}.tab-btn.active{background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.06);color:var(--brand)}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.field label{font-size:13px;font-weight:700;color:var(--ink-2)}.field input,.field textarea,.field select{width:100%;border:1px solid #cfded9;background:#fff;border-radius:12px;padding:12px 13px;color:var(--ink);outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:#5d9f99;box-shadow:0 0 0 3px rgba(45,138,132,.10)}.checkbox-row{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--ink-2);margin:10px 0 16px}.checkbox-row input{margin-top:3px}.btn{border:0;border-radius:12px;padding:11px 16px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--brand);color:#fff}.btn-secondary{background:#e7f1ee;color:var(--brand)}.btn-outline{background:#fff;color:var(--brand);border:1px solid #cfded9}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-good{background:var(--good-soft);color:var(--good)}.btn-block{width:100%}.btn-sm{padding:8px 11px;border-radius:10px;font-size:13px}.auth-foot{margin-top:14px;color:var(--muted);font-size:12px;line-height:1.5}.demo-btn{margin-top:10px;width:100%;border:1px dashed #aac4be;background:#f4faf8;color:var(--brand);padding:11px;border-radius:12px;font-weight:800}
.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:linear-gradient(180deg,#0e3440,#0a2b34);color:#d8e9e7;padding:18px 14px 16px;display:flex;flex-direction:column;z-index:20}.sidebar .brand-row{font-size:24px;padding:8px 8px 18px}.sidebar .brand-row img{width:36px;height:36px}.nav{display:flex;flex-direction:column;gap:5px}.nav-btn{width:100%;border:0;background:transparent;color:#d2e4e2;display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;text-align:left;font-weight:650}.nav-btn:hover,.nav-btn.active{background:rgba(255,255,255,.08);color:#fff}.nav-icon{width:22px;text-align:center;font-size:18px}.badge{margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;background:#ed5a5e;color:#fff;font-size:11px;font-weight:800}.sidebar-bottom{margin-top:auto}.quote-card{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.04);border-radius:16px;padding:16px;margin:14px 4px;color:#cfe3e1;font-size:13px;line-height:1.6}.admin-card{display:flex;align-items:center;gap:10px;padding:12px 8px;border-top:1px solid rgba(255,255,255,.08)}.admin-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#d8ece7;color:var(--brand);font-weight:900}.admin-meta b{display:block;color:#fff;font-size:13px}.admin-meta span{font-size:11px;color:#9cbab5}.main{grid-column:2;padding:18px 20px 34px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(100deg,#d5ebe7,#f9f6ec 52%,#e8f2ee);border:1px solid #d8e6e2;border-radius:20px;padding:18px 22px;margin-bottom:18px;min-height:90px;box-shadow:var(--shadow-sm)}.topbar h1{font-size:27px;margin:0 0 5px;letter-spacing:-.03em}.topbar p{margin:0;color:var(--ink-2);font-size:13px}.topbar-right{display:flex;align-items:center;gap:10px}.trial-pill{background:#fff;border:1px solid #cfe0db;border-radius:14px;padding:10px 13px;min-width:170px}.trial-pill b{display:block;font-size:13px}.trial-pill span{font-size:11px;color:var(--muted)}.mode-switch{display:flex;background:#fff;border:1px solid #cfe0db;padding:4px;border-radius:12px}.mode-switch button{border:0;background:transparent;padding:8px 10px;border-radius:9px;font-size:12px;font-weight:800;color:var(--ink-2)}.mode-switch button.active{background:var(--brand);color:#fff}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:16px}.content-main{min-width:0}.right-rail{display:flex;flex-direction:column;gap:14px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.metric{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow-sm)}.metric-label{font-size:12px;color:var(--ink-2);display:flex;justify-content:space-between;align-items:center}.metric-value{font-size:29px;font-weight:800;margin:8px 0 2px;letter-spacing:-.03em}.metric-sub{font-size:11px;color:var(--muted)}.metric-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:18px}.i-mint{background:var(--good-soft)}.i-blue{background:var(--blue-soft)}.i-warn{background:var(--warn-soft)}.i-purple{background:var(--purple-soft)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-head{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;border-bottom:1px solid #edf2f0}.card-head h3{margin:0;font-size:16px}.card-body{padding:16px}.muted{color:var(--muted)}.tiny{font-size:11px}.small{font-size:13px}.dashboard-split{display:grid;grid-template-columns:310px minmax(0,1fr);gap:14px}.patient-list{max-height:660px;overflow:auto}.patient-row{display:flex;align-items:center;gap:11px;padding:11px 14px;border-bottom:1px solid #eef3f1;cursor:pointer}.patient-row:hover,.patient-row.active{background:#eef7f5}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#c6e2dc,#e6f3ef);color:var(--brand);font-weight:900;flex:0 0 auto}.patient-info{min-width:0;flex:1}.patient-info b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-info span{font-size:11px;color:var(--muted)}.status{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:5px 8px;font-size:10px;font-weight:800}.status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-good{background:var(--good-soft);color:var(--good)}.status-warn{background:var(--warn-soft);color:var(--warn)}.status-danger{background:var(--danger-soft);color:var(--danger)}.status-muted{background:#edf1f1;color:#6e8085}.patient-hero{display:flex;align-items:center;justify-content:space-between;padding:18px}.patient-main{display:flex;gap:12px;align-items:center}.patient-main .avatar{width:52px;height:52px}.patient-main h2{margin:0 0 4px;font-size:20px}.patient-main p{margin:0;color:var(--muted);font-size:12px}.hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.subtabs{display:flex;gap:6px;padding:0 16px 12px;border-bottom:1px solid #edf2f0;overflow:auto}.subtab{border:0;background:transparent;padding:9px 10px;border-radius:9px;font-size:12px;font-weight:800;color:var(--muted);white-space:nowrap}.subtab.active{background:#edf5f3;color:var(--brand)}.indicator-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:14px}.indicator{border-radius:14px;padding:13px;border:1px solid rgba(0,0,0,.03)}.indicator strong{display:block;font-size:22px;margin:8px 0 2px}.ind-red{background:#fff0ee}.ind-yellow{background:#fff6e8}.ind-blue{background:#eef6ff}.ind-orange{background:#fff5eb}.chart-card{margin:0 14px 14px;border:1px solid #e8efec;border-radius:14px;padding:13px}.chart-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.chart-title b{font-size:13px}.legend{display:flex;gap:12px;font-size:10px;color:var(--muted);flex-wrap:wrap}.legend span::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.l-red::before{background:#e76a6a!important}.l-yellow::before{background:#e9a138!important}.l-blue::before{background:#4a91d6!important}.svg-chart{width:100%;height:220px;display:block}.gridline{stroke:#e7efec;stroke-width:1}.axistext{font-size:9px;fill:#90a0a4}.line-red{fill:none;stroke:#e76a6a;stroke-width:3}.line-yellow{fill:none;stroke:#e9a138;stroke-width:3}.line-blue{fill:none;stroke:#4a91d6;stroke-width:3}.insight-strip{margin:0 14px 14px;background:#eff8f6;border:1px solid #d8ebe6;border-radius:14px;padding:12px;display:flex;gap:10px;align-items:flex-start}.insight-strip .spark{width:30px;height:30px;border-radius:9px;background:#d9efea;display:grid;place-items:center;flex:0 0 auto}.insight-strip b{font-size:12px}.insight-strip p{font-size:11px;color:var(--ink-2);margin:3px 0 0;line-height:1.5}.alert-list{display:flex;flex-direction:column}.alert-item{padding:13px 14px;border-bottom:1px solid #edf2f0;display:flex;gap:10px}.alert-dot{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}.alert-item b{font-size:12px;display:block}.alert-item p{font-size:11px;color:var(--ink-2);margin:3px 0}.alert-item time{font-size:10px;color:var(--muted)}.agenda-item{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #eef2f1}.agenda-time{width:42px;font-weight:800;font-size:12px}.agenda-dot{width:8px;height:8px;border-radius:50%;background:var(--good)}.agenda-meta{font-size:11px}.agenda-meta b{display:block;font-size:12px}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin:2px 0 16px}.page-head h2{margin:0 0 5px;font-size:25px}.page-head p{margin:0;color:var(--muted);font-size:13px}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.search{position:relative}.search input{border:1px solid var(--line);border-radius:11px;padding:10px 12px 10px 34px;background:#fff;min-width:240px}.search::before{content:"⌕";position:absolute;left:11px;top:8px;color:var(--muted)}.table-card{overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:13px 14px;border-bottom:1px solid #edf2f0;text-align:left;font-size:12px}.data-table th{background:#f8fbfa;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.data-table tr:hover td{background:#fbfdfc}.actions{display:flex;gap:6px;flex-wrap:wrap}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.perm-card{border:1px solid var(--line);border-radius:13px;padding:12px;display:flex;justify-content:space-between;gap:10px;align-items:center}.perm-card b{font-size:12px;display:block}.perm-card span{font-size:10px;color:var(--muted)}.switch{position:relative;width:42px;height:24px;flex:0 0 auto}.switch input{display:none}.slider{position:absolute;inset:0;border-radius:99px;background:#cfd9d7;transition:.18s}.slider::after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.18s;box-shadow:0 2px 5px rgba(0,0,0,.18)}.switch input:checked+.slider{background:var(--teal)}.switch input:checked+.slider::after{transform:translateX(18px)}.access-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;border-radius:14px;padding:13px 14px;margin-bottom:14px}.access-active{background:var(--good-soft);border:1px solid #cdeadd}.access-restricted{background:#f1f4f3;border:1px solid #dfe6e4}.access-pending{background:var(--warn-soft);border:1px solid #f0dfc7}.access-banner b{display:block;font-size:13px}.access-banner span{font-size:11px;color:var(--ink-2)}.log-list{display:flex;flex-direction:column;gap:10px}.log-item{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid #eef3f1}.log-item time{font-size:10px;color:var(--muted)}.log-item b{font-size:11px}.log-item p{margin:2px 0 0;font-size:11px;color:var(--ink-2)}.task-item{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #edf2f0}.task-main{display:flex;gap:10px;align-items:center}.task-icon{width:34px;height:34px;border-radius:10px;background:var(--purple-soft);display:grid;place-items:center}.task-main b{font-size:12px;display:block}.task-main span{font-size:10px;color:var(--muted)}
.patient-portal{min-height:100vh;background:linear-gradient(180deg,#e7f2ef,#f8fbf9 38%);padding:18px}.patient-mobile{width:min(520px,100%);margin:0 auto}.patient-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.patient-top .brand-row{color:var(--brand);font-size:22px}.patient-top .brand-row img{width:34px;height:34px}.portal-hero{background:linear-gradient(130deg,#123d47,#2f7975);color:#fff;border-radius:24px;padding:22px;box-shadow:var(--shadow);margin-bottom:14px}.portal-hero h1{margin:0 0 6px;font-size:25px}.portal-hero p{margin:0;color:#d3e9e5;font-size:13px}.portal-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;margin-bottom:12px;box-shadow:var(--shadow-sm)}.portal-card h3{margin:0 0 12px;font-size:15px}.rating-row{display:grid;grid-template-columns:repeat(10,1fr);gap:5px}.rating-btn{border:1px solid #d8e4e1;background:#f8fbfa;border-radius:9px;padding:9px 0;font-size:11px;font-weight:800;color:var(--ink-2)}.rating-btn.selected{background:var(--brand);color:#fff;border-color:var(--brand)}.sleep-input{display:flex;gap:8px}.sleep-input input{flex:1;border:1px solid var(--line);border-radius:11px;padding:11px}.portal-task{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #edf2f0}.portal-task:last-child{border-bottom:0}.portal-task-left{display:flex;gap:10px;align-items:center}.portal-task-left b{font-size:12px;display:block}.portal-task-left span{font-size:10px;color:var(--muted)}.portal-restricted{min-height:70vh;display:grid;place-items:center}.restricted-box{text-align:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:var(--shadow);max-width:430px}.restricted-box .lock{font-size:44px}.restricted-box h2{margin:14px 0 8px}.restricted-box p{color:var(--muted);font-size:13px;line-height:1.6}
.modal-backdrop{position:fixed;inset:0;background:rgba(5,28,34,.52);backdrop-filter:blur(2px);display:grid;place-items:center;padding:18px;z-index:100}.modal{width:min(620px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.25)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid var(--line)}.modal-head h3{margin:0}.modal-body{padding:18px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid var(--line)}.icon-btn{width:36px;height:36px;border:0;border-radius:10px;background:#eef4f2;color:var(--ink);display:grid;place-items:center}.danger-box{background:var(--danger-soft);border:1px solid #f5d0d2;padding:12px;border-radius:12px;color:#8d2f35;font-size:12px;line-height:1.5}#toast-root{position:fixed;right:18px;bottom:18px;z-index:200;display:flex;flex-direction:column;gap:8px}.toast{background:#103842;color:#fff;padding:12px 14px;border-radius:12px;box-shadow:var(--shadow);font-size:12px;animation:toastin .2s ease}.toast.good{background:#1f7a60}.toast.warn{background:#aa6723}@keyframes toastin{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}.empty{padding:34px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--ink);margin-bottom:5px}.section-title{font-size:13px;margin:16px 0 9px;color:var(--ink-2)}
@media(max-width:1150px){.content-grid{grid-template-columns:1fr}.right-rail{display:grid;grid-template-columns:repeat(2,1fr)}.metric-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){:root{--sidebar:76px}.sidebar .brand-row span,.nav-btn .nav-text,.quote-card,.admin-meta{display:none}.sidebar .brand-row{justify-content:center;padding-left:0;padding-right:0}.nav-btn{justify-content:center}.badge{position:absolute;transform:translate(14px,-10px)}.admin-card{justify-content:center}.main{padding:12px}.dashboard-split{grid-template-columns:1fr}.patient-list-card{display:none}.topbar{align-items:flex-start;gap:12px}.topbar-right{flex-direction:column;align-items:flex-end}.auth-page{grid-template-columns:1fr}.auth-brand{display:none}.auth-panel{min-height:100vh}}@media(max-width:650px){.main{grid-column:1;padding:76px 10px 20px}.app-shell{display:block}.sidebar{width:100%;height:62px;bottom:auto;flex-direction:row;align-items:center;padding:8px 10px}.sidebar .brand-row{padding:0;margin-right:auto}.sidebar .nav{flex-direction:row;overflow:auto}.sidebar .nav-btn{width:42px;padding:9px}.sidebar-bottom{display:none}.metric-grid{grid-template-columns:1fr 1fr}.indicator-grid{grid-template-columns:1fr 1fr}.right-rail{grid-template-columns:1fr}.content-grid{display:block}.topbar{padding:14px;min-height:auto}.topbar h1{font-size:22px}.topbar p{display:none}.trial-pill{display:none}.page-head{align-items:flex-start;flex-direction:column;gap:10px}.search input{min-width:0;width:100%}.toolbar{width:100%}.toolbar>*{flex:1}.data-table th:nth-child(3),.data-table td:nth-child(3),.data-table th:nth-child(4),.data-table td:nth-child(4){display:none}.permission-grid{grid-template-columns:1fr}.auth-card{padding:24px;border-radius:20px}.auth-points{grid-template-columns:1fr}.rating-row{grid-template-columns:repeat(5,1fr)}}

/* Prontuário — Beta 0.1.1 */
.note-list{display:flex;flex-direction:column;gap:12px}.note-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fbfdfc}.note-meta{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.note-meta b{display:block;font-size:12px}.note-meta span{font-size:10px;color:var(--muted)}.note-text{font-size:13px;line-height:1.65;color:var(--ink);white-space:normal;overflow-wrap:anywhere}

/* =========================================================
   NEXELI Beta 0.1.2 — visual refresh
   Modern, clinical, low-noise interface for professional + patient.
   Uses only system fonts: no third-party font request and no font file.
   ========================================================= */
:root{
  --ink:#0b2940;
  --ink-2:#35516a;
  --muted:#6d8496;
  --brand:#073b49;
  --brand-2:#0b5662;
  --teal:#1aa58f;
  --mint:#e8f7f2;
  --surface:#ffffff;
  --surface-2:#f7fafb;
  --line:#e3ebef;
  --shadow:0 10px 28px rgba(15,47,67,.055);
  --shadow-sm:0 4px 14px rgba(15,47,67,.045);
  --radius:16px;
  --sidebar:236px;
}
body,
button,input,textarea,select{
  font-family:Bahnschrift,"Aptos Display",Aptos,"Segoe UI Variable","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-feature-settings:"cv02","cv03","cv04","cv11";
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
body{background:#f7f9fa;color:var(--ink);letter-spacing:-.01em;font-size:14px;line-height:1.45}
h1,h2,h3,h4,.metric-value,.brand-row,.page-head h2,.patient-main h2,.portal-hero h1{
  font-family:Bahnschrift,"Aptos Display",Aptos,"Segoe UI Variable","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.sidebar{background:linear-gradient(180deg,#052f3b 0%,#063946 52%,#052f3b 100%);padding:16px 12px 14px;border-right:1px solid rgba(255,255,255,.045)}
.sidebar .brand-row{padding:5px 8px 20px;font-size:22px;letter-spacing:.06em;font-weight:700;color:#fff}
.sidebar .brand-row img{width:42px;height:42px;filter:drop-shadow(0 5px 12px rgba(0,0,0,.08))}
.nav{gap:6px}.nav-btn{padding:11px 12px;border-radius:10px;font-weight:500;font-size:14px;letter-spacing:0;line-height:1.25}.nav-btn:hover{background:rgba(255,255,255,.065)}.nav-btn.active{background:linear-gradient(90deg,rgba(34,176,161,.19),rgba(255,255,255,.07));box-shadow:inset 2px 0 0 #43c7b7;color:#fff;font-weight:600}
.nav-icon{font-size:17px;opacity:.94}.badge{background:#f0535b;box-shadow:0 0 0 3px rgba(240,83,91,.1)}
.quote-card{background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(91,197,179,.06));border-color:rgba(170,225,214,.14);font-size:12.5px;line-height:1.62;border-radius:14px}
.admin-card{padding:13px 8px}.admin-avatar{background:#eaf6f3;color:#0d5960}.admin-meta b{font-weight:650}.admin-meta span{letter-spacing:.01em}
.main{padding:14px 18px 32px;background:linear-gradient(180deg,#f8fafb 0,#f5f8f9 100%)}
.topbar{position:relative;overflow:hidden;background:linear-gradient(102deg,#eef7f5 0%,#fbfaf6 53%,#f1f6f4 100%);border:1px solid #e5ecec;border-radius:14px;padding:17px 20px;margin-bottom:14px;min-height:84px;box-shadow:none}
.topbar::after{content:"";position:absolute;right:9%;top:-55px;width:260px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(89,158,141,.12),rgba(89,158,141,0) 68%);pointer-events:none}
.topbar h1{font-size:26px;font-weight:700;letter-spacing:-.035em;line-height:1.15;color:#0a2840}.topbar p{font-size:14px;color:#557084;line-height:1.45}.topbar-right{position:relative;z-index:1}.trial-pill{border-color:#f0e2c3;background:#fff9ec;border-radius:12px;box-shadow:none}.trial-pill b{font-weight:600;color:#6b4b13}.mode-switch{border-color:#e2eaed;border-radius:11px}.mode-switch button{font-weight:600}.mode-switch button.active{background:#073b49}
.btn{border-radius:10px;font-weight:650;box-shadow:none}.btn:hover{transform:none;filter:brightness(.985)}.btn-primary{background:linear-gradient(180deg,#0b5360,#073b49)}.btn-secondary{background:#edf6f4;color:#0a5260}.btn-outline{border-color:#dce6e9;background:#fff}.btn-danger{background:#fff0f1}.btn-good{background:#e9f8f2}
.metric-grid{gap:10px;margin-bottom:12px}.metric{border-color:#e7edef;border-radius:13px;padding:15px 16px;box-shadow:0 2px 8px rgba(19,48,66,.028)}.metric-label{font-size:12px;font-weight:500;line-height:1.35}.metric-value{font-size:32px;font-weight:700;letter-spacing:-.05em;line-height:1.05;color:#0a2c44}.metric-sub{font-size:11px;line-height:1.35}.metric-icon{width:36px;height:36px;border-radius:50%;font-size:16px}
.card{border:1px solid #e6edef;border-radius:14px;box-shadow:0 2px 10px rgba(15,45,63,.025)}.card-head{padding:13px 14px;border-bottom-color:#edf2f4}.card-head h3{font-size:16px;font-weight:600;letter-spacing:-.02em;line-height:1.25}.card-body{padding:14px}
.dashboard-split{grid-template-columns:292px minmax(0,1fr);gap:10px}.content-grid{gap:10px;grid-template-columns:minmax(0,1fr) 285px}.right-rail{gap:10px}
.patient-row{padding:10px 12px;gap:10px}.patient-row:hover,.patient-row.active{background:#f0f8f6}.avatar{background:linear-gradient(145deg,#d8ede9,#eef7f5);color:#0b5662;font-size:12px}.patient-info b{font-weight:600;font-size:14px;line-height:1.25}.patient-info span{font-size:11px;line-height:1.35}.status{font-weight:600;padding:4px 7px}
.patient-hero{padding:16px}.patient-main h2{font-size:21px;font-weight:700;letter-spacing:-.035em;line-height:1.15}.patient-main p{color:#708696;font-size:13px;line-height:1.45}.subtabs{gap:2px;padding:0 14px 10px}.subtab{font-weight:500;font-size:13px;color:#6b8192;line-height:1.2}.subtab.active{background:transparent;color:#063e4a;border-radius:0;border-bottom:2px solid #0b6570;font-weight:600}
.indicator-grid{gap:8px;padding:12px 14px}.indicator{border-radius:12px;padding:12px}.indicator strong{font-size:24px;font-weight:700;letter-spacing:-.04em;line-height:1.05}.indicator .small,.indicator div,.indicator span{line-height:1.35}.ind-red{background:#fff3f1}.ind-yellow{background:#fff7e9}.ind-blue{background:#eff6ff}.ind-orange{background:#fff6ec}.chart-card{border-color:#e8eff1;border-radius:12px;background:#fff}.insight-strip{border-radius:12px}
.alert-item{padding:12px 14px}.alert-item b{font-weight:680}.agenda-item{padding:10px 0}
.page-head h2{font-size:25px;font-weight:700;letter-spacing:-.038em;line-height:1.15}.page-head p{color:#6b8192;font-size:14px;line-height:1.45}.data-table th{font-weight:600;color:#557083;background:#fbfcfd}.data-table td{font-size:13px;line-height:1.45}
.modal{border-radius:18px;border:1px solid #e3ebee;box-shadow:0 30px 90px rgba(8,38,54,.2)}.modal-head h3{font-weight:700;letter-spacing:-.02em}.field label{font-weight:600;font-size:13px}.field input,.field textarea,.field select{border-color:#dce6e9;border-radius:10px;background:#fff}.field input:focus,.field textarea:focus,.field select:focus{border-color:#62afa5;box-shadow:0 0 0 3px rgba(39,166,148,.10)}

/* Clinical record actions */
.note-card{position:relative;border:1px solid #e6edef;border-radius:13px;padding:15px;background:#fff;box-shadow:0 1px 5px rgba(15,45,63,.02)}
.note-card+.note-card{margin-top:10px}.note-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.note-meta b{font-weight:700;font-size:13px}.note-meta span{display:block;font-size:11px;color:var(--muted);margin-top:3px;line-height:1.35}.note-text{font-size:14px;line-height:1.68;color:#284459;margin-top:13px}.note-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px;padding-top:11px;border-top:1px solid #edf2f4}.note-version{font-size:11px;color:#718797;margin-top:8px}

/* Patient experience */
.patient-portal{background:linear-gradient(180deg,#f6faf9 0%,#f7f9fb 42%,#f4f8f8 100%);padding:20px}.patient-mobile{width:min(600px,100%)}.patient-top{background:rgba(255,255,255,.84);border:1px solid #e6edef;border-radius:15px;padding:10px 12px;margin-bottom:12px;box-shadow:0 4px 18px rgba(20,48,65,.035);backdrop-filter:blur(8px)}.patient-top .brand-row{font-size:22px;letter-spacing:.05em;font-weight:700;color:#0a3047}.patient-top .brand-row img{width:40px;height:40px}.portal-hero{position:relative;overflow:hidden;background:linear-gradient(118deg,#f3f9f7 0%,#fbfaf7 55%,#eef6f3 100%);border:1px solid #e4ecec;color:#0a2b42;border-radius:18px;padding:22px 22px 24px;box-shadow:0 3px 14px rgba(20,48,65,.035);margin-bottom:12px}.portal-hero::after{content:"";position:absolute;right:-26px;bottom:-55px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(43,161,142,.16),rgba(43,161,142,0) 69%)}.portal-hero h1{font-size:30px;font-weight:700;letter-spacing:-.045em;line-height:1.1;color:#092b43}.portal-hero p{font-size:14px;line-height:1.58;color:#557084;max-width:430px}.portal-card{border:1px solid #e6edef;border-radius:16px;padding:16px;margin-bottom:10px;box-shadow:0 2px 10px rgba(15,45,63,.025)}.portal-card h3{font-size:18px;font-weight:600;letter-spacing:-.025em;line-height:1.25}.rating-btn{border-color:#e0e8eb;background:#fbfcfd;border-radius:9px;font-weight:600}.rating-btn.selected{background:#0c5660;border-color:#0c5660}.portal-task{border-bottom-color:#edf2f4}.portal-task-left b{font-size:14px;font-weight:600;line-height:1.3}.portal-task-left span{font-size:12px;line-height:1.4}.restricted-box{border-radius:18px;box-shadow:0 8px 30px rgba(20,48,65,.06)}

@media(max-width:900px){:root{--sidebar:76px}.content-grid{grid-template-columns:1fr}.right-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-split{grid-template-columns:1fr}}
@media(max-width:650px){.patient-portal{padding:10px}.patient-top{border-radius:12px}.portal-hero{border-radius:16px;padding:20px 18px}.portal-hero h1{font-size:27px}.portal-card{border-radius:14px}.topbar{border-radius:12px}}
.read-only-note{border:1px solid #e3eaed;background:#f8fafb;border-radius:10px;padding:12px 13px;font-size:13px;line-height:1.65;color:#496276;max-height:170px;overflow:auto}.info-box{border:1px solid #dbeae6;background:#f1f8f6;color:#365d59;border-radius:10px;padding:11px 12px;font-size:12.5px;line-height:1.55}.note-voided{opacity:.68;background:#f8f9fa}.note-voided .note-text{text-decoration:line-through;text-decoration-thickness:1px}.history-current,.history-item{border:1px solid #e5ecef;border-radius:12px;padding:13px;margin-bottom:10px;background:#fff}.history-current{background:#f2f8f6;border-color:#dbeae6}.history-current>b,.history-item b{display:block;font-size:13px;font-weight:600}.history-current>span,.history-item span{display:block;color:var(--muted);font-size:11px;margin-top:3px;line-height:1.35}.history-current p,.history-item p{font-size:13px;line-height:1.65;color:#36536a;margin:10px 0 0}


/* Beta 0.1.3 typography refinement */
body{font-kerning:normal;}
.small{font-size:13px;line-height:1.45}
.tiny{font-size:11px;line-height:1.35}
button,.btn,.tab-btn,.subtab{font-family:Bahnschrift,"Aptos Display",Aptos,"Segoe UI Variable","Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.brand-row,.patient-top .brand-row{text-transform:none}
.card p,.card li,.card span,.quote-card,.trial-pill span,.trial-pill b,.alert-item,.agenda-item{letter-spacing:0}

/* Beta 0.1.4 — agenda, confirmação e lembretes */
.reminder-info{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#eef8f5;border:1px solid #d8ebe5;border-radius:13px;padding:13px 14px;margin-bottom:12px}.reminder-info b{display:block;font-size:13px;font-weight:600}.reminder-info span{display:block;margin-top:3px;font-size:12px;color:var(--muted)}
.session-row{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 2px;border-bottom:1px solid #edf2f4}.session-row:last-child{border-bottom:0}.session-date b{display:block;font-size:12px;color:var(--muted);font-weight:500;text-transform:capitalize}.session-date span{display:block;margin-top:2px;font-size:24px;font-weight:700;letter-spacing:-.04em}.session-main>b{display:block;font-size:14px;font-weight:600}.session-main>span{display:block;margin-top:4px;font-size:12px;color:var(--muted)}.session-status{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:8px}.session-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.reminder-options{display:flex;gap:8px;flex-wrap:wrap}.reminder-options label{display:flex;align-items:center;gap:7px;border:1px solid #dfe9ec;background:#fbfcfd;border-radius:10px;padding:9px 11px;font-size:12px;color:var(--ink-2)}.reminder-options.vertical{display:grid;grid-template-columns:1fr;margin-bottom:12px}.check-line{display:flex;align-items:flex-start;gap:11px;border:1px solid #e2eaed;border-radius:12px;padding:12px;margin-bottom:10px}.check-line input{margin-top:3px}.check-line span{display:block}.check-line b{display:block;font-size:13px;font-weight:600}.check-line small{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.4}.check-line.compact{margin-top:12px}.next-session-card{background:linear-gradient(135deg,#f9fcfb,#f2f8f6)}.next-session-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.next-session-head .eyebrow{display:block;color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.next-session-head h3{margin:4px 0 0}.next-session-meta{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0;font-size:12px;color:var(--ink-2)}.next-session-meta span{background:#fff;border:1px solid #e3ebee;border-radius:99px;padding:7px 10px}.confirm-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.notification-strip{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #e5eeee;padding-top:12px;margin-top:12px}.notification-strip b{display:block;font-size:12px;font-weight:600}.notification-strip span{display:block;margin-top:2px;font-size:11px;color:var(--muted)}
@media(max-width:720px){.session-row{grid-template-columns:1fr}.session-date{display:flex;gap:8px;align-items:baseline}.session-date span{font-size:20px}.session-actions{justify-content:flex-start}.reminder-info{align-items:flex-start;flex-direction:column}.notification-strip{align-items:flex-start;flex-direction:column}.confirm-actions .btn{flex:1 1 160px}}


/* NEXELI Beta 0.1.5 — sono detalhado */
.sleep-card-head,.sleep-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.sleep-card-head h3{margin:2px 0 0}.eyebrow{display:block;font-size:10px;line-height:1.2;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.sleep-times{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sleep-duration{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#eff6ff;border:1px solid #dce9f6;border-radius:11px;padding:10px 12px;margin:-2px 0 12px;color:#35516a}.sleep-duration span{font-size:12px}.sleep-duration strong{font-size:15px;color:#0a2c44}.sleep-average{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;background:#eef6ff;color:#2e6da6;padding:6px 9px;font-size:11px;font-weight:700}.sleep-last{margin:-2px 0 12px}.sleep-summary{margin:0 14px 14px;border:1px solid #e5edf1;border-radius:12px;padding:13px 14px;background:#fbfdff}.sleep-summary-head b{display:block;margin-top:3px;font-size:14px}.sleep-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.sleep-summary-grid>div{background:#fff;border:1px solid #e8eff3;border-radius:10px;padding:10px}.sleep-summary-grid span,.sleep-note-preview span{display:block;font-size:10.5px;color:var(--muted);line-height:1.3}.sleep-summary-grid strong{display:block;font-size:16px;margin-top:3px;color:#0a2c44}.sleep-note-preview{margin-top:9px;background:#fff;border:1px solid #e8eff3;border-radius:10px;padding:10px}.sleep-note-preview p{margin:4px 0 0;font-size:12.5px;line-height:1.5;color:#36536a}.sleep-card textarea{resize:vertical;min-height:76px}@media(max-width:650px){.sleep-times{grid-template-columns:1fr 1fr}.sleep-summary-grid{grid-template-columns:1fr 1fr}.sleep-summary-grid>div:last-child{grid-column:1/-1}}@media(max-width:420px){.sleep-times{grid-template-columns:1fr}.sleep-card-head,.sleep-summary-head{align-items:flex-start}.sleep-summary-grid{grid-template-columns:1fr}.sleep-summary-grid>div:last-child{grid-column:auto}}


/* Beta 0.1.6 — módulo de sono do paciente */
.sleep-card-prominent{border-color:#dcebf2;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
.sleep-card-prominent .sleep-card-head{padding-bottom:2px}
.sleep-helper{margin:5px 0 0;max-width:420px}
.sleep-moon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#eef6ff;color:#3475b3;font-size:25px;flex:0 0 auto}
.sleep-form-highlight{background:#f7fafc;border:1px solid #e7eef2;border-radius:14px;padding:14px;margin-bottom:12px}
.sleep-average-input{display:flex;align-items:center;gap:9px}
.sleep-average-input input{min-width:0;flex:1}
.sleep-average-input span{font-size:13px;color:var(--muted);font-weight:600}
.sleep-summary-grid-four{grid-template-columns:repeat(4,1fr)}
@media(max-width:760px){.sleep-summary-grid-four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.sleep-summary-grid-four{grid-template-columns:1fr}.sleep-average-input{align-items:stretch}.sleep-average-input span{display:flex;align-items:center}}


/* NEXELI Beta 0.1.7 — histórico de tarefas */
.task-patient-section{padding:4px 0 18px;margin-bottom:10px;border-bottom:1px solid #edf2f4}.task-patient-section:last-child{border-bottom:0;margin-bottom:0}.task-patient-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.task-patient-head>div>b{display:block;font-size:15px;font-weight:650}.task-patient-head>div>span{display:block;margin-top:3px;font-size:11px;color:var(--muted)}
.task-record{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid #edf2f4}.task-record-main{display:flex;gap:11px;align-items:flex-start;min-width:0;flex:1}.task-record-copy{min-width:0;flex:1}.task-record-copy>b{display:block;font-size:14px;font-weight:600;line-height:1.3}.task-record-copy>span{display:block;font-size:12px;color:var(--muted);margin-top:3px;line-height:1.4}.task-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px}.task-meta span{font-size:10.5px;color:#5d7486;background:#f4f7f8;border:1px solid #e8eef0;padding:4px 7px;border-radius:99px}.task-progress{height:5px;background:#edf2f3;border-radius:99px;overflow:hidden;margin-top:8px;max-width:360px}.task-progress i{display:block;height:100%;background:#2b9b83;border-radius:inherit}.task-record-actions{display:flex;align-items:flex-end;gap:7px;flex-direction:column;flex:0 0 auto}.task-overdue{background:linear-gradient(90deg,transparent,#fff8f6 80%,#fff5f3);margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:10px}
.task-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.task-detail-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.task-detail-summary>div{border:1px solid #e7edef;border-radius:12px;padding:12px;background:#fbfcfd}.task-detail-summary span{display:block;font-size:10.5px;color:var(--muted);margin-bottom:6px}.task-detail-summary strong{font-size:15px;color:var(--ink)}.task-detail-info{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.task-detail-info>div{padding:10px 0}.task-detail-info span{display:block;font-size:10.5px;color:var(--muted);margin-bottom:4px}.task-detail-info b{display:block;font-size:12px;font-weight:600;line-height:1.4}.task-history-list{display:flex;flex-direction:column}.task-history-item{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:12px 0;border-top:1px solid #edf2f4}.task-history-mark{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--good-soft);color:var(--good);font-weight:800}.task-history-item b{display:block;font-size:13px;font-weight:600}.task-history-item span{display:block;font-size:10.5px;color:var(--muted);margin-top:2px}.task-history-item p{margin:7px 0 0;font-size:13px;line-height:1.55;color:#36536a}.portal-card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.portal-card-title-row h3{margin-top:3px}.portal-task-rich{align-items:flex-start}.portal-task-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.portal-task-meta span{font-size:10px!important;background:#f5f8f8;border:1px solid #e7edef;border-radius:99px;padding:3px 6px;color:#607889!important}.portal-task-action{display:flex;flex-direction:column;gap:7px;align-items:flex-end;flex:0 0 auto}.portal-task-action button[disabled]{cursor:default;opacity:.85}
@media(max-width:650px){.task-config-grid{grid-template-columns:1fr}.task-detail-summary{grid-template-columns:1fr 1fr}.task-detail-info{grid-template-columns:1fr}.task-record{align-items:flex-start}.task-record-actions{align-items:flex-end}.portal-task-rich{flex-direction:column}.portal-task-action{width:100%;flex-direction:row;align-items:center;justify-content:space-between}.portal-task-action .btn{min-height:40px}}


/* Beta 0.1.8 — task calendar and answer visibility */
.task-last-response{margin-top:9px;padding:8px 10px;border-left:3px solid #8fc7bc;background:#f4f9f7;border-radius:7px;font-size:11.5px;color:#486378;max-width:520px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-last-response b{font-weight:600;color:#294b5b}.task-response-box{margin-top:8px;border:1px solid #dcebe6;background:#f5faf8;border-radius:10px;padding:10px 11px}.task-response-box>span{font-size:10px!important;text-transform:uppercase;letter-spacing:.06em;color:#718a85!important;font-weight:600}.task-response-box p{margin:5px 0 0!important;font-size:13px!important;line-height:1.6!important;color:#2f5360!important}.task-calendar-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.portal-last-answer{margin-top:8px;background:#f4f8f7;border:1px solid #e2ece9;border-radius:9px;padding:8px 9px;max-width:420px}.portal-last-answer b{display:block!important;font-size:10px!important;text-transform:uppercase;letter-spacing:.05em;color:#68837e}.portal-last-answer span{display:block!important;margin-top:3px;color:#35576a!important;font-size:11.5px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:650px){.task-calendar-fields{grid-template-columns:1fr}.task-last-response{white-space:normal}.portal-last-answer span{white-space:normal}}


/* =========================================================
   NEXELI Beta 0.1.9 — calendário visual de tarefas
   ========================================================= */
.task-viewbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;flex-wrap:wrap}.segmented{display:inline-flex;align-items:center;background:#edf3f4;border:1px solid #e0e9eb;padding:3px;border-radius:11px}.segmented button{border:0;background:transparent;color:#617888;font-weight:600;font-size:12px;padding:8px 12px;border-radius:8px}.segmented button.active{background:#fff;color:#073b49;box-shadow:0 1px 5px rgba(15,45,63,.08)}.segmented.compact button{padding:7px 10px}.task-calendar-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.task-calendar-controls label{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.task-calendar-controls select{border:1px solid #dce6e9;background:#fff;border-radius:9px;padding:8px 28px 8px 10px;color:var(--ink);font-weight:600}.task-patient-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.task-calendar{max-width:900px;margin:auto}.calendar-toolbar{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:10px;margin-bottom:14px}.calendar-toolbar>div{text-align:center}.calendar-toolbar h3{margin:3px 0 0;font-size:20px;font-weight:700;letter-spacing:-.035em}.calendar-nav{width:40px;height:40px;border-radius:10px;border:1px solid #dfe8eb;background:#fff;color:#24485a;font-size:25px;line-height:1}.calendar-nav:hover{background:#f2f7f6}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays{margin-bottom:6px}.calendar-weekdays span{text-align:center;font-size:10px;color:#81929e;font-weight:700;letter-spacing:.06em}.calendar-cell{min-height:72px;border:1px solid #e5edef;background:#fff;border-radius:10px;padding:8px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;color:#28485b;transition:.15s}.calendar-cell:hover{border-color:#bfd5d2;background:#f9fcfb}.calendar-cell.outside{opacity:.38}.calendar-cell.today{box-shadow:inset 0 0 0 1px #6cb4aa}.calendar-cell.selected{border-color:#0c6670;background:#eef8f6;box-shadow:inset 0 0 0 1px #0c6670}.calendar-day-number{font-size:12px;font-weight:650}.calendar-dots{display:flex;align-items:center;gap:3px;min-height:10px}.calendar-dots i{width:6px;height:6px;border-radius:50%;background:#2e9c87}.calendar-dots b{font-size:9px;color:#6e858f;font-weight:650}.calendar-no-dot{height:7px}.calendar-day-detail{margin-top:14px;border:1px solid #e2ebed;background:#fbfcfd;border-radius:13px;padding:14px}.calendar-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px}.calendar-detail-head h4{margin:3px 0 0;font-size:16px;font-weight:700}.calendar-count{font-size:10.5px;color:#557083;background:#eef4f5;border-radius:99px;padding:5px 8px;font-weight:600}.calendar-entry-list{display:flex;flex-direction:column}.calendar-entry{display:grid;grid-template-columns:12px 1fr;gap:8px;padding:11px 0;border-top:1px solid #e9eff1}.calendar-entry-dot{width:8px;height:8px;border-radius:50%;background:#2e9c87;margin-top:5px}.calendar-entry-title{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.calendar-entry-title b{font-size:13px;font-weight:600}.calendar-entry-title time{font-size:10.5px;color:var(--muted);white-space:nowrap}.calendar-entry p{margin:5px 0 0;font-size:12.5px;line-height:1.55;color:#3d5a6c}.calendar-empty-day{padding:16px 0 8px;color:var(--muted);font-size:12.5px}.calendar-add-list{border-top:1px solid #e4ecee;margin-top:9px;padding-top:10px;display:flex;flex-direction:column;gap:7px}.calendar-add-task{width:100%;border:1px solid #dce9e6;background:#fff;border-radius:10px;padding:9px 10px;display:flex;align-items:center;gap:10px;text-align:left;color:#294c5b}.calendar-add-task>span{width:28px;height:28px;border-radius:8px;background:#e8f7f2;color:#1b816f;display:grid;place-items:center;font-weight:700}.calendar-add-task b{display:block;font-size:12.5px;font-weight:600}.calendar-add-task small{display:block;font-size:10.5px;color:var(--muted);margin-top:2px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.week-day{border:1px solid #e2eaed;background:#fff;border-radius:11px;padding:10px 7px;min-height:92px;display:flex;flex-direction:column;align-items:center;gap:4px;color:#365466}.week-day span{text-transform:uppercase;font-size:9px;letter-spacing:.06em;color:#7a909c;font-weight:700}.week-day strong{font-size:19px}.week-day small{font-size:9px;color:#83949f;text-align:center;line-height:1.25}.week-day.today{box-shadow:inset 0 0 0 1px #72b6ac}.week-day.selected{border-color:#0c6670;background:#eef8f6}.portal-task-tabs{display:flex;gap:4px;margin:12px 0 13px;background:#f1f5f6;padding:3px;border-radius:10px}.portal-task-tabs button{flex:1;border:0;background:transparent;color:#6a7f8e;font-size:12px;font-weight:600;border-radius:8px;padding:8px}.portal-task-tabs button.active{background:#fff;color:#073b49;box-shadow:0 1px 4px rgba(15,45,63,.07)}.portal-calendar-card .task-calendar{margin-top:3px}.portal-calendar-card .calendar-cell{min-height:58px;padding:6px}.portal-calendar-card .calendar-toolbar h3{font-size:18px}.portal-calendar-card .calendar-day-detail{background:#f8fbfa}.portal-calendar-card .calendar-add-task{background:#fff}
@media(max-width:650px){.task-viewbar{align-items:stretch}.task-calendar-controls{width:100%;justify-content:space-between}.task-calendar-controls label{flex:1}.task-calendar-controls select{width:100%;min-width:0}.calendar-weekdays,.calendar-grid{gap:3px}.calendar-cell{min-height:53px;border-radius:8px;padding:5px}.calendar-weekdays span{font-size:8.5px}.calendar-day-number{font-size:11px}.calendar-dots i{width:5px;height:5px}.week-grid{gap:3px}.week-day{min-height:76px;padding:7px 3px}.week-day small{font-size:8px}.calendar-entry-title{flex-direction:column;gap:2px}.calendar-toolbar{grid-template-columns:38px 1fr 38px}.calendar-nav{width:36px;height:36px}}


/* Beta 0.1.10 — respostas escritas visíveis ao profissional */
.written-responses-card{margin-bottom:12px;border-color:#dbe9e6;background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%)}
.written-responses-card .card-head>div{min-width:0}.written-responses-card .card-head h3{margin:0 0 3px}
.written-response-list{display:grid;gap:10px}.written-response-item{border:1px solid #e4ecee;background:#fff;border-radius:12px;padding:13px 14px}
.written-response-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.written-response-meta b{display:block;font-size:13px;font-weight:700;color:#0a3047}.written-response-meta span{display:block;margin-top:3px;font-size:11px;color:#738796}
.written-response-item p{margin:10px 0 0;padding:11px 12px;border-left:3px solid #2d9d8f;background:#f3f8f7;border-radius:8px;color:#29485c;font-size:13px;line-height:1.6;white-space:normal;overflow-wrap:anywhere}
.written-empty{padding:18px 6px}.task-last-response{margin-top:9px;padding:9px 10px;border-radius:8px;background:#f3f8f7;border:1px solid #e1ece9;color:#335469;font-size:12px;line-height:1.5}
@media(max-width:650px){.written-response-meta{flex-direction:column}.written-response-meta .btn{width:100%}}


/* Beta 0.1.11 — resposta canônica + calendário compacto */
.response-inbox{border-color:#dce9e6;background:#fff}.response-inbox .card-head{align-items:flex-start}.response-visible{background:#fbfdfc;border:1px solid #e2ece9;border-radius:12px;padding:13px 14px;margin-bottom:9px}.response-visible:last-child{margin-bottom:0}.response-label{margin-top:10px;font-size:10px;text-transform:uppercase;letter-spacing:.065em;color:#6f8985;font-weight:700}.response-visible p{margin:5px 0 0;font-size:13.5px;line-height:1.58;color:#244a58;white-space:normal;overflow-wrap:anywhere}
.task-calendar{max-width:660px;margin:0 auto}.calendar-toolbar{grid-template-columns:34px 1fr 34px;gap:8px;margin-bottom:9px}.calendar-toolbar h3{font-size:16px;margin-top:1px}.calendar-toolbar .eyebrow{font-size:9px}.calendar-nav{width:32px;height:32px;border-radius:8px;font-size:20px}.calendar-weekdays,.calendar-grid{gap:3px}.calendar-weekdays{margin-bottom:3px}.calendar-weekdays span{font-size:8.5px;letter-spacing:.045em}.calendar-cell{min-height:45px;border-radius:8px;padding:5px 6px}.calendar-day-number{font-size:11px;font-weight:600}.calendar-dots{gap:2px}.calendar-dots i{width:4px;height:4px}.calendar-dots b{font-size:8px}.calendar-no-dot{height:4px}.calendar-day-detail{margin-top:10px;border-radius:10px;padding:11px 12px}.calendar-detail-head{margin-bottom:4px}.calendar-detail-head h4{font-size:14px;margin-top:1px}.calendar-count{font-size:9.5px;padding:4px 7px}.calendar-entry{padding:8px 0;grid-template-columns:9px 1fr;gap:7px}.calendar-entry-dot{width:6px;height:6px;margin-top:5px}.calendar-entry-title b{font-size:12px}.calendar-entry-title time{font-size:9.5px}.calendar-entry p{font-size:11.5px;line-height:1.48}.calendar-add-list{margin-top:6px;padding-top:8px;gap:5px}.calendar-add-task{padding:7px 8px;border-radius:8px}.calendar-add-task>span{width:24px;height:24px;border-radius:7px}.calendar-add-task b{font-size:11.5px}.calendar-add-task small{font-size:9.5px}.week-grid{gap:4px}.week-day{min-height:68px;border-radius:9px;padding:7px 4px}.week-day strong{font-size:16px}.week-day small{font-size:8px}.portal-calendar-card .task-calendar{max-width:430px}.portal-calendar-card .calendar-cell{min-height:40px;padding:4px}.portal-calendar-card .calendar-toolbar h3{font-size:15px}.portal-calendar-card .calendar-day-detail{padding:10px}
@media(max-width:650px){.task-calendar{max-width:100%}.calendar-cell{min-height:39px;padding:4px}.calendar-day-number{font-size:10px}.calendar-weekdays span{font-size:7.5px}.calendar-toolbar{grid-template-columns:30px 1fr 30px}.calendar-nav{width:28px;height:28px;font-size:18px}.portal-calendar-card .calendar-cell{min-height:36px}.response-visible{padding:11px 12px}}


/* NEXELI Beta 0.1.12 — compact calendar */
.task-calendar{max-width:520px;margin:0 auto}
.calendar-toolbar{grid-template-columns:28px 1fr 28px;gap:6px;margin-bottom:7px}
.calendar-toolbar h3{font-size:14px;margin:0;font-weight:600;letter-spacing:-.02em}
.calendar-toolbar .eyebrow{display:none}
.calendar-nav{width:28px;height:28px;border-radius:7px;font-size:17px}
.calendar-weekdays,.calendar-grid{gap:2px}
.calendar-weekdays{margin-bottom:2px}
.calendar-weekdays span{font-size:7.5px;letter-spacing:.03em;font-weight:600}
.calendar-cell{min-height:35px;border-radius:7px;padding:3px 4px;border-color:#e8eef0}
.calendar-day-number{font-size:9.5px;font-weight:600}
.calendar-dots{gap:1.5px;min-height:6px}.calendar-dots i{width:3.5px;height:3.5px}.calendar-dots b{font-size:7px}.calendar-no-dot{height:3px}
.calendar-day-detail{margin-top:8px;border-radius:9px;padding:9px 10px}
.calendar-detail-head{margin-bottom:3px}.calendar-detail-head h4{font-size:13px;margin:0}.calendar-count{font-size:8.5px;padding:3px 6px}
.calendar-entry{padding:7px 0}.calendar-entry-title b{font-size:11.5px}.calendar-entry-title time{font-size:9px}.calendar-entry p{font-size:11.5px;line-height:1.45;margin-top:4px}
.calendar-add-task{padding:6px 7px}.calendar-add-task>span{width:22px;height:22px}.calendar-add-task b{font-size:11px}.calendar-add-task small{font-size:9px}
.portal-calendar-card .task-calendar{max-width:360px}.portal-calendar-card .calendar-cell{min-height:32px;padding:3px}.portal-calendar-card .calendar-toolbar h3{font-size:13.5px}
@media(max-width:650px){.task-calendar{max-width:390px}.portal-calendar-card .task-calendar{max-width:340px}.calendar-cell{min-height:31px}.portal-calendar-card .calendar-cell{min-height:29px}.calendar-weekdays span{font-size:7px}}

/* NEXELI Beta 0.3.2 — consolidação de homologação */
.modal{display:flex;flex-direction:column;overflow:hidden}
.modal-head{flex:0 0 auto;background:#fff;position:sticky;top:0;z-index:4}
.modal-body{overflow:auto;flex:1 1 auto}
.modal-foot{flex:0 0 auto;background:#fff;position:sticky;bottom:0;z-index:4;box-shadow:0 -8px 18px rgba(15,45,63,.035)}
.portal-data-summary{margin-top:12px;border:1px solid #e3ecea;border-radius:14px;background:#fbfdfc;padding:14px}
.portal-data-summary-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.portal-data-summary-head h3{margin:2px 0 0;font-size:15px}
.portal-data-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.portal-data-summary-grid>div{border:1px solid #e7eeee;background:#fff;border-radius:11px;padding:10px;min-width:0}
.portal-data-summary-grid span{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.055em;color:#748b95;font-weight:700;margin-bottom:5px}
.portal-data-summary-grid b{display:block;font-size:11.5px;line-height:1.45;color:#244656;white-space:normal;overflow-wrap:anywhere}
.portal-data-summary-grid small{display:block;margin-top:5px;color:#80919a;font-size:9.5px}
.system-check-card{border-color:#cfe4df;background:linear-gradient(180deg,#fff,#f8fcfb)}
.diagnostics-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.diagnostics-grid>div{border:1px solid #e4ecee;border-radius:10px;padding:10px;background:#fbfcfd}
.diagnostics-grid span{display:block;color:#718692;font-size:10px;text-transform:capitalize;margin-bottom:4px}
.diagnostics-grid b{font-size:12px;color:#173f50;overflow-wrap:anywhere}
.diag-status{border-radius:12px;padding:12px 14px;display:flex;justify-content:space-between;gap:10px;align-items:center}
.diag-status b{font-size:13px}.diag-status span{font-size:11px}
.diag-good{background:#eef9f5;border:1px solid #cee9df;color:#236c58}
.diag-warn{background:#fff7ed;border:1px solid #f1dec6;color:#92602c}
@media(max-width:650px){.portal-data-summary-grid,.diagnostics-grid{grid-template-columns:1fr}.portal-data-summary-head{flex-direction:column}.modal{max-height:94vh}}

/* NEXELI Beta 0.4.0 — registro diário unificado */
.patient-mobile-wide{max-width:780px}
.daily-form{display:flex;flex-direction:column;gap:12px}
.daily-intro h2{margin:3px 0 6px;font-size:24px;letter-spacing:-.035em}.daily-intro p{margin:0 0 14px;color:var(--muted);line-height:1.55}
.daily-section{padding:18px}.daily-section-title{display:flex;gap:11px;align-items:flex-start;margin-bottom:14px}.daily-section-title h3{margin:0;font-size:17px}.daily-section-title p{margin:3px 0 0;color:var(--muted);font-size:12px}.daily-step{width:28px;height:28px;border-radius:9px;background:#e7f5f1;color:#207966;display:grid;place-items:center;font-size:12px;font-weight:800;flex:0 0 auto}
.daily-three{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.daily-submit-card{position:sticky;bottom:10px;z-index:5;border-color:#bcded5;box-shadow:0 12px 30px rgba(12,68,78,.12);display:grid;grid-template-columns:1fr minmax(220px,300px);gap:16px;align-items:center}.daily-submit-card b{display:block;font-size:14px}.daily-submit-card p{margin:3px 0 0;color:var(--muted);font-size:11px}
.daily-task-list{display:flex;flex-direction:column;gap:9px}.daily-task-box{border:1px solid #e1eaec;background:#fbfcfd;border-radius:12px;padding:12px}.daily-task-check{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.daily-task-check input{margin-top:3px}.daily-task-check b{display:block;font-size:13px}.daily-task-check small{display:block;margin-top:3px;color:var(--muted);font-size:10.5px}.daily-task-box .field{margin:10px 0 0}.last-unified-record{margin-top:10px;display:inline-block;padding:7px 10px;border-radius:9px;background:rgba(255,255,255,.62);font-size:11px;color:#355766}
.records-filter{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.records-filter select{border:1px solid #dce6e9;background:#fff;border-radius:9px;padding:9px 30px 9px 10px;color:var(--ink);font-weight:600}.unified-records-intro{margin-bottom:12px;border-color:#d6e9e4;background:linear-gradient(180deg,#fff,#f8fcfb)}.unified-records-intro .card-body{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.unified-records-intro b{font-size:14px}.unified-records-intro span{font-size:12px;color:#526d7a}.unified-records-intro small{width:100%;color:var(--muted);line-height:1.45}
.daily-record-list{display:flex;flex-direction:column;gap:12px}.daily-record-card{border:1px solid #dfe9eb;background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 3px 14px rgba(20,54,67,.035)}.daily-record-card>header{padding:15px 16px;border-bottom:1px solid #e9eff0;background:#fbfcfd;display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.daily-record-card h3{margin:3px 0 2px;font-size:17px}.daily-record-card header small{font-size:10.5px;color:var(--muted)}.daily-record-badges{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.daily-record-badges span{font-size:9.5px;font-weight:650;color:#45636e;background:#edf5f3;border:1px solid #dcebe7;border-radius:99px;padding:4px 7px}.daily-record-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.daily-record-section{padding:14px 16px;border-right:1px solid #edf1f2;border-bottom:1px solid #edf1f2;min-width:0}.daily-record-section:nth-child(even){border-right:0}.daily-record-section h4{margin:0 0 9px;font-size:12px;text-transform:uppercase;letter-spacing:.045em;color:#617c87}.daily-record-section p{margin:5px 0 0;color:#294b59;font-size:12.5px;line-height:1.55;overflow-wrap:anywhere}.daily-kpis{display:flex;gap:7px;flex-wrap:wrap}.daily-kpis span{font-size:10px;color:#70848e;background:#f4f7f8;border-radius:8px;padding:6px 8px}.daily-kpis b{color:#173e4d;font-size:11px}.record-line+ .record-line{margin-top:8px}.record-line>span{display:block;font-size:9.5px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.daily-task-results{grid-column:1/-1;border-right:0}.daily-task-result{padding:8px 0;border-top:1px solid #edf1f2}.daily-task-result:first-of-type{border-top:0}.daily-task-result b{font-size:12px;color:#205c50}.daily-task-result p{padding:8px 10px;background:#f4f9f7;border-radius:8px;margin-top:6px}
@media(max-width:700px){.daily-three{grid-template-columns:1fr}.daily-submit-card{position:static;grid-template-columns:1fr}.daily-record-card>header{flex-direction:column}.daily-record-badges{justify-content:flex-start}.daily-record-body{grid-template-columns:1fr}.daily-record-section{border-right:0}.patient-mobile-wide{max-width:100%}}

/* NEXELI Beta 0.5.0 — segurança, produção e impressão */
.auth-help{display:block;width:100%;margin-top:10px;border:0;background:transparent;color:#2d6f67;font:inherit;font-size:12px;font-weight:650;cursor:pointer;padding:5px}
.auth-help:hover{text-decoration:underline}.security-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.prod-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.prod-item{border:1px solid #e1e9eb;border-radius:12px;padding:11px 12px;background:#fbfcfd}.prod-item b{display:block;font-size:12px}.prod-item span{display:block;margin-top:4px;font-size:10.5px;line-height:1.45;color:var(--muted)}.prod-item.ok{border-color:#cfe7df;background:#f4faf8}.prod-item.ok b{color:#24705e}.prod-item.pending{border-color:#eadfce;background:#fffbf6}.prod-item.pending b{color:#8a6131}
@media(max-width:700px){.prod-grid{grid-template-columns:1fr}.security-actions .btn{flex:1 1 150px}}


/* NEXELI Beta 0.5.2 — tipografia editorial/geometrica mais madura */
:root{--radius:14px}
body{font-family:Bahnschrift,"Aptos Display",Aptos,"Segoe UI Variable","Segoe UI",system-ui,sans-serif;letter-spacing:-.006em}
button,input,textarea,select{font-family:inherit;letter-spacing:-.004em}
h1,h2,h3,h4,h5,h6,.brand-row,.metric-value{font-family:Bahnschrift,"Aptos Display",Aptos,"Segoe UI Variable","Segoe UI",system-ui,sans-serif;font-weight:700;letter-spacing:-.028em}
.brand-row{font-weight:700;letter-spacing:.075em}
.auth-copy h1{font-size:48px;line-height:1.04;font-weight:700;letter-spacing:-.04em}
.auth-copy p{font-size:18px;line-height:1.62}
.auth-card{border-radius:20px}
.auth-card h2{font-size:28px;font-weight:700;letter-spacing:-.035em}
.topbar{border-radius:14px}
.topbar h1{font-size:25px;font-weight:700;letter-spacing:-.035em}
.card,.metric{border-radius:14px}
.metric-value{font-size:28px;font-weight:700}
.btn{border-radius:9px;font-weight:700;letter-spacing:-.012em}
.btn-sm{border-radius:8px}
.nav-btn{border-radius:9px;font-weight:600;letter-spacing:-.01em}
.tabs{border-radius:9px}.tab-btn{border-radius:7px;font-weight:600}
.field label{font-weight:600;letter-spacing:-.006em}
.field input,.field textarea,.field select{border-radius:9px}
.mode-switch{border-radius:9px}.mode-switch button{border-radius:7px;font-weight:700}
.trial-pill{border-radius:10px}
.quote-card{border-radius:12px}
.badge{font-weight:700}
.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-weight:700}
@media(max-width:760px){.auth-copy h1{font-size:40px}.auth-card{border-radius:16px}}
