@import"https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&family=Fraunces:wght@600;700&display=swap";:root{color-scheme:light;--bg: #f7f1e8;--ink: #1b1b1b;--muted: #4b5563;--panel: #fffaf2;--panel-strong: #fff1db;--teal: #0f766e;--teal-dark: #0c3f37;--amber: #d97706;--shadow: 0 18px 45px rgba(17, 24, 39, .15);--ring: rgba(15, 118, 110, .2)}*{box-sizing:border-box}body{margin:0;font-family:Work Sans,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at 15% 15%,rgba(15,118,110,.18),transparent 40%),radial-gradient(circle at 85% 10%,rgba(217,119,6,.18),transparent 45%),linear-gradient(135deg,#fef6ea,#f3efe8 55%,#f8f1e7);min-height:100vh}a{color:inherit}.app{display:flex;flex-direction:column;min-height:100vh}.header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px 16px}.brand{display:flex;gap:16px;align-items:center}.brand-mark{width:46px;height:46px;border-radius:16px;background:#0b0b0b;display:grid;place-items:center;box-shadow:inset 0 0 0 2px #ffffff4d}.brand-mark img{width:70%;height:70%;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.2))}.brand h1{font-family:Fraunces,serif;font-size:24px;margin:0}.brand p{margin:4px 0 0;color:var(--muted);font-size:14px}.header-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.nav-tabs{display:flex;gap:6px;background:#ffffffb3;padding:4px;border-radius:999px;border:1px solid rgba(15,118,110,.15)}.nav-tab{border:none;background:transparent;color:var(--teal-dark);padding:6px 12px;border-radius:999px;font-weight:600;cursor:pointer;font-size:12px}.nav-tab.active{background:var(--teal);color:#fff;box-shadow:0 8px 16px #0f766e33}.badge{padding:6px 12px;border-radius:999px;background:var(--panel-strong);color:var(--teal-dark);font-size:12px;font-weight:600}.button{border:none;border-radius:999px;padding:10px 16px;font-weight:600;cursor:pointer;background:var(--teal);color:#fff;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 10px 20px #0f766e33}.button.secondary{background:#fff;color:var(--teal-dark);border:1px solid rgba(15,118,110,.3);box-shadow:none}.button.ghost{background:transparent;color:var(--teal-dark);border:1px dashed rgba(15,118,110,.4);box-shadow:none}.button.warn{background:var(--amber)}.button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.button:not(:disabled):hover{transform:translateY(-1px)}.layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,1.4fr) minmax(280px,1fr);gap:18px;padding:0 32px 32px}.layout.people{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.panel{background:var(--panel);border-radius:22px;padding:20px;box-shadow:var(--shadow);border:1px solid rgba(15,118,110,.08);display:flex;flex-direction:column;gap:16px}.panel h2{font-family:Fraunces,serif;font-size:20px;margin:0}.panel h3{margin:0;font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.field input,.field select{border:1px solid rgba(15,118,110,.2);border-radius:12px;padding:10px 12px;font-size:14px;background:#fff;outline:none}.field input:focus,.field select:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--ring)}.device-list{display:flex;flex-wrap:wrap;gap:8px}.device-chip-wrap{display:inline-flex;align-items:center;border:1px solid rgba(15,118,110,.2);border-radius:999px;background:#fff;overflow:hidden}.device-chip-wrap.active{border-color:#0f766e8c;box-shadow:0 0 0 3px var(--ring)}.device-chip{padding:6px 12px;border-radius:999px;border:0;background:transparent;font-size:12px;cursor:pointer}.device-chip.active{background:var(--teal);color:#fff}.device-remove{align-self:stretch;border:0;border-left:1px solid rgba(15,118,110,.16);background:#ef444414;color:#991b1b;cursor:pointer;font-size:11px;font-weight:800;padding:0 10px}.device-remove:hover,.device-remove:focus-visible{background:#ef444429;outline:none}.card{padding:14px;border-radius:16px;background:#fff;border:1px solid rgba(15,118,110,.1);display:flex;flex-direction:column;gap:10px;animation:floatIn .4s ease}.card.selectable{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.card.selectable:hover{transform:translateY(-2px);border-color:#0f766e66}.card.selectable.selected{border-color:#0f766e99;box-shadow:0 16px 32px #0f766e2e}.alert-image{width:100%;border-radius:12px;border:1px solid rgba(15,118,110,.12);object-fit:cover;aspect-ratio:4 / 3}.card strong{font-size:15px}.card small{color:var(--muted)}.card-actions{display:flex;gap:8px;flex-wrap:wrap}.section-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.policy-schedule-editor,.list{display:flex;flex-direction:column;gap:12px}.face-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.toggle{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.face-card{display:grid;grid-template-columns:minmax(120px,180px) 1fr;gap:14px}.face-image{width:100%;border-radius:12px;border:1px solid rgba(15,118,110,.12);object-fit:cover;aspect-ratio:4 / 5}.face-placeholder{border-radius:12px;border:1px dashed rgba(15,118,110,.3);background:#fff;display:grid;place-items:center;color:var(--muted);font-size:12px;min-height:150px}.face-body{display:flex;flex-direction:column;gap:10px}.face-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted)}.face-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.face-chip{background:var(--panel-strong);color:var(--teal-dark);padding:6px 10px;border-radius:999px;font-size:11px;align-self:center}.person-row{display:flex;gap:12px;align-items:center}.person-row-body{display:flex;flex-direction:column;gap:4px}.person-avatar{width:44px;height:44px;border-radius:14px;object-fit:cover;border:1px solid rgba(15,118,110,.12);display:flex;align-items:center;justify-content:center;background:#fff;color:var(--teal-dark);font-weight:700}.person-avatar.placeholder{background:var(--panel-strong);border:1px dashed rgba(15,118,110,.3)}.person-photo-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.person-photo{width:120px;height:140px;border-radius:16px;object-fit:cover;border:1px solid rgba(15,118,110,.12);background:#fff;display:grid;place-items:center;color:var(--muted)}.person-photo.placeholder{border:1px dashed rgba(15,118,110,.3);background:#fff}.person-photo-actions{display:flex;flex-direction:column;gap:10px}.detail-section{display:flex;flex-direction:column;gap:10px;margin-top:12px}.detail-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.transcript-list{display:flex;flex-direction:column;gap:10px}.transcript-entry{padding:10px 12px;border-radius:14px;background:#fff9f1;border:1px solid rgba(15,118,110,.12)}.transcript-entry p{margin:6px 0 0;font-size:14px}.transcript-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.image-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.image-card{background:#fff;border-radius:16px;padding:10px;border:1px solid rgba(15,118,110,.12);display:flex;flex-direction:column;gap:8px}.image-card img{width:100%;border-radius:12px;object-fit:cover;aspect-ratio:4 / 3;border:1px solid rgba(15,118,110,.12)}.divider{height:1px;background:#0f766e26;margin:6px 0}.toast{position:fixed;right:24px;bottom:24px;background:var(--teal-dark);color:#fff;padding:12px 18px;border-radius:14px;box-shadow:var(--shadow);animation:floatIn .35s ease}@keyframes floatIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1100px){.layout,.face-card{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}:root{--bg: #f4efe6;--ink: #16211f;--muted: #53625f;--panel: #fffdf8;--panel-strong: #f8efe1;--teal: #0c6b5f;--teal-dark: #083f39;--amber: #b86100;--danger: #b42318;--danger-dark: #8d1b12;--danger-soft: #ffe4df;--success: #1c7c43;--success-soft: #e3f6e8;--line: rgba(22, 33, 31, .12);--line-strong: rgba(22, 33, 31, .2);--shadow: 0 24px 70px rgba(34, 28, 20, .14);--shadow-soft: 0 12px 36px rgba(34, 28, 20, .09);--ring: 0 0 0 4px rgba(12, 107, 95, .2)}html{min-width:320px}body{font-family:Atkinson Hyperlegible,Segoe UI,sans-serif;background:radial-gradient(circle at 8% 8%,rgba(12,107,95,.14),transparent 32%),radial-gradient(circle at 95% 0%,rgba(184,97,0,.14),transparent 36%),linear-gradient(145deg,#fbf5eb 0%,var(--bg) 52%,#ebe1d3 100%)}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-loading{display:grid;place-items:center;padding:24px}.loading-card{display:inline-flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--line);border-radius:22px;background:#fffdf8e6;box-shadow:var(--shadow-soft);font-weight:700}.header{position:sticky;top:0;z-index:20;gap:20px;padding:22px 32px 14px;background:linear-gradient(180deg,#f4efe6f2,#f4efe6b8);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{min-width:220px;gap:14px}.brand-mark{width:48px;height:48px;flex:0 0 auto;border-radius:17px;background:#101817;box-shadow:inset 0 0 0 2px #ffffff2e,0 10px 24px #0c14122e}.brand h1{font-size:clamp(24px,3vw,34px);line-height:1;letter-spacing:-.03em}.brand p{max-width:360px}.header-actions{justify-content:flex-end}.nav-tabs{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:6px;padding:6px;border:1px solid var(--line);border-radius:22px;background:#fffdf8c2;box-shadow:var(--shadow-soft)}.nav-tab{min-height:58px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 9px;border-radius:17px;padding:9px 12px;color:var(--teal-dark);text-align:left}.nav-tab span{font-weight:700;line-height:1.1}.nav-tab small{grid-column:2;color:var(--muted);font-size:11px;line-height:1.15}.nav-tab.active{color:#fff;background:linear-gradient(135deg,var(--teal) 0%,var(--teal-dark) 100%);box-shadow:0 12px 28px #0c6b5f3d}.nav-tab.active small{color:#fffc}.icon{width:1.1em;height:1.1em;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.badge{min-height:38px;display:inline-flex;align-items:center;gap:8px;max-width:260px;background:#d9efe9;font-weight:700}.badge span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu{position:relative}.account-button{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--line);border-radius:17px;background:#fffdf8e6;color:var(--teal-dark);cursor:pointer;box-shadow:var(--shadow-soft)}.account-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:50;width:min(280px,calc(100vw - 28px));display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:var(--shadow)}.account-popover small{color:var(--muted);font-weight:700}.account-popover strong{overflow-wrap:anywhere}.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:14px;padding:10px 16px;background:var(--teal);box-shadow:0 12px 24px #0c6b5f38;line-height:1}.button.warn{background:var(--danger);box-shadow:0 12px 24px #b4231833}.button.button-large{min-height:58px;border-radius:18px;padding:14px 18px;font-size:17px}.button:not(:disabled):hover{box-shadow:0 16px 30px #0c6b5f3d}.button.warn:not(:disabled):hover{background:var(--danger-dark);box-shadow:0 16px 30px #b4231838}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible,summary:focus-visible{outline:none;box-shadow:var(--ring)}.layout{width:min(1600px,100%);gap:18px;margin:0 auto;padding:0 32px 32px}.auth-layout{grid-template-columns:minmax(280px,440px);align-items:start}.page-door{grid-template-columns:minmax(0,1fr);align-items:start}.page-history{grid-template-columns:minmax(280px,.72fr) minmax(0,1.45fr);align-items:start}.page-admin{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start}.page-study{grid-template-columns:minmax(0,1.2fr) minmax(330px,.72fr);align-items:start}.admin-intro,.policy-panel-wide{grid-column:1 / -1}.panel{border:1px solid var(--line);border-radius:26px;background:#fffdf8eb}.auth-panel{max-width:460px}.hero-panel,.history-detail-panel{min-height:calc(100vh - 126px)}.support-panel,.history-list-panel,.study-side-panel{position:sticky;top:104px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.panel-heading.compact{align-items:center}.panel h2{font-size:clamp(24px,3vw,34px);line-height:1.05;letter-spacing:-.03em}.eyebrow,.detail-title,.card-kicker{margin:0;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.panel-copy{margin:5px 0 0;color:var(--muted);line-height:1.45}.status-pill{min-height:38px;display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:var(--teal-dark);background:#fff;font-size:13px;font-weight:700}.status-pill.calm{color:var(--success);border-color:#1c7c4338;background:var(--success-soft)}.status-pill.urgent{color:var(--danger);border-color:#b4231838;background:var(--danger-soft)}.device-context,.notification-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:18px;background:var(--panel-strong)}.device-context{justify-content:flex-start;color:var(--teal-dark)}.field input,.field select,.field textarea{width:100%;min-height:46px;border-color:#0c6b5f33;border-radius:14px;padding:11px 13px;color:var(--ink)}.field textarea{min-height:96px;resize:vertical;line-height:1.45}.device-chip{min-height:36px;max-width:100%;overflow:hidden;text-overflow:ellipsis;font-weight:700}.list{gap:12px}.compact-list{gap:8px}.card{border-color:var(--line);border-radius:18px;background:#fff}.compact-card{padding:12px;border-radius:15px}.card.selectable:hover{box-shadow:var(--shadow-soft)}.card.selectable.selected{border-color:#0c6b5f8f;background:linear-gradient(180deg,#fff,#f3fbf8)}.card p{margin:0;color:var(--muted);line-height:1.45}.card-kicker{display:inline-flex;align-items:center;gap:7px;text-transform:none;letter-spacing:0}.alert-list{gap:16px}.alert-card{display:grid;grid-template-columns:minmax(150px,.42fr) minmax(0,1fr);gap:16px;padding:14px;border-radius:24px}.alert-card.needs-response{border-color:#b4231838;background:linear-gradient(180deg,#fff,#fff8f5)}.alert-card.emergency-alert{border-color:#b423186b}.alert-card.emergency-alert .alert-summary,.alert-card.emergency-alert .alert-description{color:var(--danger)}.alert-image{height:100%;min-height:150px;max-height:220px;border-color:var(--line);border-radius:18px}.alert-content{display:flex;flex-direction:column;justify-content:center;gap:12px}.alert-summary{font-family:Fraunces,Georgia,serif;font-size:clamp(22px,3vw,34px);line-height:1.05;letter-spacing:-.03em}.alert-description{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.primary-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.primary-actions .button{width:100%;min-height:46px;flex:none;padding:10px 12px;font-size:14px}.empty-state{min-height:240px;display:grid;place-items:center;align-content:center;gap:10px;padding:30px 18px;border:1px dashed rgba(12,107,95,.28);border-radius:24px;color:var(--muted);background:linear-gradient(135deg,#d9efe9c2,#fffdf8e6),repeating-linear-gradient(135deg,transparent,transparent 9px,rgba(12,107,95,.04) 9px,rgba(12,107,95,.04) 18px);text-align:center}.empty-state.compact{min-height:150px}.empty-state .icon{width:44px;height:44px;color:var(--teal)}.empty-state strong{color:var(--ink);font-family:Fraunces,Georgia,serif;font-size:24px}.accordion{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}.accordion summary{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;color:var(--teal-dark);font-weight:700;cursor:pointer;list-style:none}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{display:inline-flex;align-items:center;gap:9px}.accordion summary>.icon:last-child{transition:transform .18s ease}.accordion[open] summary>.icon:last-child{transform:rotate(180deg)}.accordion-body{display:flex;flex-direction:column;gap:13px;padding:0 15px 15px}.detail-summary{display:flex;flex-wrap:wrap;gap:8px}.detail-summary small{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:#fff}.visitor-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.visitor-detail-field{display:flex;flex-direction:column;gap:4px;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:16px;background:#fff}.visitor-detail-field-wide{grid-column:1 / -1;min-height:88px}.visitor-detail-field span{color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.visitor-detail-field strong{color:var(--ink);font-size:.98rem;line-height:1.35;overflow-wrap:anywhere}.visitor-detail-field .muted-value{color:var(--muted);font-weight:700}.transcript-entry,.image-card{border-color:var(--line)}.face-meta span,.face-chip{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;background:var(--panel-strong)}.toggle input{width:18px;height:18px;accent-color:var(--teal)}.person-row-body{min-width:0}.feedback{display:block;padding:9px 11px;border-radius:13px;font-weight:700}.feedback.error{color:var(--danger-dark);background:var(--danger-soft)}.feedback.success{color:var(--success);background:var(--success-soft)}.feedback.info{color:var(--teal-dark);background:#d9efe9}.study-hero-panel{min-height:calc(100vh - 126px)}.study-context-strip,.study-callout{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid var(--line);border-radius:20px;background:var(--panel-strong)}.study-context-strip>div,.study-callout>div{display:flex;flex-direction:column;gap:4px;min-width:0}.study-context-strip small,.study-callout span{color:var(--muted);line-height:1.4}.study-callout{justify-content:flex-start;background:linear-gradient(135deg,#d9efe9d1,#fffdf8eb)}.study-callout .icon{width:28px;height:28px;color:var(--teal)}.inline-details{position:relative}.inline-details summary{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--teal-dark);cursor:pointer;font-weight:700;list-style:none}.inline-details summary::-webkit-details-marker{display:none}.inline-details-body{position:absolute;right:0;z-index:10;width:min(360px,calc(100vw - 32px));margin-top:8px;padding:14px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft)}.study-form-card{gap:16px;padding:18px}.study-form-card h3{font-family:Fraunces,Georgia,serif;text-transform:none;letter-spacing:-.02em;color:var(--ink);font-size:26px}.study-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.study-form-grid.single{grid-template-columns:1fr}.choice-section{display:flex;flex-direction:column;gap:9px}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.choice-grid.compact{grid-template-columns:repeat(auto-fit,minmax(112px,1fr))}.choice-grid.wide{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.choice-button,.check-tile{min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--teal-dark);font-weight:700;text-align:center;cursor:pointer}.choice-button.selected,.check-tile.checked{border-color:#0c6b5f8c;background:#d9efe9;box-shadow:inset 0 0 0 1px #0c6b5f38}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.check-tile{justify-content:flex-start;text-align:left}.check-tile input{width:18px;height:18px;accent-color:var(--teal)}.consent-toggle{align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--ink);line-height:1.35}.study-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.study-stat{min-height:86px;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:12px;border:1px solid var(--line);border-radius:18px;background:#fff}.study-stat strong{font-family:Fraunces,Georgia,serif;font-size:30px;line-height:1}.study-stat span{color:var(--muted);font-size:12px;font-weight:700}.visit-log-card .button{align-self:flex-start}.toast{z-index:40;max-width:min(420px,calc(100vw - 32px));background:var(--teal-dark)}@media (max-width: 1180px){.header{align-items:flex-start;flex-direction:column}.header-actions{width:100%;justify-content:space-between}.nav-tabs{flex:1 1 auto}.page-door,.page-history,.page-study{grid-template-columns:1fr}.hero-panel,.history-detail-panel,.study-hero-panel{min-height:auto}.support-panel,.history-list-panel,.study-side-panel{position:static}}@media (max-width: 900px){body{background:radial-gradient(circle at 18% 4%,rgba(12,107,95,.12),transparent 36%),linear-gradient(160deg,#fbf5eb 0%,var(--bg) 100%)}.app{padding-bottom:0}.header{position:sticky;top:0;display:grid;grid-template-columns:minmax(0,1fr) auto;flex-direction:row;align-items:center;gap:10px;padding:12px 14px}.brand{grid-column:1;grid-row:1;min-width:0;gap:10px}.brand-mark{width:40px;height:40px;border-radius:14px}.brand h1{font-size:24px}.brand p{display:none}.header-actions{display:contents}.account-menu{grid-column:2;grid-row:1;justify-self:end}.account-button{width:40px;height:40px;border-radius:14px}.nav-tabs{position:static!important;grid-column:1 / -1;grid-row:2;grid-template-columns:repeat(4,1fr);gap:5px;padding:6px;border-radius:24px;background:#fffdf8f0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);width:100%;min-height:0;max-width:none;margin:2px 0 0}.nav-tab{min-width:0;min-height:62px;grid-template-columns:1fr;justify-items:center;gap:4px;padding:8px 4px;text-align:center;overflow:visible}.nav-tab small{display:none}.nav-tab span{font-size:13px;white-space:nowrap}.nav-tab .icon{width:21px;height:21px}.layout{gap:14px;padding:6px 14px 22px}.auth-layout,.page-admin,.page-study{grid-template-columns:1fr}.panel{gap:14px;padding:16px;border-radius:22px}.panel-heading{flex-direction:column;align-items:flex-start}.panel h2{font-size:27px}.alert-card{grid-template-columns:96px minmax(0,1fr);gap:10px;padding:10px;border-radius:21px}.alert-image{min-height:96px;height:96px;border-radius:16px}.alert-summary{font-size:21px}.card-actions{flex-direction:column}.primary-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.button{width:100%;justify-content:center}.compact-action{width:44px}.button.button-large{min-height:44px;border-radius:14px;padding:10px 8px;font-size:13px}.notification-row{align-items:stretch;flex-direction:column}.empty-state{min-height:210px}.transcript-meta{flex-direction:column}.image-grid,.face-card,.visitor-detail-grid,.study-form-grid,.study-stat-grid{grid-template-columns:1fr}.study-context-strip{align-items:stretch;flex-direction:column}.inline-details-body{position:static;width:100%}.person-row{align-items:flex-start}.person-photo{width:104px;height:124px}.toast{right:14px;bottom:14px;left:14px}}:root{--bg: #f2eee6;--ink: #111827;--muted: #536070;--panel: #fffdf8;--panel-strong: #eef4ff;--teal: #244a9b;--teal-dark: #10285f;--amber: #c47a22;--danger: #b42318;--danger-dark: #841c14;--danger-soft: #ffe7e1;--success: #176b44;--success-soft: #e5f5eb;--line: rgba(17, 24, 39, .11);--line-strong: rgba(17, 24, 39, .2);--shadow: 0 26px 80px rgba(16, 40, 95, .14);--shadow-soft: 0 14px 38px rgba(16, 40, 95, .09);--ring: 0 0 0 4px rgba(36, 74, 155, .18)}body{background:radial-gradient(circle at 10% 4%,rgba(36,74,155,.16),transparent 31%),radial-gradient(circle at 88% 8%,rgba(54,120,190,.15),transparent 34%),linear-gradient(155deg,#fffaf2 0%,var(--bg) 52%,#e7edf9 100%)}.app:before{content:"";position:fixed;inset:auto -120px -180px auto;width:420px;height:420px;pointer-events:none;background:linear-gradient(135deg,#244a9b24,#3678be0d),radial-gradient(circle,rgba(255,255,255,.42),transparent 62%);clip-path:polygon(50% 0,89% 16%,82% 68%,50% 100%,18% 68%,11% 16%)}.brand-mark{background:linear-gradient(135deg,#173b88,#244a9b 48%,#3a7fc4)}.brand-mark img{width:78%;height:78%}.nav-tabs{grid-template-columns:repeat(5,minmax(110px,1fr))}.nav-tab.active{background:linear-gradient(135deg,#173b88,#244a9b 56%,#3a7fc4)}.button{background:linear-gradient(135deg,#173b88,#244a9b)}.button.secondary,.button.ghost{background:#fff}.page-calendar{grid-template-columns:minmax(0,1.26fr) minmax(340px,.74fr);align-items:start}.calendar-hero-panel,.calendar-side-panel{min-height:calc(100vh - 126px)}.calendar-side-panel{position:sticky;top:104px}.calendar-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.calendar-stat{background:linear-gradient(180deg,#fff,#f4f7ff)}.timezone-note,.form-helper{color:var(--muted);line-height:1.4}.access-callout{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;padding:16px;border:1px solid rgba(36,74,155,.16);border-radius:24px;background:linear-gradient(135deg,#eef4fff5,#fffdf8f2),repeating-linear-gradient(135deg,transparent,transparent 10px,rgba(36,74,155,.04) 10px,rgba(36,74,155,.04) 20px)}.access-callout strong{display:block;margin:2px 0 5px;font-family:Fraunces,Georgia,serif;font-size:clamp(22px,2.8vw,34px);line-height:1.02;letter-spacing:-.03em}.access-callout span{color:var(--muted);line-height:1.45}.access-orb{width:72px;height:72px;display:grid;place-items:center;border-radius:24px;color:#fff;background:linear-gradient(135deg,#173b88,#3a7fc4);box-shadow:0 18px 40px #244a9b42}.access-orb .icon{width:34px;height:34px}.pin-window-panel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(240px,1.1fr);gap:14px;padding:15px;border:1px solid rgba(12,107,95,.14);border-radius:22px;background:linear-gradient(135deg,#fffffff0,#e5f6f1c7)}.pin-window-panel strong{display:block;margin:3px 0 5px;font-family:Fraunces,Georgia,serif;font-size:clamp(20px,2.4vw,28px);line-height:1.05;letter-spacing:-.02em}.pin-window-panel span,.pin-window-panel small{color:var(--muted);line-height:1.42}.pin-window-list{display:grid;gap:8px}.pin-window-item{display:grid;grid-template-columns:1fr auto;gap:3px 10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff}.pin-window-item strong{margin:0;font-family:inherit;font-size:14px;letter-spacing:0}.pin-window-item small{grid-column:1 / -1}.pin-state{min-height:28px;display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800;color:var(--muted);background:var(--panel-strong)}.pin-state.ready{color:var(--success);background:var(--success-soft)}.pin-state.missing{color:var(--danger-dark);background:var(--danger-soft)}.schedule-list{display:flex;flex-direction:column;gap:13px}.appointment-card{display:grid;grid-template-columns:108px 1fr;gap:15px;padding:14px;border-radius:24px}.appointment-date{min-height:132px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;border-radius:20px;color:#fff;background:linear-gradient(160deg,#173b88f2,#3a7fc4eb),radial-gradient(circle at 30% 20%,rgba(255,255,255,.22),transparent 42%)}.appointment-date span,.appointment-date small{font-weight:700;color:#ffffffd1}.appointment-date strong{font-family:Fraunces,Georgia,serif;font-size:46px;line-height:.9}.appointment-body{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:9px}.appointment-body>strong{font-family:Fraunces,Georgia,serif;font-size:clamp(24px,3.2vw,38px);line-height:1;letter-spacing:-.03em}.appointment-mini-card{background:linear-gradient(180deg,#fff,#f7f9ff)}.appointment-preview{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:center;padding:12px;border:1px solid rgba(36,74,155,.12);border-radius:17px;background:linear-gradient(135deg,#f7f9ff,#fff)}.appointment-preview .icon{width:24px;height:24px;color:var(--teal)}.appointment-preview span{display:block;margin-bottom:2px;font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.appointment-preview strong{font-family:Fraunces,Georgia,serif;font-size:20px;line-height:1.1}.pin-summary{padding:13px;border:1px solid var(--line);border-radius:20px;background:var(--panel-strong)}.compact-person-row{padding:8px 0}.inline-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.admin-intro{background:linear-gradient(135deg,#eef4fff2,#fffdf8f2),radial-gradient(circle at 88% 12%,rgba(58,127,196,.16),transparent 38%)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.checkbox-grid,.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.details-card{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:20px;background:#ffffffb8}.details-card summary{cursor:pointer;font-weight:900;color:var(--ink)}.access-person-card{display:grid;gap:7px}.permission-chip-list{display:flex;flex-wrap:wrap;gap:6px}.permission-chip{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border:1px solid rgba(12,107,95,.16);border-radius:999px;background:#0c6b5f1a;color:var(--teal-dark);font-size:12px;font-weight:800}.permission-chip.muted-chip{background:#5360701a;border-color:#5360702e;color:var(--muted)}.policy-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin-top:14px}.policy-card{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,#fffffff0,#f8fcffe6),radial-gradient(circle at top right,rgba(58,127,196,.1),transparent 42%)}.policy-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.policy-card-header strong{text-transform:capitalize}.policy-card-header span{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#eef4ff;color:#173b88;font-size:12px;font-weight:900}.policy-card-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.policy-card-controls label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:900}.policy-card-controls input,.policy-card-controls select{min-width:0}.multi-select-field{display:grid;gap:5px;min-width:0}.multi-select-label{color:var(--muted);font-size:12px;font-weight:900}.multi-select{position:relative}.multi-select summary{display:block;min-height:48px;border:1px solid var(--line-strong);border-radius:16px;background:#fffefa;color:var(--ink);cursor:pointer;list-style:none}.multi-select summary::-webkit-details-marker{display:none}.multi-select-summary-content{min-height:46px;display:flex;align-items:center;gap:8px;padding:6px 10px}.multi-select-chip-list{display:flex;flex:1;flex-wrap:wrap;gap:6px;min-width:0}.multi-select-chip{max-width:100%;min-height:30px;display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid rgba(12,107,95,.14);border-radius:8px;background:#eef4ff;color:var(--ink);font-size:12px;font-weight:800}.multi-select-chip span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-select-placeholder{flex:1;color:var(--muted);font-weight:700}.multi-select-caret{width:9px;height:9px;border-right:2px solid var(--teal);border-bottom:2px solid var(--teal);transform:rotate(45deg) translateY(-2px)}.multi-select-menu{position:absolute;z-index:30;top:calc(100% + 6px);right:0;left:0;max-height:280px;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-soft)}.policy-card .multi-select[open] .multi-select-menu{position:static;margin-top:8px;box-shadow:none}.multi-select-option{width:100%;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:0;border-radius:12px;background:transparent;color:var(--ink);text-align:left}.multi-select-option:hover,.multi-select-option.selected{background:#0c6b5f1a}.multi-select-option strong{display:block;font-weight:800}.multi-select-option small{display:block;margin-top:2px}.multi-select-check{width:18px;height:18px;flex:0 0 auto;border-radius:999px}.multi-select-option.selected .multi-select-check:before{content:"";display:block;width:8px;height:13px;margin:0 auto;border-right:3px solid var(--teal);border-bottom:3px solid var(--teal);transform:rotate(45deg)}.multi-select-empty{display:block;padding:10px}.policy-time-band-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px;margin-top:14px}.policy-time-band{display:grid;grid-template-columns:minmax(72px,1fr) minmax(96px,auto) auto minmax(96px,auto);align-items:center;gap:8px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:16px;background:#0c6b5f0f;color:var(--muted);font-size:12px;font-weight:900}.policy-time-band input{width:96px;min-width:96px;min-height:34px;padding:6px 8px;font-size:12px}.time-band-separator{color:var(--muted);font-weight:800}.policy-table-wrap{width:100%;max-width:100%;max-height:520px;overflow:auto;margin-top:12px;border:1px solid var(--line);border-radius:18px}.policy-table{min-width:2160px;width:100%;border-collapse:collapse;background:#fff;table-layout:fixed}.policy-table th,.policy-table td{padding:9px;border-bottom:1px solid rgba(36,74,155,.1);text-align:left;vertical-align:top}.policy-table th{position:sticky;top:0;z-index:1;background:#eef4ff;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.policy-table input,.policy-table select{width:100%;min-width:0}.policy-matrix-table td:first-child,.policy-matrix-table th:first-child{position:sticky;left:0;z-index:2;width:190px;max-width:190px;background:#fff}.policy-matrix-table th:first-child{z-index:3;background:#eef4ff}.policy-interaction-cell{width:190px;max-width:190px;text-transform:capitalize}.policy-interaction-cell strong{display:block;line-height:1.25;overflow-wrap:anywhere}.policy-multiselect-cell{width:220px}.policy-rule-cell{width:190px}.policy-rule-cell strong,.policy-rule-cell small{display:block}.policy-schedule-cell{width:240px}.policy-schedule-controls,.policy-time-range{display:grid;gap:6px}.policy-time-range{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}.policy-time-range input{min-height:34px;padding:6px}.policy-mini-button{min-height:32px;margin-top:8px;padding:6px 10px;font-size:12px}.policy-field-note{display:block;margin-top:6px}.policy-table .multi-select{width:100%}.policy-table .multi-select summary{min-height:40px}.policy-table .multi-select-summary-content{min-height:38px}.policy-table .multi-select[open] .multi-select-menu{position:static;margin-top:8px;box-shadow:none}.policy-na{display:inline-flex;align-items:center;min-height:38px;color:var(--muted);font-size:12px;font-weight:900}@media (max-width: 1180px){.page-calendar{grid-template-columns:1fr}.calendar-hero-panel,.calendar-side-panel{min-height:auto}.calendar-side-panel{position:static}}@media (max-width: 900px){.nav-tabs{grid-template-columns:repeat(5,1fr)}.nav-tab span{font-size:12px}.calendar-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.access-callout,.pin-window-panel,.appointment-card{grid-template-columns:1fr}.access-orb{width:58px;height:58px;border-radius:19px}.appointment-date{min-height:94px;flex-direction:row;justify-content:space-around}.appointment-date strong{font-size:40px}.form-grid,.checkbox-grid,.permission-grid{grid-template-columns:1fr}}@media (max-width: 640px){.policy-time-band-grid,.policy-card-grid,.policy-card-controls,.policy-time-band{grid-template-columns:1fr}}
