.notification-bell{position:relative}.notification-bell__trigger{border:1px solid var(--color-border);background:var(--color-surface);width:2.2rem;height:2.2rem;color:var(--color-text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.notification-bell__trigger:hover{background:var(--color-surface-hover)}.notification-bell__badge{background:var(--color-danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:1.1rem;height:1.1rem;padding:0 .25rem;font-size:.65rem;font-weight:700;display:flex;position:absolute;top:-.3rem;right:-.3rem}.notification-bell__panel{background:var(--color-surface);border:1px solid var(--color-border);z-index:50;border-radius:.6rem;width:320px;max-height:420px;position:absolute;top:calc(100% + .5rem);right:0;overflow-y:auto;box-shadow:0 12px 32px #0000002e}.notification-bell__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.7rem .9rem;font-size:.8rem;font-weight:600;display:flex}.notification-bell__header a{color:var(--color-accent);font-size:.75rem;font-weight:500;text-decoration:none}.notification-bell__empty{color:var(--color-text-muted);text-align:center;padding:1.2rem .9rem;font-size:.8rem}.notification-bell__list{margin:0;padding:0;list-style:none}.notification-bell__item{border-bottom:1px solid var(--color-border);align-items:flex-start;gap:.5rem;padding:.65rem .9rem;display:flex}.notification-bell__item:last-child{border-bottom:none}.notification-bell__item--unread{background:var(--color-surface-hover)}.notification-bell__item-body{flex:1;min-width:0}.notification-bell__item-body p{margin:0 0 .2rem;font-size:.8rem;line-height:1.3}.notification-bell__item-body span{color:var(--color-text-muted);font-size:.7rem}.notification-bell__item-link{color:inherit;text-decoration:none;display:block}.notification-bell__read-btn{border:1px solid var(--color-border);background:var(--color-surface);width:1.5rem;height:1.5rem;color:var(--color-success);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.notification-bell__read-btn:hover{background:var(--color-surface-hover)}.theme-toggle{box-shadow:none;cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;padding:0;display:flex}.theme-toggle__icon{font-size:.9rem;line-height:1}.theme-toggle__track{background:#d8d9de;border-radius:999px;width:36px;height:20px;transition:background-color .2s;position:relative}.theme-toggle[aria-checked=true] .theme-toggle__track{background:var(--color-accent)}.theme-toggle__thumb{background:var(--color-surface);border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.theme-toggle[aria-checked=true] .theme-toggle__thumb{transform:translate(16px)}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);flex-direction:column;gap:.8rem;width:248px;min-width:248px;height:100%;padding:.9rem .8rem;display:flex;overflow-y:auto}.sidebar__brand{align-items:center;gap:.5rem;padding:0 .3rem;display:flex}.sidebar__mark{background:linear-gradient(135deg, var(--color-accent), var(--color-accent-2));color:#fff;border-radius:8px;justify-content:center;align-items:center;width:24px;height:24px;font-size:.68rem;font-weight:700;display:flex}.sidebar__brand-name{color:var(--sidebar-text);font-size:.86rem;font-weight:650}.sidebar__search{background:var(--sidebar-surface);border:1px solid var(--sidebar-border);color:var(--sidebar-text-muted);border-radius:8px;align-items:center;gap:.45rem;padding:.45rem .6rem;display:flex}.sidebar__search input{min-width:0;color:var(--sidebar-text);background:0 0;border:none;outline:none;flex:1;font-size:.78rem}.sidebar__search input::placeholder{color:var(--sidebar-text-muted)}.sidebar__search kbd{color:var(--sidebar-text-muted);background:#ffffff0f;border-radius:4px;padding:.1rem .35rem;font-family:inherit;font-size:.65rem}.sidebar__nav{flex-direction:column;flex:1;gap:.75rem;display:flex;overflow-y:auto}.sidebar__group{flex-direction:column;gap:.1rem;display:flex}.sidebar__group-title{text-transform:uppercase;letter-spacing:.05em;color:var(--sidebar-text-muted);padding:.5rem .6rem .2rem;font-size:.66rem;font-weight:650}.sidebar__item{color:var(--sidebar-text-muted);border-radius:7px;align-items:center;gap:.55rem;padding:.4rem .6rem;font-size:.81rem;font-weight:500;text-decoration:none;transition:background-color .12s,color .12s;display:flex}.sidebar__item:hover{background:var(--sidebar-surface);color:var(--sidebar-text)}.sidebar__item--active{background:var(--sidebar-active-bg);color:#fff}.sidebar__item--health,.sidebar__item--health:hover{color:var(--color-health)}.sidebar__item--health.sidebar__item--active{background:var(--color-health);color:#fff}.sidebar__user{border:1px solid var(--sidebar-border);box-shadow:none;cursor:pointer;text-align:left;color:var(--sidebar-text-muted);background:0 0;border-radius:9px;align-items:center;gap:.55rem;padding:.5rem .55rem;display:flex}.sidebar__user:hover{background:var(--sidebar-surface)}.sidebar__user-avatar{background:linear-gradient(135deg, var(--color-accent), var(--color-accent-2));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;font-size:.78rem;font-weight:650;display:flex}.sidebar__user-info{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar__user-name{color:var(--sidebar-text);font-size:.8rem;font-weight:600}.sidebar__user-email{color:var(--sidebar-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.app-shell{background:var(--color-bg);width:100vw;height:100dvh;color:var(--color-text);display:flex}.app-shell__main{flex-direction:column;flex:1;min-width:0;display:flex}.app-shell__topbar{justify-content:flex-end;align-items:center;gap:.9rem;padding:1rem 2.2rem 0;display:flex}.app-shell__content{flex:1;min-width:0;padding:1rem 2.2rem 2.2rem;overflow-y:auto}.app-shell__content>*{margin-inline:auto}.app-shell__menu-btn,.app-shell__backdrop{display:none}@media (width<=760px){.app-shell__topbar{padding:calc(.7rem + env(safe-area-inset-top)) 1rem 0}.app-shell__content{padding:.8rem 1rem calc(1.5rem + env(safe-area-inset-bottom))}.app-shell__menu-btn{border:1px solid var(--color-border);background:var(--color-surface);width:38px;height:38px;color:var(--color-text);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;margin-right:auto;display:flex}.app-shell .sidebar{z-index:50;padding-top:calc(.9rem + env(safe-area-inset-top));padding-bottom:calc(.9rem + env(safe-area-inset-bottom));transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.app-shell--menu-open .sidebar{transform:translate(0)}.app-shell--menu-open .app-shell__backdrop{z-index:40;background:#00000073;display:block;position:fixed;inset:0}}.auth{min-height:100dvh;padding:calc(1.5rem + env(safe-area-inset-top)) 1rem calc(1.5rem + env(safe-area-inset-bottom));background:var(--color-bg);color:var(--color-text);justify-content:center;align-items:center;display:flex}.auth__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;flex-direction:column;gap:1rem;width:100%;max-width:400px;padding:1.8rem 1.6rem;display:flex}.auth__brand{align-items:center;gap:.55rem;font-size:.9rem;font-weight:650;display:flex}.auth__mark{background:linear-gradient(135deg, var(--color-accent), var(--color-accent-2));color:#fff;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.72rem;font-weight:700;display:flex}.auth__card h1{margin:.2rem 0 0;font-size:1.35rem}.auth__card .field input{font-size:1rem}.auth__error{color:var(--color-danger);margin:0;font-size:.82rem}.auth__submit{justify-content:center;padding-block:.7rem}.auth__switch{text-align:center;color:var(--color-text-muted);margin:0;font-size:.85rem}.auth__switch a{color:var(--color-accent);font-weight:600}@media (width<=760px){.auth .field-row{grid-template-columns:1fr}}.dashboard{flex-direction:column;gap:1.5rem;max-width:1200px;display:flex}.dashboard__header{justify-content:space-between;align-items:flex-start;display:flex}.dashboard__header h1{margin:0 0 .2rem;font-size:1.4rem;font-weight:700}.dashboard__header p{color:var(--color-text-muted);margin:0;font-size:.85rem}.dashboard__date{color:var(--color-text-muted);white-space:nowrap;padding-top:.2rem;font-size:.8rem}.dashboard__stats{grid-template-columns:repeat(3,1fr);gap:.9rem;display:grid}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;align-items:center;gap:.7rem;padding:.9rem 1rem;display:flex}.stat-card__icon{border-radius:10px;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;display:flex}.stat-card--success .stat-card__icon{background:color-mix(in srgb, var(--color-success) 16%, transparent);color:var(--color-success)}.stat-card--info .stat-card__icon{background:color-mix(in srgb, var(--color-info) 16%, transparent);color:var(--color-info)}.stat-card--accent .stat-card__icon{background:color-mix(in srgb, var(--color-accent) 16%, transparent);color:var(--color-accent)}.stat-card--danger .stat-card__icon{background:color-mix(in srgb, var(--color-danger) 16%, transparent);color:var(--color-danger)}.stat-card--health .stat-card__icon{background:color-mix(in srgb, var(--color-health) 16%, transparent);color:var(--color-health)}.stat-card__body{flex-direction:column;gap:.1rem;display:flex}.stat-card__label{color:var(--color-text-muted);font-size:.74rem}.stat-card__value{font-size:1.15rem;font-weight:700}.stat-card__suffix{color:var(--color-text-muted);font-size:.72rem;font-weight:500}.dashboard__hint{color:var(--color-text-muted);margin:0;font-size:.82rem}.dashboard__hint--error{color:var(--color-danger)}.dashboard__section{flex-direction:column;gap:.8rem;min-width:0;display:flex}.dashboard__section-header{justify-content:space-between;align-items:center;display:flex}.dashboard__section-header h2{margin:0;font-size:1rem;font-weight:650}.dashboard__section-actions{align-items:center;gap:.8rem;display:flex}.dashboard__columns{grid-template-columns:1fr 1fr;align-items:start;gap:1.5rem;display:grid}.activity-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;gap:.15rem;margin:0;padding:.3rem;display:flex}.activity-row{border-radius:9px;align-items:center;gap:.65rem;padding:.55rem .6rem;list-style:none;display:flex}.activity-row:hover{background:var(--color-surface-hover)}.activity-row__icon{border-radius:9px;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;display:flex}.activity-row__icon--warning{background:color-mix(in srgb, var(--color-warning) 16%, transparent);color:var(--color-warning)}.activity-row__icon--accent{background:color-mix(in srgb, var(--color-accent) 16%, transparent);color:var(--color-accent)}.activity-row__icon--info{background:color-mix(in srgb, var(--color-info) 16%, transparent);color:var(--color-info)}.activity-row__info{flex-direction:column;flex:1;gap:.05rem;min-width:0;display:flex}.activity-row__title{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600;overflow:hidden}.activity-row__subtitle{color:var(--color-text-muted);font-size:.72rem}.activity-row__meta{white-space:nowrap;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.25rem;display:flex}.activity-row__when{color:var(--color-text-muted);font-size:.72rem}.activity-row__tag{border-radius:999px;padding:.1rem .5rem;font-size:.66rem;font-weight:650}.activity-row__tag--warning{background:color-mix(in srgb, var(--color-warning) 16%, transparent);color:var(--color-warning)}.activity-row__tag--accent{background:color-mix(in srgb, var(--color-accent) 16%, transparent);color:var(--color-accent)}.activity-row__tag--info{background:color-mix(in srgb, var(--color-info) 16%, transparent);color:var(--color-info)}@media (width<=760px){.dashboard__stats,.dashboard__columns{grid-template-columns:1fr}.dashboard__header{flex-direction:column;gap:.4rem}}.create-module{flex-direction:column;gap:1.2rem;max-width:720px;display:flex}.create-module__header h1{margin:0;font-size:1.4rem;font-weight:700}.create-module__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;flex-direction:column;gap:1.3rem;padding:1.5rem;display:flex}.create-module__error{color:var(--color-danger);margin:0;font-size:.8rem}.create-module__actions{border-top:1px solid var(--color-border);justify-content:flex-end;gap:.7rem;padding-top:.5rem;display:flex}.create-module__subheading{margin:0 0 .2rem;font-size:.9rem;font-weight:700}.icon-grid{grid-template-columns:repeat(5,1fr);gap:.6rem;display:grid}.icon-option{border:1.5px solid var(--color-border);background:var(--color-bg);height:44px;color:var(--color-text-muted);box-shadow:none;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:flex}.icon-option--selected{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 8%, var(--color-bg));color:var(--color-accent)}.option-cards{grid-template-columns:repeat(3,1fr);gap:.8rem;display:grid}.option-card{text-align:left;border:1.5px solid var(--color-border);background:var(--color-bg);color:var(--color-text);box-shadow:none;cursor:pointer;border-radius:12px;flex-direction:column;align-items:flex-start;gap:.4rem;padding:1rem;display:flex}.option-card--selected{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 8%, var(--color-bg))}.option-card__title{font-size:.88rem;font-weight:650}.option-card__description{color:var(--color-text-muted);font-size:.74rem}.modal-overlay{z-index:50;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:var(--color-surface);border:1px solid var(--color-border);width:520px;max-width:calc(100vw - 2rem);max-height:calc(100vh - 4rem);box-shadow:0 24px 60px -16px hsl(var(--shadow-color) / .5);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.modal-card__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1rem 1.2rem;display:flex}.modal-card__header h2{margin:0;font-size:1rem;font-weight:700}.modal-card__close{width:26px;height:26px;box-shadow:none;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.modal-card__close:hover{background:var(--color-surface-hover)}.modal-card__body{flex-direction:column;gap:.9rem;padding:1.1rem 1.2rem;display:flex;overflow-y:auto}.modal-card__actions{border-top:1px solid var(--color-border);justify-content:flex-end;gap:.7rem;padding:.9rem 1.2rem;display:flex}.modal-card__error{color:var(--color-danger);margin:0;font-size:.8rem}.field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.checkbox-row{align-items:center;gap:.5rem;font-size:.82rem;font-weight:500;display:flex}@media (width<=760px){.modal-card{max-height:calc(100dvh - 2rem)}.field-row{grid-template-columns:1fr}}.confirm-dialog{background:var(--color-surface);border:1px solid var(--color-border);width:360px;max-width:calc(100vw - 2rem);box-shadow:0 24px 60px -16px hsl(var(--shadow-color) / .5);border-radius:14px;flex-direction:column;gap:.5rem;padding:1.3rem;display:flex}.confirm-dialog h2{margin:0;font-size:1rem;font-weight:700}.confirm-dialog p{color:var(--color-text-muted);margin:0;font-size:.86rem;line-height:1.4}.confirm-dialog__actions{justify-content:flex-end;gap:.6rem;margin-top:.5rem;display:flex}.filter-tabs{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;align-items:center;gap:.2rem;width:fit-content;padding:.25rem;display:flex}.filter-tabs__tab{color:var(--color-text-muted);box-shadow:none;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:.25rem;padding:.4rem .75rem;font-size:.8rem;font-weight:600;display:flex}.filter-tabs__tab:hover{color:var(--color-text)}.filter-tabs__tab--active{background:color-mix(in srgb, var(--color-accent) 14%, transparent);color:var(--color-accent)}.filter-tabs__count{opacity:.8}@media (width<=760px){.filter-tabs{scrollbar-width:none;max-width:100%;overflow-x:auto}.filter-tabs__tab{white-space:nowrap;flex-shrink:0}}.search-input{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:9px;align-items:center;gap:.5rem;min-width:240px;padding:.5rem .75rem;display:flex}.search-input input{min-width:0;color:var(--color-text);background:0 0;border:none;outline:none;flex:1;font-size:.82rem}.search-input input::placeholder{color:var(--color-text-muted)}.attachments__list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.attachments__item{border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:8px;align-items:center;gap:.5rem;padding:.45rem .6rem;font-size:.82rem;display:flex}.attachments__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text);flex:1;overflow:hidden}.attachments__name--link{color:var(--color-accent);text-decoration:none}.attachments__name--link:hover{text-decoration:underline}.attachments__size{flex-shrink:0;font-size:.74rem}.attachments__remove{width:26px;height:26px;box-shadow:none;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}.attachments__remove:hover{background:var(--color-surface-hover);color:var(--color-danger)}.attachments__add{align-self:flex-start}.attachments__hint{color:var(--color-text-muted);font-size:.74rem}.attachments__error{color:var(--color-danger);font-size:.78rem}.module-settings{width:600px}.module-settings__tabs{border-bottom:1px solid var(--color-border);gap:.3rem;padding:0 1.2rem;display:flex}.module-settings__tab{box-shadow:none;color:var(--color-text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.7rem .6rem;font-size:.85rem;font-weight:600}.module-settings__tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.editable-list{flex-direction:column;gap:.9rem;display:flex}.editable-list__form{flex-direction:column;gap:.7rem;display:flex}.editable-list__add{align-self:flex-start}.editable-list__error{color:var(--color-danger);margin:0;font-size:.8rem}.editable-list__empty{color:var(--color-text-muted);margin:0;font-size:.82rem}.editable-list__items{border:1px solid var(--color-border);border-radius:10px;flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.editable-list__item{align-items:center;gap:.6rem;padding:.55rem .7rem;font-size:.85rem;display:flex}.editable-list__item+.editable-list__item{border-top:1px solid var(--color-border)}.editable-list__item--editing{background:var(--color-bg);display:block}.editable-list__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.editable-list__with-icon{align-items:center;gap:.45rem;display:inline-flex}.editable-list__muted{color:var(--color-text-muted)}.editable-list__usage{color:var(--color-text-muted);flex-shrink:0;font-size:.74rem}.editable-list__edit-actions{gap:.4rem;display:flex}.editable-list__icon-btn{width:28px;height:28px;box-shadow:none;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.editable-list__icon-btn:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.editable-list__icon-btn--danger:hover:not(:disabled){color:var(--color-danger)}.editable-list__icon-btn:disabled{opacity:.35;cursor:not-allowed}.icon-picker{grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:.3rem;display:grid}.icon-picker__option{border:1px solid var(--color-border);background:var(--color-bg);height:34px;box-shadow:none;color:var(--color-text-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:flex}.icon-picker__option:hover{color:var(--color-text)}.icon-picker__option--selected{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 14%, transparent);color:var(--color-accent)}@media (width<=760px){.editable-list__usage{display:none}}.finance{flex-direction:column;gap:1.2rem;max-width:1200px;display:flex}.finance__header{justify-content:space-between;align-items:flex-start;display:flex}.finance__header h1{margin:0 0 .2rem;font-size:1.4rem;font-weight:700}.finance__header p{color:var(--color-text-muted);margin:0;font-size:.85rem}.finance__stats{grid-template-columns:repeat(4,1fr);gap:.9rem;display:grid}.finance__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.finance__toolbar-filters{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.finance__period{min-width:170px;margin:0}.finance__period select{font-size:.85rem}.finance__hint{color:var(--color-text-muted);margin:0;font-size:.82rem}.finance__hint--error{color:var(--color-danger)}.finance-table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;width:100%;min-width:860px;font-size:.82rem;overflow:hidden}.finance-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);vertical-align:bottom;padding:.65rem;font-size:.72rem;font-weight:650;line-height:1.3}.finance-table td{border-bottom:1px solid var(--color-border);color:var(--color-text-muted);padding:.7rem .65rem}.finance-table td:nth-child(3),.finance-table td:nth-child(4),.finance-table td:nth-child(7),.finance-table td:nth-child(8){white-space:nowrap}.finance-table tr:last-child td{border-bottom:none}.finance-table__title{color:var(--color-text);min-width:140px;font-weight:600}.finance-table__title-inner{flex-wrap:wrap;align-items:center;gap:.3rem .4rem;min-width:0;display:flex}.finance-table__title-text{min-width:0}.finance-table__forecast{background:color-mix(in srgb, var(--color-accent) 16%, transparent);color:var(--color-accent);border-radius:999px;flex-shrink:0;padding:.1rem .45rem;font-size:.68rem;font-weight:650}.finance-table__indicator{color:var(--color-text-muted);flex-shrink:0;align-items:center;gap:.15rem;font-size:.7rem;display:inline-flex}.finance-table__category{align-items:center;gap:.35rem;display:flex}.finance-table__status{border-radius:999px;padding:.14rem .55rem;font-size:.7rem;font-weight:650}.finance-table__status--success{background:color-mix(in srgb, var(--color-success) 16%, transparent);color:var(--color-success)}.finance-table__status--warning{background:color-mix(in srgb, var(--color-warning) 16%, transparent);color:var(--color-warning)}.finance-table__status--danger{background:color-mix(in srgb, var(--color-danger) 16%, transparent);color:var(--color-danger)}.finance-table__actions{align-items:center;gap:.6rem;display:flex}.finance-table__actions button{box-shadow:none;cursor:pointer;background:0 0;border:none;padding:0}.finance-table__mark-slot{text-align:left;flex:1;overflow:hidden}.finance-table__mark-slot button{color:var(--color-accent);white-space:nowrap;font-size:.8rem;font-weight:600}.finance-table__mark-slot button.finance-table__unmark{color:var(--color-text-muted);font-weight:500}.finance-table__mark-slot button.finance-table__unmark:hover{color:var(--color-text);text-decoration:underline}.finance-table__icon-group{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.finance-table__remove,.finance-table__icon-btn{width:24px;min-width:24px;height:24px;color:var(--color-text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;line-height:1;display:flex}.finance-table__icon-btn:hover{background:var(--color-surface-hover);color:var(--color-accent)}.finance-table__remove:hover{background:var(--color-surface-hover);color:var(--color-danger)}.finance__table-wrap{overflow-x:auto}@media (width<=760px){.finance__toolbar,.finance__toolbar-filters,.finance__toolbar-filters>*{min-width:0;max-width:100%}.finance__header{flex-direction:column;gap:.8rem}.finance__stats{grid-template-columns:1fr 1fr}}.calendar-view{flex-direction:column;gap:.8rem;display:flex}.calendar-view__toolbar{align-items:center;gap:.6rem;display:flex}.calendar-view__nav{background:var(--color-surface);border:1px solid var(--color-border);width:28px;height:28px;color:var(--color-text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:flex}.calendar-view__nav:hover{background:var(--color-surface-hover)}.calendar-view__month{text-align:center;min-width:9rem;font-size:.9rem;font-weight:650}.calendar-view__today{margin-left:auto}.calendar-view__grid{background:var(--color-border);border:1px solid var(--color-border);border-radius:12px;grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.calendar-view__weekday{background:var(--color-surface);text-align:center;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);padding:.5rem 0;font-size:.7rem;font-weight:650}.calendar-view__cell{background:var(--color-surface);cursor:pointer;text-align:left;min-height:92px;font:inherit;color:inherit;border:none;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.4rem;display:flex}.calendar-view__cell:hover{background:var(--color-surface-hover)}.calendar-view__cell--outside{color:var(--color-text-muted);opacity:.5}.calendar-view__cell--today .calendar-view__cell-day{background:var(--color-accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.calendar-view__cell-day{font-size:.78rem;font-weight:650}.calendar-view__cell-entries{flex-direction:column;gap:.2rem;width:100%;display:flex}.calendar-view__chip{text-overflow:ellipsis;white-space:nowrap;border-radius:5px;width:100%;padding:.1rem .35rem;font-size:.68rem;font-weight:600;display:block;overflow:hidden}.calendar-view__chip--info{background:color-mix(in srgb, var(--color-accent) 16%, transparent);color:var(--color-accent)}.calendar-view__chip--success{background:color-mix(in srgb, var(--color-success) 16%, transparent);color:var(--color-success)}.calendar-view__chip--danger{background:color-mix(in srgb, var(--color-danger) 16%, transparent);color:var(--color-danger)}.calendar-view__chip-more{color:var(--color-text-muted);font-size:.65rem}.schedule{flex-direction:column;gap:1.2rem;max-width:1200px;display:flex}.schedule__header{justify-content:space-between;align-items:flex-start;display:flex}.schedule__header h1{margin:0 0 .2rem;font-size:1.4rem;font-weight:700}.schedule__header p{color:var(--color-text-muted);margin:0;font-size:.85rem}.schedule__hint{color:var(--color-text-muted);margin:0;font-size:.82rem}.schedule__hint--error{color:var(--color-danger)}.schedule__view-tabs{border-bottom:1px solid var(--color-border);gap:.4rem;margin-bottom:-.4rem;display:flex}.schedule__view-tab{box-shadow:none;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.4rem .2rem;font-size:.8rem;font-weight:600}.schedule__view-tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.schedule-table{table-layout:fixed;border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;width:100%;font-size:.82rem;overflow:hidden}.schedule-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);padding:.65rem .8rem;font-size:.72rem;font-weight:650}.schedule-table td{border-bottom:1px solid var(--color-border);color:var(--color-text-muted);white-space:nowrap;padding:.7rem .8rem;overflow:hidden}.schedule-table tr:last-child td{border-bottom:none}.schedule-table__title{color:var(--color-text);font-weight:600}.schedule-table__status{border-radius:999px;padding:.14rem .55rem;font-size:.7rem;font-weight:650}.schedule-table__status--success{background:color-mix(in srgb, var(--color-success) 16%, transparent);color:var(--color-success)}.schedule-table__status--info{background:color-mix(in srgb, var(--color-accent) 16%, transparent);color:var(--color-accent)}.schedule-table__status--danger{background:color-mix(in srgb, var(--color-danger) 16%, transparent);color:var(--color-danger)}.schedule-table__actions{align-items:center;gap:.4rem;display:flex}.schedule-table__actions button{width:24px;height:24px;box-shadow:none;cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.schedule-table__actions button:hover{background:var(--color-surface-hover);color:var(--color-accent)}.schedule-table__actions button.danger:hover{color:var(--color-danger)}@media (width<=760px){.schedule__header{flex-direction:column;gap:.8rem}.schedule-table{table-layout:auto;display:block;overflow-x:auto}}.schedule-field{flex-direction:column;gap:.6rem;display:flex}.schedule-field select,.schedule-field input[type=number],.schedule-field input[type=text]{font:inherit;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:8px;outline:none;padding:.5rem .65rem;font-size:.85rem}.schedule-field select:focus,.schedule-field input:focus{border-color:var(--color-accent)}.schedule-field select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888b93' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right .65rem center;background-repeat:no-repeat;background-size:16px;padding-right:2.2rem}.schedule-field select:hover{border-color:color-mix(in srgb, var(--color-accent) 40%, var(--color-border))}.schedule-field__tabs{border-bottom:1px solid var(--color-border);gap:.4rem;margin-bottom:.2rem;display:flex}.schedule-field__tab{box-shadow:none;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.4rem .2rem;font-size:.8rem;font-weight:600}.schedule-field__tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.schedule-field__presets{flex-wrap:wrap;gap:.4rem;display:flex}.schedule-field__preset{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);cursor:pointer;box-shadow:none;border-radius:999px;padding:.3rem .6rem;font-size:.72rem}.schedule-field__preset:hover{color:var(--color-text);border-color:var(--color-accent)}.schedule-field__days{flex-direction:column;gap:.35rem;display:flex}.schedule-field__day-all{align-self:flex-start}.schedule-field__day-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem;display:grid}.schedule-field__day{border:1.5px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);box-shadow:none;cursor:pointer;border-radius:7px;justify-content:center;align-items:center;padding:.3rem .4rem;font-size:.72rem;font-weight:600;display:inline-flex}.schedule-field__day-all{border-radius:999px;padding:.3rem .65rem}.schedule-field__day--selected{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 14%, transparent);color:var(--color-accent)}.schedule-field__hours-row{justify-content:space-between;align-items:center;display:flex}.schedule-field__minute{color:var(--color-text-muted);align-items:center;gap:.4rem;font-size:.72rem;display:flex}.schedule-field__minute input{width:3.2rem;padding:.3rem .4rem}.schedule-field__hours{flex-direction:column;gap:.4rem;display:flex}.schedule-field__hour-row{align-items:center;gap:.4rem;display:flex}.schedule-field__hour-row select{flex:1}.schedule-field__remove-hour{border:1px solid var(--color-border);background:var(--color-bg);width:1.6rem;height:1.6rem;color:var(--color-text-muted);cursor:pointer;box-shadow:none;border-radius:50%;font-size:.9rem;line-height:1}.schedule-field__remove-hour:hover{color:var(--color-danger);border-color:var(--color-danger)}.schedule-field__add-hour{border:1px dashed var(--color-border);box-shadow:none;color:var(--color-accent);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;padding:.3rem .6rem;font-size:.75rem}.schedule-field__preview{color:var(--color-text-muted);margin:.2rem 0 0;font-size:.78rem;font-style:italic}.schedule-field__hint{color:var(--color-text-muted);margin:0;font-size:.72rem}.schedule-field__hint code{background:var(--color-surface-hover);border-radius:4px;padding:.1rem .3rem}.schedule-field__hint--error{color:var(--color-danger)}.schedule-field__tabs--sub{border-bottom:none;gap:.3rem;margin-bottom:0}.schedule-field__tabs--sub .schedule-field__tab{border:1px solid var(--color-border);border-radius:999px;margin-bottom:0;padding:.25rem .6rem;font-size:.72rem}.schedule-field__tabs--sub .schedule-field__tab--active{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 14%, transparent)}.schedule-field__preview code{background:var(--color-surface-hover);border-radius:4px;padding:.1rem .3rem;font-style:normal}.cron-visual-builder{flex-direction:column;gap:.6rem;display:flex}.cron-visual-builder__row{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.cron-visual-builder__day-driver{flex-direction:column;gap:.3rem;display:flex}.cron-field{border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:.35rem;padding:.5rem .6rem;display:flex}.cron-field__header{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.cron-field__header select{background-position:right .5rem center;background-size:13px;padding:.3rem 1.8rem .3rem .5rem;font-size:.75rem}.cron-field__chips{flex-wrap:wrap;gap:.3rem;display:flex}.cron-field__range{color:var(--color-text-muted);align-items:center;gap:.4rem;font-size:.75rem;display:flex}.cron-field__range select,.cron-field__range input{flex:1;min-width:0}.cron-field__step{color:var(--color-text-muted);align-items:center;gap:.4rem;font-size:.75rem;display:flex}.cron-field__step input{width:4rem}.health{flex-direction:column;gap:1.2rem;max-width:1200px;display:flex}.health__header{justify-content:space-between;align-items:flex-start;display:flex}.health__header h1{margin:0 0 .2rem;font-size:1.4rem;font-weight:700}.health__header p{color:var(--color-text-muted);margin:0;font-size:.85rem}.health__stats{grid-template-columns:repeat(3,1fr);gap:.9rem;display:grid}.health__persons{flex-wrap:wrap;gap:.4rem;display:flex}.health__person-chip{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .4rem .3rem .7rem;font-size:.78rem;font-weight:600;display:inline-flex}.health__person-relationship{color:var(--color-text-muted);font-weight:500}.health__person-chip button{width:1.1rem;height:1.1rem;box-shadow:none;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.health__person-chip button:hover{background:var(--color-surface-hover);color:var(--color-health)}.health__section h2{margin:0 0 .6rem;font-size:1rem;font-weight:650}.health__hint{color:var(--color-text-muted);margin:0;font-size:.82rem}.health__hint--error{color:var(--color-danger)}.health-table{table-layout:fixed;border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;width:100%;font-size:.82rem;overflow:hidden}.health-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);padding:.65rem .8rem;font-size:.72rem;font-weight:650}.health-table td{border-bottom:1px solid var(--color-border);color:var(--color-text-muted);white-space:nowrap;padding:.7rem .8rem;overflow:hidden}.health-table tr:last-child td{border-bottom:none}.health-table__title{color:var(--color-text);font-weight:600}.health-table__title-inner{align-items:center;gap:.4rem;display:flex}.health-table__dosage{color:var(--color-text-muted);font-size:.7rem;font-weight:500}.health-table__type{align-items:center;gap:.35rem;display:flex}.health-table__status{border-radius:999px;padding:.14rem .55rem;font-size:.7rem;font-weight:650}.health-table__status--success{background:color-mix(in srgb, var(--color-success) 16%, transparent);color:var(--color-success)}.health-table__status--warning{background:color-mix(in srgb, var(--color-warning) 16%, transparent);color:var(--color-warning)}.health-table__status--danger{background:color-mix(in srgb, var(--color-danger) 16%, transparent);color:var(--color-danger)}.health-table__mark-done{color:var(--color-health);box-shadow:none;cursor:pointer;background:0 0;border:none;padding:0;font-size:.78rem;font-weight:600}.health-table__item-status{cursor:pointer;background:color-mix(in srgb, var(--color-text-muted) 16%, transparent);color:var(--color-text-muted);border:none;border-radius:999px;padding:.14rem .55rem;font-size:.7rem;font-weight:650}.health-table__item-status--active{background:color-mix(in srgb, var(--color-health) 16%, transparent);color:var(--color-health)}.health-table__actions{align-items:center;gap:.4rem;display:flex}.health-table__actions button{width:24px;height:24px;box-shadow:none;cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.health-table__actions button:hover{background:var(--color-surface-hover);color:var(--color-health)}.health-table__actions button.danger:hover{color:var(--color-danger)}@media (width<=760px){.health__header{flex-direction:column;gap:.8rem}.health__stats{grid-template-columns:1fr}.health-table{table-layout:auto;display:block;overflow-x:auto}}.notifications-page{max-width:1200px}.notifications-page__header{margin-bottom:1.2rem}.notifications-page__header h1{margin:0 0 .3rem;font-size:1.3rem;font-weight:700}.notifications-page__header p{color:var(--color-text-muted);margin:0;font-size:.85rem}.notifications-page__device{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:1.2rem;padding:.9rem 1.1rem;font-size:.85rem;display:flex}.notifications-page__empty{color:var(--color-text-muted);text-align:center;padding:2rem 0;font-size:.85rem}.notifications-page__toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.notifications-page__select-all{color:var(--color-text-muted);align-items:center;gap:.4rem;font-size:.8rem;display:flex}.notifications-page__list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.notifications-page__item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.6rem;align-items:center;gap:1rem;padding:.9rem 1.1rem;display:flex}.notifications-page__item--unread{border-color:var(--color-accent)}.notifications-page__item-body{text-align:left;flex:1;min-width:0}.notifications-page__item-body p{margin:0 0 .25rem;font-size:.85rem}.notifications-page__item-body span{color:var(--color-text-muted);font-size:.75rem}.routines{flex-direction:column;gap:1.2rem;max-width:1200px;display:flex}.routines__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.routines__header h1{margin:0;font-size:1.5rem}.routines__header p{color:var(--color-text-muted);margin:.3rem 0 0;font-size:.88rem}.routines__feedback{color:var(--color-text-muted);margin:0;font-size:.8rem}.routines__section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;padding:1.3rem 1.5rem}.routines__empty{color:var(--color-text-muted);text-align:center;margin:0;padding:1.5rem 0;font-size:.85rem}.routines__table-wrap{overflow-x:auto}.routine-table{border-collapse:collapse;width:100%;font-size:.82rem}.routine-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);padding:.5rem .6rem;font-size:.7rem;font-weight:650}.routine-table td{border-bottom:1px solid var(--color-border);color:var(--color-text-muted);padding:.65rem .6rem}.routine-table tr:last-child td{border-bottom:none}.routine-table__title{color:var(--color-text);font-weight:600}.routine-table__module--health{background:color-mix(in srgb, var(--color-health) 16%, transparent);color:var(--color-health);border-radius:999px;align-items:center;padding:.14rem .55rem;font-size:.7rem;font-weight:650;display:inline-flex}.routine-table__status{cursor:pointer;background:color-mix(in srgb, var(--color-text-muted) 16%, transparent);color:var(--color-text-muted);border:none;border-radius:999px;align-items:center;gap:.3rem;padding:.14rem .55rem;font-size:.7rem;font-weight:650;display:inline-flex}.routine-table__status--active{background:color-mix(in srgb, var(--color-success) 16%, transparent);color:var(--color-success)}.routine-table__actions{gap:.4rem;display:flex}.routine-table__actions button{width:28px;height:28px;box-shadow:none;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;display:flex}.routine-table__actions button:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.routine-table__actions button:disabled{opacity:.4;cursor:default}.routine-table__actions button.danger:hover{color:var(--color-danger)}@media (width<=760px){.routines__section{padding:.6rem .9rem}.routine-table thead{display:none}.routine-table,.routine-table tbody,.routine-table tr,.routine-table td{width:100%;display:block}.routine-table tr{border-bottom:1px solid var(--color-border);padding:.8rem 0}.routine-table tr:last-child{border-bottom:none}.routine-table td{border-bottom:none;justify-content:space-between;gap:1rem;padding:.2rem 0;display:flex}.routine-table td[data-label]:before{content:attr(data-label);color:var(--color-text-muted);font-size:.72rem}.routine-table__title{font-size:.95rem}.routine-table__title:before{display:none}.routine-table__actions{justify-content:flex-end;width:100%}}.coming-soon{flex-direction:column;gap:.3rem;padding:2rem 0;display:flex}.coming-soon h1{margin:0;font-size:1.3rem;font-weight:700}.coming-soon p{color:var(--color-text-muted);margin:0;font-size:.85rem}:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f3f4f7;--color-surface:#fff;--color-surface-hover:#ececf3;--color-text:#15161a;--color-text-muted:#6c6f7a;--color-border:#0f111a14;--color-accent:#5b6cf0;--color-accent-2:#9b5cf0;--color-info:#2f80ed;--color-success:#1f9254;--color-warning:#b9790a;--color-danger:#c4342f;--color-health:#e0383f;--shadow-color:220 20% 40%}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#22242b;--color-surface:#2b2e37;--color-surface-hover:#363a45;--color-text:#eef0f4;--color-text-muted:#a2a6b2;--color-border:#ffffff17;--color-accent:#7c8cfb;--color-accent-2:#c07cf0;--color-info:#5b9df0;--color-success:#3ddc84;--color-warning:#e0b23d;--color-danger:#ef6861;--color-health:#ff5a63;--shadow-color:230 25% 8%}:root{--sidebar-bg:#14151c;--sidebar-surface:#1b1d26;--sidebar-text:#e7e8ec;--sidebar-text-muted:#8b8d98;--sidebar-border:#ffffff0f;--sidebar-active-bg:color-mix(in srgb, var(--color-accent) 28%, transparent)}:root[data-theme=dark]{--sidebar-bg:#1b1d23;--sidebar-surface:#252832}*{box-sizing:border-box}html,body,#root{background:0 0;height:100%;margin:0}body{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Avenir,Helvetica,Arial,sans-serif}.btn{box-shadow:none;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:.35rem;padding:.45rem .8rem;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-flex}.btn--primary{background:linear-gradient(135deg, var(--color-accent), var(--color-accent-2));color:#fff}.btn--health{background:var(--color-health);color:#fff}.btn--outline{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn--outline:hover{background:var(--color-surface-hover)}.btn--danger-outline{background:var(--color-surface);color:var(--color-danger);border:1px solid var(--color-border)}.btn--danger{background:var(--color-danger);color:#fff}.link-arrow{color:var(--color-accent);white-space:nowrap;font-size:.8rem;font-weight:600;text-decoration:none}.field{flex-direction:column;gap:.3rem;display:flex}.field__hint{color:var(--color-text-muted);margin:0;font-size:.74rem}.field__label{color:var(--color-text-muted);font-size:.78rem;font-weight:600}.field input,.field textarea,.field select{box-sizing:border-box;width:100%;min-width:0;font:inherit;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);resize:vertical;border-radius:8px;outline:none;padding:.55rem .7rem;font-size:.85rem}.field textarea{resize:vertical;min-height:6rem;line-height:1.45}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--color-accent)}.field select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888b93' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right .65rem center;background-repeat:no-repeat;background-size:16px;padding-right:2.2rem}.field select:hover{border-color:color-mix(in srgb, var(--color-accent) 40%, var(--color-border))}.module-header__actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}
