@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap";:root{--surface:#fff8f5;--surface-dim:#e2d8d1;--surface-bright:#fff8f5;--surface-container-lowest:#fff;--surface-container-low:#fdf2eb;--surface-container:#f7ece5;--surface-container-high:#f1e6df;--surface-container-highest:#ebe1da;--on-surface:#1f1b17;--on-surface-variant:#54433c;--inverse-surface:#352f2b;--inverse-on-surface:#faefe8;--outline:#87736a;--outline-variant:#dac1b8;--surface-tint:#954924;--primary:#5c2000;--on-primary:#fff;--primary-container:#7a3511;--on-primary-container:#ffa278;--inverse-primary:#ffb595;--secondary:#7a5643;--on-secondary:#fff;--secondary-container:#fdcdb4;--on-secondary-container:#795542;--tertiary:#4e2914;--on-tertiary:#fff;--tertiary-container:#693f28;--on-tertiary-container:#e6ac8e;--error:#ba1a1a;--on-error:#fff;--error-container:#ffdad6;--on-error-container:#93000a;--background:#fff8f5;--on-background:#1f1b17;--font-heading:"Montserrat", sans-serif;--font-body:"Montserrat", sans-serif;--rounded-sm:.25rem;--rounded-md:.75rem;--rounded-lg:1rem;--rounded-xl:1.5rem;--rounded-full:9999px;--rounded-default:.5rem;--spacing-base:8px;--touch-target-min:48px;--spacing-gutter:24px;--spacing-margin-edge:32px;--spacing-stack-sm:12px;--spacing-stack-md:24px;--spacing-stack-lg:40px}@keyframes slideUpFade{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--background);color:var(--on-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--primary)}.display-lg{font-family:var(--font-heading);font-size:48px;font-weight:600;line-height:1.2}.headline-lg{font-family:var(--font-heading);font-size:32px;font-weight:600;line-height:1.3}.headline-md{font-family:var(--font-heading);font-size:24px;font-weight:500;line-height:1.4}.body-lg{font-family:var(--font-body);font-size:18px;font-weight:400;line-height:1.6}.body-md{font-family:var(--font-body);font-size:16px;font-weight:400;line-height:1.5}.label-md{font-family:var(--font-body);letter-spacing:.02em;font-size:14px;font-weight:600;line-height:1.2}.elevation-1{background-color:var(--surface-container-low);box-shadow:0 4px 4px #1f1b1705}.elevation-2{background-color:var(--surface-container);box-shadow:0 8px 16px #1f1b170f}.container{padding:var(--spacing-margin-edge);max-width:1200px;margin:0 auto}.btn{justify-content:center;align-items:center;gap:var(--spacing-base);min-height:var(--touch-target-min);padding:0 var(--spacing-gutter);border-radius:var(--rounded-default);font-family:var(--font-body);cursor:pointer;border:none;font-size:16px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--primary);color:var(--on-primary)}.btn-primary:hover{background-color:var(--primary-container);color:var(--on-primary-container)}.btn-secondary{color:var(--secondary);border:1px solid var(--outline);background-color:#0000}.btn-secondary:hover{background-color:var(--surface-container)}.btn-ghost{color:var(--primary);background-color:#0000}.btn-ghost:hover{background-color:var(--surface-container-low)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background-color:var(--error);color:var(--on-error)}.input-group{gap:var(--spacing-base);flex-direction:column;width:100%;display:flex}.input-group label{color:var(--on-surface-variant)}.input-field{min-height:var(--touch-target-min);padding:0 var(--spacing-stack-sm);background-color:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:var(--rounded-default);color:var(--on-surface);transition:border-color .2s}.input-field:focus{border-color:var(--primary);outline:none}.card{border-radius:var(--rounded-lg);padding:var(--spacing-gutter);background-color:var(--surface-container-lowest)}.login-page{justify-content:center;align-items:center;gap:var(--spacing-stack-md);min-height:100vh;padding:var(--spacing-margin-edge);background:linear-gradient(145deg, var(--surface-container-low) 0%, var(--surface) 60%, var(--surface-container) 100%);flex-direction:column;display:flex}.login-brand{align-items:center;gap:var(--spacing-base);text-align:center;flex-direction:column;display:flex}.login-brand-icon{font-size:48px;line-height:1}.login-brand h1{color:var(--primary)}.login-brand-sub{color:var(--on-surface-variant)}.login-card{background-color:var(--surface-container-lowest);border:1px solid var(--outline-variant);width:100%;max-width:440px;box-shadow:0 8px 32px #1f1b1714,0 2px 8px #1f1b170a}.login-card-header{margin-bottom:var(--spacing-stack-md)}.login-card-header h2{color:var(--primary);margin-bottom:var(--spacing-base)}.login-card-desc{color:var(--on-surface-variant)}.login-form{gap:var(--spacing-stack-sm);flex-direction:column;display:flex}.field-error{color:var(--error);margin-top:2px}.login-alert{background-color:var(--error-container);color:var(--on-error-container);border-radius:var(--rounded-default);padding:var(--spacing-stack-sm) var(--spacing-gutter);border-left:3px solid var(--error)}.login-hint{color:var(--on-surface-variant);background-color:var(--surface-container-low);border-radius:var(--rounded-default);padding:var(--spacing-stack-sm) var(--spacing-gutter);text-align:center}.login-hint strong{color:var(--primary)}.login-footer{color:var(--outline);text-align:center}.patientlist-page{background-color:var(--background);flex-direction:column;min-height:100vh;display:flex}.patientlist-header{background-color:var(--primary);color:var(--on-primary);padding:var(--spacing-stack-sm) var(--spacing-margin-edge);justify-content:space-between;align-items:center;gap:var(--spacing-gutter);z-index:50;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #1f1b172e}.patientlist-header-brand{align-items:center;gap:var(--spacing-stack-sm);display:flex}.patientlist-logo{font-size:28px;line-height:1}.patientlist-title{color:var(--on-primary);margin:0;font-size:20px}.patientlist-sub{color:#ffffffb3;margin:0;font-size:12px}.patientlist-header-actions{align-items:center;gap:12px;display:flex}.patientlist-user{color:var(--on-primary-container)}.patientlist-header .btn-secondary{color:var(--on-primary);border-color:#fff6}.patientlist-header .btn-secondary:hover{background-color:#ffffff1a}.patient-legal-name{color:var(--on-surface-variant);margin-left:4px;font-size:14px;font-weight:400}.patientlist-main{padding:var(--spacing-stack-lg) var(--spacing-margin-edge);gap:var(--spacing-stack-md);flex-direction:column;flex:1;width:100%;max-width:1100px;margin:0 auto;display:flex}.patientlist-stats{gap:var(--spacing-gutter);display:flex}.stat-card{align-items:center;gap:var(--spacing-stack-sm);background-color:var(--surface-container-lowest);border:1px solid var(--outline-variant);padding:var(--spacing-stack-sm) var(--spacing-gutter);display:flex;box-shadow:0 2px 6px #1f1b170d}.stat-label{color:var(--on-surface-variant)}.stat-value{color:var(--primary);font-size:28px}.patientlist-toolbar{align-items:center;gap:var(--spacing-stack-sm);display:flex}.search-wrapper{flex:1;align-items:center;display:flex;position:relative}.search-icon{color:var(--outline);pointer-events:none;position:absolute;left:14px}.search-input{width:100%;min-height:var(--touch-target-min);padding:0 var(--spacing-stack-sm) 0 44px;background-color:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--rounded-default);color:var(--on-surface);transition:border-color .2s}.search-input:focus{border-color:var(--primary);outline:none}.patient-list{gap:var(--spacing-stack-sm);flex-direction:column;display:flex}.patient-card{background-color:var(--surface-container-lowest);border:1px solid var(--outline-variant);align-items:center;gap:0;padding:0;transition:box-shadow .2s,border-color .2s,transform .15s;display:flex;overflow:hidden;box-shadow:0 2px 6px #1f1b170a}.patient-card:hover{border-color:var(--primary-container);transform:translateY(-1px);box-shadow:0 6px 20px #1f1b171a}.patient-card-clickable{align-items:center;gap:var(--spacing-gutter);padding:var(--spacing-gutter);cursor:pointer;flex:1;min-width:0;display:flex}.patient-card-clickable:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.patient-card-actions{border-left:1px solid var(--outline-variant);background-color:var(--surface-container-low);opacity:0;flex-direction:column;justify-content:center;align-self:stretch;gap:4px;padding:12px 14px;transition:opacity .18s;display:flex}.patient-card:hover .patient-card-actions{opacity:1}.icon-btn svg{stroke:currentColor;transition:stroke .15s}.icon-btn--edit,.icon-btn--approve{color:var(--on-surface-variant);background-color:#0000}.icon-btn--edit:hover,.icon-btn--approve:hover{background-color:var(--primary);color:var(--on-primary)!important}.patient-avatar{border-radius:var(--rounded-full);background-color:var(--primary-container);width:52px;height:52px;color:var(--on-primary-container);font-family:var(--font-heading);flex-shrink:0;justify-content:center;align-items:center;font-size:22px;font-weight:600;display:flex}.patient-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.patient-name{color:var(--on-surface);font-weight:600}.patient-meta{gap:var(--spacing-stack-sm);flex-wrap:wrap;display:flex}.patient-meta-item{color:var(--on-surface-variant);align-items:center;gap:4px;display:flex}.patient-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.last-visit{color:var(--on-surface-variant);white-space:nowrap}.no-visit{color:var(--outline);font-style:italic}.empty-state{text-align:center;padding:var(--spacing-stack-lg);color:var(--on-surface-variant)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-grid{gap:var(--spacing-stack-sm) var(--spacing-gutter);grid-template-columns:1fr 1fr;display:grid}.span-2{grid-column:span 2}.select-field{min-height:var(--touch-target-min);background-color:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--rounded-default);color:var(--on-surface);font-family:var(--font-body);cursor:pointer;padding:0 14px;font-size:16px;transition:border-color .2s}.select-field:focus{border-color:var(--primary);outline:none}.delete-modal-body strong{color:var(--on-surface)}@media (width<=768px){.patientlist-header{flex-direction:column;align-items:flex-start;gap:16px}.patientlist-header-actions{flex-wrap:wrap;justify-content:space-between;width:100%}.patientlist-main{padding:16px}.patientlist-stats{flex-direction:column}.patientlist-toolbar{flex-direction:column;align-items:stretch}.search-wrapper{width:100%}.patient-card-clickable{flex-direction:column;align-items:flex-start;gap:12px}.patient-right{align-items:flex-start}.modal-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}}.detail-page{background-color:var(--background);flex-direction:column;min-height:100vh;display:flex}.detail-header{background-color:var(--primary);padding:var(--spacing-stack-sm) var(--spacing-margin-edge);align-items:center;gap:var(--spacing-stack-md);z-index:50;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #1f1b172e}.detail-header-brand{align-items:center;gap:10px;display:flex}.detail-brand-name{color:var(--on-primary);font-size:17px;font-weight:600;line-height:1.2;display:block}.detail-brand-sub{color:#ffffffb3;font-size:12px;line-height:1.2;display:block}.detail-main{padding:var(--spacing-stack-lg) var(--spacing-margin-edge);gap:var(--spacing-stack-md);flex-direction:column;flex:1;width:100%;max-width:860px;margin:0 auto;display:flex}.profile-card{align-items:center;gap:var(--spacing-gutter);background-color:var(--surface-container-lowest);border:1px solid var(--outline-variant);padding:var(--spacing-stack-md) var(--spacing-gutter);display:flex;box-shadow:0 2px 8px #1f1b170f}.profile-avatar{border-radius:var(--rounded-full);background-color:var(--primary-container);width:72px;height:72px;color:var(--on-primary-container);font-family:var(--font-heading);flex-shrink:0;justify-content:center;align-items:center;font-size:32px;font-weight:600;display:flex}.profile-info{flex:1}.profile-name{flex-wrap:wrap;align-items:baseline;gap:4px;margin-bottom:8px;display:flex}.profile-legal-name{color:var(--on-surface-variant);font-size:16px;font-weight:400}.profile-meta{gap:10px var(--spacing-stack-md);flex-wrap:wrap;display:flex}.profile-meta-item{color:var(--on-surface-variant);align-items:center;gap:5px;display:flex}.patient-tabs{border-bottom:1px solid var(--outline-variant);gap:8px;margin-bottom:24px;padding-bottom:8px;display:flex;overflow-x:auto}.patient-tabs::-webkit-scrollbar{height:4px}.patient-tabs::-webkit-scrollbar-thumb{background:var(--outline-variant);border-radius:4px}.patient-tab-btn{color:var(--on-surface-variant);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:8px 8px 0 0;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.patient-tab-btn:hover{background:var(--surface-container-high)}.patient-tab-btn.active{background:var(--surface-container);color:var(--primary);border-bottom:2px solid var(--primary)}.records-section{gap:var(--spacing-stack-sm);flex-direction:column;display:flex}.records-header{justify-content:space-between;align-items:center;gap:var(--spacing-stack-sm);display:flex}.records-header-left{align-items:center;gap:10px;display:flex}.records-title{margin:0;font-size:20px}.records-count{background-color:var(--primary-container);color:var(--on-primary-container);border-radius:var(--rounded-full);padding:2px 10px;font-size:13px}.records-list{gap:var(--spacing-stack-sm);flex-direction:column;display:flex}.record-card{background-color:var(--surface-container-lowest);border:1px solid var(--outline-variant);padding:var(--spacing-stack-md);gap:var(--spacing-stack-sm);flex-direction:column;transition:box-shadow .18s;display:flex;position:relative;box-shadow:0 2px 6px #1f1b170a}.record-card:hover{box-shadow:0 6px 20px #1f1b1717}.record-date-badge{background-color:var(--secondary-container);color:var(--on-secondary-container);border-radius:var(--rounded-full);align-items:center;gap:5px;width:fit-content;padding:4px 12px;display:inline-flex}.record-body{flex-direction:column;gap:12px;display:flex}.record-field{flex-direction:column;gap:3px;display:flex}.record-field-label{color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.record-field-value{color:var(--on-surface);line-height:1.6}.record-actions{align-self:flex-end;gap:6px;display:flex}.icon-btn{border-radius:var(--rounded-default);cursor:pointer;border:none;justify-content:center;align-items:center;width:32px;height:32px;transition:background-color .15s,color .15s;display:flex}.icon-btn--edit{color:var(--on-surface-variant);background-color:#0000}.icon-btn--edit:hover{background-color:var(--primary-container);color:var(--primary)}.icon-btn--delete{color:var(--on-surface-variant);background-color:#0000}.icon-btn--delete:hover{background-color:var(--error-container);color:var(--error)}.empty-state{text-align:center;padding:var(--spacing-stack-lg);color:var(--on-surface-variant);background-color:var(--surface-container-lowest);border:1px dashed var(--outline-variant);border-radius:var(--rounded-lg);flex-direction:column;align-items:center;display:flex}.detail-not-found{text-align:center;padding:var(--spacing-stack-lg);color:var(--on-surface-variant)}.link-btn{color:var(--primary);cursor:pointer;font-size:inherit;background:0 0;border:none;text-decoration:underline}.modal-overlay{z-index:100;padding:var(--spacing-margin-edge);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#1f1b1761;justify-content:center;align-items:center;animation:.18s fadeIn;display:flex;position:fixed;inset:0}.modal-card{background-color:var(--surface-container-lowest);border:1px solid var(--outline-variant);width:100%;max-width:560px;animation:.22s slideUp;box-shadow:0 20px 60px #1f1b172e}.modal-card--sm{text-align:center;max-width:420px}.modal-header{margin-bottom:var(--spacing-stack-md);justify-content:space-between;align-items:center;display:flex}.modal-close{cursor:pointer;color:var(--on-surface-variant);border-radius:var(--rounded-default);background:0 0;border:none;align-items:center;padding:4px;transition:background-color .2s;display:flex}.modal-close:hover{background-color:var(--surface-container)}.modal-form{gap:var(--spacing-stack-sm);flex-direction:column;display:flex}.modal-actions{justify-content:flex-end;gap:var(--spacing-stack-sm);margin-top:var(--spacing-base);display:flex}.input-wrapper{flex-direction:column;gap:4px;display:flex}.input-label{color:var(--on-surface-variant);margin-bottom:2px}.field-error{color:var(--error);font-size:13px}.textarea-field{background-color:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--rounded-default);width:100%;color:var(--on-surface);font-family:var(--font-body);resize:vertical;padding:10px 14px;font-size:16px;line-height:1.5;transition:border-color .2s}.textarea-field:focus{border-color:var(--primary);outline:none}.delete-modal-icon{margin-bottom:var(--spacing-stack-sm);justify-content:center;display:flex}.delete-modal-title{margin-bottom:8px}.delete-modal-body{color:var(--on-surface-variant);margin-bottom:var(--spacing-stack-md);line-height:1.6}.btn-danger{background-color:var(--error);color:var(--on-error);border:none}.btn-danger:hover{background-color:#9b1515}@media (width<=768px){.detail-header{flex-direction:column;align-items:flex-start;gap:16px}.detail-header>div:last-child{justify-content:space-between;width:100%;margin-left:0!important}.detail-main{padding:16px}.profile-card{text-align:center;flex-direction:column;align-items:center}.profile-name,.profile-meta{justify-content:center}.records-header{flex-direction:column;align-items:flex-start}.records-header>div:last-child{flex-direction:column;width:100%}.records-header>div:last-child>button{justify-content:center;width:100%}}.patientform-page{background-color:var(--background);flex-direction:column;min-height:100vh;display:flex}.patientform-header{background-color:var(--primary);padding:var(--spacing-stack-sm) var(--spacing-margin-edge);align-items:center;gap:var(--spacing-stack-md);z-index:50;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #1f1b172e}.patientform-title{color:var(--on-primary);margin:0;font-size:20px}.patientform-sub{color:var(--on-surface-variant);opacity:.9}.photo-upload-wrapper{justify-content:center;margin-top:16px;margin-bottom:24px;display:flex}.photo-upload-circle{background:var(--surface-container-high);border:4px solid var(--surface-container-lowest);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;transition:all .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000001a}.photo-upload-circle:hover{transform:scale(1.05);box-shadow:0 6px 16px #00000026}.photo-upload-circle img{object-fit:cover;width:100%;height:100%}.photo-upload-placeholder{color:var(--on-surface-variant);flex-direction:column;align-items:center;gap:4px;display:flex}.photo-upload-input{display:none}.crop-modal-overlay{z-index:1000;background:#000c;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:fixed;top:0;left:0}.crop-container{background:#333;border-radius:12px;width:100%;max-width:400px;height:400px;position:relative;overflow:hidden}.crop-modal-actions{justify-content:space-between;gap:12px;width:100%;max-width:400px;margin-top:16px;display:flex}.back-btn{border-radius:var(--rounded-full);width:40px;height:40px;color:var(--on-primary);cursor:pointer;background-color:#ffffff26;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .18s;display:flex}.back-btn:hover{background-color:#ffffff47}.patientform-body{width:100%;max-width:900px;padding:var(--spacing-stack-lg) var(--spacing-margin-edge);gap:var(--spacing-stack-md);flex-direction:column;flex:1;margin:0 auto;display:flex}.form-section{background-color:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--rounded-lg);padding:var(--spacing-gutter);box-shadow:0 2px 6px #1f1b170a}.form-section-header{padding-bottom:var(--spacing-stack-sm);margin-bottom:var(--spacing-stack-sm);border-bottom:1px solid var(--outline-variant);align-items:center;gap:8px;display:flex}.form-section-title{color:var(--primary);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.form-grid{gap:var(--spacing-stack-sm) var(--spacing-gutter);grid-template-columns:repeat(6,1fr);display:grid}.ff{flex-direction:column;grid-column:span 3;gap:4px;display:flex}.ff-span-1{grid-column:span 1}.ff-span-2{grid-column:span 2}.ff-span-3{grid-column:span 3}.ff-span-4{grid-column:span 4}.ff-span-5{grid-column:span 5}.ff-span-6{grid-column:span 6}.ff-label{color:var(--on-surface-variant);align-items:center;gap:6px;display:flex}.ff-req{color:var(--error);font-size:14px}.ff-error{color:var(--error);align-items:center;gap:4px;font-size:12px;font-weight:600;animation:.25s errShake;display:flex}@keyframes errShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.form-input,.form-select{width:100%;min-height:var(--touch-target-min);background-color:var(--surface-container-lowest);border:1.5px solid var(--outline-variant);border-radius:var(--rounded-default);color:var(--on-surface);font-family:var(--font-body);padding:0 14px;font-size:15px;transition:border-color .18s,box-shadow .18s}.form-input:focus,.form-select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #5c20001f}.form-input.input-error,.form-select.input-error{border-color:var(--error);background-color:var(--error-container)}.form-input.input-error:focus,.form-select.input-error:focus{box-shadow:0 0 0 3px #ba1a1a26}.form-input::placeholder{color:var(--outline)}.form-select{cursor:pointer}.cpf-wrapper{align-items:center;display:flex;position:relative}.cpf-wrapper .form-input{padding-right:36px}.cpf-valid-icon{color:#1e7e34;animation:.2s popIn;position:absolute;right:12px}@keyframes popIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.genderid-wrapper{position:relative}.form-address-search{flex-direction:column;gap:4px;display:flex}.address-search-wrapper{align-items:center;display:flex;position:relative}.address-search-icon{color:var(--outline);pointer-events:none;position:absolute;left:12px}.address-search-input{width:100%;min-height:var(--touch-target-min);background-color:var(--surface-container-low);border:1.5px dashed var(--outline-variant);border-radius:var(--rounded-default);color:var(--on-surface);font-family:var(--font-body);padding:0 14px 0 38px;font-size:15px;transition:border-color .18s,background-color .18s}.address-search-input:not(:disabled):focus{border-color:var(--primary);background-color:var(--surface-container-lowest);border-style:solid;outline:none}.address-search-input:disabled{opacity:.6;cursor:not-allowed}.address-search-badge{color:var(--outline);background:var(--surface-container);border-radius:var(--rounded-full);align-items:center;gap:3px;padding:2px 8px;font-size:11px;display:flex;position:absolute;right:10px}.maps-tip{color:var(--outline);align-items:center;gap:3px;margin-left:8px;font-size:11px;font-weight:400;display:inline-flex}.maps-tip code{background:var(--surface-container);border-radius:4px;padding:1px 5px;font-family:monospace}.combobox-wrapper{position:relative}.combobox-input{width:100%;min-height:var(--touch-target-min);background-color:var(--surface-container-lowest);border:1.5px solid var(--outline-variant);border-radius:var(--rounded-default);color:var(--on-surface);font-family:var(--font-body);padding:0 14px;font-size:15px;transition:border-color .18s,box-shadow .18s}.combobox-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #5c20001f}.combobox-input.input-error{border-color:var(--error)}.combobox-dropdown{z-index:50;background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--rounded-default);list-style:none;animation:.15s dropIn;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 8px 24px #1f1b171f}@keyframes dropIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.combobox-option{cursor:pointer;color:var(--on-surface);padding:10px 14px;transition:background-color .12s}.combobox-option:hover{background-color:var(--primary-container);color:var(--on-primary-container)}.patientform-actions{justify-content:flex-end;gap:var(--spacing-stack-sm);padding-top:var(--spacing-stack-sm);border-top:1px solid var(--outline-variant);display:flex}@media (width<=768px){.form-grid{grid-template-columns:1fr}.ff,.ff-span-1,.ff-span-2,.ff-span-3,.ff-span-4,.ff-span-5,.ff-span-6{grid-column:span 1!important}.patientform-body{padding:var(--spacing-stack-md) var(--spacing-stack-sm)}.patientform-header{flex-direction:column;align-items:flex-start;gap:16px}.patientform-header>div:last-child{justify-content:space-between;width:100%}}.doc-modal-card{background-color:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--rounded-lg);flex-direction:column;width:100%;max-width:800px;height:90vh;max-height:800px;animation:.22s slideUp;display:flex;overflow:hidden;box-shadow:0 20px 60px #1f1b172e}.doc-modal-header{border-bottom:1px solid var(--outline-variant);background-color:var(--surface-container-low);justify-content:space-between;align-items:flex-start;padding:20px 24px;display:flex}.doc-modal-body{flex-direction:column;flex:1;gap:16px;padding:24px;display:flex;overflow-y:auto}.doc-toolbar{background-color:var(--surface-container-lowest);border-bottom:1px solid var(--outline-variant);align-items:center;gap:12px;padding-bottom:12px;display:flex}.doc-form-group{flex-direction:column;display:flex}.doc-textarea{border:1px solid var(--outline-variant);border-radius:var(--rounded-default);background-color:var(--surface-container-lowest);min-height:300px;color:var(--on-surface);font-family:var(--font-body);resize:none;flex:1;padding:16px;font-size:15px;line-height:1.6;transition:border-color .2s}.doc-textarea:focus{border-color:var(--primary);outline:none}.doc-modal-footer{border-top:1px solid var(--outline-variant);background-color:var(--surface-container-low);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.print-area{display:none}@media print{body *{visibility:hidden}@page{size:A4;margin:20mm}body{background:#fff;margin:0;padding:0}.print-area{visibility:visible;width:100%;position:absolute;top:0;left:0;display:block!important}.print-area *{visibility:visible}.print-area{font-family:var(--font-body);color:#000}.print-header{border-bottom:2px solid #000;align-items:center;gap:20px;margin-bottom:30px;padding-bottom:20px;display:flex}.print-logo{object-fit:contain;width:80px;height:80px}.print-header-text h1{color:#000;margin:0 0 5px;font-size:24px}.print-header-text p{color:#333;margin:0;font-size:14px}.print-patient-info{margin-bottom:40px;font-size:16px}.print-patient-info p{margin:5px 0}.print-title{text-align:center;margin-bottom:40px}.print-title h2{text-transform:uppercase;margin:0;font-size:22px;text-decoration:underline}.print-content{text-align:justify;white-space:pre-wrap;margin-bottom:80px;font-size:16px;line-height:1.8}.print-signature{text-align:center;page-break-inside:avoid;margin-top:80px}.print-signature-line{background-color:#000;width:300px;height:1px;margin:0 auto 10px}.print-signature p{margin:0;font-size:14px}}.record-page-container{background-color:var(--background);flex-direction:column;min-height:100vh;display:flex}.record-page-header-bar{background-color:var(--primary);color:var(--on-primary);z-index:50;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #1f1b172e}.record-header-brand,.record-header-actions-bar{align-items:center;gap:12px;display:flex}.save-indicator-bar{color:#ffffffbf;align-items:center;gap:6px;font-size:13px;display:flex}.save-indicator-bar.saving{animation:1.5s infinite pulse}.record-content-area{flex:1;width:100%;max-width:1000px;margin:0 auto;padding:24px}.save-indicator{color:var(--outline);align-items:center;gap:6px;animation:2s ease-in-out fadeInOut;display:flex}.save-indicator.saving{color:var(--primary);animation:1.5s infinite pulse}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}@keyframes fadeInOut{0%{opacity:0}10%{opacity:1}90%{opacity:1}to{opacity:0}}.record-form-card{background:var(--surface);border:1px solid var(--outline-variant);border-radius:12px;min-height:60vh;padding:24px;box-shadow:0 4px 12px #1f1b170d}.record-page-tabs{border-bottom:1px solid var(--outline-variant);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:8px;display:flex}.record-tabs-scroll{gap:8px;display:flex;overflow-x:auto}.record-tabs-scroll::-webkit-scrollbar{height:4px}.record-tabs-scroll::-webkit-scrollbar-thumb{background:var(--outline-variant);border-radius:4px}.record-tab-btn{color:var(--on-surface-variant);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:8px 8px 0 0;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.record-tab-btn:hover{background:var(--surface-container-high)}.record-tab-.btn-primary:active{transform:translateY(0)}.documents-section{border-top:1px solid var(--outline-variant);flex-direction:column;gap:16px;margin-top:16px;padding-top:24px;display:flex}.documents-header{justify-content:space-between;align-items:center;display:flex}.documents-actions{gap:8px;display:flex}.documents-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.documents-empty{text-align:center;color:var(--on-surface-variant);background-color:var(--surface-container-low);border:1px dashed var(--outline-variant);border-radius:var(--rounded-default);grid-column:1/-1;padding:32px;font-style:italic}.document-card{background-color:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--rounded-default);cursor:pointer;align-items:center;gap:16px;padding:16px;transition:all .2s;display:flex;position:relative}.document-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #1f1b1714}.document-icon{background-color:var(--primary-container);width:48px;height:48px;color:var(--on-primary-container);border-radius:var(--rounded-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.document-info{flex:1;min-width:0}.document-title{color:var(--on-surface);white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-weight:600;overflow:hidden}.document-type{color:var(--on-surface-variant);margin:0;font-size:13px}.document-card .icon-btn--delete{opacity:0;transition:opacity .2s}.document-card:hover .icon-btn--delete{opacity:1}.record-tab-btn.active{color:var(--primary);border-bottom:2px solid var(--primary)}.record-form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.record-form-full{grid-column:1/-1}.patient-info-summary{background:var(--surface-container-low);border-radius:8px;align-items:center;gap:12px;margin-bottom:24px;padding:12px;display:flex}.patient-info-avatar{background:var(--primary-container);width:48px;height:48px;color:var(--on-primary-container);border-radius:50%;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex;overflow:hidden}@media (width<=768px){.record-page-header-bar{flex-direction:column;align-items:flex-start;gap:16px}.record-header-actions-bar{flex-wrap:wrap;justify-content:space-between;width:100%}.record-form-grid{grid-template-columns:1fr}.record-content-area{padding:16px}}
