: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}[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}*{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:column;gap:6px}.summary-info{display:flex;justify-content:space-between;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}.person-search-row{display:flex;align-items:center;gap:var(--space-sm);padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-input)}.person-search-row i{width:16px;height:16px;color:var(--text-muted)}.person-search-row input{flex:1;border:none;background:transparent;color:var(--text-primary);font-size:.9rem;outline:none}.person-list{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow-y:auto;margin:var(--space-md) 0}.person-list-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-input);transition:all var(--transition-fast)}.person-list-item.active{border-color:var(--accent-primary);box-shadow:var(--glow-shadow)}.person-item-name{font-weight:700;font-size:.95rem}.person-item-memo{display:block;font-size:.75rem;color:var(--text-secondary);margin-top:2px}.person-item-meta{font-size:.7rem;color:var(--text-muted);margin-top:4px}.person-item-actions{display:flex;gap:4px;flex-shrink:0}.person-empty{padding:var(--space-lg);text-align:center;color:var(--text-muted);font-size:.85rem}.person-form-section{border-top:1px solid var(--border-color);padding-top:var(--space-md)}.person-form-section h3{font-size:.95rem;margin-bottom:var(--space-sm)}.person-form-actions{display:flex;justify-content:flex-end;gap:var(--space-sm)}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-manage-btn{margin-left:auto;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}input[type=text],input[type=password],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=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)}.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-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}.med-type-manage-row{display:grid;grid-template-columns: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)}.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,.plan-manage-modal{max-width:640px}.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}.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 1fr 1fr}}.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}.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}.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-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:flex-end;gap:var(--space-sm);margin-top:var(--space-md)}.schedule-card{flex:1;min-height:min-content}.schedule-header-row{justify-content:space-between}.header-left,.day-switcher{display:flex;align-items:center;gap:var(--space-sm)}#selected-date-label{font-size:.85rem;font-weight:700;min-width:80px;text-align:center}.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-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-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}.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}.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:hover{transform:translate(4px);border-color:#ffffff26}[data-theme=light] .schedule-item:hover{border-color:#00000026}.schedule-item-left{display:flex;align-items:center;gap:var(--space-md)}.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 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{font-weight:600;font-size:.9rem;transition:color var(--transition-fast)}.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:2px 6px;border-radius:4px;border:1px solid transparent;background:#00e67614;cursor:pointer;font-family:inherit;transition:all var(--transition-fast)}.completed-at-time:hover{border-color:#00e67659;background:#00e67624}.completed-at-time.muted{color:var(--text-muted);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:1rem}.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-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)}.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:100;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}.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-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}}@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}.checkbox-group{grid-template-columns:repeat(2,minmax(0,1fr))}.med-type-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.slot-header{flex-wrap:wrap;gap:var(--space-sm)}.slot-time-info{flex:1 1 100%;flex-wrap:wrap}.slot-header-actions{flex:1 1 auto;width:100%;justify-content:space-between}.slot-label-input{flex:1 1 auto;min-width:0;max-width:none}.timeline-slot{margin-left:0;padding-left:var(--space-sm)}.schedule-item{flex-wrap:wrap;gap:var(--space-sm)}.setting-time-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.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{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-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-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(4,1fr);gap:4px;padding:8px 8px calc(8px + 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{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:52px;padding:6px 4px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:.7rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.mobile-nav-item.active{color:var(--accent-primary);background:#7c4dff1f}.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 .app-header{padding-top:calc(var(--space-md) + env(safe-area-inset-top,0px))}.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}@media (max-width: 768px){.mobile-bottom-nav{display:grid}.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)}}@media (min-width: 769px){.mobile-bottom-nav{display:none}}.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;border:1px solid var(--border);border-radius:8px;background:#fff;padding:8px}.print-preview-frame.svelte-119k9l{width:100%;aspect-ratio:297 / 210;min-height:360px;border:none;background:#fff}.print-preview-actions.svelte-119k9l{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.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(72px + env(safe-area-inset-bottom,0px))}.mobile-panel.svelte-1n46o8q{min-height:calc(100vh - 220px);min-height:calc(100dvh - 220px)}
