:root{color-scheme:light;--page-texture: url(/assets/page-texture.png);--hero-texture: url(/assets/hero-texture.png);--indigo-950: #1d0f63;--indigo-700: #253fbf;--violet-600: #724dda;--violet-200: #dedaee;--border: #d1d5dc;--text: #1f2937;--text-soft: #4a5565;--panel: rgba(255, 255, 255, .94);--page: #f8fafc;--success: #166534;--warning: #9a3412;--danger: #991b1b;--shadow-soft: 0 10px 30px rgba(17, 24, 39, .08);--shadow-hard: 0 24px 56px rgba(29, 15, 99, .12);--radius-xl: 28px;--radius-lg: 20px;--radius-md: 14px;font-family:Inter,Segoe UI,sans-serif;color:var(--text);background:var(--page)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--page) var(--page-texture) center top / cover no-repeat fixed;color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:292px 1fr;min-height:100vh;background:#ffffffc7}.sidebar{position:sticky;top:0;align-self:start;min-height:100vh;display:flex;flex-direction:column;gap:28px;padding:24px;background:#ffffffed;border-right:1px solid rgba(209,213,220,.74);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:12px 0 34px #1d0f630f}.brand{align-items:center;display:flex;gap:14px;min-width:0}.brand img{width:132px;height:auto;flex:0 0 auto}.brand div{min-width:0}.brand strong,.brand small{display:block}.brand strong{color:var(--indigo-950);font-size:.95rem;line-height:1.2}.brand small{color:var(--text-soft);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar nav{display:grid;gap:10px}.sidebar nav button,.logout{width:100%;background:transparent;border:1px solid rgba(209,213,220,.9);border-radius:var(--radius-md);color:var(--text-soft);font-weight:700;padding:12px 14px;text-align:left;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.sidebar nav button:hover,.sidebar nav button.active,.logout:hover{background:#724dda1c;border-color:#724dda3d;color:var(--indigo-950);box-shadow:0 8px 20px #1d0f630f}.logout{margin-top:auto}.workspace{padding:32px}.workspace-header,.panel-header,.detail-header,.message-compose{align-items:center;display:flex;justify-content:space-between;gap:16px}.workspace-header{position:relative;overflow:hidden;margin-bottom:22px;padding:34px;border:1px solid rgba(209,213,220,.72);border-radius:var(--radius-xl);background:#fffffff5;box-shadow:var(--shadow-hard)}.workspace-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--hero-texture) center / cover no-repeat;opacity:.72}.workspace-header>*{position:relative}.workspace-header p,.detail-header p,.panel-header p{color:var(--text-soft);margin:0 0 6px}.workspace-header p{color:var(--indigo-700);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem}.workspace-header h1,.panel h2,.detail-header h2{margin:0}.workspace-header h1{max-width:820px;color:var(--indigo-950);font-size:clamp(2rem,4vw,3rem);line-height:1.12}.workspace-header button,.create-form button,.forms-grid button,.submit-card button,.message-compose button,.readiness-card button,.filter-form button,.panel>button,.login-card button{background:var(--indigo-700);border:0;border-radius:var(--radius-md);color:#fff;font-weight:800;padding:12px 16px;box-shadow:0 12px 28px #253fbf2e}.workspace-header button:hover,.create-form button:hover,.forms-grid button:hover,.submit-card button:hover,.message-compose button:hover,.readiness-card button:hover,.filter-form button:hover,.panel>button:hover,.login-card button:hover{background:var(--violet-600)}.metrics-grid{display:grid;gap:14px;grid-template-columns:repeat(7,minmax(0,1fr));margin:0 0 22px}.metric,.panel{background:var(--panel);border:1px solid rgba(209,213,220,.82);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.metric{padding:18px}.metric span{color:var(--text-soft);display:block;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.metric strong{color:var(--indigo-950);display:block;font-size:1.6rem;margin-top:6px}.content-grid{display:grid;gap:22px;grid-template-columns:minmax(380px,.9fr) minmax(0,1.1fr)}.dashboard-grid{display:grid;gap:22px;grid-template-columns:minmax(0,1.1fr) minmax(320px,.6fr)}.wide-panel{grid-column:1 / -1}.panel{padding:20px}.panel h2,.detail-header h2{color:var(--indigo-950)}.panel-header{align-items:flex-start}.panel-header select,.create-form input,.create-form select,.filter-form input,.filter-form select,.panel>select,.panel textarea,.forms-grid input,.forms-grid select,.submit-card select,.message-compose textarea,.login-card input{width:100%;border:1px solid var(--border);border-radius:var(--radius-md);background:#ffffffe6;color:var(--text);padding:11px 12px;outline:none}.panel-header select:focus,.create-form input:focus,.create-form select:focus,.filter-form input:focus,.filter-form select:focus,.panel>select:focus,.panel textarea:focus,.forms-grid input:focus,.forms-grid select:focus,.submit-card select:focus,.message-compose textarea:focus,.login-card input:focus{border-color:#724dda94;box-shadow:0 0 0 4px #724dda1f}.create-form{border-bottom:1px solid rgba(209,213,220,.72);display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 0;padding-bottom:16px}.filter-form{display:grid;gap:10px;grid-template-columns:1.2fr repeat(3,minmax(0,1fr)) auto;margin:16px 0}.create-form button,.create-form .invite-url,.create-form .error-banner{grid-column:1 / -1}.invite-url{background:#16653414;border:1px solid rgba(22,101,52,.18);border-radius:var(--radius-md);color:var(--success);display:grid;gap:4px;font-size:.88rem;padding:12px;word-break:break-word}.invite-url span{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.patient-list{display:grid;gap:10px}.patient-row{align-items:center;background:#f8fafcd1;border:1px solid rgba(209,213,220,.9);border-radius:var(--radius-md);color:var(--text);display:grid;gap:12px;grid-template-columns:1fr auto auto auto;padding:14px;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.patient-row:hover,.patient-row-active{border-color:#724dda6b;box-shadow:0 10px 24px #1d0f6314;transform:translateY(-1px)}.patient-row strong,.patient-row small{display:block}.patient-row small{color:var(--text-soft)}.patient-row b{color:var(--indigo-700);display:block;font-size:1.25rem;text-align:right}.patient-row em{background:#991b1b1a;border-radius:999px;color:var(--danger);font-style:normal;min-width:24px;padding:5px 9px;text-align:center}.funnel-list,.compact-list,.table-list,.task-list{display:grid;gap:10px}.funnel-row{align-items:center;display:grid;gap:12px;grid-template-columns:220px 1fr 48px 64px 170px}.funnel-row>span{text-transform:capitalize}.funnel-row div{background:#724dda1f;border-radius:999px;height:10px;overflow:hidden}.funnel-row i{background:var(--violet-600);display:block;height:100%}.funnel-row em,.funnel-row small{color:var(--text-soft);font-style:normal}.compact-list p,.table-row{align-items:center;border-bottom:1px solid rgba(209,213,220,.72);display:grid;gap:10px;margin:0;padding:10px 0}.compact-list p{grid-template-columns:1fr auto}.compact-list small,.table-row small{color:var(--text-soft);display:block;margin-top:2px}.table-row{grid-template-columns:1.3fr repeat(5,minmax(70px,.4fr))}.table-head{color:var(--text-soft);font-size:.82rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.table-button{background:transparent;border:0;color:inherit;text-align:left;width:100%}.import-result,.task-item{background:#f8fafcdb;border:1px solid rgba(209,213,220,.78);border-radius:var(--radius-md);display:grid;gap:7px;padding:12px}.import-result{margin-top:12px}.task-item span,.task-item small{color:var(--text-soft)}.task-item p{margin:0}.empty,.empty-detail{color:var(--text-soft)}.readiness-card{background:#f8fafcdb;border:1px solid rgba(209,213,220,.74);border-radius:var(--radius-lg);margin:16px 0;padding:16px}.readiness-card span{color:var(--text-soft);display:block;margin-bottom:10px}.readiness-card div{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.readiness-card em{background:#fbbf242e;border-radius:999px;color:var(--warning);font-style:normal;padding:7px 10px}.forms-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.forms-grid form,.submit-card,.messages-card{border-top:1px solid rgba(209,213,220,.72);display:grid;gap:10px;margin-top:16px;padding-top:16px}.forms-grid h3,.submit-card h3,.messages-card h3{color:var(--indigo-950);margin:0}.submit-card select{min-height:130px}.messages-list{display:grid;gap:10px;max-height:280px;overflow:auto}.message{background:#f1f5f9f5;border-radius:var(--radius-md);padding:11px 13px}.message.mine{background:#dedaeeb3;margin-left:40px}.message p{margin:4px 0 0}.message-compose{align-items:stretch}.message-compose textarea{min-height:82px;resize:vertical;width:100%}.error-banner{background:#fef2f2f0;border:1px solid #fecaca;border-radius:var(--radius-md);color:var(--danger);padding:11px 13px}.login-page{min-height:100vh;display:grid;place-items:center;background:#ffffffb8;padding:24px}.login-card{width:min(92vw,430px);background:var(--panel);border:1px solid rgba(209,213,220,.82);border-radius:var(--radius-xl);box-shadow:var(--shadow-hard);padding:32px}.login-card img{width:190px;height:auto;display:block;margin-bottom:26px}.login-card p{color:var(--indigo-700);font-size:.78rem;font-weight:800;letter-spacing:.11em;margin:0 0 6px;text-transform:uppercase}.login-card h1{color:var(--indigo-950);font-size:clamp(2rem,5vw,2.65rem);line-height:1.1;margin:0 0 24px}.login-card form{display:grid;gap:14px}.login-card label{display:grid;gap:7px;color:var(--text-soft);font-weight:700}@media (max-width: 1180px){.app-shell,.content-grid,.dashboard-grid,.forms-grid{grid-template-columns:1fr}.sidebar{position:static;min-height:auto}.sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr))}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.workspace{padding:18px}.workspace-header{padding:24px}.workspace-header,.panel-header,.detail-header,.message-compose{align-items:stretch;flex-direction:column}.create-form,.filter-form,.funnel-row,.table-row,.metrics-grid,.sidebar nav{grid-template-columns:1fr}.brand{align-items:flex-start;flex-direction:column}}
