:root{--font-heading: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 30px;--transition-fast: .15s ease;--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--color-morning: 259, 95%, 65%;--color-lunch: 36, 100%, 55%;--color-dinner: 198, 90%, 50%;--color-bedtime: 330, 85%, 60%;--color-extra1: 160, 70%, 45%;--color-extra2: 280, 70%, 58%;--color-extra3: 45, 95%, 50%;--color-extra4: 195, 85%, 42%}[data-theme=dark]{--bg-app: #090a0f;--bg-card: rgba(18, 20, 32, .65);--bg-input: rgba(12, 14, 24, .9);--bg-header: rgba(10, 11, 19, .8);--border-color: rgba(255, 255, 255, .08);--border-focus: #7c4dff;--text-primary: #f1f3f9;--text-secondary: #9aa0b9;--text-muted: #626880;--accent-primary: #7c4dff;--accent-primary-hover: #6c3ce9;--accent-secondary: #00f2fe;--card-shadow: 0 8px 32px 0 rgba(0, 0, 0, .4);--glow-shadow: 0 0 20px rgba(124, 77, 255, .25);--glass-opacity: .65;--glass-blur: 16px;--status-success: #00e676;--status-warning: #ffb300;--status-danger: #ff1744;--status-future: #373e58;--status-pending: var(--accent-primary);--status-overdue: var(--status-danger);--schedule-slot-neutral-bg: var(--bg-input)}[data-theme=light]{--bg-app: #f4f6fc;--bg-card: rgba(255, 255, 255, .85);--bg-input: #ffffff;--bg-header: rgba(255, 255, 255, .9);--border-color: rgba(0, 0, 0, .08);--border-focus: #536dfe;--text-primary: #1e2238;--text-secondary: #5a607f;--text-muted: #9fa4bc;--accent-primary: #536dfe;--accent-primary-hover: #3d5afe;--accent-secondary: #00b0ff;--card-shadow: 0 8px 32px 0 rgba(166, 179, 194, .15);--glow-shadow: 0 0 20px rgba(83, 109, 254, .15);--glass-opacity: .85;--glass-blur: 10px;--status-success: #00c853;--status-warning: #ffab00;--status-danger: #ff1744;--status-future: #e0e4f2;--status-pending: var(--accent-primary);--status-overdue: var(--status-danger);--schedule-slot-neutral-bg: var(--bg-input)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{height:100%}body{background-color:var(--bg-app);background-image:radial-gradient(at 10% 20%,rgba(124,77,255,.05) 0px,transparent 50%),radial-gradient(at 90% 80%,rgba(0,242,254,.05) 0px,transparent 50%);background-attachment:fixed;color:var(--text-primary);font-family:var(--font-body);line-height:1.6;transition:background-color var(--transition-normal),color var(--transition-normal);height:100%;overflow:hidden}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;letter-spacing:-.02em}.app-container{max-width:1600px;margin:0 auto;padding:0 var(--space-md);height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;display:flex;flex-direction:column;overflow:hidden}.app-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);margin:var(--space-md) 0;background:var(--bg-header);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);z-index:10}.logo-area{display:flex;align-items:center;gap:var(--space-md)}.logo-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;box-shadow:var(--glow-shadow)}.logo-icon i{width:24px;height:24px}.logo-text h1{font-size:1.5rem;line-height:1.2;background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.logo-text p{font-size:.75rem;color:var(--text-muted)}.header-summary-card{flex:1;max-width:450px;margin:0 var(--space-xl);padding:var(--space-sm) var(--space-md);background:#00000026;border-radius:var(--radius-md);display:flex;flex-direction:row;align-items:center;gap:var(--space-md)}.summary-value-pct{color:var(--accent-primary);font-weight:700;font-variant-numeric:tabular-nums}.donut-progress{position:relative;width:var(--donut-size);height:var(--donut-size);flex-shrink:0}.donut-progress-svg{display:block}.donut-progress-track{stroke:var(--status-future)}.donut-progress-fill{transition:stroke-dashoffset var(--transition-normal),stroke var(--transition-fast)}.donut-progress-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;pointer-events:none}.donut-progress-value{font-family:var(--font-heading);font-size:.95rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1;color:var(--text-primary)}.donut-progress-compact .donut-progress-value{font-size:.62rem}.donut-progress-caption{font-size:.62rem;font-weight:600;color:var(--text-muted);line-height:1}.donut-progress-empty{font-size:1rem;font-weight:700;color:var(--text-muted)}.donut-progress-compact .donut-progress-empty{font-size:.7rem}.summary-info{display:flex;flex-direction:column;justify-content:center;gap:2px;flex:1;min-width:0;font-size:.8rem}.summary-label{color:var(--text-secondary);font-weight:500}.summary-value{color:var(--text-primary);font-weight:700;font-family:var(--font-heading)}.summary-value-compact{display:none}.progress-bar-container{height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}[data-theme=light] .progress-bar-container{background:#0000000f}.progress-bar{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));border-radius:4px;transition:width var(--transition-normal)}.person-bar{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-lg);margin-bottom:var(--space-md);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.person-current-btn{display:flex;align-items:center;gap:var(--space-sm);padding:8px 14px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast)}.person-current-btn:hover{border-color:var(--accent-primary);box-shadow:var(--glow-shadow)}.person-current-btn i{width:18px;height:18px;color:var(--accent-primary)}.person-current-text{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.person-current-label{font-size:.65rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}#current-person-name{font-size:.95rem;font-weight:700;font-family:var(--font-heading)}.person-current-badge{font-size:.8rem;color:var(--text-secondary)}.person-modal-card{max-width:560px;max-height:90vh;overflow-y:auto;gap:0}.person-screen-header{display:flex;align-items:center;gap:var(--space-sm);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-color);margin-bottom:var(--space-md)}.person-screen-close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:#ffffff0a;color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:all var(--transition-fast)}[data-theme=light] .person-screen-close{background:#fff}.person-screen-close:hover{color:var(--text-primary);border-color:color-mix(in srgb,var(--accent-primary) 40%,var(--border-color))}.person-screen-header-text{flex:1;min-width:0}.person-screen-header-text h2{margin:0;font-size:1.15rem;font-family:var(--font-heading);color:var(--text-primary);line-height:1.25}.person-screen-subtitle{margin:2px 0 0;font-size:.78rem;color:var(--text-muted);line-height:1.35}.person-screen-count{flex-shrink:0;min-width:28px;height:28px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:color-mix(in srgb,var(--accent-primary) 14%,transparent);color:var(--accent-primary);font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}.person-screen-body{gap:var(--space-sm)}.person-search-row{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--border-color);border-radius:999px;background:var(--bg-input);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.person-search-row:focus-within{border-color:color-mix(in srgb,var(--accent-primary) 55%,var(--border-color));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 16%,transparent)}.person-search-row svg{color:var(--text-muted);flex-shrink:0}.person-search-row input{flex:1;min-width:0;border:none;background:transparent;color:var(--text-primary);font-size:.92rem;outline:none}.person-search-row input::placeholder{color:var(--text-muted)}.person-list-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-xs) 2px 0}.person-list-heading-label{font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.person-list-heading-count{font-size:.75rem;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums}.person-list{display:flex;flex-direction:column;gap:10px;max-height:240px;overflow-y:auto;margin:var(--space-sm) 0 0;padding-right:2px}.person-list-item{display:flex;align-items:stretch;gap:6px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-input);overflow:hidden;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.person-list-item.active{border-color:color-mix(in srgb,var(--accent-primary) 55%,var(--border-color));box-shadow:var(--glow-shadow);background:color-mix(in srgb,var(--accent-primary) 6%,var(--bg-input))}.person-item-select{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:12px 10px 12px 12px;border:none;background:transparent;color:inherit;font-family:inherit;text-align:left;cursor:pointer}.person-item-select:active{background:#ffffff08}[data-theme=light] .person-item-select:active{background:#00000005}.person-avatar{--avatar-hue: 250;flex-shrink:0;width:44px;height:44px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;font-weight:800;font-family:var(--font-heading);color:#fff;background:linear-gradient(135deg,hsl(var(--avatar-hue) 72% 58%),hsl(calc(var(--avatar-hue) + 28) 78% 48%));box-shadow:inset 0 1px #ffffff38}.person-item-main{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.person-item-name-row{display:flex;align-items:center;gap:8px;min-width:0}.person-item-name{font-weight:700;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-active-pill{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent-primary) 18%,transparent);color:var(--accent-primary);font-size:.68rem;font-weight:700}.person-item-memo{display:block;font-size:.78rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-item-meta{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.person-item-meta-dot{opacity:.65}.person-item-actions{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:8px 8px 8px 0;flex-shrink:0}.person-action-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--border-color);background:#ffffff08;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}[data-theme=light] .person-action-btn{background:#fff}.person-action-btn:hover{color:var(--text-primary);border-color:color-mix(in srgb,var(--accent-primary) 35%,var(--border-color))}.person-delete-btn:hover{color:var(--status-danger);border-color:color-mix(in srgb,var(--status-danger) 35%,var(--border-color));background:color-mix(in srgb,var(--status-danger) 8%,transparent)}.person-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:var(--space-xl) var(--space-lg);text-align:center;border:1px dashed color-mix(in srgb,var(--border-color) 80%,transparent);border-radius:var(--radius-lg);background:#ffffff05}[data-theme=light] .person-empty{background:#00000004}.person-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:18px;background:color-mix(in srgb,var(--accent-primary) 12%,transparent);color:var(--accent-primary)}.person-empty-title{margin:0;font-size:.92rem;font-weight:700;color:var(--text-primary)}.person-empty-hint{font-size:.8rem;color:var(--text-muted);line-height:1.4}.person-form-section{border-top:1px solid var(--border-color);padding-top:var(--space-md);margin-top:var(--space-sm)}.person-form-handle{display:none}.person-form-header{display:flex;align-items:center;gap:10px;margin-bottom:var(--space-sm)}.person-form-header-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:color-mix(in srgb,var(--accent-primary) 14%,transparent);color:var(--accent-primary)}.person-form-section h3{margin:0;font-size:.95rem;font-family:var(--font-heading)}.person-form-fields{display:flex;flex-direction:column;gap:10px}.person-form-field{display:flex;flex-direction:column;gap:6px}.person-form-label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.person-form-optional{font-weight:500;color:var(--text-muted)}.person-form-field input{width:100%;padding:11px 12px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font-size:.95rem;font-family:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.person-form-field input:focus{outline:none;border-color:color-mix(in srgb,var(--accent-primary) 55%,var(--border-color));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 14%,transparent)}.person-form-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-md)}.person-form-section-editing .person-form-header-icon{background:color-mix(in srgb,var(--status-warning) 16%,transparent);color:var(--status-warning)}@media (max-width: 768px){.person-modal-overlay.modal-overlay{align-items:stretch;justify-content:stretch;padding:0;background:var(--bg-app);backdrop-filter:none;-webkit-backdrop-filter:none}.person-modal-overlay .modal-backdrop{display:none}.person-modal-overlay .person-modal-card{display:flex;flex-direction:column;width:100%;max-width:none;height:100dvh;max-height:100dvh;border:none;border-radius:0;box-shadow:none;overflow:hidden;gap:0;padding:calc(var(--space-md) + env(safe-area-inset-top,0px)) var(--space-md) 0;background:var(--bg-app);transform:none}.person-modal-overlay.active .person-modal-card{transform:none}.person-modal-overlay .person-screen-header{flex-shrink:0;margin-bottom:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid color-mix(in srgb,var(--border-color) 70%,transparent)}.person-modal-overlay .person-screen-close{width:44px;height:44px;border-radius:14px;background:var(--bg-card);border-color:color-mix(in srgb,var(--border-color) 85%,transparent)}.person-modal-overlay .person-screen-header-text h2{font-size:1.05rem}.person-modal-overlay .person-screen-subtitle{font-size:.74rem}.person-modal-overlay .person-screen-body{flex:1;min-height:0;max-height:none;display:flex;flex-direction:column;overflow:hidden;gap:10px;padding-bottom:var(--space-xs)}.person-modal-overlay .person-search-row,.person-modal-overlay .person-list-heading{flex-shrink:0}.person-modal-overlay .person-search-row{padding:13px 16px;background:var(--bg-card);border-color:color-mix(in srgb,var(--border-color) 90%,transparent)}.person-modal-overlay .person-list{flex:1;min-height:0;max-height:none;margin:0;gap:12px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:var(--space-xs)}.person-modal-overlay .person-list-item{border-radius:18px;background:var(--bg-card);border-color:color-mix(in srgb,var(--border-color) 90%,transparent)}.person-modal-overlay .person-list-item.active{background:color-mix(in srgb,var(--accent-primary) 8%,var(--bg-card))}.person-modal-overlay .person-item-select{padding:14px 8px 14px 14px;min-height:76px}.person-modal-overlay .person-avatar{width:48px;height:48px;border-radius:16px;font-size:1.05rem}.person-modal-overlay .person-item-actions{flex-direction:row;align-items:center;padding:0 10px 0 0;gap:6px}.person-modal-overlay .person-action-btn{width:44px;height:44px;border-radius:12px;touch-action:manipulation}.person-modal-overlay .person-empty{flex:1;min-height:180px;border-style:solid;border-color:color-mix(in srgb,var(--border-color) 65%,transparent);background:var(--bg-card)}.person-modal-overlay .person-form-section{flex-shrink:0;margin-top:0;padding:10px var(--space-md) calc(var(--space-md) + env(safe-area-inset-bottom,0px));border-top:none;border-radius:22px 22px 0 0;background:var(--bg-card);box-shadow:0 -1px color-mix(in srgb,var(--border-color) 80%,transparent),0 -16px 40px #00000038}[data-theme=light] .person-modal-overlay .person-form-section{box-shadow:0 -1px color-mix(in srgb,var(--border-color) 80%,transparent),0 -12px 32px #1e223814}.person-modal-overlay .person-form-section-editing{background:color-mix(in srgb,var(--status-warning) 4%,var(--bg-card))}.person-modal-overlay .person-form-handle{display:block;width:40px;height:4px;margin:0 auto 12px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 45%,transparent)}.person-modal-overlay .person-form-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:var(--space-sm)}.person-modal-overlay .person-form-actions .action-btn{width:100%;min-height:48px;justify-content:center;border-radius:14px;font-size:.92rem;touch-action:manipulation}.person-modal-overlay .person-form-submit-btn{box-shadow:var(--glow-shadow)}}body.no-person-selected .register-column,body.no-person-selected .schedule-column,body.no-person-selected .stats-column{opacity:.45;pointer-events:none}body.no-person-selected .person-bar{opacity:1;pointer-events:auto}.header-actions{display:flex;align-items:center;gap:var(--space-sm)}.action-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:10px 18px;border-radius:var(--radius-md);border:none;font-family:var(--font-body);font-weight:600;font-size:.9rem;cursor:pointer;transition:all var(--transition-fast)}.primary-btn{background:var(--accent-primary);color:#fff}.primary-btn:hover{background:var(--accent-primary-hover);box-shadow:var(--glow-shadow);transform:translateY(-1px)}.secondary-btn{background:#ffffff0d;color:var(--text-primary);border:1px solid var(--border-color)}[data-theme=light] .secondary-btn{background:#fff}.secondary-btn:hover{background:#ffffff1a;border-color:var(--text-muted)}[data-theme=light] .secondary-btn:hover{background:#00000005}.success-btn{background:var(--status-success);color:#000;font-weight:700}.success-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.icon-btn{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:#ffffff0d;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast)}[data-theme=light] .icon-btn{background:#fff}.icon-btn:hover{background:#ffffff1a;color:var(--accent-primary);border-color:var(--accent-primary)}[data-theme=light] .icon-btn:hover{background:#00000005}.icon-btn i{width:20px;height:20px}[data-theme=dark] .sun-icon{display:block}[data-theme=dark] .moon-icon,[data-theme=light] .sun-icon{display:none}[data-theme=light] .moon-icon{display:block}.app-main{display:grid;grid-template-columns:1fr 1.2fr 1fr;grid-template-rows:minmax(0,1fr);gap:var(--space-md);flex:1;min-height:0;margin-bottom:var(--space-md);overflow:hidden}.column{display:flex;flex-direction:column;gap:var(--space-md);min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:2px}.card{background:var(--bg-card);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md);transition:transform var(--transition-normal),border-color var(--transition-normal)}.card:hover{border-color:#ffffff26}[data-theme=light] .card:hover{border-color:#00000026}.card-header{display:flex;align-items:center;gap:var(--space-sm);border-bottom:1px solid var(--border-color);padding-bottom:var(--space-sm)}.card-header h2{font-size:1.15rem;color:var(--text-primary);flex:1;min-width:0}.card-header-with-action{gap:var(--space-sm)}.card-header-actions{margin-left:auto;display:flex;align-items:center;gap:6px;flex-shrink:0}.card-header-manage-btn{flex-shrink:0}.header-icon{width:22px;height:22px;color:var(--accent-primary)}.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:4px}.form-group label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.form-row{display:flex;gap:var(--space-md)}.form-group.half{flex:1}.form-group.third{flex:1;min-width:0}.form-row-thirds{flex-wrap:wrap}.form-row-med-schedule{flex-wrap:nowrap;gap:var(--space-sm);align-items:flex-end}.form-group-med-start{flex:1 1 0;min-width:0}.form-group-med-compact{flex:0 0 4.5rem;width:4.5rem}.form-group-med-compact label{font-size:.78rem;white-space:nowrap}.form-group-med-compact input[type=number]{padding:12px 6px;text-align:center;font-size:.9rem}.calendar-date-input-compact .calendar-date-input-display{padding:12px 36px 12px 10px;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-date-input-compact .calendar-date-input-icon{right:10px}.form-hint{margin:-4px 0 var(--space-sm);font-size:.75rem;color:var(--text-muted)}input[type=text],input[type=password],input[type=email],input[type=search],input[type=number],input[type=date],input[type=time],select{width:100%;padding:12px 16px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-size:.95rem;outline:none;transition:all var(--transition-fast)}input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=search]:focus,input[type=number]:focus,input[type=date]:focus,input[type=time]:focus,select:focus{border-color:var(--border-focus);box-shadow:var(--glow-shadow)}.calendar-date-input{position:relative;width:100%;display:block}.calendar-date-input-display{display:block;width:100%;padding:12px 44px 12px 16px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-size:.95rem;pointer-events:none;transition:all var(--transition-fast)}.calendar-date-input-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;color:var(--accent-primary);pointer-events:none}.calendar-date-input-empty .calendar-date-input-display{color:var(--text-muted)}.calendar-date-input-native{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;border:none;background:transparent;opacity:0;cursor:pointer}.calendar-date-input:focus-within .calendar-date-input-display{border-color:var(--border-focus);box-shadow:var(--glow-shadow)}.calendar-date-input-native:disabled{cursor:not-allowed}.calendar-date-input:has(.calendar-date-input-native:disabled) .calendar-date-input-display{opacity:.65}.drug-search-field{position:relative}.drug-search-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;max-height:240px;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--card-shadow)}.drug-search-item{display:block;width:100%;text-align:left;padding:10px 12px;border:none;border-bottom:1px solid var(--border-color);background:transparent;color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast)}.drug-search-item:last-child{border-bottom:none}.drug-search-item:hover,.drug-search-item:focus{background:#7c4dff14;outline:none}.drug-search-item-name{display:block;font-size:.9rem;font-weight:700}.drug-search-item-company{display:block;margin-top:2px;font-size:.72rem;color:var(--text-muted)}.drug-search-status{padding:10px 12px;font-size:.8rem;color:var(--text-secondary)}.drug-search-status.error{color:var(--status-danger)}.drug-info-panel{margin-top:var(--space-sm);padding:var(--space-sm) var(--space-md);background:#7c4dff0f;border:1px solid rgba(124,77,255,.25);border-radius:var(--radius-md)}[data-theme=light] .drug-info-panel{background:#7c4dff0a}.drug-info-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm);padding-bottom:var(--space-xs);border-bottom:1px solid var(--border-color)}.drug-info-title-wrap{display:flex;flex-direction:column;gap:2px;min-width:0}.drug-info-title-wrap strong{font-size:.95rem;word-break:keep-all}.drug-info-company{font-size:.75rem;color:var(--text-secondary)}.drug-info-close{flex-shrink:0;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);font-size:1.1rem;line-height:1;cursor:pointer}.drug-info-close:hover{background:#ffffff14;color:var(--text-primary)}.drug-info-section{margin-bottom:8px}.drug-info-section:last-child{margin-bottom:0}.drug-info-section dt{font-size:.72rem;font-weight:700;color:var(--accent-primary);margin-bottom:2px}.drug-info-section dd{font-size:.78rem;color:var(--text-secondary);line-height:1.45;white-space:pre-wrap;word-break:keep-all}.drug-info-source{margin-top:var(--space-sm);font-size:.68rem;color:var(--text-muted);line-height:1.4}.drug-search-hint{margin-top:6px;font-size:.72rem;color:var(--text-muted);line-height:1.4}.drug-search-hint a{color:var(--accent-primary)}.drug-search-hint.warn{color:#f49d25}.radio-group{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.med-type-field-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.med-type-field-label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.med-type-manage-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:none;background:transparent;color:var(--text-muted);font-size:.72rem;cursor:pointer;border-radius:var(--radius-sm)}.med-type-manage-btn:hover{color:var(--accent-primary);background:#ffffff0a}.med-type-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.med-type-grid.compact{gap:4px}.med-type-option{cursor:pointer;min-width:0}.med-type-option input[type=radio]{display:none}.med-type-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 2px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:#ffffff05;color:var(--text-secondary);font-size:.62rem;font-weight:500;line-height:1.1;text-align:center;transition:all var(--transition-fast);min-height:52px}.med-type-grid.compact .med-type-chip{min-height:46px;padding:4px 2px}[data-theme=light] .med-type-chip{background:#00000003}.med-type-chip-label{word-break:keep-all;overflow:hidden;text-overflow:ellipsis;max-width:100%}.med-type-option input[type=radio]:checked+.med-type-chip{border-color:var(--accent-primary);background:#6366f11f;color:var(--accent-primary);box-shadow:0 0 0 1px #6366f140}.med-type-chip.pill{color:hsl(var(--color-morning))}.med-type-chip.injection{color:hsl(var(--color-bedtime))}.med-type-chip.liquid{color:hsl(var(--color-dinner))}.med-type-chip.powder{color:#af57db}.med-type-chip.ointment{color:#e87d30}.med-type-chip.inhaler{color:#26bbd9}.med-type-chip.suppository{color:#cf5994}.med-type-chip.patch{color:#e2ae12}.med-type-chip.eye-drops{color:#2985e0}.med-type-chip.ear-drops{color:#7e54d4}.med-type-chip.nasal-spray{color:#34b29d}.med-type-chip.vaginal{color:#c65379}.med-type-chip.sublingual{color:#da5a2f}.med-item-icon.powder{color:#af57db}.med-item-icon.ointment{color:#e87d30}.med-item-icon.inhaler{color:#26bbd9}.med-type-manage-list{display:flex;flex-direction:column;gap:8px;min-height:0;max-height:min(52vh,440px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-right:2px}.med-type-manage-list.is-sorting{-webkit-user-select:none;user-select:none}.med-type-manage-row{display:grid;grid-template-columns:auto auto 1fr 110px auto auto;gap:8px;align-items:center;padding:8px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-input);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform .18s ease,opacity .18s ease}.med-type-manage-list.is-sorting .med-type-manage-row:not(.is-dragging){transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform .18s ease,opacity .18s ease}.med-type-manage-row.is-dragging{opacity:1;border-style:dashed;border-color:var(--border-focus);background:#ffffff08;box-shadow:inset 0 0 0 1px #ffffff0a}.med-type-manage-row.is-dragging>*{visibility:hidden}.med-type-manage-row.is-drop-target{border-color:var(--border-focus);box-shadow:var(--glow-shadow);transform:translateY(2px)}.med-type-drag-ghost{position:fixed;z-index:3000;display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:center;padding:8px;border-radius:var(--radius-md);border:1px solid var(--border-focus);background:var(--bg-card);box-shadow:0 12px 28px #00000047,var(--glow-shadow);pointer-events:none;cursor:grabbing;transform:scale(1.02);opacity:.96}.med-type-drag-ghost-handle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:32px;color:var(--text-secondary)}.med-type-drag-ghost-label{font-size:.95rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.med-type-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:32px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:grab;touch-action:none}.med-type-drag-handle:hover{color:var(--text-secondary);background:#ffffff0a}.med-type-drag-handle:active{cursor:grabbing}.med-type-preview{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background:#ffffff0a}.med-type-icon-select{padding:8px 6px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);font-size:.8rem}.med-type-settings-modal,.slot-settings-modal,.med-list-manage-modal,.med-group-manage-modal,.med-group-load-modal,.print-group-select-modal{max-width:640px}.med-type-settings-modal,.slot-settings-modal{max-height:min(90dvh,820px);overflow:hidden}.med-type-settings-modal .modal-header,.med-type-settings-modal .modal-footer,.med-type-settings-modal .modal-close-btn,.slot-settings-modal .modal-header,.slot-settings-modal .modal-footer,.slot-settings-modal .modal-close-btn{flex-shrink:0}.med-type-settings-modal .modal-body,.slot-settings-modal .modal-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.slot-settings-modal .slot-manage-list{min-height:0;max-height:min(52vh,440px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-right:2px}.med-group-list{display:flex;flex-direction:column;gap:10px;max-height:360px;overflow-y:auto}.med-group-card{border:1px solid var(--border-color);border-radius:var(--radius-md);background:color-mix(in srgb,var(--med-group-accent, var(--bg-input)) 8%,var(--bg-input));padding:10px 12px;border-left:3px solid var(--med-group-accent, var(--border-color))}.med-group-card-expanded{background:color-mix(in srgb,var(--med-group-accent, var(--bg-input)) 12%,var(--bg-input))}.med-group-name-row{display:flex;align-items:center;gap:8px;min-width:0;width:100%}.med-group-color-dot{width:10px;height:10px;border-radius:999px;background:var(--med-group-accent, var(--text-muted));flex-shrink:0;box-shadow:0 0 0 1px #ffffff1f}[data-theme=light] .med-group-color-dot{box-shadow:0 0 0 1px #00000014}.med-group-card-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.med-group-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.med-group-count{font-size:.75rem;color:var(--text-muted)}.med-group-card-actions{display:flex;gap:4px;margin-left:auto}.med-group-visibility-btn{color:var(--primary-color)}.med-group-visibility-btn-off{opacity:.35;color:var(--text-muted)}.med-group-visibility-btn-front{flex-shrink:0;margin:12px 0 12px 10px}.med-group-med-checkboxes{display:flex;flex-wrap:wrap;gap:6px 10px}.med-group-med-label{font-size:.85rem}.print-group-options{display:flex;flex-direction:column;gap:10px;margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-input)}.print-group-option-row{gap:var(--space-md)}.print-group-option-label{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;font-weight:600;color:var(--text-primary)}.print-group-option-label :global(svg){flex-shrink:0;color:var(--accent-primary)}.print-group-modal-header{position:relative;align-items:center}.print-group-help-wrap{position:relative;margin-left:auto;flex-shrink:0}.print-group-help-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--border-color);border-radius:50%;background:var(--bg-input);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.print-group-help-btn:hover,.print-group-help-btn[aria-expanded=true]{color:var(--accent-primary);border-color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 10%,var(--bg-input))}.print-group-help-tooltip{position:absolute;top:calc(100% + 8px);right:0;z-index:20;width:min(280px,calc(100vw - 48px));padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-card);box-shadow:var(--card-shadow);font-size:.8rem;line-height:1.45;color:var(--text-secondary);text-align:left;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--transition-fast),visibility var(--transition-fast)}.print-group-help-tooltip.is-visible{opacity:1;visibility:visible;pointer-events:auto}@media (hover: hover){.print-group-help-wrap:hover .print-group-help-tooltip-hover,.print-group-help-wrap:focus-within .print-group-help-tooltip-hover{opacity:1;visibility:visible;pointer-events:auto}}.print-group-list-header{display:flex;align-items:center;margin-bottom:8px;padding:0 2px}.print-group-select-all{display:inline-flex;align-items:center;gap:10px;font-size:.85rem;font-weight:700;color:var(--text-secondary);cursor:pointer}.print-group-select-all .print-group-checkbox{margin-top:0}.print-group-confirm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}.print-group-include-completed{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-secondary);cursor:pointer}.print-group-include-completed input{width:18px;height:18px;accent-color:var(--accent-primary);cursor:pointer}.print-group-toolbar{display:flex;gap:8px;margin-bottom:10px}.print-group-list{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto}.print-group-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-input);cursor:pointer}.print-group-item .print-group-checkbox{flex-shrink:0;width:18px;height:18px;margin-top:2px;accent-color:var(--accent-primary);cursor:pointer}.print-group-item-disabled .print-group-checkbox{cursor:not-allowed}.print-group-item-disabled{opacity:.5;cursor:not-allowed}.print-group-item-text{display:flex;flex-direction:column;gap:2px;min-width:0}.print-group-item-meta{font-size:.8rem;color:var(--text-muted);word-break:keep-all}.meds-groups-saving-row{margin:0 0 8px}.meds-groups-saving{color:var(--accent);font-size:.8rem}.med-group-add-row{display:flex;align-items:stretch;gap:8px;margin-bottom:12px}.med-group-add-row .plan-name-input{flex:1;min-width:0}.med-group-add-actions{display:flex;flex-shrink:0;gap:6px}.med-group-add-icon-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.med-group-list-inline{max-height:none}.med-group-list-inline .med-group-card{padding:0;overflow:hidden}.med-group-card-row{display:flex;align-items:flex-start;gap:4px}.med-group-card-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:1;min-width:0;padding:12px;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation}.med-group-card-toggle:hover{background:#ffffff0a}.med-group-toggle-main{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.med-group-preview{font-size:.8rem;color:var(--text-muted);word-break:keep-all}.med-group-toggle-end{display:flex;align-items:center;gap:6px;flex-shrink:0}.med-group-tap-hint{font-size:.75rem;color:var(--text-muted)}.med-group-chevron{display:inline-flex;align-items:center;justify-content:center;transition:transform .2s ease;flex-shrink:0}.med-group-chevron.med-group-chevron-open{transform:rotate(180deg)}.med-group-list-inline .med-group-card-actions{flex-shrink:0;display:flex;gap:4px;padding:8px 8px 0 0}.med-group-edit-row{padding:10px 12px}.med-group-expanded-body{padding:0 12px 12px;border-top:1px solid var(--border-color)}.med-group-picker-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 8px}.med-group-picker-label{margin:0;font-size:.8rem;color:var(--text-secondary);font-weight:600}.med-group-picker-hint{font-weight:400;color:var(--text-muted)}.med-group-picker-toolbar{display:flex;align-items:center;gap:6px;flex-shrink:0}.med-group-picker-save-btn:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.med-group-med-picker{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.med-group-picker-empty{width:100%;margin:0;font-size:.85rem;color:var(--text-muted);line-height:1.45}.med-group-med-chip{padding:10px 16px;min-height:44px;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);font-size:.85rem;font-family:inherit;cursor:pointer;touch-action:manipulation;transition:background .15s,border-color .15s}.med-group-med-chip:hover{border-color:var(--accent)}.med-group-med-chip-selected{background:rgba(var(--accent-rgb, 99, 102, 241),.15);border-color:var(--accent);font-weight:600}.med-group-med-chip-expired:not(.med-group-med-chip-selected){opacity:.85}.med-group-med-chip-tag{margin-left:6px;font-size:.72rem;font-weight:600;color:var(--text-muted)}.med-group-picker-unsaved{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.med-group-assigned-list{display:flex;flex-direction:column;gap:6px}.meds-ungrouped-section{margin-top:14px;border-top:1px dashed var(--border-color);padding-top:10px}.meds-ungrouped-summary{cursor:pointer;font-size:.9rem;color:var(--text-muted);font-weight:600}.meds-ungrouped-desc{font-size:.8rem;color:var(--text-muted);margin:8px 0}.slot-time-field{display:flex;flex-direction:column;gap:6px}.plan-save-row{display:flex;gap:8px;flex-wrap:wrap}.plan-name-input{flex:1;min-width:180px;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font-family:inherit}.plan-list-section{margin-top:var(--space-sm)}.plan-empty{color:var(--text-muted);font-size:.9rem;padding:12px 0}.med-group-load-status{display:flex;flex-direction:column;align-items:center;gap:10px;padding:var(--space-lg) var(--space-md);text-align:center}.med-group-load-status-title{margin:0;font-size:1rem;font-weight:700;color:var(--text-primary)}.med-group-load-status-desc{margin:0;font-size:.88rem;line-height:1.5;color:var(--text-secondary)}.med-group-load-progress-wrap{width:100%;max-width:320px;display:flex;flex-direction:column;gap:6px}.med-group-load-progress-text{margin:0;font-size:.82rem;font-weight:600;color:var(--text-secondary)}.med-group-load-current-med{margin:0;font-size:.82rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.med-group-load-success-icon{color:#25b15f}.med-group-load-error-icon{color:#dd3c3c}.med-group-load-partial-note{margin:0;font-size:.82rem;color:var(--text-muted)}.med-group-load-progress-indeterminate{position:relative;overflow:hidden}.med-group-load-progress-indeterminate .progress-bar{width:40%;animation:med-group-load-progress-slide 1.1s ease-in-out infinite}@keyframes med-group-load-progress-slide{0%{transform:translate(-120%)}to{transform:translate(320%)}}.plan-list{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto}.plan-list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-input)}.plan-item-info{display:flex;flex-direction:column;gap:2px;min-width:0}.plan-item-meta{font-size:.75rem;color:var(--text-muted)}.plan-item-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.plan-item-edit-row{display:flex;align-items:center;gap:6px;width:100%}.plan-item-edit-row .plan-name-input{flex:1;min-width:0;padding:6px 8px;font-size:.9rem}@media (max-width: 900px){.med-type-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.med-type-manage-row{grid-template-columns:auto auto 1fr 1fr}.med-type-manage-list,.slot-settings-modal .slot-manage-list{max-height:none;flex:1}}.radio-label{cursor:pointer}.radio-label input[type=radio]{display:none}.radio-custom{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:#ffffff05;color:var(--text-secondary);font-size:.8rem;font-weight:500;transition:all var(--transition-fast);text-align:center}[data-theme=light] .radio-custom{background:#00000003}.radio-custom i{width:20px;height:20px}.radio-label input[type=radio]:checked+.radio-custom{border-color:var(--accent-primary);background:#7c4dff1a;color:var(--text-primary);box-shadow:var(--glow-shadow)}.checkbox-group{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,72px),1fr));gap:8px}.checkbox-label{cursor:pointer;min-width:0}.checkbox-label input[type=checkbox]{display:none}.checkbox-custom{display:block;width:100%;min-width:0;padding:10px 4px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:#ffffff05;color:var(--text-secondary);font-size:.85rem;font-weight:600;text-align:center;transition:all var(--transition-fast);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=light] .checkbox-custom{background:#00000003}.checkbox-label input[type=checkbox]:checked+.checkbox-custom{border-color:var(--accent-primary);background:#7c4dff1a;color:var(--text-primary)}.submit-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:14px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;font-family:var(--font-body);font-weight:700;font-size:.95rem;border:none;cursor:pointer;box-shadow:var(--glow-shadow);transition:all var(--transition-fast);margin-top:10px}.submit-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.submit-btn i{width:18px;height:18px}.register-wizard .register-wizard-form{display:flex;flex-direction:column;gap:var(--space-md)}.register-step-indicator{margin:0 var(--space-md) var(--space-sm)}.register-step-list{display:flex;align-items:flex-start;justify-content:space-between;list-style:none;margin:0;padding:0;gap:4px}.register-step-item{position:relative;display:flex;flex:1;flex-direction:column;align-items:center;gap:4px;min-width:0}.register-step-dot{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:2px solid var(--border-color);background:var(--surface-secondary, var(--bg-secondary));color:var(--text-muted);font-size:.75rem;font-weight:700;transition:all var(--transition-fast)}.register-step-item-active .register-step-dot{border-color:var(--accent-primary);background:#7c4dff26;color:var(--accent-primary)}.register-step-item-done .register-step-dot{border-color:var(--accent-primary);background:var(--accent-primary);color:#fff}.register-step-label{font-size:.7rem;color:var(--text-muted);text-align:center;white-space:nowrap}.register-step-item-active .register-step-label{color:var(--text-primary);font-weight:600}.register-step-connector{position:absolute;top:14px;left:calc(50% + 16px);width:calc(100% - 32px);height:2px;background:var(--border-color);pointer-events:none}.register-step-item-done .register-step-connector{background:var(--accent-primary)}.register-step-panel{padding:0 var(--space-md);min-height:200px}.register-step-content{display:flex;flex-direction:column;gap:var(--space-md)}.register-step-title{margin:0;font-size:.95rem;font-weight:700;color:var(--text-primary)}.register-step-error{margin:var(--space-sm) 0 0;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:#ef44441f;color:#f87171;font-size:.85rem}.register-success-banner{display:flex;align-items:center;gap:var(--space-sm);margin:0 var(--space-md) var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:#22c55e1f;color:#4ade80;font-size:.85rem;font-weight:600}.register-sync-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin:0 var(--space-md) var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:#7c4dff1f;color:var(--accent-primary);font-size:.85rem;font-weight:600}.register-sync-banner-error{background:#ef44441f;color:#f87171}.register-sync-retry-btn{flex-shrink:0;padding:4px 10px;border:1px solid currentColor;border-radius:var(--radius-sm);background:transparent;color:inherit;font-family:var(--font-body);font-size:.78rem;font-weight:600;cursor:pointer}.register-schedule-presets{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.register-preset-chip{padding:6px 12px;border-radius:999px;border:1px solid var(--border-color);background:var(--surface-secondary, var(--bg-secondary));color:var(--text-secondary);font-family:var(--font-body);font-size:.8rem;cursor:pointer;transition:all var(--transition-fast)}.register-preset-chip:hover{border-color:var(--accent-primary);color:var(--text-primary)}.register-preset-chip-active{border-color:var(--accent-primary);background:#7c4dff1f;color:var(--accent-primary);font-weight:600}.register-summary{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--surface-secondary, rgba(255, 255, 255, .03))}.register-summary-row{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:flex-start;font-size:.85rem}.register-summary-label{flex:0 0 48px;color:var(--text-muted);font-weight:600}.register-summary-value{flex:1;min-width:0;color:var(--text-primary);word-break:break-word}.register-summary-type{display:inline-flex;align-items:center;gap:6px}.med-group-assign-field{display:flex;flex-direction:column;gap:var(--space-sm)}.med-group-assign-header{display:flex;align-items:center;gap:var(--space-sm);font-size:.9rem;font-weight:600;color:var(--text-primary)}.med-group-assign-options{display:flex;flex-direction:column;gap:var(--space-sm)}.med-group-assign-option{display:flex;align-items:stretch;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--surface-secondary, rgba(255, 255, 255, .02));cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.med-group-assign-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.med-group-assign-option-selected{border-color:var(--accent-primary);background:#7c4dff14}.med-group-assign-option-body{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);width:100%}.med-group-assign-name{font-weight:600;color:var(--text-primary)}.med-group-assign-count{font-size:.8rem;color:var(--text-muted)}.med-group-assign-new{display:flex;flex-direction:column;gap:var(--space-xs)}.med-group-assign-new-label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.register-step-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);border-top:1px solid var(--border-color);margin-top:var(--space-sm)}.register-nav-btn{display:inline-flex;align-items:center;gap:4px;padding:10px 16px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--surface-secondary, var(--bg-secondary));color:var(--text-primary);font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);min-height:44px}.register-nav-btn:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.register-nav-btn:disabled{opacity:.5;cursor:not-allowed}.register-nav-next{margin-left:auto;border-color:var(--accent-primary);background:#7c4dff1a;color:var(--accent-primary)}.register-nav-submit{margin-top:0;margin-left:auto;flex:1;max-width:220px}.register-wizard .submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.register-spinner{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.register-slot-list-field{display:flex;flex-direction:column;gap:var(--space-sm)}.register-slot-list-hint{margin:0}.register-slot-list{display:flex;flex-direction:column;gap:8px}.register-slot-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;min-height:52px;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:#ffffff05;transition:border-color var(--transition-fast),background var(--transition-fast)}[data-theme=light] .register-slot-row{background:#00000003}.register-slot-row-selected{border-color:var(--accent-primary);background:#7c4dff1a}.register-slot-check{display:flex;align-items:center;cursor:pointer}.register-slot-check input{position:absolute;opacity:0;width:0;height:0}.register-slot-check-box{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;border:2px solid var(--border-color);background:transparent;transition:all var(--transition-fast)}.register-slot-check input:checked+.register-slot-check-box{border-color:var(--accent-primary);background:var(--accent-primary)}.register-slot-check input:checked+.register-slot-check-box:after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}.register-slot-row-label{width:100%;min-width:0;padding:6px 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card);font-size:.95rem;font-weight:600;color:var(--text-primary);font-family:inherit;overflow:hidden;text-overflow:ellipsis}.register-slot-row-label::placeholder{color:var(--text-muted);font-weight:500}.register-slot-row-label:hover,.register-slot-row-label:focus{border-color:var(--accent-primary);outline:none}.register-slot-time-pill{display:inline-flex;align-items:center;justify-content:center;min-width:72px;min-height:36px;padding:6px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);color:var(--accent-primary);font-family:inherit;font-size:.95rem;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.register-slot-time-pill:hover,.register-slot-time-pill:focus-visible{border-color:var(--accent-primary);background:#7c4dff14;outline:none}.register-slot-row-remove{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.register-slot-row-remove:hover{color:#dd3c3c;background:#ff50501a}.register-slot-row-spacer{width:32px;height:32px;flex-shrink:0}.register-slot-add-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;margin-top:4px;padding:10px 14px;border:1px dashed var(--border-color);border-radius:var(--radius-md);background:#ffffff05;color:var(--text-secondary);font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.register-slot-add-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:#7c4dff14}[data-theme=light] .register-slot-add-btn{background:#00000003}.time-picker-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:flex;align-items:flex-end;justify-content:center;background:#0505088c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity var(--transition-normal)}.time-picker-sheet-overlay.active{opacity:1;pointer-events:auto}.time-picker-sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:transparent;cursor:default}.time-picker-sheet{position:relative;z-index:1;width:100%;max-width:480px;padding:12px var(--space-lg) calc(var(--space-lg) + env(safe-area-inset-bottom,0px));border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:1px solid var(--border-color);border-bottom:none;background:var(--bg-card);box-shadow:0 -12px 40px #00000059;animation:time-picker-sheet-up .28s ease-out}@keyframes time-picker-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.time-picker-sheet-handle{width:40px;height:4px;margin:0 auto 12px;border-radius:999px;background:var(--border-color)}.time-picker-sheet-title{margin:0 0 8px;font-size:1rem;font-weight:700;text-align:center;color:var(--text-primary)}.time-picker-sheet-preview{margin-bottom:12px;font-size:1.75rem;font-weight:700;font-variant-numeric:tabular-nums;text-align:center;color:var(--accent-primary)}.time-picker-sheet-columns{position:relative;display:flex;align-items:center;justify-content:center;gap:4px;height:220px;margin-bottom:var(--space-md)}.time-picker-sheet-highlight{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100%,280px);height:44px;border-radius:var(--radius-md);background:#7c4dff1f;border:1px solid rgba(124,77,255,.25);pointer-events:none}.time-picker-sheet-column{position:relative;z-index:1;width:72px;height:100%;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;-ms-overflow-style:none;padding:88px 0;box-sizing:border-box}.time-picker-sheet-column::-webkit-scrollbar{display:none}.time-picker-sheet-item{display:flex;align-items:center;justify-content:center;height:44px;scroll-snap-align:center;font-size:1.25rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-muted);transition:color var(--transition-fast),transform var(--transition-fast)}.time-picker-sheet-item.is-active{color:var(--text-primary);transform:scale(1.05)}.time-picker-sheet-separator{position:relative;z-index:1;font-size:1.5rem;font-weight:700;color:var(--text-primary);padding-bottom:4px}.time-picker-sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (min-width: 641px){.time-picker-sheet-overlay{align-items:center}.time-picker-sheet{border-radius:var(--radius-lg);border-bottom:1px solid var(--border-color);animation:none;transform:none}}.app-container.mobile-app .register-wizard{display:flex;flex-direction:column;min-height:calc(100dvh - 240px)}.app-container.mobile-app .register-wizard-form{flex:1;display:flex;flex-direction:column}.app-container.mobile-app .register-step-panel{flex:1}.app-container.mobile-app .register-step-nav{position:sticky;bottom:0;z-index:2;background:var(--bg-card, var(--bg-primary));padding-bottom:calc(var(--space-md) + env(safe-area-inset-bottom,0px));margin-top:auto}.app-container.mobile-app .register-slot-row{padding:10px 12px}.meds-list-wrapper{display:flex;flex-direction:column;gap:var(--space-sm);padding-right:4px}.column::-webkit-scrollbar,.meds-list-wrapper::-webkit-scrollbar,.timeline-container::-webkit-scrollbar{width:4px}.column::-webkit-scrollbar-thumb,.meds-list-wrapper::-webkit-scrollbar-thumb,.timeline-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-xl) var(--space-md);text-align:center;color:var(--text-muted)}.empty-state i{width:42px;height:42px;stroke-width:1.2px}.empty-state p{font-size:.85rem}.meds-expired-section{margin-top:var(--space-xs);border-top:1px solid var(--border-color);padding-top:var(--space-sm)}.meds-expired-summary{cursor:pointer;font-size:.8rem;color:var(--text-muted);padding:var(--space-xs) 0;-webkit-user-select:none;user-select:none;list-style:none}.meds-expired-summary::-webkit-details-marker{display:none}.meds-expired-summary:before{content:"▶";display:inline-block;margin-right:6px;font-size:.65rem;transition:transform var(--transition-fast)}.meds-expired-section[open] .meds-expired-summary:before{transform:rotate(90deg)}.meds-expired-list{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-sm)}.med-list-item-expired{opacity:.72}.med-list-item-expired:hover{opacity:.9}.med-list-item{display:flex;align-items:center;justify-content:space-between;padding:12px var(--space-md);background:#ffffff05;border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-fast)}[data-theme=light] .med-list-item{background:#00000003}.med-list-item:hover{border-color:#ffffff1f;background:#ffffff0a}[data-theme=light] .med-list-item:hover{border-color:#0000001f;background:#00000005}.med-item-info{display:flex;align-items:center;gap:var(--space-md)}.med-item-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-sm);background:#ffffff0d;color:var(--text-secondary)}[data-theme=light] .med-item-icon{background:#0000000a}.med-item-icon.pill{color:hsl(var(--color-morning))}.med-item-icon.injection{color:hsl(var(--color-bedtime))}.med-item-icon.liquid{color:hsl(var(--color-dinner))}.med-item-icon.suppository{color:#cf5994}.med-item-icon.patch{color:#e2ae12}.med-item-icon.eye-drops{color:#2985e0}.med-item-icon.ear-drops{color:#7e54d4}.med-item-icon.nasal-spray{color:#34b29d}.med-item-icon.vaginal{color:#c65379}.med-item-icon.sublingual{color:#da5a2f}.med-item-details{display:flex;flex-direction:column}.med-item-name{font-weight:600;font-size:.9rem;color:var(--text-primary)}.med-item-meta{font-size:.75rem;color:var(--text-muted);display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.med-tag{background:#ffffff0d;padding:1px 6px;border-radius:4px;font-size:.7rem;font-weight:500;color:var(--text-secondary)}[data-theme=light] .med-tag{background:#0000000a}.med-tag-times{color:var(--accent-primary);font-weight:600}.delete-med-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-xs);border-radius:4px;transition:all var(--transition-fast)}.delete-med-btn:hover{color:var(--status-danger);background:#ff17441a}.med-item-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.edit-med-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-xs);border-radius:4px;transition:all var(--transition-fast)}.edit-med-btn:hover{color:var(--accent-primary);background:#7c4dff1a}.edit-med-btn i,.delete-med-btn i{width:16px;height:16px}.med-edit-modal-card{max-width:480px}.med-edit-form-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);margin-top:var(--space-md)}.med-edit-form-actions-left,.med-edit-form-actions-right{display:flex;gap:var(--space-sm);flex-wrap:wrap}.med-edit-form-actions-right{margin-left:auto;justify-content:flex-end}.med-edit-delete-btn{color:var(--status-danger);border:1px solid color-mix(in srgb,var(--status-danger) 35%,var(--border-color));background:color-mix(in srgb,var(--status-danger) 8%,transparent)}.med-edit-delete-btn:hover:not(:disabled){background:color-mix(in srgb,var(--status-danger) 14%,transparent);border-color:color-mix(in srgb,var(--status-danger) 50%,var(--border-color))}.med-edit-date-row,.med-edit-schedule-row{gap:var(--space-sm)}.schedule-card{flex:1;min-height:min-content}.schedule-header-row{justify-content:space-between;flex-wrap:wrap}.header-left{display:flex;align-items:center;gap:var(--space-sm)}.day-switcher{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;justify-content:flex-end}#selected-date-label{font-size:.78rem;font-weight:700;min-width:0;max-width:100%;text-align:center;font-variant-numeric:tabular-nums;line-height:1.3;word-break:keep-all}.icon-btn-sm{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid var(--border-color);background:#ffffff08;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.icon-btn-sm:hover{background:#ffffff1a;color:var(--text-primary)}.icon-btn-sm i{width:16px;height:16px}.action-btn-sm{padding:4px 8px;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;border:none}.text-btn{background:none;color:var(--accent-primary)}.text-btn:hover{text-decoration:underline}.hidden{display:none!important}.timeline-container{display:flex;flex-direction:column;gap:var(--space-md);padding-right:4px}.timeline-slot{width:100%;max-width:100%;border-left:3px solid var(--border-color);padding-left:var(--space-md);margin-left:10px;transition:border-color var(--transition-normal)}.timeline-slot.has-items[data-slot=morning]{border-left-color:hsl(var(--color-morning))}.timeline-slot.has-items[data-slot=lunch]{border-left-color:hsl(var(--color-lunch))}.timeline-slot.has-items[data-slot=dinner]{border-left-color:hsl(var(--color-dinner))}.timeline-slot.has-items[data-slot=bedtime]{border-left-color:hsl(var(--color-bedtime))}.timeline-slot.has-items[data-slot=extra1]{border-left-color:hsl(var(--color-extra1))}.timeline-slot.has-items[data-slot=extra2]{border-left-color:hsl(var(--color-extra2))}.timeline-slot.has-items[data-slot=extra3]{border-left-color:hsl(var(--color-extra3))}.timeline-slot.has-items[data-slot=extra4]{border-left-color:hsl(var(--color-extra4))}.timeline-slot.is-disabled{opacity:.65;border-left-color:var(--border-color)!important}.timeline-slot.is-disabled .slot-items,.timeline-slot.is-disabled .slot-header-actions{display:none}.timeline-slot.is-disabled .slot-time-input,.timeline-slot.is-disabled .slot-label-input{pointer-events:none;opacity:.5}.timeline-slot.is-disabled .slot-header{margin-bottom:0}.slot-use-toggle{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0}.slot-use-toggle input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:hsl(var(--color-primary))}.slot-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.slot-time-info{display:flex;align-items:center;gap:var(--space-sm);flex:1;min-width:0}.slot-header-meta{display:flex;align-items:center;gap:var(--space-sm);min-width:0;flex:1}.slot-icon{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;color:#fff}.morning-slot-color{background:hsl(var(--color-morning))}.lunch-slot-color{background:hsl(var(--color-lunch))}.dinner-slot-color{background:hsl(var(--color-dinner))}.bedtime-slot-color{background:hsl(var(--color-bedtime))}.extra1-slot-color{background:hsl(var(--color-extra1))}.extra2-slot-color{background:hsl(var(--color-extra2))}.extra3-slot-color{background:hsl(var(--color-extra3))}.extra4-slot-color{background:hsl(var(--color-extra4))}.slot-icon i{width:14px;height:14px}.slot-name{font-weight:700;font-size:.95rem}.slot-label-edit-wrap{display:flex;align-items:center;gap:6px;min-width:0}.slot-label-saved{flex-shrink:0;font-size:.72rem;font-weight:600;color:#34b262;animation:slot-label-saved-fade 2s ease-out forwards}@keyframes slot-label-saved-fade{0%,15%{opacity:1}to{opacity:0}}.slot-label-input{font-weight:700;font-size:.85rem;min-width:72px;max-width:100px;padding:2px 6px;border-radius:4px;border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font-family:inherit}.slot-label-input:hover,.slot-label-input:focus{border-color:var(--accent-primary);outline:none}.slot-time,.slot-time-input{font-size:.75rem;color:var(--text-muted);font-weight:500;background:#ffffff0d;padding:1px 6px;border-radius:4px}.slot-time-input{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;font-family:inherit;min-width:88px}.slot-time-input:hover,.slot-time-input:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 2px #7c3aed26}[data-theme=light] .slot-time,[data-theme=light] .slot-time-input{background:#0000000a}.slot-count{font-size:.75rem;color:var(--text-muted);font-weight:500}.slot-header-actions{display:flex;align-items:center;gap:8px}.slot-add-btn{width:28px;height:28px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.slot-add-btn:hover{color:var(--accent-primary);border-color:var(--accent-primary);box-shadow:var(--glow-shadow)}.slot-add-btn i{width:14px;height:14px}.timeline-slot[data-slot=morning] .slot-add-btn:hover{color:hsl(var(--color-morning));border-color:hsl(var(--color-morning))}.timeline-slot[data-slot=lunch] .slot-add-btn:hover{color:hsl(var(--color-lunch));border-color:hsl(var(--color-lunch))}.timeline-slot[data-slot=dinner] .slot-add-btn:hover{color:hsl(var(--color-dinner));border-color:hsl(var(--color-dinner))}.timeline-slot[data-slot=bedtime] .slot-add-btn:hover{color:hsl(var(--color-bedtime));border-color:hsl(var(--color-bedtime))}.timeline-slot[data-slot=extra1] .slot-add-btn:hover{color:hsl(var(--color-extra1));border-color:hsl(var(--color-extra1))}.timeline-slot[data-slot=extra2] .slot-add-btn:hover{color:hsl(var(--color-extra2));border-color:hsl(var(--color-extra2))}.timeline-slot[data-slot=extra3] .slot-add-btn:hover{color:hsl(var(--color-extra3));border-color:hsl(var(--color-extra3))}.timeline-slot[data-slot=extra4] .slot-add-btn:hover{color:hsl(var(--color-extra4));border-color:hsl(var(--color-extra4))}.slot-add-modal-card{max-width:480px}.slot-add-form{margin-bottom:var(--space-md)}.compact-radio-group{flex-wrap:wrap}.compact-radio-group .radio-custom{font-size:.85rem;padding:8px 12px}.slot-add-divider{display:flex;align-items:center;gap:var(--space-sm);margin:var(--space-md) 0;color:var(--text-muted);font-size:.8rem}.slot-add-divider:before,.slot-add-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.slot-add-existing label{display:block;font-size:.85rem;font-weight:600;margin-bottom:var(--space-sm)}.slot-add-existing-row{display:flex;gap:var(--space-sm)}.slot-add-existing-row select{flex:1;min-width:0;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font-size:.9rem}.slot-add-existing-row select:disabled{opacity:.6;cursor:not-allowed}.slot-items{display:flex;flex-direction:column;gap:8px}.schedule-mobile-header{display:flex;flex-direction:column;gap:8px;padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-color);margin-bottom:var(--space-sm)}.schedule-mobile-summary{display:flex;align-items:center;gap:var(--space-md)}.schedule-mobile-summary-side{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.schedule-mobile-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.schedule-mobile-date{flex:1;min-width:0;margin:0;font-size:.92rem;font-weight:700;text-align:center;line-height:1.35;word-break:keep-all}.schedule-mobile-meta{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.schedule-mobile-progress{font-size:.78rem;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums}.schedule-mobile-today-pill{padding:4px 10px;border-radius:999px;border:1px solid var(--accent-primary);background:#7c4dff1a;color:var(--accent-primary);font-size:.72rem;font-weight:700;cursor:pointer;font-family:inherit}.slot-header-view{display:none}.schedule-mobile .slot-header-view{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:10px 12px;border:none;background:transparent;color:inherit;font-family:inherit;cursor:pointer;text-align:left;border-radius:var(--radius-md);transition:background var(--transition-fast)}.schedule-mobile .slot-header-view:active{background:#ffffff0d}[data-theme=light] .schedule-mobile .slot-header-view:active{background:#0000000a}.slot-header-title{display:flex;align-items:center;gap:6px;min-width:0;flex:1;font-weight:700;font-size:.92rem}.slot-header-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-header-sep,.slot-header-time{flex-shrink:0;color:var(--text-muted);font-weight:600;font-size:.82rem;font-variant-numeric:tabular-nums}.slot-progress{flex-shrink:0;font-size:.75rem;font-weight:700;color:var(--text-muted);font-variant-numeric:tabular-nums;padding:2px 8px;border-radius:999px;background:#ffffff0f}[data-theme=light] .slot-progress{background:#0000000d}.schedule-mobile .timeline-slot{margin-left:0;padding-left:0;border-left:none;border-radius:var(--radius-lg);overflow:hidden;background:var(--schedule-slot-neutral-bg);border:1px solid var(--border-color);transition:opacity var(--transition-normal),border-color var(--transition-fast),box-shadow var(--transition-fast)}.schedule-mobile .timeline-slot.slot-temporal-past{opacity:.55;background:var(--bg-card);border-color:var(--border-color);box-shadow:none}.schedule-mobile .timeline-slot.slot-temporal-current{border-width:2px;border-color:var(--accent-primary);box-shadow:var(--glow-shadow);opacity:1}.schedule-mobile .timeline-slot.slot-temporal-current.slot-temporal-overdue{border-color:var(--status-overdue);box-shadow:0 0 16px color-mix(in srgb,var(--status-overdue) 25%,transparent)}.schedule-mobile .timeline-slot.slot-temporal-upcoming{border-width:2px;border-color:color-mix(in srgb,var(--accent-primary) 55%,var(--border-color));opacity:1}.schedule-mobile .timeline-slot.has-items[data-slot=morning],.schedule-mobile .timeline-slot.has-items[data-slot=lunch],.schedule-mobile .timeline-slot.has-items[data-slot=dinner],.schedule-mobile .timeline-slot.has-items[data-slot=bedtime],.schedule-mobile .timeline-slot.has-items[data-slot=extra1],.schedule-mobile .timeline-slot.has-items[data-slot=extra2],.schedule-mobile .timeline-slot.has-items[data-slot=extra3],.schedule-mobile .timeline-slot.has-items[data-slot=extra4]{background:var(--schedule-slot-neutral-bg);border-color:var(--border-color)}.schedule-mobile .timeline-slot.slot-temporal-current.has-items[data-slot],.schedule-mobile .timeline-slot.slot-temporal-upcoming.has-items[data-slot]{background:var(--schedule-slot-neutral-bg)}.schedule-mobile .slot-header{margin-bottom:0;padding:4px 4px 0;gap:4px}.schedule-mobile .slot-add-btn{width:40px;height:40px;min-width:40px;min-height:40px;margin:4px 8px 8px 0;flex-shrink:0;align-self:center}.schedule-mobile .timeline-container{gap:12px}.schedule-mobile .slot-items{gap:0;padding:0 4px 4px}.schedule-item-compact{display:flex;align-items:center;gap:10px;padding:12px;border:none;border-radius:0;background:transparent;box-shadow:none;min-height:52px}.schedule-item-compact+.schedule-item-compact{border-top:1px solid var(--border-color)}.schedule-item-compact:hover{transform:none}.schedule-item-compact.has-med-group{border-left:none;background:color-mix(in srgb,var(--med-group-accent) 4%,transparent)}.schedule-item-title-row-compact{display:flex;align-items:center;gap:6px;min-width:0;width:100%}.schedule-mobile .schedule-item-type-icon{opacity:.85;flex-shrink:0}.schedule-item-compact .check-button{width:40px;height:40px;flex-shrink:0}.schedule-item-compact .check-button.pending{border-color:color-mix(in srgb,var(--accent-primary) 50%,var(--border-color));color:var(--text-muted);opacity:1}.schedule-item-compact .check-button.pending :global(svg){opacity:.35}.schedule-item-body{display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex:1;min-width:0;padding:0;border:none;background:transparent;color:inherit;font-family:inherit;text-align:left;cursor:pointer}.schedule-item-body:disabled{cursor:default}.schedule-item-compact .schedule-item-name{font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.schedule-item-caption{font-size:.74rem;color:var(--text-muted);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.schedule-item-status{flex-shrink:0;font-size:.78rem;font-weight:700;color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:44px;text-align:right}.schedule-item-status.done{color:var(--status-success)}.schedule-item-status-button{padding:4px 8px;margin:0;border:1px solid transparent;border-radius:4px;background:transparent;font:inherit;cursor:pointer;box-sizing:border-box}.schedule-item-status-button.done{border-color:#00e67673;background:#00e6761a;min-width:auto;text-align:center}.schedule-item-status-button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.schedule-item-status.pending{color:var(--status-pending);font-weight:700}.schedule-item-compact.checked .schedule-item-name{text-decoration:line-through;color:var(--text-muted)}.schedule-sheet-overlay .modal-card{max-width:420px}.schedule-sheet-card{width:100%}.schedule-sheet-body{display:flex;flex-direction:column;gap:var(--space-md)}.schedule-sheet-field{display:flex;flex-direction:column;gap:6px}.schedule-sheet-label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.schedule-sheet-input{width:100%;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font-size:.95rem;font-family:inherit}.schedule-sheet-input:focus{outline:none;border-color:var(--accent-primary)}.schedule-sheet-toggle{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:#ffffff05;cursor:pointer}.schedule-sheet-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.med-groups-mobile-header{display:flex;flex-direction:column;gap:10px;padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-color);margin-bottom:var(--space-sm)}.med-groups-mobile-title-row{display:flex;align-items:center;gap:var(--space-sm)}.med-groups-mobile-title-row h2{flex:1;margin:0;font-size:1rem}.med-groups-mobile-count{font-size:.78rem;font-weight:700;color:var(--text-muted);font-variant-numeric:tabular-nums;padding:2px 8px;border-radius:999px;background:#ffffff0f}[data-theme=light] .med-groups-mobile-count{background:#0000000d}.med-groups-mobile-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.med-groups-create-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid var(--accent-primary);background:#7c4dff1a;color:var(--accent-primary);font-size:.82rem;font-weight:700;font-family:inherit;cursor:pointer;min-height:40px}.med-groups-create-pill:disabled{opacity:.5;cursor:not-allowed}.med-groups-ungrouped-badge{font-size:.75rem;font-weight:600;color:var(--text-muted);padding:4px 10px;border-radius:999px;border:1px dashed var(--border-color)}.med-group-list-mobile{display:flex;flex-direction:column;gap:10px}.med-group-card-mobile{display:flex;align-items:center;border-left:none;border-radius:var(--radius-lg);overflow:hidden;padding:0;background:color-mix(in srgb,var(--med-group-accent, var(--bg-input)) 8%,var(--bg-input));border:1px solid color-mix(in srgb,var(--med-group-accent, var(--border-color)) 24%,var(--border-color))}.med-group-card-view{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:12px 14px;border:none;background:transparent;color:inherit;font-family:inherit;text-align:left;cursor:pointer;min-height:56px}.med-group-card-view:active{background:#ffffff0a}[data-theme=light] .med-group-card-view:active{background:#00000008}.med-group-view-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.med-group-card-mobile .med-group-name{font-size:.92rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.med-group-card-mobile .med-group-preview{font-size:.74rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.med-group-view-end{display:flex;align-items:center;gap:8px;flex-shrink:0}.med-group-card-mobile .med-group-count{font-size:.75rem;font-weight:700;color:var(--text-muted);font-variant-numeric:tabular-nums}.med-group-visibility-pill{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;margin-right:10px;padding:0;border:none;border-radius:999px;background:#ffffff0f;color:var(--accent-primary);cursor:pointer}.med-group-visibility-pill.off{opacity:.4;color:var(--text-muted)}[data-theme=light] .med-group-visibility-pill{background:#0000000d}.med-row-compact{display:flex;align-items:center;gap:10px;width:100%;padding:12px 0;border:none;background:transparent;color:inherit;font-family:inherit;text-align:left;cursor:pointer;min-height:48px}.med-row-compact+.med-row-compact{border-top:1px solid var(--border-color)}.med-row-compact-expired{opacity:.72}.med-row-compact-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:#ffffff0d;flex-shrink:0}.med-row-compact-name{flex:1;min-width:0;font-size:.9rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.med-row-compact-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.med-row-compact-times{font-size:.72rem;font-weight:600;color:var(--accent-primary)}.med-row-compact-status{font-size:.7rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.meds-ungrouped-list-compact{display:flex;flex-direction:column;gap:0;padding:4px 0}.meds-ungrouped-mobile{margin-top:12px;border-top:1px solid var(--border-color);padding-top:8px}.meds-ungrouped-mobile .meds-ungrouped-summary{font-size:.82rem;padding:8px 0}.group-create-actions{display:flex;flex-direction:column;gap:8px}.group-create-actions .submit-btn,.group-create-actions .action-btn{width:100%;justify-content:center;min-height:44px}.group-detail-body{max-height:62dvh;min-height:0;overflow:hidden}.group-detail-sheet-screen{display:flex;flex-direction:column}.group-detail-name-row{display:flex;align-items:center;gap:8px}.group-detail-inline-label{flex:0 0 auto;white-space:nowrap;font-size:.8rem;font-weight:600;color:var(--text-secondary)}.group-detail-name-input{flex:1;min-width:0;padding:8px 10px}.group-detail-toggle-row{display:flex;gap:8px}.group-detail-toggle{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:#ffffff05;cursor:pointer}.group-detail-toggle-inline{flex:1;min-width:0;padding:8px 10px}.group-detail-med-section{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0}.group-detail-empty{margin:0;font-size:.85rem;color:var(--text-muted);line-height:1.45}.group-detail-med-list{display:flex;flex-direction:column;flex:1;min-height:0;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.group-detail-med-row{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:var(--bg-input)}.group-detail-med-row+.group-detail-med-row{border-top:1px solid var(--border-color)}.group-detail-med-row-expired{opacity:.75}.group-detail-med-check{display:flex;align-items:center;flex-shrink:0;cursor:pointer;margin-top:2px}.group-detail-med-check input{position:absolute;opacity:0;width:0;height:0}.group-detail-med-check-box{width:20px;height:20px;border-radius:6px;border:2px solid var(--border-color);background:var(--bg-card);display:block}.group-detail-med-check input:checked+.group-detail-med-check-box{background:var(--accent-primary);border-color:var(--accent-primary)}.group-detail-med-check input:checked+.group-detail-med-check-box:after{content:"";display:block;width:5px;height:9px;margin:2px auto 0;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.group-detail-med-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.group-detail-med-title-row{display:flex;align-items:center;gap:8px;min-width:0}.group-detail-med-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:#ffffff0d;flex-shrink:0}.group-detail-med-name{font-size:.88rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-detail-med-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding-left:36px}.group-detail-med-times{font-size:.7rem;font-weight:600;color:var(--accent-primary)}.group-detail-med-status{font-size:.68rem;color:var(--text-muted)}.group-detail-med-actions{display:flex;flex-shrink:0;gap:4px}.group-detail-med-action-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:44px;min-height:44px;padding:4px 6px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);font-size:.68rem;font-weight:600;font-family:inherit;cursor:pointer}.group-detail-med-action-btn:disabled{opacity:.5;cursor:not-allowed}.group-detail-med-action-delete{color:#df4949;border-color:color-mix(in srgb,hsl(0,70%,58%) 35%,var(--border-color))}.group-detail-footer{justify-content:stretch}.group-detail-footer-compact{flex-direction:row;gap:8px}.group-detail-footer-btn{flex:1;min-width:0;min-height:44px;padding:10px 8px;border-radius:var(--radius-md);border:1px solid var(--border-color);font-size:.88rem;font-weight:600;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.group-detail-footer-btn:disabled{opacity:.5;cursor:not-allowed}.group-detail-footer-save{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.group-detail-footer-save:not(:disabled):hover{filter:brightness(1.08)}.group-detail-footer-cancel{background:var(--bg-card);color:var(--text-primary)}.group-detail-footer-delete{background:var(--bg-card);color:#df4949;border-color:color-mix(in srgb,hsl(0,70%,58%) 35%,var(--border-color))}.no-meds-slot{font-size:.8rem;color:var(--text-muted);padding:var(--space-sm) 0;font-style:italic;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.timeline-empty-day{justify-content:center;padding:var(--space-lg) var(--space-sm);text-align:center}.slot-add-inline-btn{border:none;background:none;color:var(--accent-primary);font-size:.8rem;font-weight:700;cursor:pointer;padding:0;font-style:normal}.slot-add-inline-btn:hover{text-decoration:underline}.schedule-item{display:flex;align-items:center;justify-content:space-between;padding:12px var(--space-md);background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-normal);position:relative;overflow:hidden}.schedule-item.has-med-group{border-left:3px solid var(--med-group-accent);background:color-mix(in srgb,var(--med-group-accent) 10%,var(--bg-input))}.schedule-item.has-med-group:hover{border-color:color-mix(in srgb,var(--med-group-accent) 45%,var(--border-color))}.schedule-item.has-med-group.checked{background:color-mix(in srgb,var(--med-group-accent) 6%,var(--bg-input))}.schedule-item:hover{transform:translate(4px);border-color:#ffffff26}[data-theme=light] .schedule-item:hover{border-color:#00000026}.schedule-item-left{display:flex;align-items:flex-start;gap:var(--space-md);flex:1;min-width:0}.schedule-item-main{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.schedule-item-title-row{display:flex;align-items:center;gap:6px;min-width:0;max-width:100%}.schedule-item-type-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;border-radius:6px;background:#ffffff0d;color:var(--text-secondary)}[data-theme=light] .schedule-item-type-icon{background:#0000000a}.schedule-item-type-icon.pill{color:hsl(var(--color-morning))}.schedule-item-type-icon.injection{color:hsl(var(--color-bedtime))}.schedule-item-type-icon.liquid{color:hsl(var(--color-dinner))}.schedule-item-type-icon.powder{color:#af57db}.schedule-item-type-icon.ointment{color:#e87d30}.schedule-item-type-icon.inhaler{color:#26bbd9}.schedule-item-type-icon.suppository{color:#cf5994}.schedule-item-type-icon.patch{color:#e2ae12}.schedule-item-type-icon.eye-drops{color:#2985e0}.schedule-item-type-icon.ear-drops{color:#7e54d4}.schedule-item-type-icon.nasal-spray{color:#34b29d}.schedule-item-type-icon.vaginal{color:#c65379}.schedule-item-type-icon.sublingual{color:#da5a2f}.schedule-item.checked .schedule-item-type-icon{opacity:.55}.med-comment-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.med-comment-btn:hover,.med-comment-btn.active{border-color:var(--accent-primary);color:var(--accent-primary);background:#7c4dff14}.tree-comment-editor,.tree-comment-view{display:flex;align-items:center;gap:6px;margin-top:2px;padding-left:2px;min-width:0}.tree-branch{flex-shrink:0;font-size:.82rem;font-weight:700;color:var(--text-muted);font-family:ui-monospace,monospace}.tree-comment-input{flex:1;min-width:0;padding:6px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font-size:.82rem}.tree-comment-text{flex:1;min-width:0;font-size:.82rem;color:var(--text-secondary);line-height:1.35;word-break:break-word}.tree-comment-action{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;flex-shrink:0}.tree-comment-action.save{color:var(--status-success);border-color:#00e67659}.tree-comment-action:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.group-day-memo-list{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-color)}.group-day-memo-section{border:1px solid color-mix(in srgb,var(--med-group-accent, var(--border-color)) 35%,var(--border-color));border-left:3px solid var(--med-group-accent, var(--border-color));border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);background:color-mix(in srgb,var(--med-group-accent, var(--bg-input)) 4%,var(--bg-input))}.group-day-memo-section.day-memo-collapsed{padding:var(--space-xs) var(--space-md)}.day-memo-toggle{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:0;border:none;background:transparent;color:inherit;font-family:inherit;font-size:inherit;text-align:left;cursor:pointer}.day-memo-toggle-title{font-size:.92rem;font-weight:700}.day-memo-chevron{margin-left:auto;flex-shrink:0;color:var(--text-muted)}.day-memo-preview{margin:4px 0 0;padding-left:24px;font-size:.78rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.day-memo-panel{margin-top:var(--space-sm)}.group-day-memo-section .day-memo-header h3{gap:8px;align-items:center}.stats-memo-group-name{display:inline-block;margin-right:6px;padding:1px 6px;border-radius:4px;font-size:.75rem;font-weight:700;color:var(--text-secondary);background:var(--bg-input)}.day-memo-section{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-color)}.day-memo-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm);flex-wrap:wrap}.day-memo-header h3{margin:0;font-size:.92rem;font-weight:700;display:flex;align-items:baseline;flex-wrap:wrap;gap:6px}.day-memo-date{font-size:.78rem;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums}.day-memo-save-toast{font-size:.78rem;font-weight:700;color:var(--status-success);padding:4px 10px;border-radius:var(--radius-xl);background:#00e6761f;animation:dayMemoToastFade 2s ease forwards}@keyframes dayMemoToastFade{0%,70%{opacity:1}to{opacity:0}}.stats-memo-archive{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-md)}.stats-memo-archive-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-sm)}.stats-memo-archive-disabled{margin-bottom:var(--space-md)}.stats-memo-group-block{padding:var(--space-md);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--med-group-accent, var(--border-color)) 35%,var(--border-color));border-left:3px solid var(--med-group-accent, var(--border-color));background:color-mix(in srgb,var(--med-group-accent, var(--bg-input)) 6%,var(--bg-input))}.stats-memo-group-head{display:flex;align-items:center;gap:8px;margin-bottom:var(--space-sm)}.stats-memo-group-title{margin:0;font-size:.92rem;font-weight:700;color:var(--text-primary)}.stats-memo-group-section+.stats-memo-group-section{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px dashed color-mix(in srgb,var(--med-group-accent, var(--border-color)) 25%,var(--border-color))}.stats-memo-group-subtitle{display:flex;align-items:center;gap:6px;margin:0 0 var(--space-sm);font-size:.82rem;font-weight:700;color:var(--text-secondary)}.stats-memo-print-btn{display:inline-flex;align-items:center;gap:6px}.stats-memo-archive-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm)}.stats-memo-archive-head .stats-memo-archive-title{margin-bottom:0}.stats-memo-sort-row{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-sm);flex-shrink:0}.stats-memo-sort{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:600;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.stats-memo-sort span{flex-shrink:0}.stats-memo-sort select{min-height:32px;padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);font-size:.78rem;white-space:nowrap;flex-shrink:0;width:auto;min-width:6.75rem;max-width:none}.stats-memo-archive-block{padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-input)}.stats-memo-archive-title{display:flex;align-items:center;gap:6px;margin:0 0 var(--space-sm);font-size:.9rem;font-weight:700;color:var(--text-primary)}.stats-memo-archive-empty{margin:0;padding:var(--space-sm);font-size:.82rem;color:var(--text-muted);text-align:center}.stats-memo-date-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm);max-height:280px;overflow-y:auto}.stats-memo-date-group,.stats-memo-day-item{padding:var(--space-sm);border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-card)}.stats-memo-date-heading{display:block;width:100%;margin:0 0 6px;padding:0;border:none;background:none;text-align:left;font-family:var(--font-heading);font-size:.82rem;font-weight:700;color:var(--accent-primary);cursor:pointer;font-variant-numeric:tabular-nums}.stats-memo-date-heading:hover{text-decoration:underline}.stats-memo-item-list{list-style:none;display:flex;flex-direction:column;gap:6px}.stats-memo-med-item{padding:8px;border-radius:var(--radius-sm);background:#7c4dff0d}.stats-memo-med-name{font-size:.85rem;font-weight:700;color:var(--text-primary)}.stats-memo-med-slot{margin-left:6px;font-size:.72rem;color:var(--text-muted)}.stats-memo-input-time{font-variant-numeric:tabular-nums;color:var(--text-secondary);font-weight:600;font-size:.78rem}.stats-memo-slot-time{margin-left:4px;font-variant-numeric:tabular-nums;color:var(--text-secondary);font-weight:600}.stats-memo-day-heading-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm);margin-bottom:6px}.stats-memo-day-heading-row .stats-memo-date-heading{margin-bottom:0;width:auto}.stats-memo-med-comment,.stats-memo-day-text{margin:4px 0 0;font-size:.82rem;line-height:1.45;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word}.stats-memo-med-comment{font-family:ui-monospace,monospace}.day-memo-textarea{width:100%;min-height:calc(8.7em + 16px);max-height:calc(8.7em + 16px);padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font-family:var(--font-body);font-size:.88rem;line-height:1.45;resize:none;overflow-y:auto}.day-memo-textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--glow-shadow)}.day-memo-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}.check-button{width:24px;height:24px;border-radius:50%;border:2px solid var(--border-color);background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:transparent;transition:all var(--transition-fast)}.check-button.pending{border-color:color-mix(in srgb,var(--accent-primary) 50%,var(--border-color));color:var(--text-muted)}.check-button.pending :global(svg){opacity:.35}.check-button i{width:14px;height:14px;stroke-width:3px}.schedule-item.checked{background:#00e67608;border-color:#00e67633}.schedule-item.checked .check-button{background:var(--status-success);border-color:var(--status-success);color:#000;box-shadow:0 0 8px #00e67666}.schedule-item.checked .schedule-item-name{text-decoration:line-through;color:var(--text-muted)}.schedule-item.checked .schedule-item-type{background:#00e6761a;color:var(--status-success)}.schedule-item-name{flex:1;min-width:0;font-weight:600;font-size:.9rem;transition:color var(--transition-fast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-item-type{font-size:.7rem;font-weight:600;padding:1px 6px;border-radius:4px;background:#ffffff0d;color:var(--text-secondary)}[data-theme=light] .schedule-item-type{background:#0000000a}.check-status-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.completed-at-row,.completed-at-edit{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.completed-at-time{font-size:.72rem;font-weight:600;color:var(--status-success);font-variant-numeric:tabular-nums;letter-spacing:.02em;padding:4px 8px;border-radius:4px;border:1px solid rgba(0,230,118,.45);background:#00e6761a;box-sizing:border-box;cursor:pointer;font-family:inherit;transition:all var(--transition-fast)}.completed-at-time:hover{border-color:#00e676b3;background:#00e67629}.completed-at-time.muted{color:var(--text-muted);border-color:var(--border-color);background:#ffffff0a;font-weight:500}.completed-at-input{font-size:.8rem;padding:4px 6px;border-radius:4px;border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font-family:inherit;min-width:88px}.completed-at-action-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.completed-at-action-btn:hover{color:var(--accent-primary);border-color:var(--accent-primary)}.completed-at-action-btn.save:hover{color:var(--status-success);border-color:var(--status-success)}.check-status-badge{font-size:.75rem;font-weight:700;color:var(--text-muted)}.schedule-item.checked .check-status-badge{color:var(--status-success)}.calendar-card{flex:none}.calendar-header-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}#calendar-month-year{font-family:var(--font-heading);font-weight:700;font-size:.9rem;font-variant-numeric:tabular-nums;text-align:center}.calendar-days-header{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:.75rem;font-weight:700;color:var(--text-muted);margin-bottom:var(--space-sm)}.calendar-days-header .weekday-sun{color:#ff5252}.calendar-days-header .weekday-sat{color:#448aff}.calendar-day.weekday-sun:not(.prev-next-month) .day-number{color:#ff5252}.calendar-day.weekday-sat:not(.prev-next-month) .day-number{color:#448aff}[data-theme=light] .calendar-day.weekday-sun:not(.prev-next-month) .day-number{color:#e53935}[data-theme=light] .calendar-day.weekday-sat:not(.prev-next-month) .day-number{color:#1e88e5}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:8px;column-gap:4px}.calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;border-radius:50%;cursor:pointer;font-size:.85rem;font-weight:600;position:relative;transition:all var(--transition-fast);border:1px solid transparent}button.calendar-day{width:100%;padding:0;margin:0;background:transparent;color:inherit;font:inherit;-moz-appearance:none;appearance:none;-webkit-appearance:none}.calendar-day-static{pointer-events:none}.calendar-day:hover{background:#ffffff0d}[data-theme=light] .calendar-day:hover{background:#00000008}.calendar-day.prev-next-month{color:var(--text-muted);opacity:.3;pointer-events:none}.calendar-day.selected{border-color:var(--accent-primary);box-shadow:var(--glow-shadow)}.day-number{z-index:1}.calendar-day:after{content:"";width:6px;height:6px;border-radius:50%;position:absolute;bottom:4px;transition:all var(--transition-fast)}.calendar-day.perfect:after{background-color:var(--status-success)}.calendar-day.partial:after{background-color:var(--status-warning)}.calendar-day.missed:after{background-color:var(--status-danger)}.calendar-day.future:after{background-color:var(--status-future)}.calendar-legend{display:flex;justify-content:center;gap:var(--space-md);margin-top:var(--space-sm);font-size:.75rem}.legend-item{display:flex;align-items:center;gap:4px;color:var(--text-secondary)}.legend-dot{width:6px;height:6px;border-radius:50%}.legend-dot.perfect{background-color:var(--status-success)}.legend-dot.partial{background-color:var(--status-warning)}.legend-dot.missed{background-color:var(--status-danger)}.legend-dot.future{background-color:var(--status-future)}.calendar-day-detail{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-color)}.calendar-day-detail-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-md)}.calendar-day-detail-header h3{font-size:.95rem;font-weight:700;color:var(--text-primary)}.calendar-day-detail-count{font-size:.75rem;font-weight:600;color:var(--text-muted)}.calendar-day-detail-empty{margin:0;padding:var(--space-md);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-secondary);font-size:.85rem;text-align:center}.calendar-day-detail-sections{display:flex;flex-direction:column;gap:var(--space-md)}.calendar-day-detail-section-title{display:flex;align-items:center;gap:6px;margin-bottom:var(--space-sm);font-size:.8rem;font-weight:700;color:var(--text-secondary)}.calendar-day-detail-section-count{margin-left:auto;min-width:1.25rem;padding:2px 6px;border-radius:var(--radius-xl);background:var(--bg-input);color:var(--text-muted);font-size:.7rem;font-weight:700;text-align:center}.calendar-day-detail-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.calendar-day-detail-item{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-input)}.calendar-day-detail-med{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.calendar-day-detail-med-info{display:flex;flex-direction:column;gap:2px;min-width:0}.calendar-day-detail-med-name{font-size:.9rem;font-weight:700;color:var(--text-primary)}.calendar-day-detail-med-type{font-size:.72rem;color:var(--text-muted)}.calendar-day-detail-slots{list-style:none;display:flex;flex-direction:column;gap:4px}.calendar-day-detail-slot{display:grid;grid-template-columns:minmax(56px,auto) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:var(--space-sm);padding:6px 8px;border-radius:var(--radius-sm);background:#ffffff08;font-size:.72rem}[data-theme=light] .calendar-day-detail-slot{background:#00000008}.calendar-day-detail-slot.checked{background:#00e67614}.calendar-day-detail-slot-label{font-weight:700;color:var(--text-primary)}.calendar-day-detail-slot-time{color:var(--text-muted);font-variant-numeric:tabular-nums}.calendar-day-detail-slot-done{justify-self:end;color:var(--status-success);font-weight:600}.calendar-day-detail-slot-pending{justify-self:end;color:var(--text-muted);font-weight:600}.calendar-day-detail-section[data-status=missed] .calendar-day-detail-slot:not(.checked){background:#ff17440f}.calendar-day-detail-section[data-status=partial] .calendar-day-detail-slot:not(.checked){background:#ffb3000f}.stats-range-panel{margin-bottom:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-input)}.stats-range-title{margin:0 0 var(--space-sm);font-size:.9rem;font-weight:700;color:var(--text-primary)}.stats-range-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-sm);margin-bottom:var(--space-md)}.stats-range-field{display:flex;flex-direction:column;gap:4px;flex:1 1 120px;min-width:0;font-size:.72rem;font-weight:600;color:var(--text-secondary)}.stats-range-field input[type=date]{width:100%;min-height:40px;padding:8px 10px;font-size:.85rem}.stats-range-separator{align-self:center;padding-bottom:10px;color:var(--text-muted);font-weight:700}.stats-range-sync-btn{flex:0 0 auto;min-height:40px;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);font-family:var(--font-body);font-size:.78rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.stats-range-sync-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.stats-range-period{margin:0 0 var(--space-md);font-size:.82rem;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums;line-height:1.4;word-break:keep-all}.stats-range-error{margin:0;font-size:.82rem;color:var(--status-danger)}.stats-range-counters{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm);margin-bottom:var(--space-md)}@media (min-width: 480px){.stats-range-counters{grid-template-columns:repeat(4,1fr)}}.stats-range-counter{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-sm);border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-card)}.stats-range-counter-label{font-size:.72rem;font-weight:600;color:var(--text-secondary)}.stats-range-counter-value{font-family:var(--font-heading);font-size:1.35rem;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.stats-range-counter-unit{font-size:.68rem;color:var(--text-muted)}.stats-range-counter.completed .stats-range-counter-value{color:var(--status-success)}.stats-range-counter.missed .stats-range-counter-value{color:var(--status-danger)}.stats-range-counter.scheduled .stats-range-counter-value{color:var(--text-muted)}.stats-range-counter.compliance .stats-range-counter-value{color:var(--accent-primary)}.stats-med-breakdowns{display:flex;flex-direction:column;gap:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--border-color)}.stats-med-breakdown-title{margin:0 0 var(--space-sm);font-size:.82rem;font-weight:700;color:var(--text-secondary)}.stats-med-breakdown-empty{margin:0;padding:var(--space-sm);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-muted);font-size:.8rem;text-align:center}.stats-med-breakdown-list{list-style:none;display:flex;flex-direction:column;gap:6px}.stats-med-breakdown-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-card)}.stats-med-breakdown.completed .stats-med-breakdown-item{background:#00e6760d}.stats-med-breakdown.missed .stats-med-breakdown-item{background:#ff17440d}.stats-med-breakdown-name{min-width:0;font-size:.88rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-med-breakdown-count{flex-shrink:0;font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums}.stats-med-breakdown.completed .stats-med-breakdown-count{color:var(--status-success)}.stats-med-breakdown.missed .stats-med-breakdown-count{color:var(--status-danger)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.stat-box{background:#ffffff05;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:12px;display:flex;flex-direction:column;justify-content:center}[data-theme=light] .stat-box{background:#00000003}.stat-box.full-width{grid-column:span 2}.stat-title{font-size:.75rem;font-weight:500;color:var(--text-muted)}.stat-number{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-top:4px}.radial-stat-container{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-sm)}.stat-percentage-circle{position:relative;width:70px;height:70px;flex-shrink:0}.circular-chart{display:block;width:100%;height:100%}.circle-bg{fill:none;stroke:#ffffff0d;stroke-width:3.2}[data-theme=light] .circle-bg{stroke:#0000000d}.circle{fill:none;stroke-width:3.2;stroke-linecap:round;stroke:var(--status-success);transition:stroke-dasharray var(--transition-slow)}.percentage-inner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-heading);font-size:.95rem;font-weight:700}.stat-compliance-desc p{font-size:.7rem;line-height:1.4;color:var(--text-muted)}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#050508bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:400;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity var(--transition-normal)}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;margin:0;border:none;background:transparent;cursor:default;z-index:0}.modal-overlay>:not(.modal-backdrop){position:relative;z-index:1}.modal-card{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:0 20px 50px #00000080;border-radius:var(--radius-lg);width:90%;max-width:500px;padding:var(--space-xl);position:relative;transform:scale(.9);transition:transform var(--transition-normal);display:flex;flex-direction:column;gap:var(--space-md)}.modal-overlay.active .modal-card{transform:scale(1)}.modal-close-btn{position:absolute;top:var(--space-md);right:var(--space-md);font-size:1.8rem;background:none;border:none;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);line-height:1}.modal-close-btn:hover{color:var(--text-primary)}.modal-header{display:flex;align-items:center;gap:var(--space-sm);color:var(--accent-primary)}.modal-header h2{font-size:1.25rem;color:var(--text-primary)}.modal-desc{font-size:.85rem;color:var(--text-secondary);margin-bottom:var(--space-sm)}.modal-body{display:flex;flex-direction:column;gap:var(--space-md)}.slot-manage-section{padding:12px;border-radius:var(--radius-md);background:#ffffff05;border:1px solid var(--border-color)}[data-theme=light] .slot-manage-section{background:#00000003}.slot-manage-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm)}.slot-manage-list{display:flex;flex-direction:column;gap:8px}.slot-manage-row{display:grid;grid-template-columns:1fr auto auto auto;gap:8px;align-items:center;padding:8px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-input)}.slot-manage-row.is-disabled{opacity:.55}.slot-manage-label,.slot-manage-time{padding:8px 10px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);font-size:.9rem;font-family:inherit}.slot-manage-enabled{display:flex;align-items:center;gap:4px;font-size:.8rem;white-space:nowrap;color:var(--text-secondary)}.slot-manage-delete:disabled{opacity:.35;cursor:not-allowed}.alarm-settings-modal-card{max-width:640px}@media (max-width: 640px){.slot-manage-row{grid-template-columns:1fr 1fr}.slot-manage-enabled,.slot-manage-delete{justify-self:start}}.setting-time-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md)}.time-field{display:flex;flex-direction:column;gap:6px}.time-field label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.setting-subtitle{font-size:.85rem;font-weight:700;color:var(--text-secondary);margin-bottom:var(--space-sm)}.setting-extra-labels{padding:12px;border-radius:var(--radius-md);background:#ffffff05;border:1px solid var(--border-color)}[data-theme=light] .setting-extra-labels{background:#00000003}.extra-label-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.label-field{display:flex;flex-direction:column;gap:6px}.label-field label{font-size:.75rem;font-weight:600;color:var(--text-muted)}.label-field input{padding:8px 10px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font-size:.9rem;font-family:inherit}.label-field input:focus{border-color:var(--accent-primary);outline:none}.setting-audio-row,.setting-notify-row{display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:var(--radius-md);background:#ffffff05;border:1px solid var(--border-color)}[data-theme=light] .setting-audio-row,[data-theme=light] .setting-notify-row{background:#00000003}.alarm-sound-picker{margin:0;padding:12px;border-radius:var(--radius-md);background:#ffffff05;border:1px solid var(--border-color)}.alarm-sound-picker:disabled{opacity:.5;pointer-events:none}.alarm-sound-picker-label{font-size:.85rem;font-weight:600;color:var(--text-primary);padding:0 4px}.alarm-sound-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-top:10px}.alarm-sound-option{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:#ffffff08;cursor:pointer;font-size:.85rem;font-weight:500;transition:border-color .15s,background .15s}.alarm-sound-option:has(input:checked){border-color:#ff174499;background:#ff17441f}.alarm-sound-option input{accent-color:var(--status-danger)}[data-theme=light] .alarm-sound-picker{background:#00000003}[data-theme=light] .alarm-sound-option{background:#00000005}.toggle-control-label{display:flex;align-items:center;justify-content:space-between;width:100%;cursor:pointer;position:relative}.control-desc{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.toggle-control-label input[type=checkbox]{display:none}.toggle-slider{width:44px;height:24px;background:var(--border-color);border-radius:12px;position:relative;transition:background var(--transition-fast)}.toggle-slider:after{content:"";width:18px;height:18px;border-radius:50%;background:#fff;position:absolute;top:3px;left:3px;transition:transform var(--transition-fast)}.toggle-control-label input[type=checkbox]:checked+.toggle-slider{background:var(--status-success)}.toggle-control-label input[type=checkbox]:checked+.toggle-slider:after{transform:translate(20px)}.permission-status{font-size:.75rem;font-weight:500;color:var(--text-muted)}.permission-status.allowed{color:var(--status-success)}.permission-status.denied{color:var(--status-danger)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-sm);border-top:1px solid var(--border-color);padding-top:var(--space-md);margin-top:var(--space-sm)}.small-btn{padding:6px 12px;font-size:.8rem}#alarm-trigger-overlay{background:#050508f2;z-index:200}#alarm-trigger-overlay.alarm-trigger-active{animation:alarmScreenFlash .5s steps(2) infinite}@media (prefers-reduced-motion: reduce){#alarm-trigger-overlay.alarm-trigger-active{animation:none;background:#ff174426;box-shadow:inset 0 0 0 3px #ff174480}}.alarm-alert-card{background:#121420e6;border:2px solid rgba(255,23,68,.4);box-shadow:0 0 50px #ff17444d;border-radius:var(--radius-lg);width:90%;max-width:450px;padding:var(--space-xl);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);animation:alarmGlowPulse 2s infinite alternate}.alarm-pulsing-rings{position:relative;width:100px;height:100px;display:flex;align-items:center;justify-content:center;margin-bottom:10px}.alarm-bell-icon{width:42px;height:42px;color:var(--status-danger);z-index:2;animation:bellWobble .5s infinite}.ring{position:absolute;width:100%;height:100%;border-radius:50%;border:2px solid var(--status-danger);opacity:0;animation:ringPulse 2s infinite linear}.ring-1{animation-delay:0s}.ring-2{animation-delay:.6s}.ring-3{animation-delay:1.2s}.alarm-alert-card h2{font-size:1.6rem;color:var(--text-primary)}.alarm-time-display{font-family:var(--font-heading);font-size:1.2rem;font-weight:700;color:var(--text-muted);background:#ffffff0d;padding:4px 16px;border-radius:var(--radius-md)}.alarm-meds-list{width:100%;display:flex;flex-direction:column;gap:10px;max-height:200px;overflow-y:auto}.alarm-med-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#ffffff0a;border:1px solid var(--border-color);border-radius:var(--radius-md)}.alarm-med-left{display:flex;align-items:center;gap:10px}.alarm-med-left i{width:18px;height:18px}.alarm-med-left.pill i{color:hsl(var(--color-morning))}.alarm-med-left.injection i{color:hsl(var(--color-bedtime))}.alarm-med-name{font-weight:600;font-size:.95rem}.alarm-med-type-badge{font-size:.75rem;padding:1px 6px;border-radius:4px;background:#ffffff14}.alarm-actions{display:flex;flex-direction:column;gap:10px;width:100%}.large-btn{width:100%;padding:14px;font-size:1rem}@keyframes ringPulse{0%{transform:scale(.6);opacity:.8}to{transform:scale(1.6);opacity:0}}@keyframes bellWobble{0%,to{transform:rotate(0)}15%{transform:rotate(-15deg)}30%{transform:rotate(13deg)}45%{transform:rotate(-10deg)}60%{transform:rotate(8deg)}75%{transform:rotate(-4deg)}}@keyframes alarmGlowPulse{0%{box-shadow:0 0 30px #ff174433}to{box-shadow:0 0 60px #ff174480}}@keyframes alarmScreenFlash{0%{background:#ff1744eb}50%{background:#050508fa}to{background:#ff1744eb}}@media (max-width: 1200px){html,body{height:auto;overflow-y:auto}.app-container{height:auto;max-height:none;overflow:visible;min-height:100vh;min-height:100dvh}.app-main{grid-template-columns:1fr;grid-template-rows:auto;overflow:visible;min-height:auto}.schedule-column{order:1}.register-column{order:2}.stats-column{order:3;grid-column:span 1;display:flex;flex-direction:column;gap:var(--space-md);min-height:auto;overflow-y:visible}.column{min-height:auto;overflow-y:visible;overscroll-behavior:auto}.calendar-day{max-width:48px;max-height:48px;margin-inline:auto;width:100%}}@media (min-width: 769px) and (max-width: 1200px) and (max-aspect-ratio: 4/3){.app-header{flex-wrap:wrap}.header-summary-card{flex:1 1 100%;max-width:none;margin:0}}@media (max-width: 768px){.app-header{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);margin:var(--space-sm) 0}.logo-area{flex-shrink:0}.logo-area .logo-text{display:none}.logo-icon{width:40px;height:40px}.header-summary-card{flex:1 1 auto;min-width:64px;max-width:none;margin:0;padding:6px 8px;gap:4px}.summary-label,.summary-value-full{display:none}.summary-value-compact{display:inline;font-size:.8rem;font-variant-numeric:tabular-nums}.summary-info{justify-content:flex-end}.progress-bar-container{height:6px}.header-actions{flex:0 0 auto;flex-wrap:nowrap;gap:4px;justify-content:flex-end;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:min(58vw,280px)}.header-actions::-webkit-scrollbar{display:none}.header-actions .header-icon-btn{flex-shrink:0;padding:8px;gap:0;min-width:40px;width:40px}.header-actions .header-icon-btn .header-btn-label,.header-actions .user-info-chip .header-btn-label{display:none}.header-actions .user-info-chip{flex-shrink:0;padding:8px;min-width:40px}.header-actions .icon-btn{flex-shrink:0;width:40px;height:40px;min-width:40px}.form-row{flex-direction:column;gap:4px}.form-row-med-schedule{flex-direction:row;flex-wrap:nowrap;gap:var(--space-sm)}.checkbox-group{grid-template-columns:repeat(2,minmax(0,1fr))}.med-type-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.schedule-card:not(.schedule-mobile) .slot-header{flex-wrap:nowrap;align-items:center;gap:6px}.schedule-card:not(.schedule-mobile) .slot-time-info{flex:1;flex-wrap:nowrap;min-width:0;gap:6px}.schedule-card:not(.schedule-mobile) .slot-header-meta{flex:1;flex-wrap:nowrap;min-width:0;gap:6px}.schedule-card:not(.schedule-mobile) .slot-use-toggle{flex-shrink:0;gap:2px}.schedule-card:not(.schedule-mobile) .slot-header-actions{flex-shrink:0;width:auto;justify-content:flex-end;gap:6px}.schedule-card:not(.schedule-mobile) .slot-label-input{flex:0 1 auto;min-width:0;max-width:5em;overflow:hidden;text-overflow:ellipsis}.schedule-card:not(.schedule-mobile) .slot-time-input{flex-shrink:0;min-width:72px;width:auto}.schedule-card:not(.schedule-mobile) .slot-count{white-space:nowrap;font-size:.7rem}.schedule-card:not(.schedule-mobile) .slot-label-saved{display:none}.schedule-card:not(.schedule-mobile) .timeline-slot{margin-left:0;padding-left:var(--space-sm)}.timeline-container{min-width:0;max-width:100%}.column{min-width:0;max-width:100%;padding-right:0}.schedule-header-row .day-switcher{padding-right:0}.schedule-card:not(.schedule-mobile) .schedule-item{flex-wrap:wrap;align-items:flex-start;gap:var(--space-xs) var(--space-sm);max-width:100%;min-width:0;padding:12px var(--space-md)}.schedule-card:not(.schedule-mobile) .schedule-item-left{flex:1 1 auto;min-width:0;max-width:100%}.schedule-card:not(.schedule-mobile) .check-status-wrap{flex:1 1 100%;max-width:100%;min-width:0;align-items:flex-end;padding-left:calc(24px + var(--space-md));padding-right:0}.completed-at-row,.completed-at-edit{flex-wrap:wrap;justify-content:flex-end;max-width:100%}.setting-time-row{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-overlay{align-items:flex-end;padding:0}.modal-card{width:100%;max-width:none;max-height:min(92dvh,calc(100dvh - env(safe-area-inset-top,0px)));border-radius:var(--radius-lg) var(--radius-lg) 0 0;margin:0;padding:var(--space-lg) var(--space-md);padding-bottom:calc(var(--space-lg) + env(safe-area-inset-bottom,0px));overflow:hidden}.modal-body{flex:1;min-height:0;max-height:58dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.modal-footer{flex-shrink:0;flex-direction:column-reverse;gap:8px}.modal-footer .action-btn{width:100%;justify-content:center;min-height:44px}.group-detail-footer-compact{flex-direction:row}.group-detail-sheet-overlay.modal-overlay{align-items:stretch;justify-content:stretch;padding:0;background:var(--bg-app);backdrop-filter:none;-webkit-backdrop-filter:none}.group-detail-sheet-overlay .modal-backdrop{display:none}.group-detail-sheet-screen{display:flex;flex-direction:column;width:100%;max-width:none;height:100dvh;max-height:100dvh;border:none;border-radius:0;box-shadow:none;overflow:hidden;gap:0;margin:0;padding:calc(var(--space-md) + env(safe-area-inset-top,0px)) var(--space-md) 0;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--bg-app);transform:none}.group-detail-sheet-overlay.active .group-detail-sheet-screen{transform:none}.group-detail-sheet-screen .modal-header{flex-shrink:0}.group-detail-sheet-screen .group-detail-body{flex:1;min-height:0;max-height:none;overflow:hidden}.group-detail-sheet-screen .group-detail-med-list{max-height:none;overflow-y:auto;flex:1;min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.group-detail-sheet-screen .modal-footer{flex-shrink:0;margin-top:var(--space-sm);padding-top:var(--space-sm);padding-bottom:calc(var(--space-md) + env(safe-area-inset-bottom,0px))}.med-edit-modal-overlay.modal-overlay{align-items:stretch;justify-content:stretch;padding:0;background:var(--bg-app);backdrop-filter:none;-webkit-backdrop-filter:none}.med-edit-modal-overlay .modal-backdrop{display:none}.med-edit-modal-overlay .med-edit-modal-card{display:flex;flex-direction:column;width:100%;max-width:none;height:100dvh;max-height:100dvh;border:none;border-radius:0;box-shadow:none;overflow:hidden;gap:0;margin:0;padding:calc(var(--space-md) + env(safe-area-inset-top,0px)) var(--space-md) 0;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--bg-app);transform:none}.med-edit-modal-overlay.active .med-edit-modal-card{transform:none}.med-edit-modal-overlay .modal-header{flex-shrink:0;margin-bottom:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid color-mix(in srgb,var(--border-color) 70%,transparent)}.med-edit-modal-overlay .modal-close-btn{top:calc(var(--space-md) + env(safe-area-inset-top,0px));right:var(--space-md);width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:var(--bg-card);border:1px solid color-mix(in srgb,var(--border-color) 85%,transparent)}.med-edit-modal-overlay .modal-body{flex:1;min-height:0;max-height:none;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:calc(var(--space-md) + env(safe-area-inset-bottom,0px))}.med-edit-modal-overlay .med-edit-form-actions{flex-direction:column;gap:10px;margin-top:var(--space-lg)}.med-edit-modal-overlay .med-edit-form-actions-left,.med-edit-modal-overlay .med-edit-form-actions-right{width:100%;margin-left:0;flex-direction:column}.med-edit-modal-overlay .med-edit-form-actions .action-btn{width:100%;min-height:48px;justify-content:center;border-radius:14px;touch-action:manipulation}.med-detail-sheet-overlay.modal-overlay{align-items:stretch;justify-content:stretch;padding:0;background:var(--bg-app);backdrop-filter:none;-webkit-backdrop-filter:none}.med-detail-sheet-overlay .modal-backdrop{display:none}.med-detail-sheet-overlay .schedule-sheet-card{display:flex;flex-direction:column;width:100%;max-width:none;height:100dvh;max-height:100dvh;border:none;border-radius:0;box-shadow:none;overflow:hidden;gap:0;margin:0;padding:calc(var(--space-md) + env(safe-area-inset-top,0px)) var(--space-md) 0;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--bg-app);transform:none}.med-detail-sheet-overlay.active .schedule-sheet-card{transform:none}.med-detail-sheet-overlay .modal-header{flex-shrink:0;margin-bottom:var(--space-sm);padding-bottom:var(--space-sm);padding-right:calc(44px + var(--space-sm));border-bottom:1px solid color-mix(in srgb,var(--border-color) 70%,transparent)}.med-detail-sheet-overlay .modal-close-btn{top:calc(var(--space-md) + env(safe-area-inset-top,0px));right:var(--space-md);width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:var(--bg-card);border:1px solid color-mix(in srgb,var(--border-color) 85%,transparent)}.med-detail-sheet-overlay .schedule-sheet-body{flex:1;min-height:0;max-height:none;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-top:var(--space-md)}.med-detail-sheet-overlay .schedule-sheet-input{min-height:48px;font-size:1rem;padding:12px 14px}.med-detail-sheet-overlay .schedule-sheet-row{flex-direction:column;align-items:stretch;gap:10px}.med-detail-sheet-overlay .schedule-sheet-row .action-btn,.med-detail-sheet-overlay .schedule-sheet-row .submit-btn{width:100%;min-height:48px;justify-content:center;border-radius:14px;touch-action:manipulation}.med-detail-sheet-overlay .modal-footer{flex-shrink:0;margin-top:var(--space-sm);padding-top:var(--space-sm);padding-bottom:calc(var(--space-md) + env(safe-area-inset-bottom,0px))}.med-detail-sheet-overlay .modal-footer .action-btn{width:100%;min-height:48px;justify-content:center;border-radius:14px;touch-action:manipulation}.med-list-manage-modal,.med-group-load-modal,.print-group-select-modal{max-width:none}.med-group-load-modal .plan-list{max-height:none}.med-group-load-modal .plan-list-item{align-items:flex-start}.med-group-load-modal .med-group-load-select-btn,.med-group-load-modal .modal-footer .action-btn{min-height:44px;touch-action:manipulation}.print-group-list{max-height:none}.print-group-item{min-height:48px;align-items:center;touch-action:manipulation}.print-group-item .print-group-checkbox{width:22px;height:22px;margin-top:0}.print-group-help-tooltip{right:0;left:auto}.meds-groups-card .card-header-with-action{flex-wrap:wrap}.meds-groups-card .card-header h2{flex:1 1 auto;min-width:0}.med-group-add-row .med-group-add-icon-btn{min-width:44px;min-height:44px;width:44px;height:44px}.med-group-list-inline .icon-btn-sm{min-width:44px;min-height:44px}.meds-groups-card:not(.med-groups-mobile) .med-group-toggle-end .med-group-tap-hint{display:none}.meds-groups-card:not(.med-groups-mobile) .med-group-card-row{flex-wrap:wrap;align-items:stretch}.meds-groups-card:not(.med-groups-mobile) .med-group-card-toggle{flex:1 1 calc(100% - 54px);min-width:0}.meds-groups-card:not(.med-groups-mobile) .med-group-list-inline .med-group-card-actions{flex:1 1 100%;order:3;justify-content:flex-end;padding:0 8px 8px;margin-left:0}.meds-groups-card:not(.med-groups-mobile) .med-group-toggle-main{flex-direction:row;flex-wrap:wrap;align-items:center;gap:2px 8px}.meds-groups-card:not(.med-groups-mobile) .med-group-name-row{flex:1 1 auto;width:auto;max-width:100%}.meds-groups-card:not(.med-groups-mobile) .med-group-count{flex-shrink:0;white-space:nowrap}.meds-groups-card:not(.med-groups-mobile) .med-group-preview{flex:1 1 100%}.print-preview-overlay .modal-card{max-height:96dvh}.print-preview-overlay .print-preview-frame-wrap{min-height:200px}.print-preview-overlay .print-preview-actions{flex-direction:column-reverse}.print-preview-overlay .print-preview-actions .action-btn{width:100%;min-height:44px;justify-content:center}}@media (max-width: 360px){.schedule-card:not(.schedule-mobile) .slot-header{gap:4px}.schedule-card:not(.schedule-mobile) .slot-time-info,.schedule-card:not(.schedule-mobile) .slot-header-meta{gap:4px}.schedule-card:not(.schedule-mobile) .slot-label-input{max-width:4em;font-size:.8rem;padding:2px 4px}.schedule-card:not(.schedule-mobile) .slot-time-input{min-width:64px;font-size:.7rem;padding:1px 4px}.schedule-card:not(.schedule-mobile) .slot-count{font-size:.65rem}.schedule-card:not(.schedule-mobile) .slot-use-text{font-size:.65rem}.schedule-mobile .slot-icon{width:22px;height:22px}.schedule-mobile-date{font-size:.84rem}.schedule-item-compact{padding:10px;gap:8px}}.auth-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:var(--space-md);background-color:var(--bg-app);background-image:radial-gradient(at 10% 20%,rgba(124,77,255,.08) 0px,transparent 50%),radial-gradient(at 90% 80%,rgba(0,242,254,.08) 0px,transparent 50%)}.auth-screen.hidden{display:none}.auth-card{position:relative;width:100%;max-width:420px;padding:var(--space-xl);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--card-shadow)}.auth-login-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);border-radius:inherit;background:color-mix(in srgb,var(--bg-card) 72%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.auth-login-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}.auth-login-overlay-text{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary)}.auth-login-fieldset{display:flex;flex-direction:column;gap:var(--space-md);margin:0;padding:0;border:none;min-inline-size:0}.auth-tab:disabled{opacity:.6;cursor:not-allowed}.auth-link-btn:disabled{opacity:.6;cursor:not-allowed}.auth-brand{text-align:center;margin-bottom:var(--space-lg)}.auth-brand h1{font-size:1.75rem;margin-top:var(--space-sm);background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-brand p{color:var(--text-secondary);font-size:.9rem}.auth-logo-icon{width:56px;height:56px;margin:0 auto;font-size:1.5rem}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);margin-bottom:var(--space-lg);padding:4px;background:var(--bg-input);border-radius:var(--radius-md);border:1px solid var(--border-color)}.auth-tab{padding:10px 16px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.auth-tab.active{background:var(--accent-primary);color:#fff;box-shadow:var(--glow-shadow)}.auth-form{display:flex;flex-direction:column;gap:var(--space-md)}.auth-form.hidden{display:none}.auth-remember-label{display:inline-flex;align-items:center;gap:var(--space-sm);margin-top:-4px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.85rem;color:var(--text-secondary)}.auth-remember-label input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.auth-remember-box{width:18px;height:18px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-input);flex-shrink:0;position:relative;transition:all var(--transition-fast)}.auth-remember-label input[type=checkbox]:checked+.auth-remember-box{border-color:var(--accent-primary);background:var(--accent-primary)}.auth-remember-label input[type=checkbox]:checked+.auth-remember-box:after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.auth-remember-label:hover .auth-remember-box{border-color:var(--accent-primary)}.auth-submit-btn{width:100%;margin-top:var(--space-xs)}.auth-login-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);flex-wrap:wrap}.auth-link-btn{border:none;background:none;padding:0;color:var(--accent-primary);font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.auth-link-btn:hover{color:var(--text-primary)}.auth-back-btn{display:inline-flex;align-items:center;gap:4px;margin-bottom:var(--space-sm);text-decoration:none}.auth-forgot-panel{display:flex;flex-direction:column}.auth-forgot-title{margin:0 0 var(--space-sm);font-size:1.1rem;font-weight:700;color:var(--text-primary)}.auth-forgot-desc{margin:0 0 var(--space-sm);font-size:.85rem;color:var(--text-secondary);line-height:1.5}.auth-password-hint{margin:0}.auth-success{margin:0;color:#34b262;font-size:.85rem;line-height:1.4}.auth-dev-hint{margin:0;padding:8px 10px;border-radius:var(--radius-md);background:#7c4dff1a;border:1px dashed var(--accent-primary);color:var(--text-secondary);font-size:.82rem}.auth-error{color:var(--status-danger);font-size:.85rem;line-height:1.4;margin:0}.auth-error.hidden{display:none}.user-info-chip{display:flex;align-items:center;gap:var(--space-sm);padding:8px 14px;border-radius:var(--radius-xl);background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-secondary);font-size:.85rem;font-weight:500}.user-info-chip i{width:18px;height:18px;color:var(--accent-primary)}.app-version-badge{position:fixed;top:var(--space-md);right:var(--space-md);z-index:250;padding:6px 12px;border-radius:var(--radius-xl);border:1px solid var(--border-color);background:var(--bg-header);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));color:var(--text-secondary);font-family:var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--card-shadow)}.app-version-badge:hover{color:var(--accent-primary);border-color:var(--accent-primary);box-shadow:var(--glow-shadow)}.changelog-modal-card{max-width:560px;max-height:85vh}.changelog-modal-body{overflow:hidden;display:flex;flex-direction:column;min-height:0}.changelog-list{display:flex;flex-direction:column;gap:var(--space-md);overflow-y:auto;max-height:60vh;padding-right:4px}.changelog-item{padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-input)}.changelog-item.is-current{border-color:var(--accent-primary);box-shadow:var(--glow-shadow)}.changelog-item-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-xs)}.changelog-item-version{font-family:var(--font-heading);font-size:.95rem;font-weight:700;color:var(--accent-primary)}.changelog-item-date{font-size:.75rem;color:var(--text-muted)}.changelog-item-summary{font-size:.85rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-sm)}.changelog-item-changes{margin:0;padding-left:1.2rem;font-size:.8rem;color:var(--text-secondary);line-height:1.5}.changelog-item-changes li{margin-bottom:4px}.changelog-item-changes li:last-child{margin-bottom:0}.native-app{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:300;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:10px 8px calc(10px + env(safe-area-inset-bottom,0px));background:var(--bg-header);border-top:1px solid var(--border-color);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.mobile-nav-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:60px;padding:6px 4px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:.62rem;font-weight:600;line-height:1.15;text-align:center;cursor:pointer;transition:all var(--transition-fast)}.mobile-nav-item span{max-width:100%;word-break:keep-all;overflow-wrap:anywhere}.mobile-nav-item.active{color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 14%,transparent)}.mobile-nav-item.active:before{content:"";position:absolute;top:0;left:20%;right:20%;height:3px;border-radius:0 0 3px 3px;background:var(--accent-primary)}.mobile-server-settings{margin-bottom:var(--space-lg);padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-input);display:flex;flex-direction:column;gap:var(--space-sm)}.mobile-server-header{display:flex;align-items:center;gap:var(--space-sm);font-size:.85rem;font-weight:600;color:var(--text-primary)}.mobile-server-desc{margin:0;font-size:.78rem;color:var(--text-secondary);line-height:1.4}.mobile-server-settings input{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);font-size:16px}.mobile-server-saved{margin:0;font-size:.8rem;color:var(--status-success)}.app-container.mobile-app{padding-right:calc(var(--space-md) + env(safe-area-inset-right,0px))}.app-container.mobile-app .app-main{min-width:0;max-width:100%;overflow-x:hidden}.app-container.mobile-app .person-bar,.app-container.mobile-app .schedule-card{width:100%;max-width:100%;box-sizing:border-box;padding:var(--space-sm) var(--space-lg)}.app-container.mobile-app .schedule-column{min-width:0;max-width:100%;overflow-x:hidden}.app-container.mobile-app .schedule-card{overflow-x:hidden}.app-container.mobile-app .app-header{padding-top:calc(var(--space-md) + env(safe-area-inset-top,0px));margin-bottom:0}.app-container.mobile-app .person-bar{margin-top:0;margin-bottom:var(--space-sm)}.app-container.mobile-app .action-btn,.app-container.mobile-app .submit-btn,.app-container.mobile-app .icon-btn{min-height:44px}.app-container.mobile-app .header-actions .header-btn-label,.app-container.mobile-app .summary-label,.app-container.mobile-app .summary-value-full,.app-container.mobile-app .logo-area .logo-text{display:none}.app-container.mobile-app .summary-value-compact{display:inline}.app-container.mobile-app .app-header{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:var(--space-sm)}.app-container.mobile-app .header-summary-card{flex:1 1 auto;min-width:64px;margin:0}.app-container.mobile-app .header-actions{flex-wrap:nowrap;gap:4px;max-width:min(58vw,280px);overflow-x:auto}.app-container.mobile-app .mobile-bottom-nav{display:grid}.mobile-expand-fab-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:240;border:none;padding:0;background:#00000047;cursor:pointer;animation:mobile-fab-backdrop-in var(--transition-fast) ease}[data-theme=light] .mobile-expand-fab-backdrop{background:#0f14282e}.mobile-expand-fab{position:fixed;right:calc(var(--space-md) + env(safe-area-inset-right,0px));bottom:calc(78px + env(safe-area-inset-bottom,0px));z-index:250;display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none}.mobile-expand-fab-menu{display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}.mobile-expand-fab.expanded .mobile-expand-fab-menu{pointer-events:auto}.mobile-expand-fab-action{display:flex;align-items:center;gap:10px;padding:0;border:none;background:transparent;cursor:pointer;opacity:0;transform:translateY(12px) scale(.92);pointer-events:none;transition:opacity var(--transition-fast),transform var(--transition-fast);transition-delay:calc((2 - var(--fab-action-index)) * 40ms)}.mobile-expand-fab.expanded .mobile-expand-fab-action{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;transition-delay:calc(var(--fab-action-index) * 45ms)}.mobile-expand-fab-action-label{padding:8px 12px;border-radius:999px;background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--card-shadow);color:var(--text-primary);font-size:.82rem;font-weight:700;white-space:nowrap;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.mobile-expand-fab-action-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--bg-card);border:1px solid var(--border-color);color:var(--accent-primary);box-shadow:var(--card-shadow)}.mobile-expand-fab-action:active .mobile-expand-fab-action-icon,.mobile-expand-fab-action:active .mobile-expand-fab-action-label{transform:scale(.97)}.mobile-expand-fab-main{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border:none;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;box-shadow:0 8px 24px color-mix(in srgb,var(--accent-primary) 45%,transparent);cursor:pointer;pointer-events:auto;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.mobile-expand-fab-main:active{transform:scale(.96)}.mobile-expand-fab.expanded .mobile-expand-fab-main{box-shadow:0 4px 16px color-mix(in srgb,var(--accent-primary) 35%,transparent)}@keyframes mobile-fab-backdrop-in{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.action-btn,.submit-btn,.icon-btn{min-height:44px}.alarm-actions .large-btn{min-height:52px;font-size:1rem}.alarm-alert-card{margin:var(--space-md);width:calc(100% - var(--space-md) * 2)}}.pwa-install-banner{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:900;width:min(560px,calc(100vw - 32px));pointer-events:none}.pwa-install-banner-content{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto}.pwa-install-banner-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff}.pwa-install-banner-text{flex:1;min-width:0}.pwa-install-banner-text strong{display:block;font-size:.95rem;margin-bottom:2px}.pwa-install-banner-text p{margin:0;font-size:.82rem;color:var(--text-secondary);line-height:1.4}.pwa-install-banner-text p :global(svg){display:inline;vertical-align:-2px}.pwa-install-banner-actions{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.pwa-install-banner-dismiss{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer}.pwa-install-banner-dismiss:hover{background:var(--bg-hover);color:var(--text-primary)}.pwa-install-banner-mobile{bottom:calc(88px + env(safe-area-inset-bottom,0px))}.pwa-install-ios-hint{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:var(--text-primary)}.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh;background:var(--bg-primary)}.admin-sidebar{display:flex;flex-direction:column;border-right:1px solid var(--border-color);background:var(--bg-card);padding:var(--space-md);gap:var(--space-lg)}.admin-sidebar-brand{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0}.admin-sidebar-logo{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--accent-primary);color:#fff;font-weight:800;font-size:.75rem}.admin-sidebar-brand strong{display:block;font-size:.95rem}.admin-sidebar-brand span{font-size:.75rem;color:var(--text-muted)}.admin-sidebar-nav{display:flex;flex-direction:column;gap:4px;flex:1}.admin-sidebar-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:.9rem;font-weight:600;cursor:pointer;text-align:left;transition:background var(--transition-fast)}.admin-sidebar-item:hover,.admin-sidebar-item.active{background:#00b0ff1a;color:var(--accent-primary)}.admin-sidebar-foot{padding-top:var(--space-md);border-top:1px solid var(--border-color);font-size:.8rem}.admin-sidebar-foot p{margin:0;font-weight:600}.admin-sidebar-foot span{color:var(--text-muted)}.admin-main{display:flex;flex-direction:column;min-width:0;padding-bottom:env(safe-area-inset-bottom,0)}.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-color);background:var(--bg-card);position:sticky;top:0;z-index:10}.admin-topbar-title{margin:0;font-size:1.2rem}.admin-topbar-actions{display:flex;gap:var(--space-sm)}.admin-content{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg)}.admin-mobile-nav{display:none}.admin-kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md)}.admin-kpi-card{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-card);color:var(--accent-primary)}.admin-kpi-card>div{display:flex;flex-direction:column;gap:2px}.admin-kpi-value{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1.1}.admin-kpi-label{font-size:.78rem;color:var(--text-secondary)}.admin-chart-panel{padding:var(--space-md)}.admin-chart-panel h2{margin:0 0 var(--space-md);font-size:1rem}.admin-chart-legend{display:flex;gap:var(--space-md);margin-bottom:var(--space-sm);font-size:.75rem}.admin-chart-legend-signup:before,.admin-chart-legend-active:before{content:"";display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:middle}.admin-chart-legend-signup:before{background:var(--accent-primary)}.admin-chart-legend-active:before{background:var(--status-success)}.admin-chart{display:flex;align-items:flex-end;gap:3px;height:120px;overflow-x:auto;padding-bottom:4px}.admin-chart-col{flex:1 0 8px;min-width:8px;height:100%;display:flex;align-items:flex-end}.admin-chart-bars{display:flex;gap:2px;align-items:flex-end;width:100%;height:100%}.admin-chart-bar{flex:1;min-height:2px;border-radius:2px 2px 0 0;transition:height .2s ease}.admin-chart-bar.signup{background:var(--accent-primary);opacity:.85}.admin-chart-bar.active{background:var(--status-success);opacity:.75}.admin-chart-empty{margin:0;color:var(--text-muted);font-size:.85rem}.admin-overview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.admin-overview-card{padding:var(--space-md)}.admin-overview-card h3{margin:0 0 var(--space-sm);font-size:.9rem}.admin-overview-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.admin-overview-list li{display:flex;justify-content:space-between;font-size:.85rem}.admin-workspace{display:grid;grid-template-columns:1fr;gap:var(--space-md);min-height:400px}.admin-workspace.has-drawer{grid-template-columns:1fr 360px}.admin-workspace-main{min-width:0;display:flex;flex-direction:column;gap:var(--space-md)}.admin-user-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.admin-user-search{flex:1 1 180px;min-width:0;min-height:40px;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font-size:.9rem}.admin-user-toolbar select{min-height:40px;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font-size:.82rem}.admin-user-list{display:flex;flex-direction:column;gap:6px;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.admin-user-row{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:4px 12px;width:100%;padding:12px 14px;border:none;border-bottom:1px solid var(--border-color);background:var(--bg-card);text-align:left;cursor:pointer;transition:background var(--transition-fast)}.admin-user-row:last-child{border-bottom:none}.admin-user-row:hover{background:var(--bg-hover, rgba(255,255,255,.03))}.admin-user-row.selected{background:#00b0ff14;box-shadow:inset 3px 0 0 var(--accent-primary)}.admin-user-row-main{grid-column:1;display:flex;flex-direction:column;gap:2px;min-width:0}.admin-user-row-name{font-weight:700;font-size:.9rem;color:var(--text-primary)}.admin-user-row-username{font-size:.78rem;color:var(--text-muted)}.admin-user-row-badges{grid-column:2;grid-row:1 / 3;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.admin-user-row-meta{grid-column:1;display:flex;flex-wrap:wrap;gap:8px;font-size:.75rem;color:var(--text-muted)}.admin-detail-drawer{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);display:flex;flex-direction:column;max-height:calc(100vh - 140px);position:sticky;top:80px;animation:adminDrawerIn .2s ease}@keyframes adminDrawerIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.admin-detail-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-md);border-bottom:1px solid var(--border-color)}.admin-detail-header h2{margin:0;font-size:1.05rem}.admin-detail-header p{margin:4px 0 0;font-size:.82rem;color:var(--text-muted)}.admin-detail-body{padding:var(--space-md);overflow-y:auto;flex:1}.admin-detail-dl{margin:0;display:flex;flex-direction:column;gap:10px}.admin-detail-dl>div{display:grid;grid-template-columns:110px 1fr;gap:8px;font-size:.82rem}.admin-detail-dl dt{color:var(--text-muted);font-weight:600}.admin-detail-dl dd{margin:0;color:var(--text-primary);word-break:break-word}.admin-detail-section h3{margin:var(--space-md) 0 var(--space-sm);font-size:.85rem}.admin-detail-login-list{list-style:none;margin:0;padding:0;font-size:.78rem;display:flex;flex-direction:column;gap:6px}.admin-detail-login-list li{display:flex;justify-content:space-between;gap:8px;color:var(--text-secondary)}.admin-detail-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);padding:var(--space-md);border-top:1px solid var(--border-color)}.admin-audit-section{padding:var(--space-md)}.admin-audit-list{display:flex;flex-direction:column;gap:var(--space-sm)}.admin-audit-item{padding:12px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-input);font-size:.82rem}.admin-audit-item-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.admin-audit-item-head time{font-size:.75rem;color:var(--text-muted)}.admin-audit-ip{color:var(--text-muted);font-size:.75rem}.admin-audit-payload{margin:6px 0 0;padding:8px;border-radius:var(--radius-sm);background:var(--bg-card);font-size:.72rem;overflow-x:auto}.admin-toast-stack{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;max-width:360px}.admin-toast{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--status-success);box-shadow:0 8px 24px #00000026;font-size:.85rem;color:var(--text-primary)}.admin-toast-error{border-color:var(--status-danger);color:var(--status-danger)}.admin-toast-close{margin-left:auto;border:none;background:none;color:var(--text-muted);cursor:pointer;padding:0}.admin-skeleton{min-height:56px;background:linear-gradient(90deg,var(--bg-input) 25%,var(--bg-hover, rgba(255,255,255,.05)) 50%,var(--bg-input) 75%);background-size:200% 100%;animation:adminShimmer 1.2s infinite;border-radius:var(--radius-sm)}@keyframes adminShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.admin-temp-password-box{display:flex;align-items:center;gap:8px;padding:12px;border-radius:var(--radius-sm);background:var(--bg-input);border:1px solid var(--border-color)}.admin-temp-password-box code{flex:1;font-size:.95rem;word-break:break-all}.admin-user-loading,.admin-user-empty{margin:0;padding:var(--space-md);color:var(--text-muted);font-size:.9rem}.admin-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:600;background:var(--bg-input);color:var(--text-secondary)}.admin-badge-admin{background:#00b0ff26;color:var(--accent-primary)}.admin-badge-suspended{background:#ffb30026;color:#ffb300}.admin-badge-deleted{background:#ff17441f;color:var(--status-danger)}.admin-user-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-md);font-size:.85rem;color:var(--text-secondary)}.admin-action-modal{max-width:440px}.admin-action-target{margin:0 0 var(--space-md);font-size:.9rem}.admin-action-field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-md);font-size:.82rem;font-weight:600;color:var(--text-secondary)}.admin-action-field input{min-height:40px;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font-weight:400}.admin-action-hint{margin:0 0 var(--space-sm);font-size:.8rem;color:var(--text-muted);line-height:1.5}.admin-action-warning{margin:0 0 var(--space-sm);font-size:.85rem;color:var(--status-danger);line-height:1.5}.admin-action-error{margin:var(--space-sm) 0 0;font-size:.82rem;color:var(--status-danger)}.danger-btn{background:var(--status-danger)!important;border-color:var(--status-danger)!important}@media (max-width: 900px){.admin-shell{grid-template-columns:1fr;padding-bottom:72px}.admin-sidebar{display:none}.admin-mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--bg-card);border-top:1px solid var(--border-color);padding-bottom:env(safe-area-inset-bottom,0);z-index:100}.admin-mobile-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border:none;background:none;color:var(--text-muted);font-size:.7rem;font-weight:600;cursor:pointer}.admin-mobile-nav-item.active{color:var(--accent-primary)}.admin-kpi-strip{grid-template-columns:repeat(2,1fr)}.admin-overview-grid,.admin-workspace.has-drawer{grid-template-columns:1fr}.admin-detail-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;max-height:none;border-radius:0}.admin-toast-stack{left:16px;right:16px;bottom:88px;max-width:none}}@media (max-width: 480px){.admin-content{padding:var(--space-md)}.admin-topbar-actions .header-btn-label,.admin-topbar-actions span{display:none}}.med-group-load-spinner.svelte-1669yf9{display:inline-flex;animation:svelte-1669yf9-med-group-load-spin .8s linear infinite;color:var(--accent-primary)}.med-group-load-confirm.svelte-1669yf9{display:flex;flex-direction:column;gap:10px}.med-group-load-confirm-meds.svelte-1669yf9{margin:0;font-size:.88rem;line-height:1.5;color:var(--text-secondary);word-break:keep-all}.med-group-load-start-row.svelte-1669yf9{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;margin-top:4px}.med-group-load-start-row.svelte-1669yf9 label:where(.svelte-1669yf9){flex:0 0 auto;margin:0;font-size:.88rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.med-group-load-start-row.svelte-1669yf9 .calendar-date-input{flex:1 1 auto;min-width:0;max-width:min(100%,240px)}@media (max-width: 768px){.med-group-load-start-row.svelte-1669yf9 .calendar-date-input{max-width:none}}@keyframes svelte-1669yf9-med-group-load-spin{to{transform:rotate(360deg)}}.group-detail-load-prev-btn.svelte-1m99byw{display:inline-flex;align-items:center;gap:6px;margin-bottom:10px}.group-detail-prev-label.svelte-1m99byw{margin:12px 0 6px;padding-top:8px;border-top:1px solid var(--border);font-size:.82rem;font-weight:600;color:var(--text-secondary)}.group-detail-empty-hint.svelte-1m99byw{margin-top:8px}.print-preview-modal-card.svelte-119k9l{width:min(96vw,980px);max-height:92vh;display:flex;flex-direction:column}.print-preview-frame-wrap.svelte-119k9l{flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:8px;background:#fff;padding:8px}.print-preview-frame.svelte-119k9l{width:100%;min-height:240px;border:none;background:#fff;display:block}@media (max-width: 768px){.print-preview-modal-card.svelte-119k9l{width:100%;max-height:96dvh}}.print-preview-actions.svelte-119k9l{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.confirm-modal.svelte-luwh7y{max-width:360px}.confirm-modal-message.svelte-luwh7y{margin:0;font-size:.95rem;line-height:1.5;color:var(--text-secondary);word-break:keep-all}.app-loading.svelte-1n46o8q{display:flex;align-items:center;justify-content:center;min-height:100vh}.loading-spinner.svelte-1n46o8q{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:svelte-1n46o8q-spin .8s linear infinite}@keyframes svelte-1n46o8q-spin{to{transform:rotate(360deg)}}.mobile-main.svelte-1n46o8q{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.mobile-panel.svelte-1n46o8q{min-height:calc(100dvh - 240px)}
