:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#172126;background:#f5f7f8;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0}main{place-items:center;min-height:100vh;padding:2rem;display:grid}section{text-align:center}.card{background:#fff;border:1px solid #dce3e6;border-radius:.75rem;width:min(100%,28rem);padding:2rem}.wide{text-align:left;width:min(100%,52rem)}form{text-align:left;gap:1rem;margin:1.5rem 0;display:grid}label{gap:.35rem;font-weight:600;display:grid}input,select,textarea,button{font:inherit;border:1px solid #9babb3;border-radius:.35rem;padding:.7rem}button:disabled{cursor:not-allowed;opacity:.55}.check-in-panel,.check-out-panel{background:#f4f8f9;border-radius:.5rem;gap:.75rem;margin-top:1rem;padding:1rem;display:grid}.completed{color:#245b32;margin-top:.5rem}.check-in-panel video,.capture-preview{object-fit:contain;background:#172126;border-radius:.5rem;width:100%;max-height:28rem}.capture-actions{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.error{color:#9b1c1c}.in-progress{color:#174c5b;margin-top:.5rem}.fields{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1rem;display:grid}.secondary{color:#174c5b;background:#fff}.inline{margin-left:.5rem;padding:.3rem .55rem}small{color:#526169}.appointments{padding:0;list-style:none}.appointments li{border:1px solid #dce3e6;border-radius:.5rem;grid-template-columns:4rem 1fr;gap:1rem;padding:1rem;display:grid}.appointments time{color:#174c5b;font-size:1.25rem;font-weight:700}@media (max-width:36rem){main{align-items:start;padding:1rem}.card{padding:1.25rem}}button{color:#fff;cursor:pointer;background:#174c5b}nav{flex-wrap:wrap;justify-content:center;gap:1rem;margin:1.25rem 0;display:flex}ul{padding-left:1.25rem}li{margin:.75rem 0}.notice{background:#fff7d6;border-radius:.35rem;padding:.75rem}h1{margin:0 0 .75rem;font-size:clamp(2rem,6vw,3.5rem)}p{color:#526169;margin:0;font-size:1.125rem}.report-main{padding:1.25rem;display:block}.report-page{background:#fff;border:1px solid #dce3e6;border-radius:.75rem;width:min(100%,92rem);margin:0 auto;padding:1.5rem}.report-page>h1{font-size:clamp(2rem,4vw,3rem)}.report-filters{background:#f4f8f9;border-radius:.5rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));align-items:end;padding:1rem}.report-filters .checkbox{flex-direction:row;align-items:center;display:flex}.report-filters .checkbox input{width:1.1rem;height:1.1rem}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1rem;margin:1.5rem 0;display:grid}.metric{border:1px solid #dce3e6;border-radius:.5rem;gap:.35rem;padding:1rem;display:grid}.metric span{color:#526169}.metric strong{color:#174c5b;font-size:1.7rem}.report-section{text-align:left;margin-top:2rem}.table-wrap{border:1px solid #dce3e6;border-radius:.5rem;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:52rem}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #dce3e6;padding:.65rem}th{color:#fff;background:#174c5b;position:sticky;top:0}.pagination,.download-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-top:1.25rem;display:flex}.button-link{color:#fff;background:#174c5b;border-radius:.35rem;padding:.7rem 1rem;text-decoration:none;display:inline-block}.proof-section{text-align:left;border-bottom:1px solid #dce3e6;padding:1rem 0}.proof-section dl{grid-template-columns:minmax(10rem,12rem) minmax(0,1fr);gap:.5rem 1rem;display:grid}.proof-section-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.proof-section-heading h2{margin-bottom:.75rem}.proof-section dt{font-weight:700}.proof-section dd{overflow-wrap:anywhere;margin:0}.detail-grid{gap:1.5rem;display:grid}.detail-grid>div{min-width:0}.clinic-details-panel{background:#fff;max-width:68rem;margin-inline:auto}.clinic-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.clinic-detail-grid>div{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);padding:1rem}.clinic-detail-grid h3,.professional-detail h3,.record-information h2,.proof-placeholder h2{color:var(--color-text-secondary);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .85rem;font-size:.78rem}.detail-people{gap:.65rem;display:grid}.detail-people>div{gap:.15rem;display:grid}.detail-people span{color:var(--color-text-secondary);font-size:.88rem}.detail-list{grid-template-columns:minmax(8rem,11rem) minmax(0,1fr);gap:.5rem 1rem;margin:0;display:grid}.detail-list dt{font-weight:700}.detail-list dd{overflow-wrap:anywhere;min-width:0;margin:0}.evidence-image{object-fit:contain;background:#172126;border-radius:.5rem;max-width:min(100%,42rem);max-height:32rem}code{overflow-wrap:anywhere}.dialog-open{overflow:hidden}.dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#05373294;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.product-dialog{background:#fff;border:1px solid #ebb2878c;border-radius:1rem;width:min(100%,34rem);max-height:calc(100dvh - 2rem);padding:1.5rem;overflow-y:auto;box-shadow:0 1.5rem 4rem #05373240}.product-dialog-wide{width:min(100%,58rem)}.dialog-title-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.dialog-title-row>div{min-width:0}.dialog-heading{margin-bottom:1.25rem}.dialog-heading h2{color:#053732;margin:0}.dialog-heading p{color:#596c69;margin:.4rem 0 0}.dialog-form{gap:1rem;display:grid}.form-error{color:#9b2c2c;margin:0}.form-field{align-content:start;gap:.35rem;margin:0;display:grid}.fields{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}.fields>label,.fields>.form-field{grid-column:span 6;align-self:start;min-width:0}.field-helper{color:var(--color-text-secondary);font-weight:400}.field-error{color:var(--color-danger);font-weight:650}.form-field.field-invalid input,.form-field.field-invalid select,input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--color-danger);box-shadow:0 0 0 2px #9f2d2d1f}.trace-code{color:#596c69;font-size:.9rem}.audit-history{color:#596c69;margin-top:1rem}.audit-history summary{cursor:pointer;color:#315b57;font-weight:700}.audit-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.audit-filter-grid label{color:var(--color-text-secondary);align-content:start;gap:.35rem;font-size:.78rem;font-weight:700;display:grid}.audit-filter-grid input,.audit-filter-grid select{width:100%;min-height:2.65rem}.audit-search{grid-column:span 2}.audit-filter-actions{justify-content:flex-end;gap:.65rem;margin-top:.8rem;display:flex}.audit-mobile-filter,.audit-mobile-list{display:none}.audit-table{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:1.25rem;overflow:hidden}.audit-table-head,.audit-table-row{grid-template-columns:10rem minmax(10rem,1.2fr) minmax(11rem,1.4fr) minmax(9rem,1fr) minmax(7rem,.8fr) auto;align-items:center;gap:.75rem;padding:.7rem .8rem;display:grid}.audit-table-head{background:var(--brand-background);color:var(--color-text-secondary);font-size:.75rem;font-weight:750}.audit-table-row{border-top:1px solid var(--color-border);font-size:.83rem}.audit-table-row span{overflow-wrap:anywhere;min-width:0}.audit-table-row span:nth-child(2){gap:.15rem;display:grid}.audit-table-row small{color:var(--color-text-secondary)}.audit-detail{grid-template-columns:minmax(8rem,.5fr) 1fr;gap:.55rem 1rem;margin:0;padding:0 1.25rem 1.25rem;display:grid}.audit-detail dt{color:var(--color-text-secondary);font-weight:700}.audit-detail dd{overflow-wrap:anywhere;margin:0}.audit-metadata{display:contents}.audit-mobile-filter-body{padding:0 1rem 1rem;overflow-y:auto}@media (max-width:64rem){.audit-desktop-filters{display:none}.audit-mobile-filter{display:inline-flex}.audit-mobile-filter-body .audit-filter-grid{grid-template-columns:1fr}.audit-mobile-filter-body .audit-search{grid-column:auto}.audit-page .product-dialog{max-height:calc(100dvh - env(safe-area-inset-top));padding-bottom:max(1rem, env(safe-area-inset-bottom));overflow:hidden}}@media (max-width:48rem){.audit-table{display:none}.audit-mobile-list{gap:.65rem;margin-top:1rem;display:grid}.audit-mobile-list article{border:1px solid var(--color-border);border-radius:var(--radius-md);gap:.25rem;padding:.85rem;display:grid}.audit-mobile-list article small{color:var(--color-text-secondary)}.audit-mobile-list article button{margin-top:.35rem}.audit-detail{grid-template-columns:1fr;gap:.2rem;padding-inline:1rem}.audit-detail dd{margin-bottom:.55rem}}@media (max-width:42rem){.dialog-backdrop{align-items:end;padding:0}.product-dialog{border-radius:1rem 1rem 0 0;width:100%;max-height:88dvh;padding:1.25rem}.report-main{padding:.5rem}.report-page{padding:1rem}.proof-section dl{grid-template-columns:1fr}.proof-section dd{margin-bottom:.5rem}}:root{--brand-primary:#053732;--brand-primary-soft:#174c46;--brand-accent:#ebb287;--brand-background:#fcf4ee;--brand-muted:#a2b5b3;--color-text:#172b29;--color-text-secondary:#596c69;--color-surface:#fff;--color-surface-subtle:#f7faf9;--color-border:#d9e3e1;--color-focus:#c76f3f;--color-success:#216747;--color-success-bg:#e7f5ed;--color-warning:#80540d;--color-warning-bg:#fff4d6;--color-danger:#9a3030;--color-danger-bg:#fdecec;--color-info:#245f70;--color-info-bg:#e7f3f6;--radius-sm:.5rem;--radius-md:.875rem;--radius-lg:1.25rem;--shadow-soft:0 8px 28px #05373214;--sidebar-width:17rem;background:var(--brand-background);color:var(--color-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html{background:var(--brand-background);min-width:320px}body{color:var(--color-text);background:linear-gradient(135deg,#fcf4ee 0,#f7faf9 52%,#edf3f2 100%);line-height:1.55}a{color:var(--brand-primary-soft);text-underline-offset:.2em}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100vh}.sidebar{z-index:20;width:var(--sidebar-width);background:var(--brand-primary);color:#fff;flex-direction:column;padding:1.5rem 1rem;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand-link{border-bottom:1px solid #ffffff24;padding:.25rem .65rem 1.15rem;display:block}.brand-link img{object-fit:contain;width:100%;height:auto;display:block}.user-context{border-bottom:1px solid #ffffff24;gap:.15rem;margin:1.1rem 0;padding:0 .65rem 1rem;display:grid}.user-context strong{font-size:.95rem}.user-context span,.user-context small{color:#d7e2e0;font-size:.78rem;line-height:1.35}.sidebar nav{justify-content:stretch;gap:.25rem;margin:0;display:grid}.sidebar nav a,.sidebar-secondary a,.nav-logout{border-radius:var(--radius-sm);color:#eff5f4;text-align:left;background:0 0;border:0;align-items:center;width:100%;min-height:44px;padding:.65rem .8rem;font-weight:650;text-decoration:none;display:flex}.sidebar nav a:hover,.sidebar-secondary a:hover,.nav-logout:hover{background:#ffffff1a}.sidebar nav a.active,.sidebar-secondary a.active{background:var(--brand-accent);color:var(--brand-primary)}.sidebar-secondary{border-top:1px solid #ffffff24;gap:.25rem;margin-top:auto;padding-top:1rem;display:grid}.nav-logout{cursor:pointer;font:inherit}.app-content{min-height:100vh;margin-left:var(--sidebar-width)}.app-content main{min-height:100vh;padding:clamp(1rem,3vw,2.5rem);display:block}.mobile-header,.mobile-nav{display:none}.workspace-main,.report-main{display:block}.workspace-card,.report-page,.app-content .card{border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(100%,76rem);box-shadow:var(--shadow-soft);text-align:left;background:#fffffff0;margin:0 auto;padding:clamp(1rem,2.5vw,2rem)}.app-content .card.wide{width:min(100%,76rem)}.app-content .card>a:first-child,.report-page>a:first-child{display:none}.page-header h1,.workspace-card>h1,.report-page>h1,.app-content .card>h1{color:var(--brand-primary);letter-spacing:-.025em;margin:0;font-size:clamp(1.65rem,3.2vw,2.5rem);line-height:1.12}.page-header p,p{color:var(--color-text-secondary);font-size:1rem}h2{color:var(--brand-primary);font-size:clamp(1.2rem,2vw,1.55rem)}form{gap:1rem}label{color:var(--color-text);font-size:.9rem}input,select,textarea,button{border-radius:var(--radius-sm);border-color:#a9bbb8;min-height:44px}input,select,textarea{width:100%;color:var(--color-text);background:#fff}input:hover,select:hover,textarea:hover{border-color:var(--brand-primary-soft)}button,.button-link{border:1px solid var(--brand-primary);background:var(--brand-primary);color:#fff;font-weight:700;transition:background .15s,transform .15s}button:hover:not(:disabled),.button-link:hover{background:var(--brand-primary-soft)}button:active:not(:disabled),.button-link:active{transform:translateY(1px)}button.secondary,.secondary{color:var(--brand-primary);background:#fff}button.inline{min-height:36px}.form-error,.error{border-left:4px solid var(--color-danger);border-radius:var(--radius-sm);background:var(--color-danger-bg);color:var(--color-danger);padding:.75rem}.notice{background:var(--color-warning-bg);color:var(--color-warning)}.login-page{background:var(--brand-background);grid-template-columns:minmax(20rem,.9fr) minmax(22rem,1.1fr);place-items:stretch stretch;min-height:100vh;padding:0;display:grid}.login-brand{background:var(--brand-primary);text-align:center;place-content:center;justify-items:center;padding:3rem;display:grid}.login-brand img{object-fit:contain;width:min(100%,33rem);height:auto}.login-brand p{color:#dce8e6}.login-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(100% - 2rem,28rem);box-shadow:var(--shadow-soft);text-align:left;background:#fff;align-self:center;margin:2rem auto;padding:clamp(1.5rem,5vw,3rem)}.login-card h1{color:var(--brand-primary);margin:.25rem 0;font-size:clamp(2rem,5vw,2.75rem)}.login-card form{margin-bottom:0}.login-card button{width:100%}.login-mobile-logo{display:none}.eyebrow{color:var(--color-text-secondary);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;font-weight:800}.status-badge{white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:.3rem;width:max-content;min-height:28px;padding:.2rem .55rem;font-size:.74rem;font-weight:800;line-height:1;display:inline-flex}.status-neutral{color:#526966;background:#eef3f2}.status-success{color:var(--color-success);background:var(--color-success-bg)}.status-warning{color:var(--color-warning);background:var(--color-warning-bg)}.status-danger{color:var(--color-danger);background:var(--color-danger-bg)}.status-info{color:var(--color-info);background:var(--color-info-bg)}.empty-state,.loading-state,.app-loading{min-height:10rem;color:var(--color-text-secondary);text-align:center;place-items:center;gap:.5rem;padding:2rem;display:grid}.empty-state>div{justify-items:center;gap:.5rem;display:grid}.empty-state p{margin:0}.app-loading{background:var(--brand-background);min-height:100vh}.spinner{border:3px solid var(--brand-muted);border-top-color:var(--brand-primary);border-radius:50%;width:1.5rem;height:1.5rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.date-control{max-width:18rem;margin-bottom:1.25rem}.appointments{gap:1rem;margin:0;display:grid}.appointments li{border-color:var(--color-border);border-radius:var(--radius-md);background:#fff;grid-template-columns:5rem minmax(0,1fr);margin:0;padding:clamp(1rem,2vw,1.35rem);box-shadow:0 3px 14px #0537320d}.appointment-time{font-size:1.35rem}.appointment-content{min-width:0}.appointment-heading{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.appointment-heading>div{display:grid}.appointment-heading strong{color:var(--brand-primary);font-size:1.12rem}.appointment-heading span:not(.status-badge){color:var(--color-text-secondary)}.appointment-place{margin-top:.5rem;font-size:.9rem}.attendance-summary{border-top:1px solid var(--color-border);color:var(--color-text);margin-top:1rem;padding-top:1rem}.attendance-summary dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;display:grid}.attendance-summary dl>div{gap:.1rem;display:grid}.attendance-summary dt{color:var(--color-text-secondary);text-transform:uppercase;font-size:.76rem;font-weight:700}.attendance-summary dd{margin:0;font-weight:650}.attendance-summary .elapsed-row dd,.attendance-summary .duration-row dd{color:var(--brand-primary);font-variant-numeric:tabular-nums;font-size:1.35rem}.appointment-primary-action{width:100%;margin-top:1rem}.check-in-panel,.check-out-panel{border:1px solid var(--color-border);background:var(--color-surface-subtle);gap:1rem;padding:clamp(1rem,3vw,1.5rem)}.flow-steps{grid-template-columns:repeat(3,1fr);gap:.35rem;display:grid}.flow-steps span{border-radius:var(--radius-sm);color:var(--color-text-secondary);text-align:center;background:#e8efee;padding:.45rem;font-size:.72rem;font-weight:700}.flow-steps .current{background:var(--brand-accent);color:var(--brand-primary)}.flow-steps .done{background:var(--color-success-bg);color:var(--color-success)}.check-in-panel video,.capture-preview{aspect-ratio:4/3;object-fit:contain;max-height:min(60vh,32rem)}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr))}.metric{border-color:var(--color-border);border-radius:var(--radius-md);background:linear-gradient(145deg,#fff,#f7faf9)}.metric strong{color:var(--brand-primary)}.report-section{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;padding:1.25rem}.report-filters{border:1px solid var(--color-border);background:var(--color-surface-subtle);position:relative}.filter-panel>summary{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:44px;color:var(--brand-primary);cursor:pointer;background:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;font-weight:800;display:flex}.filter-panel[open]>summary{border-radius:var(--radius-sm) var(--radius-sm) 0 0}.filter-panel>summary small{color:var(--color-text-secondary);font-weight:600}.filter-panel .report-filters{border-radius:0 0 var(--radius-sm) var(--radius-sm);border-top:0;margin:0}.filter-actions{align-items:end;gap:.5rem;display:flex}.filter-actions button{flex:1}table{min-width:48rem}th{background:var(--brand-primary)}tbody tr:hover{background:#f7faf9}.row-alert{background:var(--color-warning-bg)}@media (max-width:64rem){.app-shell{grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;min-height:0;display:grid;overflow:hidden}.sidebar{display:none}.app-content{overscroll-behavior:contain;min-height:0;margin:0;overflow-y:auto}.mobile-header{z-index:30;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fcf4eef5;justify-content:space-between;align-items:center;gap:1rem;height:4.25rem;padding:.45rem 1rem;display:flex;position:static}.mobile-header img{width:7.5rem;height:auto}.mobile-header span{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.mobile-nav{z-index:40;min-height:4.5rem;padding:.35rem max(.35rem, env(safe-area-inset-right)) max(.35rem, env(safe-area-inset-bottom)) max(.35rem, env(safe-area-inset-left));border-top:1px solid var(--color-border);background:#fffffff7;grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:static;box-shadow:0 -6px 20px #05373214}.mobile-nav>a,.mobile-nav summary,.mobile-nav>button{border-radius:var(--radius-sm);min-width:0;min-height:44px;color:var(--color-text-secondary);text-align:center;cursor:pointer;background:0 0;border:0;place-items:center;padding:.4rem;font-size:.7rem;font-weight:750;text-decoration:none;display:grid}.mobile-nav>a.active{background:var(--brand-background);color:var(--brand-primary)}.mobile-nav details{position:static}.mobile-nav summary{list-style:none}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-more{border:1px solid var(--color-border);border-radius:var(--radius-md);width:min(18rem,100vw - 1.5rem);box-shadow:var(--shadow-soft);background:#fff;gap:.25rem;padding:.75rem;display:grid;position:absolute;bottom:calc(100% + .5rem);right:.75rem}.mobile-more a,.mobile-more button{border-radius:var(--radius-sm);min-height:44px;color:var(--color-text);align-items:center;padding:.65rem;text-decoration:none;display:flex}.mobile-more a.active{background:var(--brand-background);color:var(--brand-primary)}}@media (max-width:40rem){.app-content main{padding:.75rem}.workspace-card,.report-page,.app-content .card{border-radius:var(--radius-md);padding:1rem}.page-header{margin-bottom:1rem}.login-page{grid-template-columns:1fr;place-items:center;width:100%;padding:1rem;overflow-x:hidden}.login-brand{display:none}.login-card{width:100%;min-width:0;max-width:100%;margin:0}.login-card form,.login-card label,.login-card input{min-width:0;max-width:100%}.login-mobile-logo{width:9.5rem;height:auto;margin:0 auto 1rem;display:block}.appointments li{grid-template-columns:1fr}.appointment-time{border-bottom:1px solid var(--color-border);padding-bottom:.5rem}.appointment-heading{flex-direction:column-reverse}.attendance-summary dl,.capture-actions,.report-filters{grid-template-columns:1fr}.filter-panel>summary small{font-size:.7rem}.table-wrap{border:0;overflow:visible}.report-page table{min-width:42rem}.report-page .table-wrap{border:1px solid var(--color-border);overflow-x:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html,body{width:100%;max-width:100%;overflow-x:clip}body.sheet-open{overflow:hidden}.nav-icon{flex:none;width:1.35rem;height:1.35rem}.sidebar nav a,.sidebar-secondary a,.nav-logout{gap:.7rem}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header h1{margin:0;font-size:clamp(1.625rem,4vw,2rem);line-height:1.18}.page-header p{max-width:42rem;margin-top:.3rem;font-size:.95rem}.page-actions{flex-wrap:wrap;gap:.5rem;display:flex}.page-actions button{white-space:nowrap}.form-heading h2,.filter-sheet h2,.mobile-sheet h2{margin:0}.form-heading p{margin-top:.2rem;font-size:.9rem}.create-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);padding:1rem}.form-actions,.card-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.form-actions button,.card-actions button{width:auto;min-width:6rem}.danger-button{border-color:var(--color-danger);color:var(--color-danger);background:#fff}.danger-button:hover:not(:disabled){background:var(--color-danger-bg)}.entity-list,.agenda-list{gap:.75rem;display:grid}.list-search{align-items:end;gap:.75rem;margin:0 0 1rem;display:flex}.list-search label{flex:1;margin:0}.list-search button{width:auto}.user-filters{grid-template-columns:repeat(5,minmax(0,1fr)) auto;align-items:end;gap:.75rem;margin-bottom:1rem;display:grid}.user-filters label,.agenda-clinic-filter{margin:0}.user-filters button,.agenda-clinic-filter{width:auto}.pagination{justify-content:center;align-items:center;gap:1rem;margin-top:1rem;display:flex}.pagination button{width:auto}.professional-detail{gap:1.25rem;display:grid}.professional-detail form,.professional-form{gap:1rem;display:grid}.professional-form h3,.professional-detail>h3{border-bottom:1px solid var(--color-border);margin:.5rem 0 0;padding-bottom:.45rem}.professional-registrations{gap:.75rem;display:grid}.professional-registrations>button{justify-self:start}.registration-editor{border:1px solid var(--color-border);border-radius:.75rem;grid-template-columns:1.2fr 1fr .8fr .75fr auto;align-items:end;gap:.75rem;padding:.85rem;display:grid}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.choice-grid label{border:1px solid var(--color-border);border-radius:.65rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;padding:.65rem;display:grid}.choice-grid input{width:auto}.choice-grid small,.choice-inactive{color:var(--color-text-secondary)}.catalog-toolbar{justify-content:space-between;align-items:end;gap:1rem;display:flex}.catalog-toolbar label{flex:1}.scheduled-summary,.proof-placeholder,.record-information{max-width:58rem}.scheduled-summary dl{grid-template-columns:repeat(2,minmax(8rem,1fr));gap:1rem 2rem}.scheduled-summary dl>dt{color:var(--color-text-secondary);font-size:.78rem}.scheduled-summary dd{gap:.2rem;font-size:1rem;display:grid}.scheduled-summary dd small,.record-information>span{color:var(--color-text-secondary);font-size:.8rem}.scheduled-actions{margin-top:1.25rem}.record-information>div{justify-content:space-between;align-items:center;gap:1rem;margin-top:.35rem;display:flex}.account-identity{gap:.2rem;margin-bottom:1.5rem;display:grid}.account-identity strong{color:var(--brand-primary);font-size:1.25rem}.account-identity span{color:var(--color-text-secondary)}.account-grid>section{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;padding:1rem}.account-grid h2{margin:.35rem 0;font-size:1rem}.account-security{grid-column:1/-1}.security-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 0;display:flex}.security-row:last-child{border-bottom:0}.security-row>div{gap:.2rem;display:grid}.security-row button{width:auto}.entity-row{border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:left;background:#fff;justify-content:space-between;align-items:center;gap:1rem;min-width:0;padding:1rem;display:flex}.entity-content{gap:.25rem;min-width:0;display:grid}.text-action{width:100%;color:var(--color-text);text-align:left;box-shadow:none;background:0 0;border:0;padding:0}.text-action:hover:not(:disabled){color:var(--brand-primary);background:0 0}.clinic-card{background:#fffdfb}.clinic-card .text-action strong{font-size:1.18rem}.entity-open-hint{text-underline-offset:3px;margin-top:.25rem;font-size:.8rem;font-weight:750;text-decoration:underline;color:var(--brand-primary)!important}.entity-side-actions{flex:none;justify-items:end;gap:.65rem;display:grid}.user-access-row{position:relative}.user-card-main{align-self:stretch;padding:0}.user-card-tools{flex:none;align-items:center;gap:.65rem;display:flex;position:relative}.action-trigger{font-size:1.5rem;line-height:1}.context-menu{z-index:20;border:1px solid var(--color-border);border-radius:var(--radius-sm);width:13rem;box-shadow:var(--shadow-soft);background:#fff;padding:.35rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0}.context-menu button{width:100%;min-height:44px;color:var(--color-text);text-align:left;background:0 0;border:0;padding:.65rem .75rem}.context-menu button:hover,.context-menu button:focus-visible{background:var(--brand-background);color:var(--brand-primary)}.access-details,.access-details section,.managed-access-list{gap:.75rem;display:grid}.access-details section{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.85rem}.access-line{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem 0;display:flex}.access-line:last-child{border-bottom:0}.access-line>div{min-width:0;display:grid}.access-line span:not(.status-badge){color:var(--color-text-secondary);font-size:.85rem}.attendance-primary-link,.attendance-date-link{color:var(--brand-primary);text-underline-offset:3px;font-weight:750;text-decoration-thickness:1px}.attendance-primary-link{gap:.15rem;display:grid}.attendance-primary-link span{color:var(--color-text-secondary);font-size:.72rem;font-weight:600;text-decoration:none}.attendance-mobile-list{display:none}.pdf-availability-note{color:var(--color-text-secondary);margin:.75rem 0 0;font-size:.9rem}.entity-content strong{color:var(--brand-primary);overflow-wrap:anywhere;font-size:1.05rem}.entity-content span{color:var(--color-text-secondary);overflow-wrap:anywhere}.badge-row{flex-wrap:wrap;gap:.4rem;display:flex}.compact-action{flex:none;width:auto}.agenda-card{border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:left;background:#fff;grid-template-columns:9.5rem minmax(0,1fr) auto;align-items:center;gap:1rem;min-width:0;padding:1rem;display:grid}.agenda-date{border-right:1px solid var(--color-border);gap:.1rem;padding-right:1rem;display:grid}.agenda-date time{color:var(--brand-primary);font-variant-numeric:tabular-nums;font-weight:800}.agenda-content{min-width:0}.agenda-heading{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.agenda-heading>div{min-width:0;display:grid}.agenda-heading strong{overflow-wrap:anywhere}.agenda-heading span{color:var(--color-text-secondary);font-size:.88rem}.compact-details{flex-wrap:wrap;gap:.5rem 1.5rem;margin:.8rem 0 0;display:flex}.compact-details div{display:grid}.compact-details dt{color:var(--color-text-secondary);text-transform:uppercase;font-size:.72rem;font-weight:750}.compact-details dd{margin:0}.filter-panel{margin:1rem 0}.filter-summary{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.filter-summary>div{gap:.1rem;display:grid}.filter-summary strong{font-size:.95rem}.filter-summary small{font-size:.78rem}.filter-trigger{align-items:center;gap:.45rem;width:auto;display:inline-flex}.filter-count{background:var(--brand-primary);color:#fff;border-radius:50%;place-items:center;min-width:1.35rem;height:1.35rem;font-size:.7rem;display:grid}.sheet-layer,.filter-layer{z-index:100;padding-top:max(1rem, env(safe-area-inset-top));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#091b198f;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.mobile-sheet,.filter-sheet{width:min(100%,36rem);max-height:calc(100dvh - max(1rem, env(safe-area-inset-top)));text-align:left;background:#fff;border:0;border-radius:1.25rem 1.25rem 0 0;flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden;box-shadow:0 -12px 40px #05373233}.mobile-sheet>header,.filter-sheet>header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1rem .75rem;display:flex}.icon-button{background:var(--color-surface-subtle);width:44px;min-width:44px;color:var(--brand-primary);border-radius:50%;place-items:center;padding:0;font-size:1.7rem;display:grid}.mobile-sheet nav{padding:.75rem 1rem max(1rem, env(safe-area-inset-bottom));gap:.25rem;margin:0;display:grid;overflow-y:auto}.mobile-sheet nav a,.sheet-logout{border-radius:var(--radius-sm);width:100%;min-height:48px;color:var(--color-text);text-align:left;background:0 0;border:0;align-items:center;gap:.8rem;padding:.7rem .8rem;text-decoration:none;display:flex}.mobile-sheet nav a.active{background:var(--brand-background);color:var(--brand-primary);font-weight:750}.sheet-logout{color:var(--color-danger)}.filter-sheet .report-filters{padding:1rem 1rem calc(5rem + env(safe-area-inset-bottom));border:0;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;overflow-y:auto}.filter-actions{z-index:2;padding:.75rem 1rem max(.75rem, env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:#fff;position:absolute;inset:auto 0 0}.metric-grid{margin:.75rem 0 1rem}.metric{min-height:7rem;box-shadow:none;align-content:space-between}.analysis-section,.export-section{margin-top:1rem}.download-actions{justify-content:flex-start}.export-card{text-align:left;gap:.25rem;min-width:min(100%,17rem);display:grid}.export-card span{color:inherit;opacity:.82;font-size:.82rem;font-weight:500}.back-link{margin-bottom:1rem;font-weight:700;text-decoration:none;display:inline-flex!important}@media (max-width:64rem){.app-content{margin:0;padding:0}.app-content main{min-height:100%;padding:1rem}.mobile-header{height:calc(3.75rem + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(1rem, env(safe-area-inset-right)) 0 max(1rem, env(safe-area-inset-left));justify-content:flex-start}.mobile-header>a{flex:none;place-items:center;display:grid}.mobile-header img{border-radius:.6rem;width:2.35rem;height:2.35rem}.mobile-header div{min-width:0;line-height:1.2;display:grid}.mobile-header strong{color:var(--brand-primary);font-size:.9rem}.mobile-header span{max-width:calc(100vw - 5rem);font-size:.74rem;display:block}.mobile-nav{min-height:calc(4.25rem + env(safe-area-inset-bottom));grid-auto-flow:initial;padding:.3rem max(.3rem, env(safe-area-inset-right)) max(.3rem, env(safe-area-inset-bottom)) max(.3rem, env(safe-area-inset-left));grid-template-columns:repeat(4,minmax(0,1fr))}.mobile-nav>a,.mobile-nav>button{align-content:center;gap:.1rem}.mobile-nav>a.active,.mobile-nav>button.active{color:var(--brand-primary);background:var(--brand-background)}.mobile-nav .nav-icon{width:1.3rem;height:1.3rem}}@media (max-width:40rem){.app-content main{padding:.75rem}.workspace-card,.report-page,.app-content .card{border-radius:var(--radius-md);border:0;padding:.9rem;box-shadow:0 3px 16px #0537320d}.page-header{align-items:center;margin-bottom:1rem}.proof .page-header{flex-direction:column;align-items:stretch}.proof .page-actions,.proof .page-actions .button-link{width:100%}.proof .page-actions .button-link{justify-content:center;display:flex}.page-header h1{font-size:1.625rem}.page-header p{font-size:.875rem}.page-actions button{padding-inline:.7rem}.create-panel{margin-inline:-.15rem}.fields,.filter-sheet .report-filters{grid-template-columns:1fr}.fields>label,.fields>.form-field{grid-column:1}.list-search{flex-direction:column;align-items:stretch}.list-search button{width:100%}.entity-row{align-items:flex-start;padding:.85rem}.user-access-row{align-items:center}.user-card-tools{flex-direction:column;justify-content:space-between;align-self:stretch;align-items:flex-end}.user-card-tools>.status-badge{text-align:center;max-width:7.5rem}.context-menu{z-index:180;inset:auto max(.75rem, env(safe-area-inset-right)) calc(5rem + env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));border-radius:var(--radius-md);width:auto;padding:.6rem;position:fixed}.access-line,.security-row{flex-direction:column;align-items:flex-start}.security-row button{width:100%}.entity-row>.status-badge{flex:none}.entity-side-actions{align-self:stretch}.compact-action{padding-inline:.7rem}.agenda-card{grid-template-columns:1fr;gap:.75rem}.agenda-date{border-right:0;border-bottom:1px solid var(--color-border);grid-template-columns:auto 1fr;align-items:baseline;gap:.5rem;padding:0 0 .6rem}.agenda-heading{flex-direction:row}.card-actions{justify-content:flex-start}.filter-summary{align-items:center;padding:.75rem}.filter-summary strong{font-size:.82rem}.filter-summary small{font-size:.72rem}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.metric{min-height:6rem;padding:.8rem}.metric span{font-size:.78rem}.metric strong{font-size:1.45rem}.report-section{padding:1rem}.download-actions{grid-template-columns:1fr;display:grid}.export-card{width:100%;min-width:0}.proof-section{padding:.85rem 0}.proof-section dl{grid-template-columns:1fr;gap:.15rem}.proof-section dd{margin-bottom:.75rem}.detail-list{grid-template-columns:1fr;gap:.15rem}.detail-list dd{margin-bottom:.75rem}}@media (max-width:48rem){.attendance-table{display:none}.attendance-mobile-list{gap:.75rem;display:grid}.attendance-mobile-card{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;background:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;text-decoration:none;display:flex}.attendance-mobile-card:focus-visible{outline:3px solid var(--brand-accent)}.attendance-card-main{gap:.25rem;min-width:0;display:grid}.attendance-card-main strong{color:var(--brand-primary);overflow-wrap:anywhere}.attendance-card-main small{color:var(--color-text-secondary)}.attendance-card-meta{color:var(--brand-primary);flex:none;justify-items:end;gap:.5rem;display:grid}}@media (max-width:42rem){.product-dialog-wide{min-height:min(92dvh,50rem);max-height:96dvh}.registration-editor,.choice-grid{grid-template-columns:1fr}.catalog-toolbar{flex-direction:column;align-items:stretch}.professional-form .form-actions{z-index:2;background:#fff;padding:.75rem 0 1.25rem;position:sticky;bottom:-1.25rem}.user-filters,.clinic-detail-grid,.scheduled-summary dl{grid-template-columns:1fr}.pagination{justify-content:space-between;gap:.5rem}.pagination span{text-align:center;font-size:.78rem}.record-information>div{flex-direction:column;align-items:stretch}}@media (min-width:64.01rem){.filter-layer{align-items:center;padding:2rem}.filter-sheet{border-radius:var(--radius-lg);width:min(58rem,100%);max-height:calc(100vh - 4rem)}.filter-sheet .report-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}.toast{z-index:1200;top:max(1rem, env(safe-area-inset-top));border:1px solid var(--color-border);background:var(--color-surface);border-radius:.75rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;max-width:min(28rem,100vw - 2rem);padding:.8rem .9rem;display:grid;position:fixed;right:1rem;box-shadow:0 .75rem 2rem #0537322e}.toast-success{border-left:.3rem solid var(--color-success)}.toast-error{border-left:.3rem solid var(--color-danger)}.toast button{min-width:2rem;min-height:2rem;color:inherit;background:0 0;padding:0}@media (max-width:1024px){.toast{top:auto;bottom:calc(5.5rem + env(safe-area-inset-bottom));left:1rem;right:1rem}}.mfa-qr{border-radius:12px;max-width:100%;height:auto;margin:1rem auto;display:block}.manual-key{overflow-wrap:anywhere;background:var(--surface-muted,#f3f4f6);border-radius:8px;padding:.75rem;font-family:monospace;display:block}.recovery-codes{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:1rem 0;display:grid}.recovery-codes code{text-align:center;background:var(--surface-muted,#f3f4f6);border-radius:6px;padding:.6rem}
