:root{color-scheme:light;--color-canvas: #f3f5f6;--color-surface: #ffffff;--color-surface-subtle: #f8f9fa;--color-surface-selected: #edf5f3;--color-text: #172321;--color-text-muted: #596966;--color-text-subtle: #788683;--color-border: #d4dcda;--color-border-strong: #aebbb8;--color-primary: #176b5b;--color-primary-hover: #125749;--color-primary-soft: #e5f1ee;--color-focus: #2b7fd3;--color-error: #b42318;--color-error-soft: #fff1f0;--color-warning: #8a4b08;--color-warning-soft: #fff8e8;--color-success: #176b43;--color-disabled: #edf0ef;--color-disabled-text: #8f9a98;--font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .9375rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.375rem;--line-height-tight: 1.25;--line-height-base: 1.5;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--border-width: 1px;--control-height: 44px;--control-height-compact: 38px;--focus-ring: 0 0 0 3px rgb(43 127 211 / 18%);--shadow-menu: 0 8px 24px rgb(23 35 33 / 12%);--content-max-width: 1280px}*{box-sizing:border-box}html{min-width:320px;background:var(--color-canvas);font-family:var(--font-family);color:var(--color-text);font-size:16px;line-height:var(--line-height-base);-webkit-font-smoothing:antialiased}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}button,input[type=checkbox],input[type=radio],select{cursor:pointer}button:disabled,input:disabled,textarea:disabled,select:disabled{cursor:not-allowed}a{color:inherit}button,a,input,textarea,select,[tabindex]{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}::selection{background:var(--color-primary-soft)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100vh;background:var(--color-canvas)}.app-shell--with-actions{padding-bottom:76px}.app-header{position:sticky;z-index:30;top:0;height:64px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.app-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);width:min(100% - 40px,var(--content-max-width));height:100%;margin:0 auto}.app-brand,.app-user{display:flex;align-items:center;gap:var(--space-3)}.app-brand{flex:0 1 auto;min-width:0;max-width:20rem;text-decoration:none}.app-brand strong,.app-user strong{display:block;font-size:var(--font-size-sm);line-height:var(--line-height-tight)}.app-brand small,.app-user small{display:block;margin-top:2px;color:var(--color-text-muted);font-size:var(--font-size-xs)}.app-brand__mark{position:relative;display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;background:var(--color-primary);border-radius:var(--radius-md)}.app-brand__mark span{position:absolute;width:16px;height:4px;background:#fff;border-radius:1px}.app-brand__mark span:last-child{transform:rotate(90deg)}.clinic-logo{position:relative;display:grid;place-items:center;flex:0 0 auto;overflow:hidden;background:var(--color-surface-subtle)}.clinic-logo img{opacity:0}.clinic-logo.is-loaded{background:transparent}.clinic-logo.is-loaded img{opacity:1}.clinic-logo--header{width:34px;height:34px;border-radius:var(--radius-md)}.clinic-logo--header img{max-width:34px;max-height:34px;object-fit:contain}.clinic-logo--preview{width:128px;height:128px;border:1px solid var(--color-border);border-radius:var(--radius-md)}.clinic-logo--preview img{max-width:112px;max-height:112px;object-fit:contain}.clinic-logo--empty{color:var(--color-text-muted);font-size:var(--font-size-xs)}.app-brand__skeleton{display:block;background:var(--color-surface-subtle);border-radius:var(--radius-sm)}.app-brand__skeleton--name{width:8.5rem;height:.875rem}.app-brand__skeleton--sub{width:6.25rem;height:.7rem}.app-brand__text{min-width:0}.app-brand__text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-user{flex:0 0 auto}.app-user__details{text-align:right}.app-user__avatar{display:grid;place-items:center;width:36px;height:36px;color:var(--color-primary);background:var(--color-primary-soft);border:1px solid #bfd8d1;border-radius:50%;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.app-user__logout{margin-left:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer}.app-user__logout:hover:not(:disabled){color:var(--color-text);border-color:var(--color-border-strong)}.app-user__logout:disabled{opacity:.6;cursor:default}.app-nav{display:flex;align-items:stretch;align-self:stretch;gap:var(--space-1)}.app-nav__link{position:relative;display:flex;align-items:center;padding:0 var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-decoration:none;white-space:nowrap}.app-nav__link:hover{color:var(--color-text);background:var(--color-surface-subtle)}.app-nav__link[aria-current=page]{color:var(--color-primary)}.app-nav__link[aria-current=page]:after{content:"";position:absolute;right:var(--space-3);bottom:0;left:var(--space-3);height:3px;background:var(--color-primary)}.page-container{width:min(100% - 40px,var(--content-max-width));margin:0 auto;padding-bottom:var(--space-10)}.auth-page{display:grid;place-items:center;min-height:100vh;padding:var(--space-6);background:var(--color-canvas)}.auth-panel{width:min(100%,420px);padding:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.auth-panel__brand{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6)}.auth-panel__brand strong{display:block;font-size:var(--font-size-sm);line-height:var(--line-height-tight)}.auth-panel__brand p{margin:2px 0 0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.auth-panel__header h1{margin:0;font-size:var(--font-size-xl);line-height:var(--line-height-tight)}.auth-panel__header p{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.auth-panel__status{margin:var(--space-6) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.auth-panel__status--error{display:grid;gap:var(--space-4);color:var(--color-error)}.auth-form{display:grid;gap:var(--space-4);margin-top:var(--space-6)}.auth-form__error{margin:0;padding:var(--space-3);color:var(--color-error);background:var(--color-error-soft);border:1px solid #f0c7c3;border-radius:var(--radius-md);font-size:var(--font-size-sm)}.auth-form__submit{width:100%;margin-top:var(--space-2)}.page-heading{display:flex;align-items:center;justify-content:space-between;min-height:132px;gap:var(--space-6);padding:var(--space-6) 0}.page-heading--home{min-height:154px}.page-heading__eyebrow{margin:0 0 var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.05em;text-transform:uppercase}.page-heading h1{margin:0;font-size:1.625rem;line-height:var(--line-height-tight);letter-spacing:-.02em}.page-heading__description{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.exam-type-nav{display:flex;gap:var(--space-1);margin:0 0 var(--space-5);border-bottom:1px solid var(--color-border)}.exam-type-nav__link{padding:var(--space-3) var(--space-4);margin-bottom:-1px;color:var(--color-text-muted);border-bottom:3px solid transparent;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-decoration:none}.exam-type-nav__link:hover{color:var(--color-text)}.exam-type-nav__link[aria-current=page]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.section-heading h2,.records-panel__header h2{margin:0;font-size:var(--font-size-md);line-height:var(--line-height-tight)}.section-heading p,.records-panel__header p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.examination-types{padding-bottom:var(--space-10)}.examination-types__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.examination-type-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;min-height:96px;gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-decoration:none;transition:border-color .12s ease,box-shadow .12s ease}.examination-type-card:hover{border-color:var(--color-border-strong);box-shadow:0 4px 14px #1723210f}.examination-type-card__icon{display:grid;place-items:center;width:48px;height:48px;color:var(--color-primary);background:var(--color-primary-soft);border-radius:var(--radius-md)}.examination-type-card__icon svg{width:26px;height:26px}.examination-type-card__content{min-width:0}.examination-type-card__content strong,.examination-type-card__content small{display:block}.examination-type-card__content strong{font-size:var(--font-size-base)}.examination-type-card__content small{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs)}.examination-type-card__arrow{color:var(--color-primary);font-size:1.25rem}.records-panel{overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.records-panel__header{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:var(--space-4);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border)}.records-panel__order{color:var(--color-text-muted);font-size:var(--font-size-xs)}.records-table-wrap{overflow-x:auto}.records-table{width:100%;border-collapse:collapse;table-layout:fixed}.records-table th{height:42px;padding:0 var(--space-4);color:var(--color-text-muted);background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-align:left;white-space:nowrap}.records-table th:nth-child(1){width:14%}.records-table th:nth-child(2){width:21%}.records-table th:nth-child(3){width:14%}.records-table th:nth-child(4){width:18%}.records-table th:nth-child(5){width:12%}.records-table th:nth-child(6){width:18%}.records-table th:last-child{width:36px;padding:0}.records-table td{height:62px;padding:var(--space-3) var(--space-4);color:#32413e;border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm);vertical-align:middle}.records-table tbody tr{cursor:pointer}.records-table tbody tr:last-child td{border-bottom:0}.records-table tbody tr:hover td{background:var(--color-surface-subtle)}.records-table tbody tr:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.records-table td strong{color:var(--color-text);font-weight:var(--font-weight-semibold)}.records-table__patient-number{color:var(--color-primary);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.records-table__arrow{padding-right:var(--space-4)!important;padding-left:0!important;color:var(--color-text-subtle)!important;font-size:1.25rem!important;text-align:right}.record-status{display:inline-flex;align-items:center;min-height:26px;gap:7px;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap}.record-status>span{width:6px;height:6px;border-radius:50%}.record-status--draft{color:var(--color-warning);background:var(--color-warning-soft);border-color:#eed9a8}.record-status--draft>span{background:#c37a1d}.record-status--completed{color:var(--color-success);background:var(--color-primary-soft);border-color:#bdd9d1}.record-status--completed>span{background:var(--color-success)}.records-panel__message{padding:var(--space-6) var(--space-5);color:var(--color-text-muted);font-size:var(--font-size-sm)}.records-pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:58px;padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border)}.records-pagination__summary,.records-pagination__page{color:var(--color-text-muted);font-size:var(--font-size-xs)}.records-pagination__actions{display:flex;align-items:center;gap:var(--space-3)}.records-panel__visibility-note{margin:0;padding:var(--space-3) var(--space-5);color:var(--color-text-muted);background:var(--color-surface-subtle);border-top:1px solid var(--color-border);font-size:var(--font-size-xs)}.examination{width:min(100% - 40px,var(--content-max-width));margin:0 auto}.examination__heading{display:flex;align-items:center;justify-content:space-between;min-height:94px;padding:var(--space-5) 0}.examination__eyebrow{margin:0 0 var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.05em;text-transform:uppercase}.examination__title-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.examination__title-row h1{margin:0;font-size:var(--font-size-xl);line-height:var(--line-height-tight);letter-spacing:-.015em}.status-badge{display:inline-flex;align-items:center;min-height:26px;padding:0 var(--space-2);color:var(--color-warning);background:var(--color-warning-soft);border:1px solid #eed9a8;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.status-badge--completed{color:var(--color-success);background:var(--color-primary-soft);border-color:#bdd9d1}.more-button{width:44px;height:44px;padding:0;color:var(--color-text-muted);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);font-size:1.375rem;line-height:1}.more-button:hover{background:var(--color-surface);border-color:var(--color-border)}.patient-header{display:grid;grid-template-columns:minmax(230px,1.1fr) 2.3fr auto;align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.patient-header__identity{display:flex;align-items:center;min-width:0;gap:var(--space-3)}.patient-header__avatar{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;color:#435552;background:#e8eceb;border-radius:50%;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.patient-header h2{margin:0;overflow:hidden;font-size:var(--font-size-md);line-height:var(--line-height-tight);text-overflow:ellipsis;white-space:nowrap}.patient-header__identity p{margin:3px 0 0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.patient-header__details{display:grid;grid-template-columns:repeat(4,minmax(80px,1fr));gap:var(--space-4);margin:0}.patient-header__details div{min-width:0}.patient-header__details dt{margin-bottom:2px;color:var(--color-text-subtle);font-size:var(--font-size-xs)}.patient-header__details dd{margin:0;overflow:hidden;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap}.patient-header__alert{display:flex;align-items:center;max-width:200px;min-height:34px;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--color-warning);background:var(--color-warning-soft);border:1px solid #eed9a8;border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.patient-header__alert span{display:grid;place-items:center;flex:0 0 auto;width:18px;height:18px;border:1px solid currentColor;border-radius:50%;font-size:.6875rem}.form-workspace{background:var(--color-surface);border:1px solid var(--color-border);border-top:0;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.tabs{display:flex;align-items:stretch;min-height:52px;padding:0 var(--space-3);overflow-x:auto;background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border);scrollbar-width:thin}.tabs__tab{position:relative;display:flex;align-items:center;flex:0 0 auto;gap:var(--space-2);min-height:52px;padding:0 var(--space-4);color:var(--color-text-muted);background:transparent;border:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap}.tabs__tab:after{content:"";position:absolute;right:var(--space-4);bottom:0;left:var(--space-4);height:3px;background:transparent}.tabs__tab:hover{color:var(--color-text);background:#f1f4f3}.tabs__tab[aria-selected=true]{color:var(--color-primary)}.tabs__tab[aria-selected=true]:after{background:var(--color-primary)}.tabs__badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;color:var(--color-text-muted);background:#e8edeb;border-radius:11px;font-size:.6875rem}.tabs__error-dot{width:7px;height:7px;background:var(--color-error);border-radius:50%}.form-panel{padding:0 var(--space-6)}.form-panel__intro{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) 0;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm)}.form-panel__status{margin:var(--space-5) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.form-fieldset{margin:0;padding:0;border:0;min-inline-size:0}.form-panel__intro p{margin:0}.required-note{flex:0 0 auto;font-size:var(--font-size-xs)}.required-note span{color:var(--color-error);font-weight:var(--font-weight-bold)}.form-section{padding:var(--space-6) 0 var(--space-8);border-bottom:1px solid var(--color-border)}.form-section:last-child{border-bottom:0}.form-section__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-5)}.form-section__header h2{margin:0;font-size:var(--font-size-md);line-height:var(--line-height-tight)}.form-section__header p{max-width:720px;margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.form-grid{display:grid;align-items:start;gap:var(--space-5) var(--space-6)}.form-grid--1{grid-template-columns:minmax(0,1fr)}.form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid__span-2{grid-column:span 2}.form-grid__span-3{grid-column:span 3}.form-field{min-width:0}.form-field__label{display:block;margin-bottom:6px;color:#2f3d3a;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.form-field__required{margin-left:3px;color:var(--color-error)}.form-field__message{min-height:18px;margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.4}.form-field__message--error{color:var(--color-error)}.form-control{display:block;width:100%;min-width:0;height:var(--control-height);padding:0 var(--space-3);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--font-size-base);line-height:normal;transition:border-color .12s ease,box-shadow .12s ease}.form-control::placeholder{color:var(--color-text-subtle)}.form-control:hover:not(:disabled){border-color:#81918e}.form-control:focus{outline:0;border-color:var(--color-focus);box-shadow:var(--focus-ring)}.form-control:disabled{color:var(--color-disabled-text);background:var(--color-disabled);border-color:var(--color-border)}.form-field--error .form-control,.form-control[aria-invalid=true]{border-color:var(--color-error)}.form-field--error .form-control:focus,.form-control[aria-invalid=true]:focus{box-shadow:0 0 0 3px #b4231824}.form-control--textarea{min-height:104px;height:auto;padding-top:10px;padding-bottom:10px;line-height:var(--line-height-base);resize:vertical}.select-wrap{position:relative}.form-control--select{padding-right:38px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.form-control--number,.measurement-input__value{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.form-control--number::-webkit-outer-spin-button,.form-control--number::-webkit-inner-spin-button,.measurement-input__value::-webkit-outer-spin-button,.measurement-input__value::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.date-input{position:relative}.form-control--date{padding-right:44px;cursor:text}.date-input__button{position:absolute;top:50%;right:6px;display:grid;place-items:center;width:32px;height:32px;padding:0;color:var(--color-text-muted);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer;transform:translateY(-50%)}.date-input__button:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-subtle)}.date-input__button:disabled{cursor:not-allowed;opacity:.55}.date-input__button svg{display:block;width:18px;height:18px}.date-input__native{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;opacity:0;pointer-events:none}.select-wrap:after{content:"";position:absolute;top:50%;right:var(--space-4);width:7px;height:7px;border-right:1.5px solid var(--color-text-muted);border-bottom:1.5px solid var(--color-text-muted);pointer-events:none;transform:translateY(-70%) rotate(45deg)}.configurable-select{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.configurable-select__row{display:flex;align-items:center;gap:var(--space-1);min-width:0}.configurable-select__row .select-wrap{flex:1 1 auto;min-width:0}.configurable-select__remove{flex:0 0 36px;width:36px;height:36px;padding:0;color:var(--color-text-muted);background:transparent;border:0;border-radius:var(--radius-sm);font-size:1.5rem;line-height:1;cursor:pointer}.configurable-select__remove:hover:not(:disabled){color:var(--color-error);background:var(--color-error-soft)}.configurable-select__remove:disabled{color:var(--color-disabled-text);cursor:not-allowed}.configurable-select__add{display:inline-flex;align-items:center;align-self:start;gap:var(--space-1);min-height:32px;padding:0;color:var(--color-primary);background:transparent;border:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer}.configurable-select__add svg{display:block;width:14px;height:14px}.configurable-select__add:hover:not(:disabled){color:var(--color-primary-hover)}.configurable-select__add:disabled{color:var(--color-disabled-text);cursor:not-allowed}.choice-field{min-width:0}.choice-field--with-fields .checkbox{min-height:var(--control-height)}.choice-field__spacer{visibility:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.checkbox{display:inline-flex;align-items:center;gap:var(--space-3);min-height:var(--control-height);padding:0;cursor:pointer}.checkbox--with-description{align-items:flex-start;padding-top:12px}.checkbox:has(input:disabled){cursor:not-allowed}.checkbox input,.radio input{position:absolute;opacity:0;pointer-events:none}.checkbox__control{position:relative;flex:0 0 auto;width:18px;height:18px;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}.checkbox input:checked+.checkbox__control{background:var(--color-primary);border-color:var(--color-primary)}.checkbox input:checked+.checkbox__control:after{content:"";position:absolute;top:2px;left:5px;width:4px;height:8px;border-right:2px solid white;border-bottom:2px solid white;transform:rotate(45deg)}.checkbox input:focus-visible+.checkbox__control,.radio input:focus-visible+.radio__control{outline:0;border-color:var(--color-focus);box-shadow:var(--focus-ring)}.checkbox input:disabled+.checkbox__control,.radio input:disabled+.radio__control{background:var(--color-disabled);border-color:var(--color-border)}.checkbox__content{display:block;line-height:1.25}.checkbox__label,.radio__label{display:block;color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.25}.checkbox__description,.radio__description{display:block;margin-top:2px;color:var(--color-text-muted);font-size:var(--font-size-xs)}.radio-group{display:flex;gap:var(--space-2)}.radio-group--vertical{flex-direction:column}.radio-group--horizontal{flex-wrap:wrap}.radio{display:flex;align-items:flex-start;min-width:104px;min-height:var(--control-height);gap:var(--space-2);padding:10px var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.radio:hover{border-color:var(--color-border-strong)}.radio:has(input:checked){background:var(--color-surface-selected);border-color:var(--color-primary)}.radio__control{position:relative;flex:0 0 auto;width:18px;height:18px;margin-top:1px;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:50%}.radio input:checked+.radio__control{border-color:var(--color-primary);box-shadow:inset 0 0 0 4px var(--color-surface);background:var(--color-primary)}.input-affix,.measurement-input{position:relative;display:flex}.input-affix .form-control{padding-right:64px}.input-affix__suffix{position:absolute;top:50%;right:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm);pointer-events:none;transform:translateY(-50%)}.measurement-input__value{border-radius:var(--radius-md) 0 0 var(--radius-md)}.measurement-input__unit{flex:0 0 auto;min-width:72px;height:var(--control-height);padding:0 var(--space-3);color:var(--color-text-muted);background:var(--color-surface-subtle);border:1px solid var(--color-border-strong);border-left:0;border-radius:0 var(--radius-md) var(--radius-md) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.measurement-input__unit--fixed{display:grid;place-items:center}.form-field--error .measurement-input__unit{border-color:var(--color-error)}.image-upload{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(280px,1.15fr);gap:var(--space-4)}.image-upload__dropzone{display:flex;align-items:center;min-height:94px;gap:var(--space-3);padding:var(--space-4);color:var(--color-text);background:var(--color-surface-subtle);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md)}.image-upload__dropzone:hover{background:var(--color-surface-selected);border-color:var(--color-primary)}.image-upload__dropzone.is-disabled{color:var(--color-disabled-text);background:var(--color-disabled);cursor:not-allowed}.image-upload__icon{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;color:var(--color-primary);background:var(--color-primary-soft);border-radius:50%;font-size:1.5rem;font-weight:300}.image-upload__dropzone strong,.image-upload__dropzone small{display:block}.image-upload__dropzone strong{font-size:var(--font-size-sm)}.image-upload__dropzone small{margin-top:2px;color:var(--color-text-muted);font-size:var(--font-size-xs)}.image-upload__list{display:grid;gap:var(--space-2)}.image-upload__item{display:grid;grid-template-columns:54px minmax(0,1fr) 36px;align-items:center;min-height:62px;gap:var(--space-3);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-md)}.image-upload__thumbnail{display:grid;place-items:center;width:54px;height:52px;color:var(--color-text-muted);background:#eff3f2;border:1px solid #dfe7e5;border-radius:var(--radius-sm);font-size:.625rem;font-weight:var(--font-weight-bold);letter-spacing:.08em}.image-upload__file{min-width:0}.image-upload__file span,.image-upload__file small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-upload__file span{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.image-upload__file small{margin-top:2px;color:var(--color-text-muted);font-size:var(--font-size-xs)}.image-upload__remove{width:36px;height:36px;padding:0;color:var(--color-text-muted);background:transparent;border:0;border-radius:var(--radius-sm);font-size:1.25rem}.image-upload__remove:hover{color:var(--color-error);background:var(--color-error-soft)}.captioned-image-field{display:grid;gap:var(--space-3);min-width:0}.captioned-image-field__preview{position:relative;aspect-ratio:1 / 1;overflow:hidden;background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md)}.captioned-image-field__preview img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}.captioned-image-field__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.captioned-image-field__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;aspect-ratio:1 / 1;min-height:0;gap:var(--space-3);padding:var(--space-4);color:var(--color-text);text-align:center;background:var(--color-surface-subtle);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);cursor:pointer}.captioned-image-field__empty:hover:not(:disabled):not(.is-disabled){background:var(--color-surface-selected);border-color:var(--color-primary)}.captioned-image-field__empty:disabled,.captioned-image-field__empty.is-disabled{color:var(--color-disabled-text);background:var(--color-disabled);cursor:not-allowed}.captioned-image-field__icon{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;color:var(--color-primary);background:var(--color-primary-soft);border-radius:var(--radius-md);font-size:1.5rem;font-weight:300}.captioned-image-field__empty strong,.captioned-image-field__empty small{display:block}.captioned-image-field__empty strong{font-size:var(--font-size-sm)}.captioned-image-field__empty small{margin-top:2px;color:var(--color-text-muted);font-size:var(--font-size-xs)}.form-control--textarea-compact{min-height:64px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-height);gap:var(--space-2);padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.button--compact{min-height:var(--control-height-compact)}.button--primary{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.button--primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.button--secondary{color:var(--color-text);background:var(--color-surface);border-color:var(--color-border-strong)}.button--secondary:hover:not(:disabled){background:var(--color-surface-subtle);border-color:#81918e}.button--tertiary{color:var(--color-primary);background:transparent}.button--tertiary:hover:not(:disabled){background:var(--color-primary-soft)}.button--danger{color:var(--color-error);background:var(--color-surface);border-color:#e4aaa5}.button--danger:hover:not(:disabled){background:var(--color-error-soft)}.button:disabled{color:var(--color-disabled-text);background:var(--color-disabled);border-color:var(--color-border)}.button__icon{font-size:1.125rem;line-height:1}.form-actions{position:fixed;z-index:20;right:0;bottom:0;left:0;background:#fffffff5;border-top:1px solid var(--color-border);box-shadow:0 -6px 18px #1723210d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.form-actions__inner{display:flex;align-items:center;justify-content:space-between;width:min(100% - 40px,var(--content-max-width));min-height:68px;margin:0 auto}.form-actions__saved{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-xs)}.form-actions__saved-dot{width:7px;height:7px;background:var(--color-success);border-radius:50%}.form-actions__buttons{display:flex;gap:var(--space-2)}.validation-summary{display:flex;align-items:flex-start;gap:var(--space-3);margin:var(--space-5) 0 0;padding:var(--space-3) var(--space-4);color:#8d1d15;background:var(--color-error-soft);border:1px solid #efc1bd;border-radius:var(--radius-md);font-size:var(--font-size-sm)}.validation-summary strong,.validation-summary span{display:block}.validation-summary span{margin-top:2px;color:var(--color-error);font-size:var(--font-size-xs)}.validation-summary__icon{display:grid;place-items:center;flex:0 0 auto;width:22px;height:22px;color:#fff;background:var(--color-error);border-radius:50%;font-weight:var(--font-weight-bold)}.measurement-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.inline-note{align-self:end;min-height:var(--control-height);padding:var(--space-3);color:var(--color-text-muted);background:var(--color-surface-subtle);border-left:3px solid var(--color-border-strong);font-size:var(--font-size-xs)}.page-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);color:var(--color-success);background:var(--color-primary-soft);border:1px solid #bdd9d1;border-radius:var(--radius-lg);font-size:var(--font-size-sm)}.page-banner p{margin:0}.settings-panel{overflow:hidden;margin-bottom:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.settings-panel__heading{margin:0;font-size:inherit;font-weight:inherit}.settings-panel__toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);width:100%;min-height:52px;padding:var(--space-3) var(--space-4);color:inherit;background:transparent;border:0;text-align:left;cursor:pointer}.settings-panel__toggle:hover{background:var(--color-surface-subtle)}.settings-panel__toggle:focus-visible{outline:0;box-shadow:var(--focus-ring)}.settings-panel__toggle-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.settings-panel__title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.settings-panel__meta{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.settings-panel__chevron{display:grid;flex:0 0 28px;place-items:center;width:28px;height:28px;color:var(--color-text-muted)}.settings-panel__chevron svg{display:block;width:18px;height:18px;transition:transform .12s ease}.settings-panel--open .settings-panel__chevron svg{transform:rotate(180deg)}.settings-panel--open .settings-panel__toggle{border-bottom:1px solid var(--color-border)}.settings-panel__header{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:var(--space-4);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border)}.settings-panel__header h2{margin:0;font-size:var(--font-size-md);line-height:var(--line-height-tight)}.settings-panel__header p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.settings-panel__body{display:grid;gap:var(--space-4);max-width:36rem;padding:var(--space-5)}.settings-panel__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.settings-panel__hint{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.settings-panel__body--wide{max-width:40rem}.option-config__list{margin:0;padding:0;list-style:none}.option-config__row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3);min-height:40px;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.option-config__row .form-field{margin:0}.option-config__value{min-width:0;overflow-wrap:anywhere;font-size:var(--font-size-sm)}.option-config__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.option-config__add{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--space-3)}.users-table tbody tr{cursor:default}.users-table th:nth-child(1){width:28%}.users-table th:nth-child(2){width:30%}.users-table th:nth-child(3){width:16%}.users-table th:nth-child(4){width:16%}.users-table th:last-child,.users-table td.users-table__actions{width:52px;padding-right:var(--space-2);padding-left:var(--space-2);text-align:right}.user-you-tag{margin-left:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.user-role-chip{display:inline-flex;align-items:center;min-height:26px;padding:0 var(--space-2);color:var(--color-primary);background:var(--color-primary-soft);border:1px solid #bdd9d1;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.record-status--disabled{color:var(--color-disabled-text);background:var(--color-disabled);border-color:var(--color-border)}.record-status--disabled>span{background:var(--color-disabled-text)}.row-menu{display:inline-flex;justify-content:flex-end}.row-menu__list{position:fixed;z-index:40;min-width:220px;padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-menu)}.row-menu__item{display:block;width:100%;padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-size:var(--font-size-sm);text-align:left}.row-menu__item:hover{background:var(--color-surface-subtle)}.row-menu__item--danger{color:var(--color-error)}.row-menu__item--danger:hover{background:var(--color-error-soft)}.modal-backdrop{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--space-6);background:#1723215c}.modal{width:min(100%,440px);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-menu)}.modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.modal__header h2{margin:0;font-size:var(--font-size-md);line-height:var(--line-height-tight)}.modal__close{width:32px;height:32px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:1.5rem;line-height:1}.modal__close:hover{background:var(--color-surface-subtle);color:var(--color-text)}.modal__copy{margin:0 0 var(--space-5);color:var(--color-text-muted);font-size:var(--font-size-sm)}.modal__form{display:grid;gap:var(--space-4)}.modal__actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2)}@media(max-width:1020px){.app-header__inner{gap:var(--space-4)}.app-brand small,.app-user__details,.records-table__updated{display:none}.patient-header{grid-template-columns:minmax(210px,1fr) 2fr}.patient-header__alert{grid-column:1 / -1;max-width:none}.form-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid--3 .form-grid__span-3{grid-column:span 2}}@media(max-width:760px){.app-header__inner,.page-container,.examination,.form-actions__inner{width:min(100% - 24px,var(--content-max-width))}.app-header{height:auto}.app-header__inner{flex-wrap:wrap;min-height:58px;padding-top:var(--space-2)}.app-nav{order:3;width:100%;height:44px}.app-nav__link{padding:0 var(--space-3)}.page-heading,.page-heading--home{min-height:128px}.examination-types__grid{grid-template-columns:1fr}.records-panel{overflow:visible;background:transparent;border:0}.records-panel__header{min-height:62px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.records-panel__order{display:none}.records-pagination{flex-direction:column;align-items:stretch}.records-pagination__actions{justify-content:space-between}.records-table-wrap{margin-top:var(--space-3);overflow:visible}.records-table,.records-table tbody{display:block}.records-table thead{display:none}.records-table tbody{display:grid;gap:var(--space-3)}.records-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.records-table td{display:block;height:auto;padding:0;border:0}.records-table tbody tr:hover td{background:transparent}.records-table td:before{content:attr(data-label);display:block;margin-bottom:2px;color:var(--color-text-subtle);font-size:.6875rem}.records-table td:nth-child(2){grid-column:1 / -1;grid-row:1;padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.records-table__arrow{display:none!important}.users-table td:nth-child(2){grid-column:auto;grid-row:auto;padding-bottom:0;border-bottom:0}.users-table td.users-table__actions{grid-column:1 / -1;width:auto;text-align:right}.page-banner{flex-direction:column;align-items:flex-start}.records-panel__visibility-note{margin-top:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.examination__heading{min-height:82px}.patient-header{grid-template-columns:1fr;gap:var(--space-4)}.patient-header__details{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-header__alert{grid-column:auto}.form-panel{padding:0 var(--space-4)}.form-grid--2,.form-grid--3{grid-template-columns:1fr}.form-grid__span-2,.form-grid__span-3,.form-grid--3 .form-grid__span-3{grid-column:span 1}.image-upload{grid-template-columns:1fr}.form-actions__saved{display:none}.form-actions__inner{justify-content:flex-end}}@media(max-width:520px){.app-shell--with-actions{padding-bottom:126px}.page-heading{align-items:flex-start;flex-direction:column;min-height:0;padding:var(--space-6) 0}.page-heading .button{width:100%}.option-config__row{grid-template-columns:1fr;align-items:start;gap:var(--space-2);padding:var(--space-3) 0}.option-config__add{grid-template-columns:1fr;align-items:stretch}.examination-type-card{grid-template-columns:42px minmax(0,1fr) auto;padding:var(--space-4)}.examination-type-card__icon{width:42px;height:42px}.examination__title-row{align-items:flex-start;flex-direction:column;gap:var(--space-2)}.patient-header{padding:var(--space-4)}.tabs{padding:0}.form-panel__intro{align-items:flex-start;flex-direction:column;gap:var(--space-2)}.form-section__header,.radio-group--horizontal{flex-direction:column}.radio{width:100%}.form-actions__inner{min-height:118px;padding:var(--space-3) 0}.form-actions__buttons{width:100%;flex-wrap:wrap}.form-actions__buttons .button{flex:1}.form-actions__buttons .button--tertiary{flex-basis:100%;order:3}}
