@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--ink:#173a3d;--muted:#678083;--teal:#167b7c;--teal-dark:#105f61;--teal-soft:#e8f5f3;--mint:#d9eee8;--coral:#e78f78;--cream:#fff8ef;--line:#dfe9e7;--surface:#fff;--canvas:#f5f8f7;--shadow:0 14px 40px rgba(37,79,76,.08);font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--canvas);font-size:15px}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,.brand-lockup strong,.login-brand strong{font-family:'Manrope',sans-serif;margin-top:0}p{line-height:1.6}.muted,.section-heading p,.hint{color:var(--muted)}.eyebrow{margin:0 0 7px;text-transform:uppercase;letter-spacing:.11em;font-size:.72rem;font-weight:800;color:var(--teal)}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;padding:26px 18px;background:#fafdFC;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:20}.brand-lockup,.login-brand{display:flex;align-items:center;gap:12px}.brand-lockup strong,.login-brand strong{display:block;font-size:1.15rem}.brand-lockup small{display:block;margin-top:1px;color:var(--muted);font-size:.72rem}.brand-mark{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,var(--teal),#45aaa0);color:#fff;font:bold 1.3rem 'Manrope';box-shadow:0 8px 18px #167b7c35}.nav{display:grid;gap:6px;margin-top:42px}.nav button{display:flex;align-items:center;gap:13px;width:100%;border:0;padding:12px 14px;border-radius:12px;color:#587174;background:transparent;text-align:left;font-weight:600}.nav button span{display:grid;place-items:center;width:25px;font-size:1.2rem}.nav button:hover{background:var(--teal-soft);color:var(--teal-dark)}.nav button.active{background:var(--teal);color:#fff;box-shadow:0 8px 20px #167b7c2e}.sidebar-foot{margin-top:auto;padding:14px;color:var(--muted);font-size:.75rem;display:flex;align-items:center;gap:8px}.status-dot{width:8px;height:8px;border-radius:50%;background:#48aa85;box-shadow:0 0 0 4px #48aa8520}.workspace{margin-left:244px;min-height:100vh}.top{min-height:105px;padding:22px clamp(24px,4vw,54px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.75);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.top h1{font-size:1.05rem;line-height:1.45;margin:0;max-width:570px}.user-menu{display:flex;align-items:center;gap:10px}.avatar{flex:none;display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--mint);color:var(--teal-dark);font-weight:800;font-size:.76rem}.avatar.large{width:56px;height:56px;border-radius:17px;font-size:1rem}.user-copy{display:grid;min-width:115px}.user-copy strong{font-size:.82rem}.user-copy small{color:var(--muted);font-size:.71rem}.page{max-width:1450px;margin:auto;padding:32px clamp(22px,4vw,54px) 60px}.panel,.hero-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 3px 14px rgba(30,75,70,.035)}.panel{padding:26px}.panel.narrow{max-width:760px}.panel.centered{min-height:520px}.hero-card{min-height:178px;padding:30px 34px;background:linear-gradient(112deg,#116f70,#278d89);color:#fff;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative}.hero-card:after{content:"";position:absolute;width:270px;height:270px;border:46px solid #ffffff12;border-radius:50%;right:-70px;top:-90px}.hero-card>div,.hero-card>button{position:relative;z-index:1}.hero-card .warm-badge{background:#ffffff17;color:#fff}.hero-card h2{font-size:1.8rem;margin:12px 0 5px}.hero-card p{margin:0;color:#d9f0ed}.warm-badge,.role-pill{display:inline-flex;padding:6px 10px;border-radius:100px;background:#fff0dc;color:#9a5a3f;font-size:.7rem;font-weight:800;letter-spacing:.04em}.light-action{border:1px solid #ffffff50;background:#fff;color:var(--teal-dark);padding:12px 16px;border-radius:12px;font-weight:700}.metrics-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;margin:18px 0}.metric-card{display:flex;gap:13px;align-items:center;padding:18px;background:#fff;border:1px solid var(--line);border-radius:17px}.metric-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:var(--teal-soft);color:var(--teal);font-size:1.15rem}.metric-card.draft .metric-icon{background:#fff2dd;color:#b67a31}.metric-card.ready .metric-icon{background:#e5f5e9;color:#3e9461}.metric-card span,.metric-card small{display:block;color:var(--muted);font-size:.72rem}.metric-card strong{display:block;font-family:'Manrope';font-size:1.55rem;line-height:1.3}.content-grid,.two-column{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:18px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px}.section-heading h2{font-size:1.22rem;margin:0 0 5px}.section-heading p:not(.eyebrow){margin:0;font-size:.88rem}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick-grid button{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:12px;text-align:left;padding:15px;background:#fbfdfc;border:1px solid var(--line);border-radius:14px;color:var(--ink)}.quick-grid button:hover{border-color:#91c8c2;transform:translateY(-1px)}.quick-grid button>span{grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:var(--teal-soft);color:var(--teal);font-size:1.1rem}.quick-grid strong{font-size:.84rem}.quick-grid small{color:var(--muted);margin-top:2px}.calm-card{background:linear-gradient(155deg,var(--cream),#fff);border-color:#f1e2d3}.calm-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:#f5d7ca;color:#b86d59;font-size:1.3rem;margin-bottom:24px}.calm-card h2{font-size:1.35rem;line-height:1.35;margin-bottom:8px}.calm-card>p:last-child{color:#7d6f66;font-size:.85rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid.single{grid-template-columns:1fr}.span-2{grid-column:1/-1}label{display:grid;gap:7px;margin:0 0 15px;font-size:.77rem;font-weight:700;color:#496568}input,select,textarea{width:100%;min-height:44px;padding:11px 13px;border:1px solid #cfdedb;border-radius:11px;background:#fcfefe;color:var(--ink);outline:0;transition:.2s}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #167b7c17;background:#fff}button.primary,.form-footer button,.search-row button,form>button{min-height:44px;padding:11px 18px;border:0;border-radius:11px;background:var(--teal);color:#fff;font-weight:700}.wide{width:100%;display:flex;justify-content:center;gap:10px}.ghost{border:1px solid var(--line);background:#fff;color:#547074}.small{min-height:36px!important;padding:8px 11px!important;border-radius:9px!important;font-size:.75rem}.secondary{border:0;background:#edf3f2;color:#436063}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:18px;margin-top:8px}.hint{font-size:.76rem;margin:0}.search-row{display:flex;gap:8px}.search-row input{margin:0}.result-list{display:grid;gap:8px;margin-top:18px}.patient-result{display:flex;align-items:center;gap:12px;width:100%;padding:11px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);text-align:left}.patient-result:hover{border-color:#89c4be;background:#fbfefd}.patient-result>span:nth-child(2){display:grid;flex:1}.patient-result small{color:var(--muted)}.patient-result b{color:var(--teal)}.empty-state{display:grid;place-items:center;text-align:center;padding:34px 14px;color:var(--muted)}.empty-state.large{padding:80px 20px}.empty-state>span{display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:var(--teal-soft);color:var(--teal);font-size:1.3rem;margin-bottom:10px}.empty-state strong{color:var(--ink)}.empty-state p{margin:4px 0 15px;font-size:.82rem}.empty-state button{border:0;border-radius:10px;background:var(--teal);color:#fff;padding:10px 14px}.info-strip{display:flex;gap:10px;align-items:center;padding:12px 14px;margin-bottom:22px;border-radius:12px;background:var(--teal-soft);color:#3d6667;font-size:.8rem}.info-strip span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--teal);color:#fff;font-weight:800}.form-section{padding:5px 0 12px}.form-section+ .form-section{border-top:1px solid var(--line);padding-top:22px}.form-section h3{font-size:.9rem;margin-bottom:16px}.patient-banner{display:flex;align-items:center;gap:14px;padding-bottom:22px;border-bottom:1px solid var(--line)}.patient-banner h2,.patient-banner p{margin:0}.timeline{padding:24px 0 0 24px}.timeline article{position:relative;border-left:2px solid var(--mint);padding:0 0 25px 25px}.timeline-dot{position:absolute;left:-7px;top:3px;width:12px;height:12px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px var(--teal-soft)}.timeline article p,.timeline article small{color:var(--muted);margin:4px 0}.table-wrap{overflow:auto;margin:0 -4px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.07em}.table-person{display:flex;align-items:center;gap:10px}.table-person>span:last-child{display:grid}.table-person small{color:var(--muted)}.status-pill{display:inline-flex;align-items:center;gap:7px;font-size:.72rem;font-weight:700}.status-pill i{width:7px;height:7px;border-radius:50%;background:#809092}.status-pill.active i{background:#45a774}.actions{display:flex;gap:6px}.account-forms{margin-top:18px;grid-template-columns:1fr 1fr}.notice{padding:11px 13px;border-radius:11px;font-size:.8rem;background:var(--teal-soft);color:#416a6b}.notice.warning{background:#fff3d8;color:#825e25}.notice.error{background:#fff0ed;color:#a34736}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.login-page{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;background:#fff}.login-welcome{position:relative;padding:48px clamp(42px,7vw,105px);display:flex;flex-direction:column;color:#fff;background:linear-gradient(145deg,#105f61 0%,#1e8884 68%,#5cb2a5 100%);overflow:hidden}.login-welcome:before,.login-welcome:after{content:"";position:absolute;border-radius:50%;border:70px solid #ffffff0a}.login-welcome:before{width:380px;height:380px;right:-190px;bottom:-130px}.login-welcome:after{width:220px;height:220px;left:-130px;top:35%}.login-brand{position:relative;z-index:1}.login-brand .brand-mark{background:#fff;color:var(--teal);box-shadow:none}.welcome-copy{position:relative;z-index:1;margin:auto 0;max-width:650px}.welcome-copy .warm-badge{background:#ffffff18;color:#fff}.welcome-copy h1{font-size:clamp(2.5rem,4.8vw,4.6rem);line-height:1.08;letter-spacing:-.045em;margin:22px 0}.welcome-copy h1 em{color:#ffd8c9;font-style:normal}.welcome-copy p{max-width:560px;color:#d9eeeb;font-size:1.05rem}.welcome-points{position:relative;z-index:1;display:flex;gap:20px;flex-wrap:wrap;color:#d9eeeb;font-size:.75rem}.login-panel{display:grid;place-items:center;padding:38px}.login-card{width:min(100%,430px)}.login-card h2{font-size:1.75rem;margin:5px 0}.login-card>.muted{margin:0 0 27px}.mobile-brand{display:none}.connection-settings{margin:7px 0 18px;border:1px solid var(--line);border-radius:11px;background:#fbfdfc}.connection-settings summary{padding:11px 13px;cursor:pointer;color:var(--muted);font-size:.76rem;font-weight:700}.connection-settings summary span{float:right;color:#3c936f}.connection-settings label{padding:0 12px}.connection-settings small{display:block;padding:0 12px 12px;color:var(--muted);font-size:.7rem}.login-card .notice{margin-top:15px;text-align:center}.privacy{text-align:center;color:#87999a;font-size:.7rem;margin-top:24px}
@media(max-width:1100px){.metrics-grid{grid-template-columns:repeat(3,1fr)}.content-grid,.two-column{grid-template-columns:1fr}.account-forms{grid-template-columns:1fr}.login-page{grid-template-columns:.9fr 1.1fr}.welcome-copy h1{font-size:3rem}}
@media(max-width:760px){.sidebar{position:fixed;inset:auto 0 0;width:auto;height:72px;padding:8px 10px;border-right:0;border-top:1px solid var(--line)}.brand-lockup,.sidebar-foot{display:none}.nav{margin:0;display:grid;grid-template-columns:repeat(6,1fr);gap:2px}.nav button{display:grid;place-items:center;gap:1px;padding:6px 2px;font-size:.59rem;border-radius:10px}.nav button span{height:23px;font-size:1rem}.workspace{margin-left:0;padding-bottom:72px}.top{min-height:90px;padding:16px 18px}.top h1{font-size:.86rem}.user-copy{display:none}.page{padding:20px 14px 30px}.metrics-grid{grid-template-columns:1fr 1fr}.metric-card{padding:13px}.metric-card strong{font-size:1.25rem}.metric-icon{width:34px;height:34px}.hero-card{padding:25px;display:block}.hero-card .light-action{margin-top:18px}.content-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr}.panel{padding:20px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.form-footer{align-items:stretch;flex-direction:column}.search-row{display:grid}.login-page{display:block;background:linear-gradient(145deg,#eff8f6,#fff8ef)}.login-welcome{display:none}.login-panel{min-height:100vh;padding:26px 20px}.mobile-brand{display:flex;align-items:center;gap:10px;margin-bottom:45px;font-family:'Manrope';font-weight:800}.mobile-brand .brand-mark{width:36px;height:36px;border-radius:11px}.table-wrap{margin:0 -20px;padding:0 20px}.welcome-points{display:none}}
@media(max-width:430px){.metrics-grid{grid-template-columns:1fr}.top .ghost{font-size:0;width:38px}.top .ghost:after{content:"↪";font-size:1rem}.nav{grid-template-columns:repeat(6,1fr)}}

/* Responsive experience refinements */
:root{--focus:0 0 0 4px rgba(22,123,124,.16)}
html{scroll-behavior:smooth}
body{background:
  radial-gradient(circle at 88% 2%,rgba(231,143,120,.08),transparent 24rem),
  var(--canvas)}
button,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:0;box-shadow:var(--focus)}
button:active{transform:translateY(1px)}
.sidebar{width:256px;padding:28px 20px;background:rgba(250,253,252,.96);box-shadow:10px 0 35px rgba(25,73,69,.025)}
.workspace{margin-left:256px}
.nav button{min-height:48px;padding:12px 15px}
.nav button.active{box-shadow:0 9px 24px rgba(22,123,124,.2)}
.top{position:sticky;top:0;z-index:15;min-height:94px;padding-block:18px}
.top h1{font-weight:600;color:#365b5e}
.page{padding-top:28px}
.panel,.hero-card,.metric-card{box-shadow:0 10px 32px rgba(27,75,71,.055)}
.panel{border-color:#dbe8e5}
.hero-card{min-height:190px;border:0;box-shadow:0 18px 40px rgba(16,95,97,.19)}
.metric-card{min-width:0;transition:transform .18s ease,box-shadow .18s ease}
.metric-card:hover{transform:translateY(-2px);box-shadow:0 15px 34px rgba(27,75,71,.09)}
.metric-card>div:last-child{min-width:0}
.metric-card span,.metric-card small{overflow:hidden;text-overflow:ellipsis}
.quick-grid button{min-height:78px}
.quick-grid button:hover{box-shadow:0 10px 24px rgba(27,75,71,.08)}
input,select,textarea{font-size:16px}
textarea{min-height:110px;resize:vertical}
.form-footer button,.search-row button,form>button{box-shadow:0 8px 18px rgba(22,123,124,.14)}
.form-footer button:hover,.search-row button:hover,form>button:hover{background:var(--teal-dark);box-shadow:0 10px 22px rgba(22,123,124,.2)}
.patient-result{min-height:64px;padding:12px 14px}
.patient-result:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(27,75,71,.06)}
.table-wrap{border:1px solid var(--line);border-radius:14px;overflow:auto}
table th:first-child,table td:first-child{padding-left:16px}
table th:last-child,table td:last-child{padding-right:16px}
tbody tr:last-child td{border-bottom:0}
.login-card{padding:34px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.94);box-shadow:0 24px 65px rgba(22,74,70,.1)}
.login-panel{background:
  radial-gradient(circle at 90% 12%,rgba(231,143,120,.12),transparent 15rem),
  linear-gradient(150deg,#f9fcfb,#fff)}

@media(max-width:1240px){
  .sidebar{width:224px;padding-inline:15px}
  .workspace{margin-left:224px}
  .brand-lockup small{display:none}
  .page{padding-inline:26px}
  .metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:900px){
  .sidebar{inset:auto 0 0;width:auto;height:78px;padding:9px 12px calc(9px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);box-shadow:0 -10px 30px rgba(25,73,69,.08);background:rgba(255,255,255,.96);backdrop-filter:blur(18px)}
  .brand-lockup,.sidebar-foot{display:none}
  .nav{margin:0;display:flex;align-items:stretch;gap:4px;overflow-x:auto;scrollbar-width:none}
  .nav::-webkit-scrollbar{display:none}
  .nav button{flex:1 0 72px;min-width:0;min-height:58px;display:grid;place-items:center;align-content:center;gap:2px;padding:5px 4px;border-radius:12px;text-align:center;font-size:.66rem}
  .nav button span{width:auto;height:22px;font-size:1.08rem}
  .nav button.active{box-shadow:none}
  .workspace{margin-left:0;padding-bottom:calc(78px + env(safe-area-inset-bottom))}
  .top{min-height:84px;padding:14px 22px}
  .page{padding:24px 20px 38px}
  .content-grid,.two-column{grid-template-columns:1fr}
  .account-forms{grid-template-columns:1fr}
  .login-page{grid-template-columns:minmax(0,.78fr) minmax(430px,1.22fr)}
  .login-welcome{padding:36px}
  .welcome-copy h1{font-size:2.65rem}
}

@media(max-width:640px){
  .top{align-items:flex-start;min-height:82px;padding:13px 16px}
  .top .eyebrow{margin-bottom:3px}
  .top h1{max-width:210px;font-size:.78rem;line-height:1.35}
  .user-menu{gap:7px}
  .user-copy{display:none}
  .page{padding:16px 12px 28px}
  .hero-card{min-height:auto;padding:23px 21px;border-radius:18px;display:block}
  .hero-card h2{font-size:1.45rem;margin-top:10px}
  .hero-card p{font-size:.85rem;line-height:1.5}
  .hero-card .light-action{width:100%;margin-top:18px}
  .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0}
  .metric-card{display:grid;grid-template-columns:34px 1fr;gap:9px;padding:13px 11px;border-radius:15px}
  .metric-icon{width:34px;height:34px}
  .metric-card strong{font-size:1.28rem}
  .metric-card small{display:none}
  .panel{padding:18px 16px;border-radius:17px}
  .section-heading{margin-bottom:17px}
  .section-heading h2{font-size:1.08rem}
  .section-heading p:not(.eyebrow){font-size:.8rem}
  .quick-grid{grid-template-columns:1fr;gap:9px}
  .quick-grid button{min-height:68px;padding:12px}
  .form-grid{grid-template-columns:1fr;gap:0}
  .span-2{grid-column:auto}
  label{margin-bottom:13px}
  input,select,textarea{min-height:48px}
  .search-row{display:grid;grid-template-columns:1fr}
  .search-row button,.form-footer button{width:100%}
  .form-footer{align-items:stretch;flex-direction:column}
  .info-strip{align-items:flex-start}
  .patient-banner{align-items:flex-start}
  .timeline{padding-left:10px}
  .table-wrap{border:0;overflow:visible;margin:0}
  table,thead,tbody,tr,th,td{display:block}
  thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  tbody{display:grid;gap:11px}
  tbody tr{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}
  tbody td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0!important;border:0;white-space:normal}
  tbody td:before{content:"";font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
  tbody td:nth-child(2):before{content:"Role"}
  tbody td:nth-child(3):before{content:"Status"}
  tbody td:nth-child(4){display:block;padding-top:11px!important;margin-top:5px;border-top:1px solid var(--line)}
  .actions{display:grid;grid-template-columns:1fr 1fr}
  .actions button{width:100%}
  .login-page{display:block;background:linear-gradient(145deg,#eff8f6,#fff8ef)}
  .login-welcome{display:none}
  .login-panel{min-height:100vh;padding:22px 16px}
  .login-card{width:min(100%,440px);padding:24px 20px;border-radius:20px}
  .mobile-brand{display:flex;align-items:center;gap:10px;margin-bottom:36px;font-family:'Manrope';font-weight:800}
  .mobile-brand .brand-mark{width:38px;height:38px;border-radius:12px}
}

@media(max-width:380px){
  .nav button{flex-basis:59px;font-size:.58rem}
  .metrics-grid{grid-template-columns:1fr}
  .metric-card{grid-template-columns:36px 1fr}
  .metric-card small{display:block}
  .top .ghost{font-size:0;width:38px;padding-inline:0}
  .top .ghost:after{content:"↪";font-size:1rem}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{transition:none!important;animation:none!important}
}
