.centred-page{min-height:100%;display:flex;align-items:center;justify-content:center;padding:var(--space-5);padding-top:calc(var(--space-5) + env(safe-area-inset-top));padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom))}.auth-card,.message-card{width:100%;max-width:420px;background:var(--color-surface-raised);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.auth-card--flush{max-width:none;padding:0;border-radius:0;background:none}.auth-title{margin:0;font-size:1.5rem}.auth-intro{margin:calc(var(--space-4) * -1) 0 0;color:var(--color-text-secondary);font-size:.9375rem}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field-label{font-size:.875rem;color:var(--color-text-secondary)}.field-input{min-height:44px;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-default);background:var(--color-bg);color:var(--color-text-primary);font-family:inherit;font-size:1rem}.field-input:focus{outline:2px solid var(--color-primary);outline-offset:1px}.field-input--multiline{resize:vertical;min-height:60px}.field-error{margin:0;color:var(--color-destructive);font-size:.9375rem}.btn--full{width:100%}.form-btn-row{display:flex;gap:var(--space-3)}.form-btn-row .btn{flex:1}.auth-footnote{margin:0;font-size:.8125rem;color:var(--color-text-secondary);line-height:1.5}.loading-text{color:var(--color-text-secondary)}.message-card h1{margin:0;font-size:1.25rem}.message-card p{margin:0;color:var(--color-text-secondary);line-height:1.5}.bottom-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:100}.bottom-sheet{width:100%;max-width:480px;background:var(--color-surface-raised);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-3) var(--space-5);padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom));box-shadow:var(--shadow-elevated);max-height:85vh;overflow-y:auto}@media (min-width: 768px){.bottom-sheet-backdrop{align-items:center}.bottom-sheet{border-radius:var(--radius-lg);padding-bottom:var(--space-5)}}.bottom-sheet-handle{width:36px;height:4px;border-radius:2px;background:var(--color-border-default);margin:0 auto var(--space-3)}@media (min-width: 768px){.bottom-sheet-handle{display:none}}.bottom-sheet-title{margin:0 0 var(--space-4);font-size:1.125rem;font-weight:600;color:var(--color-text-primary);text-align:center}[data-rwp-wrapper] ul{margin:0;padding:0;list-style:none}[data-rwp-wrapper] li{margin:0;padding:0}[data-rwp-wrapper]{position:relative;overflow:hidden;display:flex;width:100%;align-items:stretch;justify-content:space-between;perspective:2000px;-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-rwp]{position:relative;overflow:hidden;flex:1;cursor:default;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 20%,black 80%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,black 20%,black 80%,transparent 100%)}[data-rwp]:focus-visible{outline:none}[data-rwp-highlight-wrapper]{position:absolute;overflow:hidden;top:50%;width:100%;transform:translateY(-50%);font-size:1rem;font-weight:500}[data-rwp-highlight-list]{position:absolute;width:100%}[data-rwp-options]{position:absolute;top:50%;left:0;display:block;width:100%;height:0;margin:0 auto;-webkit-font-smoothing:subpixel-antialiased;will-change:transform;backface-visibility:hidden;transform-style:preserve-3d}[data-rwp-option]{position:absolute;top:0;left:0;width:100%;-webkit-font-smoothing:subpixel-antialiased;will-change:visibility;font-size:.875rem}[data-rwp-option],[data-rwp-highlight-item]{display:flex;align-items:center;justify-content:center}[data-rwp-option][data-disabled],[data-rwp-highlight-item][data-disabled]{pointer-events:none}.wheel-input{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3)}.wheel-input-display{display:flex;align-items:baseline;justify-content:center;gap:var(--space-1);border:none;background:none;padding:var(--space-1) var(--space-2);font-size:2.75rem;font-weight:700;color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-family:inherit;cursor:pointer}.wheel-input-edit-icon{align-self:center;color:var(--color-text-tertiary);margin-left:var(--space-1)}.wheel-input-unit{font-size:1.5rem;font-weight:500;color:var(--color-text-secondary)}.wheel-input-manual{width:100%;max-width:200px;margin:0 auto;text-align:center;font-size:2.75rem;font-weight:700;font-variant-numeric:tabular-nums;font-family:inherit;color:var(--color-text-primary);background:var(--color-surface-sunken);border:1px solid var(--color-border-accent);border-radius:var(--radius-md);padding:var(--space-1) var(--space-2)}.wheel-input-manual:focus{outline:2px solid var(--color-primary);outline-offset:1px}.wheel-input-track{width:160px;margin:0 auto;border-radius:var(--radius-md);background:var(--color-surface-sunken)}.wheel-input-option{font-size:1.0625rem;font-variant-numeric:tabular-nums;color:var(--color-text-tertiary)}.wheel-input-highlight-wrapper{background:var(--color-surface-sunken);border-top:1px solid var(--color-border-accent);border-bottom:1px solid var(--color-border-accent)}.wheel-input-highlight-item{font-size:1.375rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.condition-select-row{display:flex;gap:var(--space-2)}.condition-option{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-1);border-radius:var(--radius-md);border:2px solid var(--color-border-default);background:var(--color-surface-sunken);color:var(--color-text-secondary);cursor:pointer}.condition-option-label{font-size:.6875rem;font-weight:600;line-height:1.1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.condition-option--selected{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-text)}.add-record-form{display:flex;flex-direction:column;gap:var(--space-4)}.record-time-field{gap:var(--space-1)}.field-hint{margin:0;color:var(--color-text-tertiary);font-size:.8125rem}.field-hint--left{text-align:left}.record-section{border-top:1px solid var(--color-border-default);padding-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.record-section-header{display:flex;align-items:center;justify-content:space-between}.record-section-title{font-size:1rem;font-weight:600;color:var(--color-text-primary)}.section-add-btn{width:100%;min-height:56px;border-radius:var(--radius-md);border:2px dashed var(--color-border-default);background:none;color:var(--color-text-secondary);font-size:1.0625rem;font-weight:600;cursor:pointer}.section-remove-btn{border:none;background:none;color:var(--color-text-tertiary);font-size:.875rem;font-weight:600;cursor:pointer;padding:0}.medicine-select-row{display:flex;gap:var(--space-3)}.medicine-option{flex:1;min-height:56px;border-radius:var(--radius-md);border:2px solid var(--color-border-default);background:var(--color-surface-sunken);color:var(--color-text-primary);font-size:1.0625rem;font-weight:600;cursor:pointer}.medicine-option--selected{border-color:var(--color-accent-medicine);background:var(--color-accent-medicine);color:#fff}.note-textarea{min-height:90px}.form-actions{display:flex;gap:var(--space-3)}.form-actions .btn{flex:1}.delete-record-btn{min-height:44px;border:none;background:none;color:var(--color-destructive);font-size:.9375rem;font-weight:600;cursor:pointer;margin-top:var(--space-2)}.timeline-section{background:var(--color-surface-raised);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.timeline{display:flex;flex-direction:column;gap:var(--space-5)}.timeline-empty{margin:0;padding:var(--space-4) 0;color:var(--color-text-secondary);font-size:.9375rem;text-align:center}.timeline-date-section{display:flex;flex-direction:column;gap:var(--space-2)}.timeline-date-heading{margin:0;font-size:.9375rem;font-weight:600;color:var(--color-text-secondary)}.timeline-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.timeline-list--collapsed{gap:0}.timeline-row{border-bottom:1px solid var(--color-border-default)}.timeline-row:last-child{border-bottom:none}.timeline-row-btn{display:grid;grid-template-columns:3.25rem 1fr;gap:var(--space-3);width:100%;padding:var(--space-2) 0;border:none;background:none;font:inherit;text-align:left;color:inherit;cursor:pointer;min-height:44px}.timeline-row--static{display:grid;grid-template-columns:3.25rem 1fr;gap:var(--space-3);padding:var(--space-2) 0;min-height:44px}.timeline-time{font-size:.8125rem;color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;padding-top:.125rem}.timeline-content{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2) var(--space-3)}.timeline-item{font-size:.9375rem}.timeline-item--temperature{font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.timeline-item--condition{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-secondary)}.timeline-item--condition svg{width:16px;height:16px;flex-shrink:0}.timeline-arrow{width:1em;font-weight:700;text-align:center;display:inline-block}.timeline-arrow--up{color:var(--color-accent-temperature)}.timeline-arrow--down{color:var(--color-accent-medicine)}.timeline-arrow--same,.timeline-arrow--none{color:var(--color-text-tertiary)}.timeline-item--medicine{font-weight:500}.timeline-item--medicine-paracetamol{color:var(--color-accent-medicine-paracetamol)}.timeline-item--medicine-ibuprofen{color:var(--color-accent-medicine-ibuprofen)}.timeline-item--note{flex-basis:100%;color:var(--color-text-secondary)}.chart-section{background:var(--color-surface-raised);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.chart-range-tabs{display:flex;gap:var(--space-2)}.chart-range-tab{flex:1;min-height:36px;border-radius:var(--radius-md);border:1px solid var(--color-border-default);background:var(--color-surface-sunken);color:var(--color-text-secondary);font-size:.8125rem;font-weight:600;cursor:pointer}.chart-range-tab--active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-text)}.chart-canvas-wrap{height:220px;position:relative}.chart-empty{margin:0;padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-secondary);font-size:.9375rem}.chart-detail{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-surface-sunken);border-radius:var(--radius-md);font-size:.875rem}.chart-detail-time{color:var(--color-text-tertiary)}.chart-detail-value{font-weight:600;flex:1}.chart-detail-close{border:none;background:none;color:var(--color-text-tertiary);font-size:1.25rem;line-height:1;cursor:pointer;padding:var(--space-1)}.btn{min-height:44px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:none;font-size:1rem;font-weight:600;cursor:pointer}.btn--primary{background:var(--color-primary);color:var(--color-primary-text)}.btn--primary:disabled{background:var(--color-surface-sunken);color:var(--color-text-tertiary);cursor:not-allowed}.btn--secondary{background:var(--color-surface-sunken);color:var(--color-text-primary)}.summary-preview{display:flex;gap:var(--space-3)}.summary-card{flex:1;background:var(--color-surface-raised);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.summary-label{font-size:.8125rem;color:var(--color-text-secondary)}.summary-value{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums}.summary-meta{font-size:.75rem;color:var(--color-text-tertiary)}.show-more-btn{align-self:center;margin-top:var(--space-1);padding:var(--space-2) var(--space-3);min-height:36px;border:none;background:none;color:var(--color-primary);font-size:.875rem;font-weight:600;cursor:pointer}.quick-record{display:flex;flex-direction:column;gap:var(--space-3);margin-top:auto}.add-record-btn{min-height:64px;border-radius:var(--radius-md);border:none;background:var(--color-primary);color:var(--color-primary-text);font-size:1.125rem;font-weight:700;cursor:pointer}.last-recorded{margin:0;padding:var(--space-2) 0;font-size:.875rem;color:var(--color-text-secondary)}.loading-text--inset{padding:var(--space-6) var(--space-5);color:var(--color-text-secondary);text-align:center}.message-card--inset{margin:var(--space-5);padding:var(--space-4);background:var(--color-surface-raised);border-radius:var(--radius-md)}.message-card--inset h1{margin:0 0 var(--space-2);font-size:1.0625rem}.message-card--inset p{margin:0;color:var(--color-text-secondary);font-size:.9375rem;line-height:1.5}.confirmation-toast{margin:0;padding:var(--space-3) var(--space-4);background:var(--color-success);color:#fff;border-radius:var(--radius-md);font-size:.9375rem;font-weight:600;text-align:center}.record-secondary-actions{display:flex;gap:var(--space-3)}.record-secondary-actions>*{flex:1}.end-record-btn,.doctor-view-btn{min-height:44px;padding:var(--space-3) var(--space-2);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-text-secondary);font-size:.875rem;font-weight:600;cursor:pointer}.history-row-reopen-btn{align-self:flex-start;margin-top:var(--space-1);padding:var(--space-1) var(--space-3);min-height:32px;border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:none;color:var(--color-primary);font-size:.8125rem;font-weight:600;cursor:pointer}.history-row-reopen-btn:disabled{color:var(--color-text-tertiary);cursor:not-allowed}:root{color-scheme:light dark;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-md: 16px;--radius-lg: 24px;--shadow-elevated: 0 -6px 32px rgba(60, 40, 35, .14);--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-bg: #f7f4f1;--color-surface-raised: #ffffff;--color-surface-sunken: #f0ebe6;--color-text-primary: #1a1c20;--color-text-secondary: #55585f;--color-text-tertiary: #6b6f7b;--color-border-default: #ded7d0;--color-border-accent: #9296a0;--color-primary: #f5847a;--color-primary-text: #1a1c20;--color-accent-temperature: #c43e1c;--color-accent-note: #6b6fd9;--color-accent-medicine: #2f8f6b;--color-accent-medicine-paracetamol: #2f8f6b;--color-accent-medicine-ibuprofen: #b3663a;--color-destructive: #af4941;--color-success: #2f8f6b;--color-range-typical-bg: rgba(47, 143, 107, .08)}@media (prefers-color-scheme: dark){:root{--color-bg: #17130f;--color-surface-raised: #221c18;--color-surface-sunken: #2a2320;--color-text-primary: #f0f1f3;--color-text-secondary: #b4b7bf;--color-text-tertiary: #7a7d85;--color-border-default: #3a322c;--color-border-accent: #4a4e57;--color-primary: #f9998f;--color-primary-text: #0c0f13;--color-accent-temperature: #e46444;--color-accent-note: #8f92e8;--color-accent-medicine: #4fb389;--color-accent-medicine-paracetamol: #4fb389;--color-accent-medicine-ibuprofen: #d99163;--color-destructive: #e8837a;--color-success: #4fb389;--color-range-typical-bg: rgba(79, 179, 137, .12)}}:root[data-theme=light]{--color-bg: #f7f4f1;--color-surface-raised: #ffffff;--color-surface-sunken: #f0ebe6;--color-text-primary: #1a1c20;--color-text-secondary: #55585f;--color-text-tertiary: #6b6f7b;--color-border-default: #ded7d0;--color-border-accent: #9296a0;--color-primary: #f5847a;--color-primary-text: #1a1c20;--color-accent-temperature: #c43e1c;--color-accent-note: #6b6fd9;--color-accent-medicine: #2f8f6b;--color-accent-medicine-paracetamol: #2f8f6b;--color-accent-medicine-ibuprofen: #b3663a;--color-destructive: #af4941;--color-success: #2f8f6b;--color-range-typical-bg: rgba(47, 143, 107, .08)}:root[data-theme=dark]{--color-bg: #17130f;--color-surface-raised: #221c18;--color-surface-sunken: #2a2320;--color-text-primary: #f0f1f3;--color-text-secondary: #b4b7bf;--color-text-tertiary: #7a7d85;--color-border-default: #3a322c;--color-border-accent: #4a4e57;--color-primary: #f9998f;--color-primary-text: #0c0f13;--color-accent-temperature: #e46444;--color-accent-note: #8f92e8;--color-accent-medicine: #4fb389;--color-accent-medicine-paracetamol: #4fb389;--color-accent-medicine-ibuprofen: #d99163;--color-destructive: #e8837a;--color-success: #4fb389;--color-range-typical-bg: rgba(79, 179, 137, .12)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-family-base);background:var(--color-bg);color:var(--color-text-primary);-webkit-font-smoothing:antialiased}button{font-family:inherit}.app-shell{min-height:100%;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.app-header{padding:var(--space-5) var(--space-5) var(--space-3)}.app-header h1{margin:0;font-size:1.5rem}.app-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.app-header-main{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);min-width:0;flex:1}.child-name-btn{display:block;width:100%;text-align:left;background:none;border:none;padding:0;margin:0;cursor:pointer;font-family:inherit;color:inherit}.child-meta{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:.875rem;font-variant-numeric:tabular-nums}.history-link{background:none;border:none;padding:var(--space-1) 0;min-height:32px;color:var(--color-primary);font-size:.8125rem;font-weight:600;cursor:pointer}.app-subtitle{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:.875rem}.link-btn{background:none;border:none;padding:var(--space-2) 0;min-height:44px;color:var(--color-primary);font-size:.9375rem;font-weight:600;cursor:pointer;white-space:nowrap}.link-btn--muted{color:var(--color-text-secondary);font-weight:500}.theme-toggle-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-md);background:none;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0}.theme-toggle-btn:active{background:var(--color-surface-sunken)}.doctor-view-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.current-page{flex:1;padding:0 var(--space-5) var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}.app-footer{display:flex;justify-content:center;padding-top:var(--space-2)}.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.history-row{border-bottom:1px solid var(--color-border-default);padding-bottom:var(--space-2)}.history-row:last-child{border-bottom:none}.history-row-btn{display:flex;flex-direction:column;gap:var(--space-1);width:100%;padding:var(--space-3) 0 0;border:none;background:none;font:inherit;text-align:left;color:inherit;cursor:pointer;min-height:44px}.history-row-dates{font-size:1rem;font-weight:600;color:var(--color-text-primary)}.history-row-meta{display:flex;gap:var(--space-3);font-size:.875rem;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.history-empty{margin:0;padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-secondary);font-size:.9375rem}.doctor-card{background:var(--color-surface-raised);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.doctor-card-title{margin:0;font-size:1.125rem}.doctor-card-line{margin:0;font-size:.9375rem;color:var(--color-text-primary);line-height:1.5}.doctor-card-label{color:var(--color-text-secondary);font-weight:600}.doctor-disclaimer{margin:0;padding:var(--space-3) 0;color:var(--color-text-tertiary);font-size:.8125rem;line-height:1.5;text-align:center}.print-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-text-secondary);font-size:.9375rem;font-weight:600;cursor:pointer}.print-only-timestamp{display:none}@media print{.app-shell .link-btn,.app-shell .theme-toggle-btn,.app-shell .print-btn{display:none!important}.app-shell .print-only-timestamp{display:block}.app-shell{padding:0}.app-shell .current-page{padding:0;gap:var(--space-4)}.app-shell .doctor-card{border:1px solid #ccc;background:none}}
