@import "https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap";@import "https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined";.elderly-toggle{border-radius:var(--radius-full);color:var(--color-text-on-primary);cursor:pointer;transition:all var(--transition-fast);font-size:var(--font-size-sm);background:#ffffff1a;border:1px solid #ffffff4d;align-items:center;gap:8px;padding:6px 12px;display:flex}.elderly-toggle:hover{background:#fff3}.elderly-toggle--active{background:#ffffff40;border-color:#ffffff80}.elderly-toggle__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap}.elderly-toggle__switch{width:36px;height:20px;transition:background var(--transition-fast);background:#ffffff4d;border-radius:10px;position:relative}.elderly-toggle__switch--on{background:var(--color-success)}.elderly-toggle__knob{width:16px;height:16px;transition:transform var(--transition-fast);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.elderly-toggle__switch--on .elderly-toggle__knob{transform:translate(16px)}.offline-banner{background:var(--color-warning);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:center;z-index:var(--z-toast);justify-content:center;align-items:center;gap:8px;padding:10px 16px;animation:.3s slideDown;display:flex;position:fixed;top:0;left:0;right:0}.pwa-prompt{left:0;right:0;bottom:calc(var(--bottom-nav-height) + var(--space-2));z-index:250;padding:0 var(--space-2);pointer-events:none;justify-content:center;display:flex;position:fixed}.pwa-prompt__card{pointer-events:auto;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-2);gap:var(--space-2);flex-direction:column;width:100%;max-width:480px;display:flex}.pwa-prompt__header{align-items:flex-start;gap:var(--space-2);display:flex}.pwa-prompt__icon-container{background:rgba(var(--color-primary-rgb), .08);border-radius:var(--radius-full);justify-content:center;align-items:center;width:42px;min-width:42px;height:42px;display:flex}.pwa-prompt__icon{color:var(--color-primary);font-size:24px}.pwa-prompt__text-container{flex-direction:column;gap:4px;display:flex}.pwa-prompt__title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.pwa-prompt__desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.4}.pwa-prompt__actions{justify-content:flex-end;gap:var(--space-1);display:flex}.pwa-prompt__btn-dismiss{color:var(--color-text-secondary);text-transform:none;font-weight:var(--font-weight-regular)}.pwa-prompt__btn-dismiss:hover{background:var(--color-bg-input);color:var(--color-text-primary)}.pwa-prompt__btn-install{background:var(--color-primary);color:var(--color-text-on-primary);font-weight:var(--font-weight-bold);text-transform:none}.pwa-prompt__btn-install:hover{background:var(--color-primary-light)}[data-elderly-mode=true] .pwa-prompt__icon-container{width:52px;min-width:52px;height:52px}[data-elderly-mode=true] .pwa-prompt__icon{font-size:28px}[data-elderly-mode=true] .pwa-prompt__card{border-width:2px;max-width:540px}.pwa-prompt__instructions{gap:var(--space-2);margin-top:var(--space-1);flex-direction:column;display:flex}.pwa-prompt__instruction-step{font-size:var(--font-size-sm);color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:4px;margin:0;line-height:1.5;display:flex}.pwa-prompt__inline-icon{color:var(--color-primary);vertical-align:middle;background:rgba(var(--color-primary-rgb), .08);border-radius:var(--radius-sm);align-items:center;padding:2px;font-size:18px;display:inline-flex}.share-modal{max-width:450px!important}.share-description{color:var(--color-text-secondary);background-color:var(--color-surface-hover);border-radius:12px;margin-bottom:24px;padding:16px;font-size:14px;line-height:1.5}.share-description strong{color:var(--color-text-primary)}.share-form{flex-direction:column;gap:16px;display:flex}.modal-footer{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.modal-footer .btn{min-width:120px}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-header{height:var(--header-height);background:rgba(var(--color-primary-rgb), .9);-webkit-backdrop-filter:blur(10px);color:var(--color-text-on-primary);padding:0 var(--space-3);z-index:var(--z-sticky);box-shadow:var(--shadow-md);transition:top var(--transition-fast), margin-top var(--transition-fast);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.app-header__row-one,.app-header__row-two{display:contents}.app-header__left{align-items:center;gap:var(--space-2);margin-right:auto;display:flex}.patient-selector-container~.accessibility-toggle-container{margin-left:var(--space-2)}.app-logo{align-items:center;gap:var(--space-1);display:flex}.app-logo__text{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);letter-spacing:-.02em}.patient-selector-container{align-items:center;gap:var(--space-2);margin-left:var(--space-4);margin-right:auto;display:flex}.patient-chip{border-radius:var(--radius-full);color:var(--color-text-on-primary);cursor:pointer;font-size:var(--font-size-sm);transition:background var(--transition-fast);background:#ffffff26;border:1px solid #ffffff40;align-items:center;gap:6px;padding:6px 12px;display:flex}.patient-chip:hover{background:#ffffff40}.patient-chip__name{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.accessibility-toggle-container{align-items:center;margin-left:auto;display:flex}.user-profile-container{align-items:center;gap:var(--space-1);margin-left:var(--space-3);color:var(--color-text-on-primary);display:flex}.user-profile-container .material-icons{font-size:24px}.user-menu__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.user-actions-container{align-items:center;gap:var(--space-2);margin-left:var(--space-3);display:flex}.app-main{padding:var(--space-3);padding-bottom:calc(var(--bottom-nav-height) + var(--space-2));flex:1;margin-top:0}.app-content{max-width:var(--content-max-width);margin:0 auto;animation:.3s fadeIn}.app-bottom-nav{height:var(--bottom-nav-height);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--color-divider);z-index:var(--z-sticky);background:#ffffffd9;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #00000014}.bottom-nav__item{color:var(--color-text-hint);font-size:11px;font-weight:var(--font-weight-medium);transition:color var(--transition-fast);flex-direction:column;align-items:center;gap:2px;min-width:56px;padding:6px 12px;text-decoration:none;display:flex}.bottom-nav__item .material-icons{font-size:24px}.bottom-nav__item--active{color:var(--color-primary)}.bottom-nav__label{font-size:var(--font-size-xs)}@media (width<=850px){.app-header{height:auto;padding:var(--space-2) var(--space-3);row-gap:var(--space-2);grid-template-columns:1fr;grid-template-areas:"row-one""row-two";display:grid}.app-header__row-one{justify-content:flex-start;align-items:center;gap:var(--space-2);grid-area:row-one;width:100%;display:flex}.app-header__row-two{justify-content:flex-end;align-items:center;gap:var(--space-2);grid-area:row-two;width:100%;display:flex}.app-header__left{margin-right:0}.app-logo__text{display:none}.patient-selector-container{margin-left:0;margin-right:0}.accessibility-toggle-container{margin-left:0}.user-profile-container{align-items:center;gap:var(--space-1);color:var(--color-text-on-primary);margin-left:0;display:flex}.user-menu__name{max-width:80px}.user-actions-container{margin-left:0}.app-main{margin-top:0}}@media (width<=480px){.app-header{padding-left:var(--space-2);padding-right:var(--space-2)}.patient-chip__name{max-width:80px}}[data-theme=dark] .app-bottom-nav{border-top-color:var(--color-border);background:#1e1e1eeb;box-shadow:0 -2px 10px #0000004d}[data-theme=dark] .app-header{background:rgba(var(--color-primary-rgb), .95)}.login-page{min-height:100vh;padding:var(--space-3);background:linear-gradient(135deg,#1a237eeb 0%,#0d1642f2 100%),url(https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?auto=format&fit=crop&w=1920&q=80) 50%/cover no-repeat;justify-content:center;align-items:center;display:flex;position:relative}.login-bg-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:absolute;inset:0}.login-card{z-index:1;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--space-5) var(--space-4);width:100%;max-width:420px;position:relative}.login-logo{text-align:center;margin-bottom:var(--space-4)}.login-title{font-size:var(--font-size-2xl);color:var(--color-primary);margin-top:var(--space-1);margin-bottom:4px}.login-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.1em}.login-form{gap:var(--space-2);flex-direction:column;display:flex}.login-footer{text-align:center;margin-top:var(--space-3)}.login-link{color:var(--color-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.login-link:hover{color:var(--color-secondary-dark);text-decoration:underline}.demo-banner{border-radius:var(--radius-md);color:#e65100;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--space-2);background:#fff3e0;border:1px solid #ffb74d;justify-content:center;align-items:center;gap:6px;padding:10px;display:flex}.patient-select-page{max-width:700px;padding:var(--space-4) var(--space-2);margin:0 auto}.patient-select-header{text-align:center;margin-bottom:var(--space-4)}.patient-select-header h1{margin-top:var(--space-1);margin-bottom:4px}.patient-select-empty{text-align:center;padding:var(--space-6) var(--space-3)}.patient-select-empty h3{margin-top:var(--space-2);margin-bottom:var(--space-1)}.patient-grid{gap:var(--space-2);flex-direction:column;display:flex}.patient-card{align-items:center;gap:var(--space-2);text-align:left;cursor:pointer;width:100%;transition:all var(--transition-normal);background:var(--color-surface);border:2px solid #0000;display:flex}.patient-card:hover{border-color:var(--color-primary)}.patient-card__avatar{border-radius:var(--radius-full);background:rgba(var(--color-primary-rgb), .1);flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.patient-card__avatar .material-icons{color:var(--color-primary);font-size:28px}.patient-card__info{flex:1}.patient-card__name{font-size:var(--font-size-lg);margin-bottom:2px}.patient-card__meta{font-size:var(--font-size-sm);color:var(--color-text-secondary);align-items:center;gap:6px;display:flex}.patient-card__dot{font-size:8px}.patient-card__arrow{color:var(--color-text-hint);font-size:28px}.form-page{animation:.3s fadeIn}.page-header{margin-bottom:var(--space-2)}.page-header h1{align-items:center;gap:var(--space-1);display:flex}.register-form{gap:var(--space-2);padding:var(--space-3) 0;flex-direction:column;max-width:600px;display:flex}@media (width<=480px){.form-row{grid-template-columns:1fr}}.classification-preview{align-items:center;gap:var(--space-1);padding:12px var(--space-2);border-radius:var(--radius-md);font-size:var(--font-size-base);border:2px solid;animation:.2s fadeIn;display:flex}.optional-fields{gap:var(--space-2);padding:var(--space-2);background:var(--color-bg-input);border-radius:var(--radius-md);flex-direction:column;display:flex}.chart-container{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-2);box-shadow:var(--shadow-sm);margin-bottom:var(--space-2)}.history-section{padding:var(--space-2) 0}.history-list{gap:var(--space-1);flex-direction:column;display:flex}.history-item{align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-fast);display:flex}.history-item:hover{box-shadow:var(--shadow-sm)}.history-item__icon{border-radius:var(--radius-full);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.history-item__info{flex:1}.history-item__info strong{font-size:var(--font-size-base)}.history-item__info p{font-size:var(--font-size-xs);margin-top:2px}.toggle-row{justify-content:space-between;align-items:center;padding:12px 0;display:flex}.toggle-switch{background:var(--color-border);cursor:pointer;width:48px;height:26px;transition:background var(--transition-fast);border:none;border-radius:13px;position:relative}.toggle-switch--on{background:var(--color-success)}.toggle-switch__knob{width:20px;height:20px;transition:transform var(--transition-fast);box-shadow:var(--shadow-xs);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.toggle-switch--on .toggle-switch__knob{transform:translate(22px)}.med-timeline{gap:var(--space-2);flex-direction:column;display:flex}.med-item{align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);border-left:4px solid var(--color-border);display:flex}.med-item--taken{border-left-color:var(--color-success);opacity:.7}.med-item--missed{border-left-color:var(--color-error)}.med-item--pending{border-left-color:var(--color-warning)}.med-item__time{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);min-width:60px}.med-item__info{flex:1}.med-item__name{font-weight:var(--font-weight-medium);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.med-item__dosage{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.med-group-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-3);border:1px solid var(--color-border);transition:transform var(--transition-normal), box-shadow var(--transition-normal);overflow:hidden}.med-group-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.med-group-card__header{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);background:#1a237e0a;justify-content:space-between;align-items:center;display:flex}.med-group-card__time{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary);align-items:center;gap:8px;display:flex}.med-group-card__time .material-icons{color:var(--color-primary);font-size:22px}.med-group-card__count{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);background:var(--color-surface);border-radius:var(--radius-full);border:1px solid var(--color-border);padding:2px 10px}.med-group-card__items{flex-direction:column;display:flex}.med-group-card .med-item{border:none;border-bottom:1px solid var(--color-divider);box-shadow:none;padding:var(--space-2) var(--space-3);transition:background var(--transition-fast);background:0 0;border-left:4px solid #0000;border-radius:0}.med-group-card .med-item:last-child{border-bottom:none}.med-group-card .med-item:hover{background:#00000003}.med-group-card .med-item--taken{border-left-color:var(--color-success);opacity:.65}.med-group-card .med-item--missed{border-left-color:var(--color-error);background:#f4433603}.med-group-card .med-item--missed:hover{background:#f4433608}.med-group-card .med-item--pending{border-left-color:var(--color-warning)}.med-item__icon-wrapper{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.med-item__icon-wrapper--comprimido,.med-item__icon-wrapper--capsula{color:#2e7d32;background:#4caf501a}.med-item__icon-wrapper--insulina,.med-item__icon-wrapper--injetavel{color:#1565c0;background:#2196f31a}.med-item__icon-wrapper--gotas{color:#e65100;background:#ff98001a}.med-item__tag{font-size:10px;font-weight:var(--font-weight-medium);text-transform:uppercase;color:var(--color-primary-light);background:rgba(var(--color-primary-rgb), .08);border-radius:var(--radius-sm);align-items:center;padding:1px 6px;display:inline-flex}[data-theme=dark] .med-group-card__header{background:rgba(var(--color-primary-rgb), .08)}[data-theme=dark] .med-group-card .med-item:hover{background:#ffffff08}[data-theme=dark] .history-item__icon{background:rgba(var(--color-primary-rgb), .12)!important}.dashboard{animation:.3s fadeIn}.dashboard-header{margin-bottom:var(--space-3)}.dashboard-header h1{margin-bottom:4px}.quick-actions{gap:var(--space-2);margin-bottom:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));display:grid}.quick-action-btn{padding:var(--space-2);background:var(--color-surface);border:2px solid var(--color-divider);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);flex-direction:column;align-items:center;gap:6px;display:flex}.quick-action-btn:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.quick-action-btn .material-icons{font-size:32px}.dashboard-grid{gap:var(--space-2);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=768px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-card{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-3);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.dashboard-card:hover{box-shadow:var(--shadow-md)}.dashboard-card--alert{border-left:4px solid var(--color-error);margin-bottom:var(--space-2);background:var(--color-error-light)}.alert-item{align-items:flex-start;gap:var(--space-1);padding:var(--space-1) 0;border-bottom:1px solid #f4433626;display:flex}.alert-item:last-child{border-bottom:none}.alert-item strong{font-size:var(--font-size-sm)}.alert-item p{font-size:var(--font-size-xs);margin-top:2px}.adherence-bar{background:var(--color-divider);width:100%;height:8px;margin-top:var(--space-1);border-radius:4px;overflow:hidden}.adherence-bar__fill{border-radius:4px;height:100%;transition:width .6s}[data-theme=dark] .dashboard-card--alert{border-left-color:var(--color-error);background:#f443361a}[data-theme=dark] .quick-action-btn{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-primary)}[data-theme=dark] .quick-action-btn:hover{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb), .08)}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface);z-index:10;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.modal-header h2{font-size:var(--font-size-lg);color:var(--color-text-primary);align-items:center;gap:var(--space-1);font-weight:700;display:flex}.close-btn{color:var(--color-text-hint);cursor:pointer;background:0 0;border:none;padding:4px;font-size:24px}.modal-form{padding:var(--space-4)}.form-row{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.checkbox-group label{cursor:pointer;color:var(--color-text-primary);align-items:center;gap:8px;font-weight:500;display:flex}.checkbox-group input{width:18px;height:18px}.btn-add-time{color:var(--color-primary);border:1.5px solid var(--color-primary);border-radius:var(--radius-sm);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:4px 10px;font-weight:600}.btn-add-time:hover{background:rgba(var(--color-primary-rgb), .1)}.schedules-list{background:var(--color-bg-alt,var(--color-bg-input));border-radius:var(--radius-md);flex-wrap:wrap;gap:8px;padding:8px;display:flex}.schedule-item{background:var(--color-surface);border-radius:var(--radius-sm);border:1px solid var(--color-border);align-items:center;gap:4px;padding:4px 8px;display:flex}.schedule-item input{font-size:var(--font-size-sm);color:var(--color-text-primary);background:0 0;border:none;padding:2px;font-weight:600}.remove-time{color:var(--color-error);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:18px}.modal-actions{gap:var(--space-3);margin-top:var(--space-6);padding:var(--space-4);border-top:1px solid var(--color-border);grid-template-columns:1fr 1fr;display:grid}.modal-form .form-group{margin-bottom:var(--space-4)}.modal-form label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-weight:600;display:block}.modal-form input[type=text],.modal-form input[type=date],.modal-form select,.modal-form textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;font-size:var(--font-size-sm);background:var(--color-surface);color:var(--color-text-primary);padding:10px 12px;transition:all .2s}.modal-form input:focus,.modal-form select:focus,.modal-form textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb), .15);outline:none}.timeline-page{padding-bottom:calc(var(--bottom-nav-height) + var(--space-4));animation:.3s fadeIn}.timeline-header{margin-bottom:var(--space-3)}.timeline-filters{gap:var(--space-2);margin-bottom:var(--space-4);background:var(--color-surface);padding:var(--space-3);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.filter-group{gap:var(--space-2);flex-wrap:wrap;display:flex}.filter-btn{border-radius:var(--radius-full);border:1px solid var(--color-divider);background:var(--color-bg);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;padding:6px 12px}.filter-btn--active{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.timeline-container{padding-left:24px;position:relative}.timeline-container:before{content:"";background:var(--color-divider);width:2px;position:absolute;top:0;bottom:0;left:7px}.timeline-item{margin-bottom:var(--space-4);position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-item__dot{background:var(--color-surface);border:3px solid var(--color-primary);z-index:1;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;display:flex;position:absolute;top:4px;left:-24px}.timeline-item__icon{color:#fff;font-size:10px!important}.timeline-item--blood_pressure .timeline-item__dot{background:#e53935;border-color:#e53935}.timeline-item--glucose .timeline-item__dot{background:#ff9800;border-color:#ff9800}.timeline-item--medication .timeline-item__dot{background:#4caf50;border-color:#4caf50}.timeline-item--appointment .timeline-item__dot{background:#2196f3;border-color:#2196f3}.timeline-item--alert .timeline-item__dot{background:#9c27b0;border-color:#9c27b0}.timeline-item__content{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-3);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast);border:1px solid var(--color-divider)}.timeline-item__content:hover{box-shadow:var(--shadow-md)}.timeline-item__header{margin-bottom:var(--space-1);justify-content:space-between;align-items:flex-start;display:flex}.timeline-item__title{font-weight:var(--font-weight-medium);font-size:var(--font-size-base);color:var(--color-text-primary);align-items:center;gap:4px;display:flex}.timeline-item__time{font-size:var(--font-size-xs);color:var(--color-text-hint);white-space:nowrap}.timeline-item__body{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.timeline-item__badge{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);margin-top:var(--space-1);padding:2px 8px;display:inline-block}.empty-state{text-align:center;padding:var(--space-4);color:var(--color-text-hint)}.reports-page{padding-bottom:calc(var(--bottom-nav-height) + var(--space-4));animation:.3s fadeIn}.reports-header{margin-bottom:var(--space-3)}.reports-filters{background:var(--color-surface);padding:var(--space-3);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.reports-filters__section{gap:var(--space-1);flex-direction:column;display:flex}.reports-filters__options{gap:var(--space-2);flex-wrap:wrap;display:flex}.date-range-inputs{gap:var(--space-2);margin-top:var(--space-2);align-items:center;display:flex}.date-range-inputs input{padding:6px var(--space-2);border:1px solid var(--color-divider);border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-sm)}.reports-actions{gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.report-summary-grid{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=768px){.report-summary-grid{grid-template-columns:1fr}}.report-summary-card{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-3);box-shadow:var(--shadow-sm);border:1px solid var(--color-divider)}.report-summary-card__title{font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2);align-items:center;gap:6px;display:flex}.report-stat{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-1)}.report-stat-detail{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.report-data-list{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-3);box-shadow:var(--shadow-sm);border:1px solid var(--color-divider)}.report-data-table{border-collapse:collapse;width:100%;margin-top:var(--space-2)}.report-data-table th,.report-data-table td{padding:var(--space-2);text-align:left;border-bottom:1px solid var(--color-divider);font-size:var(--font-size-sm)}.report-data-table th{font-weight:var(--font-weight-bold);color:var(--color-text-secondary)}@media print{body{color:#000!important;background:#fff!important;font-size:12pt!important}.app-header,.app-bottom-nav,.offline-banner,.reports-filters,.reports-actions,.reports-header p,button,.btn{display:none!important}.app-main{margin-top:0!important;padding:0!important}.reports-page{padding-bottom:0!important}.reports-header h1{text-align:center;border-bottom:2px solid #333;margin-bottom:20px;padding-bottom:10px;font-size:24pt!important}.report-summary-grid{page-break-inside:avoid;grid-template-columns:repeat(2,1fr)!important;gap:15pt!important;margin-bottom:20pt!important}.report-summary-card{box-shadow:none!important;background:0 0!important;border:1px solid #ccc!important}.report-data-list{page-break-before:auto;box-shadow:none!important;background:0 0!important;border:1px solid #ccc!important}.report-data-table th{border-bottom:2px solid #333!important}.print-footer{text-align:center;page-break-inside:avoid;border-top:1px dashed #ccc;margin-top:50pt;padding-top:10px;font-size:10pt;display:block!important}}.print-footer{display:none}.table-responsive{-webkit-overflow-scrolling:touch;width:100%;margin-top:var(--space-2);overflow-x:auto}.table-responsive::-webkit-scrollbar{height:6px}.table-responsive::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.settings-page{padding-bottom:var(--space-4);animation:.3s fadeIn}.settings-header{margin-bottom:var(--space-4)}.settings-header h1{margin-bottom:4px}.settings-grid{gap:var(--space-2);flex-direction:column;display:flex}.settings-card{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-3);box-shadow:var(--shadow-sm);align-items:center;gap:var(--space-3);transition:all var(--transition-normal);display:flex}.settings-card.card-clickable:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary);transform:translateY(-2px)}.settings-card__icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.settings-card__icon .material-icons{font-size:24px}.settings-card__info{flex:1}.settings-card__info h3{font-size:var(--font-size-md);color:var(--color-text-primary);margin-bottom:4px}.settings-card__info p{font-size:var(--font-size-sm)}.settings-card__arrow{color:var(--color-text-hint)}.settings-info-card{align-items:flex-start}.profile-details{margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary);flex-direction:column;gap:6px;display:flex}.profile-details p{margin:0}.profile-details strong{color:var(--color-text-secondary)}.badge-info{color:#2196f3;background-color:#2196f31a}.landing-container{color:var(--color-text-primary,#212121);background-color:var(--color-bg,#fff);scroll-behavior:smooth;min-height:100vh;font-family:Roboto,sans-serif;overflow-x:hidden}.landing-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;border-bottom:1px solid var(--color-border,#eee);background:#ffffffd9;justify-content:space-between;align-items:center;padding:16px 5%;display:flex;position:sticky;top:0}.logo-section{align-items:center;gap:8px;display:flex}.logo-icon{color:#1a237e;font-size:32px}.logo-text{color:#1a237e;letter-spacing:-.5px;font-size:24px;font-weight:700}.header-nav{align-items:center;gap:24px;display:flex}.header-nav a{color:#757575;font-size:15px;font-weight:500;text-decoration:none;transition:color .2s}.header-nav a:hover{color:#1a237e}.btn{cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:10px 20px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-login{color:#1a237e;background:0 0;border:1px solid #1a237e}.btn-login:hover{background:#1a237e0d}.btn-register{color:#fff;background:#1a237e;border:none}.btn-register:hover{background:#151b60;transform:translateY(-1px)}.hero-section{background:linear-gradient(135deg,#1a237e08 0%,#e5393503 100%);grid-template-columns:1.2fr .8fr;align-items:center;gap:40px;padding:80px 5% 100px;display:grid}.hero-content{max-width:680px}.hero-title{color:#1a237e;letter-spacing:-1px;margin-bottom:24px;font-size:46px;font-weight:900;line-height:1.2}.hero-title span{color:#e53935}.hero-subtitle{color:#757575;margin-bottom:36px;font-size:18px;line-height:1.6}.hero-ctas{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.btn-hero-cta{color:#fff;background:#e53935;border:none;border-radius:4px;padding:16px 36px;font-size:16px;font-weight:700;box-shadow:0 4px 14px #e5393566}.btn-hero-cta:hover{background:#c62828;transform:translateY(-2px);box-shadow:0 6px 20px #e5393580}.cta-notice{color:#9e9e9e;margin-left:4px;font-size:12px}.hero-image-wrapper{justify-content:center;align-items:center;display:flex}.hero-img{border:4px solid #fff;border-radius:12px;width:100%;max-width:460px;box-shadow:0 20px 40px #00000026}.pain-section{text-align:center;background:#fff;padding:80px 5%}.section-title{color:#1a237e;margin-bottom:12px;font-size:32px;font-weight:700}.section-subtitle{color:#757575;margin-bottom:60px;font-size:16px}.pain-cards{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.pain-card{background:#fafafa;border:1px solid #eee;border-radius:8px;padding:40px 24px;transition:all .3s}.pain-card:hover{border-color:#1a237e33;transform:translateY(-5px);box-shadow:0 10px 30px #0000000d}.card-icon{margin-bottom:24px;font-size:48px}.color-red{color:#e53935}.color-blue{color:#2196f3}.color-green{color:#4caf50}.pain-card h3{color:#212121;margin-bottom:16px;font-size:20px;font-weight:700}.pain-card p{color:#757575;font-size:14px;line-height:1.6}.features-section{background:#fafafa;padding:60px 5% 80px}.feature-row{grid-template-columns:repeat(2,1fr);align-items:center;gap:80px;margin-bottom:80px;display:grid}.feature-row.reverse{direction:rtl}.feature-row.reverse .feature-text-block{direction:ltr}.feature-text-block{max-width:500px}.badge{color:#1a237e;letter-spacing:.5px;background:#1a237e14;border-radius:20px;margin-bottom:16px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-block}.feature-text-block h2{color:#1a237e;margin-bottom:20px;font-size:28px;font-weight:700}.feature-text-block p{color:#757575;font-size:15px;line-height:1.7}.feature-image-block{justify-content:center;display:flex}.feature-img{border:1px solid #e0e0e0;border-radius:8px;width:100%;max-width:480px;box-shadow:0 15px 30px #00000014}.pricing-section{text-align:center;background:#fff;padding:80px 5% 100px}.pricing-cards{flex-wrap:wrap;justify-content:center;gap:32px;margin-top:40px;display:flex}.pricing-card{text-align:left;background:#fff;border:1px solid #e0e0e0;border-radius:8px;width:100%;max-width:360px;padding:48px 32px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.pricing-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #00000014}.pricing-card.popular{border:2px solid #1a237e;box-shadow:0 10px 25px #1a237e14}.popular-badge{color:#fff;background:#e53935;border-radius:12px;padding:4px 12px;font-size:11px;font-weight:700;position:absolute;top:16px;right:16px}.pricing-card h3{color:#1a237e;margin-bottom:12px;font-size:22px;font-weight:700}.pricing-desc{color:#757575;min-height:40px;margin-bottom:24px;font-size:14px;line-height:1.5}.price-box{align-items:baseline;margin-bottom:32px;display:flex}.currency{color:#212121;font-size:18px;font-weight:500}.price{color:#212121;font-size:48px;font-weight:900;line-height:1}.period{color:#757575;margin-left:4px;font-size:14px}.price-features{margin:0 0 40px;padding:0;list-style:none}.price-features li{color:#757575;align-items:center;gap:12px;margin-bottom:16px;font-size:14px;display:flex}.price-features li span{color:#4caf50;font-size:20px}.btn-pricing{border-radius:4px;width:100%;padding:14px;font-weight:700}.btn-outlined-primary{color:#1a237e;background:0 0;border:1px solid #1a237e}.btn-outlined-primary:hover{background:#1a237e0a}.btn-contained-sec{color:#fff;background:#e53935;border:none}.btn-contained-sec:hover{background:#c62828}.pricing-footnote{color:#9e9e9e;margin-top:36px;font-size:13px}.faq-section{background:#fafafa;padding:80px 5%}.faq-list{flex-direction:column;gap:16px;max-width:800px;margin:40px auto 0;display:flex}.faq-item{cursor:pointer;background:#fff;border:1px solid #eee;border-radius:6px;transition:border-color .2s;overflow:hidden}.faq-item:hover{border-color:#1a237e33}.faq-question{color:#212121;justify-content:space-between;align-items:center;padding:24px;font-size:16px;font-weight:700;display:flex}.faq-arrow{color:#757575;transition:transform .2s}.faq-answer{color:#757575;border-top:1px solid #f5f5f5;padding:0 24px 24px;font-size:14px;line-height:1.6}.landing-footer{color:#fff;background:#1a237e;border-top:1px solid #ffffff1a;padding:40px 5%}.footer-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.footer-content p{color:#ffffffb3;font-size:14px}.footer-links{gap:24px;display:flex}.footer-links a{color:#ffffffb3;font-size:14px;text-decoration:none;transition:color .2s}.footer-links a:hover{color:#fff}.mobile-menu-btn{display:none}@media (width<=968px){.mobile-menu-btn{color:#1a237e;cursor:pointer;z-index:110;background:0 0;border:none;justify-content:center;align-items:center;padding:8px;display:flex}.mobile-menu-btn span{font-size:28px}.header-nav{z-index:105;border-left:1px solid var(--color-border,#eee);background:#fff;flex-direction:column;gap:20px;width:280px;height:100dvh;padding:80px 24px 24px;transition:right .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;right:-100%;box-shadow:-5px 0 25px #0000001a}.header-nav.nav-open{right:0}.header-nav a{border-bottom:1px solid #eee;width:100%;padding:8px 0;font-size:16px}.header-nav .btn{box-sizing:border-box;width:100%;margin-top:8px}.hero-section{text-align:center;grid-template-columns:1fr;padding-top:40px}.hero-ctas{align-items:center;width:100%}.pain-cards{grid-template-columns:1fr}.feature-row{text-align:center;grid-template-columns:1fr;gap:40px}.feature-row.reverse{direction:ltr}.feature-text-block{max-width:100%}}.fade-in-section{opacity:0;will-change:opacity, transform;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.fade-in-section.is-visible{opacity:1;transform:translate(0)scale(1)!important}.fade-in-section.direction-up{transform:translateY(40px)}.fade-in-section.direction-down{transform:translateY(-40px)}.fade-in-section.direction-left{transform:translate(-50px)}.fade-in-section.direction-right{transform:translate(50px)}.fade-in-section.direction-fade{transform:none}@media (prefers-reduced-motion:reduce){.fade-in-section{opacity:1!important;will-change:auto!important;transition:none!important;transform:none!important}}.billing-container{background:linear-gradient(135deg,#1a237e 0%,#151b60 100%);justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;font-family:Roboto,sans-serif;display:flex}.billing-card-wrapper{background:#fff;border-radius:8px;grid-template-columns:1fr 1fr;width:100%;max-width:900px;display:grid;overflow:hidden;box-shadow:0 20px 50px #0000004d}.billing-info-panel{background:#fafafa;border-right:1px solid #eee;flex-direction:column;justify-content:space-between;padding:40px;display:flex}.billing-logo{align-items:center;gap:8px;margin-bottom:32px;display:flex}.billing-logo span{color:#1a237e;font-size:28px}.billing-logo h2{color:#1a237e;margin:0;font-size:20px;font-weight:700}.billing-status-box{margin-bottom:32px}.billing-status-box h3{color:#212121;margin-bottom:12px;font-size:16px;font-weight:700}.status-label{border-radius:4px;margin-bottom:12px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-block}.status-label.warning{color:#ff9800;background:#ff98001a}.status-label.danger{color:#f44336;background:#f443361a}.status-desc{color:#757575;font-size:13px;line-height:1.5}.plan-summary-box{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:24px}.plan-summary-box h3{color:#212121;border-bottom:1px solid #eee;margin-bottom:16px;padding-bottom:8px;font-size:15px;font-weight:700}.summary-row{color:#757575;justify-content:space-between;margin-bottom:10px;font-size:13px;display:flex}.summary-row.total{color:#212121;border-top:1px dashed #e0e0e0;margin-top:16px;padding-top:16px;font-size:16px;font-weight:700}.summary-price{color:#e53935;font-size:22px;font-weight:900}.summary-note{color:#9e9e9e;margin-top:12px;font-size:11px;line-height:1.4}.billing-form-panel{flex-direction:column;justify-content:center;padding:40px;display:flex}.billing-form-panel h2{color:#1a237e;margin-bottom:6px;font-size:24px;font-weight:700}.form-subtitle{color:#757575;margin-bottom:32px;font-size:13px}.billing-form{flex-direction:column;gap:20px;display:flex}.billing-input-group{flex-direction:column;gap:8px;display:flex}.billing-input-group label{color:#212121;text-transform:uppercase;font-size:12px;font-weight:700}.billing-input-group input{color:#212121;background:#fdfdfd;border:1px solid #e0e0e0;border-radius:4px;padding:12px 14px;font-size:14px;transition:all .2s}.billing-input-group input:focus{background:#fff;border-color:#1a237e;outline:none;box-shadow:0 0 0 2px #1a237e1a}.billing-row-fields{grid-template-columns:1fr 1fr;gap:20px;display:grid}.btn-checkout{border:none;width:100%;margin-top:10px;padding:14px;font-size:15px;font-weight:700;box-shadow:0 4px 10px #e539354d}.btn-checkout:hover{transform:translateY(-1px);box-shadow:0 6px 14px #e5393566}.btn-logout-billing{color:#757575;cursor:pointer;background:0 0;border:none;margin-top:16px;font-size:13px;text-decoration:underline;transition:color .2s}.btn-logout-billing:hover{color:#e53935}@media (width<=768px){.billing-card-wrapper{grid-template-columns:1fr}.billing-info-panel{border-bottom:1px solid #eee;border-right:none;padding:30px}.billing-form-panel{padding:30px}}:root{--color-primary:#1a237e;--color-primary-light:#283593;--color-primary-dark:#0d1642;--color-primary-rgb:26, 35, 126;--color-secondary:#e53935;--color-secondary-light:#ef5350;--color-secondary-dark:#c62828;--color-surface:#fff;--color-success:#4caf50;--color-success-light:#e8f5e9;--color-error:#f44336;--color-error-light:#ffebee;--color-info:#2196f3;--color-info-light:#e3f2fd;--color-warning:#ff9800;--color-warning-light:#fff3e0;--color-bg:#f0f2f5;--color-bg-input:#f5f5f5;--color-text-primary:#212121;--color-text-secondary:#757575;--color-text-hint:#9e9e9e;--color-text-on-primary:#fff;--color-border:#e0e0e0;--color-divider:#eee;--font-family:"Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--font-size-3xl:2.5rem;--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:700;--line-height:1.5;--line-height-tight:1.2;--space-0:0;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:40px;--space-6:48px;--space-8:64px;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-md:0 4px 6px #0000001a, 0 2px 4px #0000000f;--shadow-lg:0 10px 15px #0000001a, 0 4px 6px #0000000d;--shadow-xl:0 20px 25px #00000026, 0 10px 10px #0000000a;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.35s ease;--sidebar-width:260px;--header-height:64px;--bottom-nav-height:64px;--content-max-width:1200px;--z-dropdown:100;--z-sticky:200;--z-modal-backdrop:300;--z-modal:400;--z-toast:500;--z-tooltip:600}[data-elderly-mode=true]{--font-size-xs:1rem;--font-size-sm:1.125rem;--font-size-base:1.3rem;--font-size-lg:1.625rem;--font-size-xl:1.95rem;--font-size-2xl:2.6rem;--font-size-3xl:3.25rem;--space-1:10px;--space-2:20px;--space-3:28px;--header-height:80px;--bottom-nav-height:80px}[data-theme=dark]{--color-surface:#1e1e1e;--color-bg:#121212;--color-bg-input:#2a2a2a;--color-bg-alt:#2a2a2a;--color-primary:#5c6bc0;--color-primary-light:#7986cb;--color-primary-dark:#3949ab;--color-primary-rgb:92, 107, 192;--color-text-primary:#e0e0e0;--color-text-secondary:#aaa;--color-text-hint:#757575;--color-text-on-primary:#fff;--color-border:#333;--color-divider:#2c2c2c;--color-success-light:#4caf5026;--color-error-light:#f4433626;--color-info-light:#2196f326;--color-warning-light:#ff980026;--shadow-xs:0 1px 2px #00000080;--shadow-sm:0 1px 3px #0009, 0 1px 2px #0006;--shadow-md:0 4px 6px #0009, 0 2px 4px #0006;--shadow-lg:0 10px 15px #0009, 0 4px 6px #00000080;--shadow-xl:0 20px 25px #000000b3, 0 10px 10px #00000080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height);color:var(--color-text-primary);background-color:var(--color-bg);min-height:100dvh;overflow-x:hidden}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-light)}img{max-width:100%;display:block}ul,ol{list-style:none}input,button,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}h4{font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.text-uppercase{text-transform:uppercase;letter-spacing:.05em}.text-secondary{color:var(--color-text-secondary)}.text-hint{color:var(--color-text-hint);font-size:var(--font-size-sm)}.btn{justify-content:center;align-items:center;gap:var(--space-1);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);text-transform:uppercase;letter-spacing:.02em;border:none;min-height:44px;padding:12px 24px;display:inline-flex;position:relative;overflow:hidden}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-primary{background:var(--color-primary);color:var(--color-text-on-primary);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--color-primary-light);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){background:var(--color-primary-dark);transform:scale(.97)}.btn-secondary{background:var(--color-secondary);color:var(--color-text-on-primary);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--color-secondary-light);box-shadow:var(--shadow-md)}.btn-success{background:var(--color-success);color:var(--color-text-on-primary);box-shadow:var(--shadow-sm)}.btn-success:hover:not(:disabled){box-shadow:var(--shadow-md);background:#43a047}.btn-outlined{color:var(--color-primary);border:1.5px solid var(--color-primary);background:0 0}.btn-outlined:hover:not(:disabled){background:rgba(var(--color-primary-rgb), .08)}.btn-ghost{color:var(--color-primary);background:0 0}.btn-ghost:hover:not(:disabled){background:rgba(var(--color-primary-rgb), .08)}.btn-sm{font-size:var(--font-size-sm);min-height:36px;padding:8px 16px}.btn-lg{font-size:var(--font-size-lg);min-height:52px;padding:16px 32px}.btn-icon{border-radius:var(--radius-full);width:44px;height:44px;min-height:auto;padding:8px}.btn-block{width:100%;display:flex}.input-group{flex-direction:column;gap:6px;display:flex}.input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.input-wrapper{align-items:center;display:flex;position:relative}.input-field{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;font-size:var(--font-size-base);color:var(--color-text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);min-height:48px;padding:14px 16px}.input-field:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb), .15);outline:none}.input-field::placeholder{color:var(--color-text-hint)}.input-field--filled{background:var(--color-bg-input);border-color:#0000;border-bottom:2px solid var(--color-border);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.input-field--filled:focus{border-bottom-color:var(--color-primary);box-shadow:none}.input-field--error{border-color:var(--color-error)}.input-field--error:focus{box-shadow:0 0 0 3px #f4433626}.input-icon{color:var(--color-text-hint);pointer-events:none;font-size:20px;position:absolute;right:14px}.input-error-text{color:var(--color-error);font-size:var(--font-size-xs)}.input-field--with-icon{padding-right:44px}.select-field{appearance:none;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23757575' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat right 14px center;width:100%;font-size:var(--font-size-base);color:var(--color-text-primary);cursor:pointer;transition:border-color var(--transition-fast);min-height:48px;padding:14px 40px 14px 16px}.select-field:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb), .15);outline:none}.card{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-3);transition:box-shadow var(--transition-normal), transform var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md)}.card-clickable{cursor:pointer}.card-clickable:hover{transform:translateY(-2px)}.card-clickable:active{transform:scale(.98)}.card-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.card-title{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.card-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.badge{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;align-items:center;gap:4px;padding:4px 12px;display:inline-flex}.badge-success{background:var(--color-success-light);color:#2e7d32}.badge-error{background:var(--color-error-light);color:#c62828}.badge-warning{background:var(--color-warning-light);color:#e65100}.badge-info{background:var(--color-info-light);color:#1565c0}.badge-neutral{background:var(--color-bg-input,#f5f5f5);color:var(--color-text-secondary)}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:var(--z-modal-backdrop);padding:var(--space-2);background:#00000080;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:500px;max-height:90vh;position:relative;overflow-y:auto}.bottom-sheet-handle{background-color:var(--color-border);border-radius:var(--radius-full);opacity:.8;width:40px;height:5px;margin:12px auto}.modal-header{padding:var(--space-3);border-bottom:1px solid var(--color-divider);justify-content:space-between;align-items:center;display:flex}.modal-body{padding:var(--space-3)}.modal-footer{justify-content:flex-end;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-divider);display:flex}.tabs{border-bottom:2px solid var(--color-divider);gap:var(--space-1);display:flex}.tab{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);text-transform:uppercase;letter-spacing:.05em;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:12px 20px}.tab:hover{color:var(--color-primary)}.tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.animate-pulse{animation:2s infinite pulse}.animate-fade-in{animation:.3s fadeIn}.animate-slide-up{animation:.3s slideUp}@media (prefers-reduced-motion:reduce){.animate-pulse,.animate-fade-in,.animate-slide-up{animation:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.spinner{border:3px solid var(--color-divider);border-top-color:var(--color-primary);border-radius:50%;width:24px;height:24px;animation:.6s linear infinite spin}.spinner-sm{border-width:2px;width:16px;height:16px}.spinner-lg{border-width:4px;width:40px;height:40px}@keyframes spin{to{transform:rotate(360deg)}}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.grid{display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.w-full{width:100%}.text-center{text-align:center}.text-right{text-align:right}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-hint)}@media (width<=768px){.grid-2,.grid-3{grid-template-columns:1fr}.hide-mobile{display:none!important}.modal-backdrop{align-items:flex-end;padding:0}.modal-content{border-radius:24px 24px 0 0;max-width:100%;max-height:85vh}}@media (width>=769px){.hide-desktop{display:none!important}}[data-elderly-mode=true] .btn{min-height:56px;padding:16px 28px}[data-elderly-mode=true] .btn-sm{min-height:48px;padding:12px 20px}[data-elderly-mode=true] .input-field{min-height:56px;padding:16px 18px}[data-elderly-mode=true] .badge{font-size:var(--font-size-sm);padding:6px 16px}[data-theme=dark] .modal-content{background:var(--color-surface)}[data-theme=dark] .btn-outlined{border-color:var(--color-primary);color:var(--color-primary)}[data-theme=dark] .btn-secondary{background:var(--color-secondary)}
