@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;--blue: #1f5dbb;--blue-dark: #123d86;--blue-gradient: linear-gradient(135deg, #2778d9 0%, #154aa7 100%);--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.danger{color:var(--danger-dark);border-color:#b4231857}.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:contain;aspect-ratio:4 / 3;background:#fff}.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}.face-review-filters{padding:12px;border:1px solid var(--line);border-radius:18px;background:var(--panel-strong)}.face-bulk-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px;border:1px solid var(--line);border-radius:18px;background:#fff}.toggle{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.face-card{display:grid;grid-template-columns:24px minmax(96px,118px) minmax(0,1fr);gap:12px;align-items:start;overflow:hidden}.face-select{width:24px;align-self:start;display:inline-flex;align-items:center;justify-content:center;padding-top:2px;color:var(--muted);font-size:12px;font-weight:800}.face-select input{width:16px;height:16px}.face-image{width:100%;min-width:0;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;min-width:0}.face-meta{display:flex;flex-wrap:wrap;gap:8px;min-width:0;font-size:12px;color:var(--muted)}.face-controls{display:grid;grid-template-columns:minmax(0,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,.image-card-image-button img{width:100%;border-radius:12px;object-fit:contain;aspect-ratio:4 / 3;background:#fff;border:1px solid rgba(15,118,110,.12)}.image-card-image-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;background:transparent;cursor:zoom-in;text-align:inherit}.image-card-image-button:focus-visible{outline:3px solid rgba(37,99,235,.38);outline-offset:3px;border-radius:14px}.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-actions{display:flex;align-items:center;gap:8px}.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);text-decoration:none}.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}.account-household{display:grid;gap:6px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.account-household select{width:100%;min-height:42px;border:1px solid rgba(15,118,110,.2);border-radius:12px;padding:8px 10px;background:#fff;color:var(--ink);font-weight:800}.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}.layout>*{min-width:0}.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(min(320px,100%),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{min-width:0;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}.history-filter-panel{padding:12px;border:1px solid var(--line);border-radius:18px;background:#ffffffb3}.history-filter-panel>summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;list-style:none;cursor:pointer}.history-filter-panel>summary::-webkit-details-marker{display:none}.history-filter-panel>summary span{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-weight:800}.history-filter-panel>summary small{color:var(--muted);white-space:nowrap}.history-filter-body{display:grid;gap:10px;padding-top:12px}.history-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px}.history-filter-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.date-input-shell{position:relative}.date-input-shell:after{content:attr(data-placeholder);position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.date-input-shell.has-value:after{display:none}.date-input-shell:not(.has-value) .history-native-date::-webkit-datetime-edit{color:transparent}.date-input-shell:not(.has-value) .history-native-date{color:transparent}.date-input-shell:not(.has-value) .history-native-date:focus{color:var(--ink)}.history-filter-footer{display:flex;justify-content:space-between;align-items:center;gap:8px}.history-filter-footer .button{width:auto}.history-interaction-list{gap:10px}.history-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;color:var(--muted);font-weight:800}.history-pagination-actions{display:flex;align-items:center;gap:8px}.history-pagination-actions .button{width:auto}.history-pagination-actions span{color:var(--ink);font-size:13px}.interaction-card{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:start;gap:12px}.interaction-thumbnail{width:74px;height:74px;border:1px solid var(--line);border-radius:14px;object-fit:cover;background:#fff}.interaction-thumbnail.placeholder{display:grid;place-items:center;color:var(--blue);background:#1358bf17}.interaction-card-body{min-width:0;display:grid;gap:6px}.interaction-card-body strong{font-family:Fraunces,Georgia,serif;font-size:20px;line-height:1.1;letter-spacing:0}.interaction-card-body small{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.interaction-status-row{display:flex;gap:6px;flex-wrap:wrap}.interaction-status-row span{min-height:24px;display:inline-flex;align-items:center;padding:3px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;font-weight:700}.history-back-button{display:none;margin-bottom:10px}.history-detail-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.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)}.debug-mode-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.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:flex;flex-direction:column;gap:14px;padding:14px;border-radius:20px}.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-card-main{display:grid;grid-template-columns:minmax(112px,156px) minmax(0,1fr);gap:14px;align-items:start}.alert-card-main.no-image{grid-template-columns:1fr}.alert-image{width:100%;height:124px;min-height:0;max-height:none;border-color:var(--line);border-radius:16px;object-fit:contain;background:#fff}.alert-content{display:flex;flex-direction:column;gap:9px}.alert-meta-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.alert-type-pill{min-height:28px;display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#1358bf1c;color:var(--blue);font-size:12px;font-weight:800}.alert-title-button,.alert-detail-link{width:fit-content;border:0;padding:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.alert-title-button:focus-visible,.alert-detail-link:focus-visible{outline:3px solid rgba(19,88,191,.28);outline-offset:3px}.alert-summary{font-family:Fraunces,Georgia,serif;font-size:24px;line-height:1.08;letter-spacing:0}.alert-description{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.alert-detail-link{color:var(--blue);font-size:13px;font-weight:800}.primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.primary-actions .button{width:100%;min-height:46px;flex:none;padding:10px 12px;font-size:14px}.more-responses{grid-column:1 / -1;position:relative}.more-responses>summary{list-style:none;cursor:pointer}.more-responses>summary::-webkit-details-marker{display:none}.more-response-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:16px;background:#ffffffeb}.alert-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:18px;background:#09183075}.alert-detail-panel{width:min(560px,100%);max-height:min(760px,calc(100vh - 36px));display:flex;flex-direction:column;gap:14px;overflow:auto;padding:18px;border:1px solid var(--line);border-radius:22px;background:#fffaf2;box-shadow:var(--shadow)}.alert-detail-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.alert-detail-header h3{margin:8px 0 0;font-family:Fraunces,Georgia,serif;font-size:28px;line-height:1.08;letter-spacing:0}.alert-detail-image{width:100%;max-height:320px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:18px}.alert-detail-body{display:grid;gap:10px}.alert-detail-scene{padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#ebf4ff9e}.alert-detail-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.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}.detail-summary .debug-pill{max-width:100%}.detail-summary .debug-pill code{overflow-wrap:anywhere}.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}.visitor-message-card{display:grid;gap:6px;min-height:96px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff}.visitor-message-card span{color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.visitor-message-card p{margin:0;color:var(--ink);font-size:1rem;line-height:1.45}.visitor-message-card .muted-value{color:var(--muted);font-weight:700}.image-description{margin:0;color:var(--muted);font-size:14px;line-height:1.4}.transcript-entry,.image-card{border-color:var(--line)}.face-meta span,.face-chip{display:inline-flex;align-items:center;max-width:100%;min-width:0;min-height:28px;padding:5px 9px;border-radius:999px;background:var(--panel-strong);overflow-wrap:anywhere;white-space:normal}.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}.survey-inbox{display:grid;gap:12px}.survey-card{width:100%;display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);text-align:left;cursor:pointer;box-shadow:0 12px 28px #121f3114}.survey-card img,.survey-card-icon{width:76px;height:76px;border-radius:15px}.survey-card img{object-fit:cover}.survey-card-icon{display:grid;place-items:center;color:#fff;background:var(--blue-gradient)}.survey-card-body{min-width:0;display:grid;gap:4px}.survey-card-body strong,.survey-card-body span,.survey-card-body small{overflow:hidden;text-overflow:ellipsis}.survey-card-action{padding:9px 12px;border-radius:999px;background:#eaf3ff;color:var(--blue-dark);font-weight:900}.survey-modal{width:min(680px,100%);max-height:min(92vh,900px);overflow:auto;box-shadow:var(--shadow)}.survey-progress{display:grid;gap:8px;color:var(--muted);font-size:13px;font-weight:800}.survey-progress>div{height:8px;overflow:hidden;border-radius:999px;background:#e6edf4}.survey-progress>div>span{display:block;height:100%;border-radius:inherit;background:var(--blue-gradient)}.survey-context{margin-top:10px}.survey-context.accordion{overflow:visible}.survey-context .accordion-body{display:grid;grid-template-columns:minmax(180px,42%) minmax(0,1fr);align-items:start;overflow:visible}.survey-scene-figure{grid-row:span 4;width:100%;max-width:100%;height:clamp(190px,32vh,330px);margin:0 auto;display:flex;justify-content:center;align-items:center;padding:8px;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff}.survey-scene-image{display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:none;max-height:none;border:0;border-radius:12px;background:#fff;object-fit:contain;object-position:center}.survey-detail-block{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#ebf4ff9e}.survey-detail-block span{color:var(--blue-dark);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.survey-detail-block p{margin:0;line-height:1.4}.survey-question{display:grid;gap:16px;padding:8px 0}.survey-question h3{margin:0;font-family:Fraunces,Georgia,serif;font-size:clamp(24px,7vw,34px);letter-spacing:0;line-height:1.05}.survey-choice-grid{grid-template-columns:1fr}.rating-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.rating-row button{min-height:58px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--teal-dark);font-size:22px;font-weight:900;cursor:pointer}.rating-row button.selected{border-color:#1756ae8c;color:#fff;background:var(--blue-gradient)}.star-rating-row{width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.star-rating-row button{min-width:0;min-height:74px;display:grid;place-items:center;gap:2px;border:0;border-radius:12px;background:transparent;color:#b7c3d4;cursor:pointer}.star-rating-row button:hover,.star-rating-row button:focus-visible{background:#eaf3ff}.star-rating-row button span{font-size:clamp(44px,8vw,60px);line-height:1}.star-rating-row button small{font-weight:900}.star-rating-row button.filled{color:var(--blue);background:transparent}.scale-labels{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px;font-weight:800}.survey-scale-group,.survey-section-stack{display:grid;gap:10px}.survey-issue-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:#eaf3ff}.survey-issue-tabs button{min-height:42px;border:0;border-radius:999px;background:transparent;color:var(--blue-dark);font-weight:900;cursor:pointer}.survey-issue-tabs button.selected{color:#fff;background:var(--blue-gradient)}.survey-issue-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.survey-issue-grid .check-tile{min-height:44px;padding:8px 10px;font-size:.9rem}.survey-scale-group{padding:12px;border:1px solid var(--line);border-radius:16px;background:#f8fbff}.survey-scale-group>div:first-child,.survey-section-stack>div:not(.check-grid){display:grid;gap:3px}.survey-scale-group strong,.survey-section-stack strong{color:var(--ink)}.survey-scale-group small,.survey-section-stack small{color:var(--muted)}.study-manual-entry>.accordion-body{padding:12px 0 0}.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}.history-mobile-hidden{display:none}.history-detail-panel:not(.history-mobile-open){display:none}.history-back-button{display:inline-flex;width:auto}.history-filter-grid,.history-filter-grid.two{grid-template-columns:1fr}.history-filter-footer{align-items:stretch;flex-direction:column}.history-filter-footer .button{width:100%}.history-pagination{align-items:stretch;flex-direction:column}.history-pagination-actions{justify-content:space-between}.interaction-card{grid-template-columns:64px minmax(0,1fr)}.interaction-thumbnail{width:64px;height:64px;border-radius:13px}.history-detail-actions{justify-content:stretch;width:100%}.history-detail-actions .button,.history-detail-actions .status-pill{width:100%;justify-content:center}}@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-actions{grid-column:2;grid-row:1;justify-self:end;gap:6px}.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{gap:12px;padding:12px;border-radius:18px}.alert-card-main{grid-template-columns:92px minmax(0,1fr);gap:10px}.alert-image{height:92px;border-radius:14px}.alert-summary{font-size:21px}.card-actions{flex-direction:column}.primary-actions{grid-template-columns:1fr;gap:7px}.more-response-actions,.alert-detail-actions{grid-template-columns:1fr}.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%)}.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:1fr;align-items:start}.calendar-hero-panel{min-height:auto}.calendar-page-heading{align-items:flex-start}.calendar-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.calendar-stat{background:linear-gradient(180deg,#fff,#f4f7ff)}.appointment-calendar-shell{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:22px;background:#fff}.calendar-toolbar,.selected-day-heading,.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-toolbar h3,.selected-day-heading h3{margin:0;font-family:Fraunces,Georgia,serif;font-size:clamp(26px,3.2vw,38px);line-height:1}.calendar-toolbar .button:first-child .icon{transform:rotate(90deg)}.next-month-button .icon{transform:rotate(-90deg)}.calendar-weekdays,.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-weekdays span{color:var(--muted);font-size:12px;font-weight:900;text-align:center}.calendar-day{position:relative;min-height:116px;display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--line);border-radius:16px;background:var(--panel-strong);color:var(--ink);text-align:left;cursor:pointer}.calendar-day:hover,.calendar-day:focus-visible{border-color:#244a9b5c;box-shadow:0 10px 24px #244a9b1f}.calendar-day.muted{opacity:.54}.calendar-day.selected{border-color:#244a9b94;background:linear-gradient(180deg,#eef4ff,#fff)}.calendar-day.today .calendar-day-number{color:#fff;background:linear-gradient(135deg,#173b88,#3a7fc4)}.calendar-day-number{width:30px;height:30px;display:inline-grid;place-items:center;border-radius:999px;font-weight:900}.calendar-day-events{display:grid;gap:5px;min-width:0}.calendar-event-count{display:none}.calendar-event-chip,.calendar-more-chip{overflow:hidden;min-height:24px;padding:4px 7px;border-radius:9px;background:#fff;color:var(--teal-dark);font-size:11px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.calendar-more-chip{color:var(--muted);background:#244a9b14}.selected-day-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;align-items:start}.today-appointments-panel,.selected-day-panel,.agenda-panel{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:22px;background:#fff}.appointment-list-card{display:grid;grid-template-columns:82px 1fr;gap:12px;padding:12px;border:1px solid var(--line);border-radius:18px;background:var(--panel-strong)}.appointment-time-block{min-height:78px;display:grid;place-items:center;align-content:center;gap:3px;border-radius:15px;color:#fff;background:linear-gradient(160deg,#173b88f2,#3a7fc4eb)}.appointment-time-block strong{font-size:20px}.appointment-time-block small{color:#ffffffc7;font-weight:800}.appointment-list-body{min-width:0;display:grid;gap:7px}.appointment-list-body>strong{font-family:Fraunces,Georgia,serif;font-size:23px;line-height:1}.appointment-list-body p{margin:0;color:var(--muted);line-height:1.35}.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}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:18px;background:#091c346b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.appointment-modal{width:min(760px,100%);max-height:min(92vh,980px);overflow:auto;box-shadow:var(--shadow)}.image-lightbox{width:min(920px,100%);max-height:min(92vh,980px);overflow:auto;box-shadow:var(--shadow)}.image-lightbox img{display:block;width:100%;max-height:72vh;object-fit:contain;border-radius:14px;background:#fff;border:1px solid var(--line)}.day-sheet{width:min(640px,100%);max-height:min(86vh,860px);overflow:auto;box-shadow:var(--shadow)}.weekday-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.weekday-option{min-height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--muted);font-size:12px;font-weight:900;cursor:pointer}.weekday-option input{position:absolute;opacity:0;pointer-events:none}.weekday-option:has(input:checked){color:#fff;border-color:transparent;background:linear-gradient(135deg,#173b88,#3a7fc4)}.compact-details{margin-top:0}.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(min(320px,100%),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(min(300px,100%),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-page-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.calendar-page-heading h2{font-size:30px}.calendar-page-heading .panel-copy{font-size:13px}.calendar-page-heading .button{min-width:0;padding-inline:12px;white-space:nowrap}.appointment-calendar-shell,.today-appointments-panel,.agenda-panel{padding:10px;border-radius:18px}.calendar-weekdays,.calendar-month-grid{gap:4px}.calendar-toolbar{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;text-align:center}.calendar-toolbar h3{font-size:24px}.calendar-toolbar .button{width:42px;min-width:42px;padding:8px}.calendar-toolbar .button span{display:none}.calendar-day{min-height:46px;align-items:center;justify-content:center;padding:5px;border-radius:12px}.calendar-day-number{width:28px;height:28px}.calendar-day-events{display:none}.calendar-event-count{position:absolute;right:4px;bottom:4px;min-width:17px;height:17px;display:inline-grid;place-items:center;border-radius:999px;color:#fff;background:var(--teal);font-size:10px;font-weight:900}.selected-day-layout{grid-template-columns:1fr}.selected-day-panel{display:none}.appointment-list-card{grid-template-columns:1fr}.appointment-time-block{min-height:58px;grid-template-columns:auto auto}.weekday-picker{grid-template-columns:repeat(4,minmax(0,1fr))}.modal-backdrop{align-items:end;padding:0}.appointment-modal{width:100%;max-height:94vh;border-radius:24px 24px 0 0}.day-sheet{width:100%;max-height:82vh;border-radius:24px 24px 0 0}.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){.survey-card{grid-template-columns:58px minmax(0,1fr)}.survey-card img,.survey-card-icon{width:58px;height:58px;border-radius:13px}.survey-card-action{grid-column:1 / -1;justify-self:stretch;text-align:center}.survey-modal{width:100%;max-height:94vh;border-radius:24px 24px 0 0}.survey-context .accordion-body{grid-template-columns:1fr;gap:8px;padding:0 10px 10px}.survey-scene-figure{grid-row:auto;height:auto;padding:0;overflow:visible;border-radius:12px}.survey-scene-image{width:100%;height:auto;max-width:100%;max-height:none;border-radius:9px}.survey-detail-block{padding:8px;border-radius:12px}.survey-detail-block span{font-size:10px}.survey-detail-block p{font-size:13px;line-height:1.3}.policy-time-band-grid,.policy-card-grid,.policy-card-controls,.policy-time-band{grid-template-columns:1fr}}
