:root{--gf-black:#000;--gf-white:#fff;--gf-yellow-500:#fff732;--gf-yellow-compat:#fff633;--gf-neutral-900:#1c1c1e;--gf-neutral-850:#2b2b2b;--gf-neutral-300:#d0d0d0;--gf-neutral-400:#aaa;--gf-danger:#ff453a;--radius-md:12px;--radius-sm:10px;--radius-lg:16px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--focus-ring-size:2px;--focus-ring-offset:2px;--focus-ring-color:var(--color-primary);--color-success:#6bffb5;--color-danger-contrast:#ff9f99;--color-surface-strong:#1c1c1ebf;--color-surface-soft:#0003;--color-surface-dialog-backdrop:#0000008c;--color-surface-badge:#ffffff0a;--color-border-danger:#ff453a99;--color-border-success:#30d15873;--color-border-warning:#fff73273;--color-border-danger-soft:#ff453a73;--color-bg-success-soft:#30d15824;--color-bg-warning-soft:#fff73224;--color-bg-danger-soft:#ff453a24;--color-bg:var(--gf-black);--color-surface:var(--gf-neutral-900);--color-surface-alt:var(--gf-neutral-850);--color-text:var(--gf-white);--color-text-muted:var(--gf-neutral-300);--color-border:#ffffff26;--color-primary:var(--gf-yellow-500);--color-on-primary:var(--gf-black);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif}[data-theme=light]{--color-bg:#f2f2f5;--color-surface:#fff;--color-surface-alt:#f7f7fa;--color-text:#111;--color-text-muted:#333;--color-border:#0000001f;--color-primary:#f5d400;--color-on-primary:#000;--color-surface-strong:#fffffff5;--color-surface-soft:#0000000a;--color-surface-dialog-backdrop:#00000061;--color-surface-badge:#0000000a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh;color:var(--color-text);background:radial-gradient(circle at top,#1b1b1d 0%,#000 56%)}a{color:inherit;text-decoration:none}button,input{font:inherit}.centered-loader{min-height:100vh;color:var(--color-text-muted);place-items:center;display:grid}.auth-page{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--color-border);background:#1c1c1ee6;border-radius:16px;gap:12px;width:min(480px,100%);padding:32px;display:grid}.auth-logo{width:56px;height:56px}.auth-card h1{margin:0;font-size:2rem;line-height:1.2}.auth-card p{color:var(--color-text-muted);margin:0}.hint-box{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);background:#fff73214;padding:10px 12px;font-size:.9rem}.auth-form{gap:8px;margin-top:8px;display:grid}.auth-form label{font-size:.9rem;font-weight:600}.auth-form input{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-alt);min-height:44px;color:var(--color-text);padding:0 12px}.auth-form input:focus-visible,.primary-button:focus-visible,.ghost-button:focus-visible,.brand-link:focus-visible,.nav-item:focus-visible,.user-chip-button:focus-visible,.user-menu-item:focus-visible,.toolbar-row input:focus-visible,.entity-form input:focus-visible,.entity-form select:focus-visible,.entity-form textarea:focus-visible,.filter-bar input:focus-visible,.filter-bar select:focus-visible{outline:var(--focus-ring-size) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.field-error,.submit-error{color:var(--gf-danger);font-size:.86rem}.primary-button,.ghost-button{border-radius:var(--radius-pill);cursor:pointer;border:1px solid #0000;min-height:44px;padding:0 18px;font-weight:700}.inline-button{align-items:center;display:inline-flex}.primary-button{background:var(--color-primary);color:var(--color-on-primary);margin-top:8px}.ghost-button{border-color:var(--color-border);color:var(--color-text);background:0 0}.primary-button:disabled,.ghost-button:disabled{opacity:.5;cursor:not-allowed}.app-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--color-border);background:#0000008c;flex-direction:column;gap:20px;padding:24px;display:flex}.brand-block{align-items:center;gap:12px;display:flex}.brand-link{border-radius:10px}.brand-logo{width:38px;height:38px}.brand-block p{color:var(--color-text-muted);margin:2px 0 0;font-size:.85rem}.main-nav{gap:16px;display:grid}.nav-section{gap:6px;display:grid}.nav-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin:0;font-size:.72rem}.nav-item{min-height:42px;color:var(--color-text-muted);border-radius:10px;align-items:center;padding:0 12px;font-weight:600;display:inline-flex}.nav-item.active{color:var(--color-text);background:#fff73226}.content{padding:24px}.topbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.topbar-left{gap:8px;display:grid}.topbar h1{margin:0;font-size:1.6rem}.topbar p{color:var(--color-text-muted);margin:6px 0 0}.breadcrumb-row{align-items:center;gap:10px;display:flex}.breadcrumb-nav{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.84rem;display:inline-flex}.breadcrumb-item{align-items:center;gap:6px;display:inline-flex}.breadcrumb-item a{color:var(--color-text)}.breadcrumb-separator{color:var(--color-text-muted)}.breadcrumb-back{min-height:36px;padding:0 14px;font-size:.84rem}.user-menu{position:relative}.user-chip{border:1px solid var(--color-border);text-align:right;border-radius:10px;padding:8px 12px;display:grid}.user-chip small{color:var(--color-text-muted)}.user-chip-button{min-width:190px;color:inherit;cursor:pointer;background:0 0}.user-menu-panel{border:1px solid var(--color-border);z-index:20;background:#1c1c1efa;border-radius:10px;gap:2px;min-width:220px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.user-menu-item{min-height:38px;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;padding:0 10px;display:inline-flex}.user-menu-item:hover{background:#ffffff0f}.dashboard-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;display:grid}.metric-card,.state-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-strong);padding:var(--space-4)}.metric-card{grid-column:span 4}.metric-card h2,.state-card h2{margin:0;font-size:1rem}.metric-card strong{color:var(--color-primary);margin-top:12px;font-size:2rem;display:block}.metric-card p,.state-card p{color:var(--color-text-muted);margin:8px 0 0}.state-card{grid-column:span 12}.state-card.error{border-color:var(--color-border-danger)}.placeholder-card,.page-shell{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-strong);padding:var(--space-5)}.placeholder-card h2{margin:0}.placeholder-card p{color:var(--color-text-muted);margin:8px 0 0}.placeholder-meta{color:var(--color-text-muted);margin-top:14px;font-size:.88rem}.placeholder-actions{margin-top:14px}.page-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.page-header h2{margin:0}.page-header p{color:var(--color-text-muted);margin:6px 0 0}.page-header-actions{align-items:center;gap:8px;display:inline-flex}.state-card h3{margin:0}.state-card-actions{margin-top:12px}.form-actions{gap:8px;margin-top:14px;display:flex}.form-actions-end{justify-content:flex-end}.form-actions-start{justify-content:flex-start}.table-wrap{border:1px solid var(--color-border);background:#00000040;border-radius:12px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:10px 12px}.data-table th{color:var(--color-text-muted);font-size:.85rem}.data-table tbody tr:last-child td{border-bottom:0}.module-grid{gap:16px;display:grid}.module-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar-row{gap:8px;margin-bottom:12px;display:flex}.toolbar-row input{border:1px solid var(--color-border);background:var(--color-surface-alt);min-height:42px;color:var(--color-text);border-radius:10px;flex:1;padding:0 12px}.filter-bar{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);gap:var(--space-2);margin-bottom:var(--space-3);background:var(--color-surface-soft);display:grid}.filter-bar-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;display:grid}.filter-bar label{gap:6px;font-size:.9rem;font-weight:600;display:grid}.filter-bar input,.filter-bar select{border:1px solid var(--color-border);background:var(--color-surface-alt);min-height:42px;color:var(--color-text);border-radius:10px;padding:0 12px}.filter-bar-actions{justify-content:flex-end;gap:8px;display:inline-flex}.pagination-row{color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.pagination-actions{gap:8px;display:flex}.entity-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;display:grid}.entity-form label{gap:6px;font-size:.9rem;font-weight:600;display:grid}.entity-form input,.entity-form select,.entity-form textarea{border:1px solid var(--color-border);background:var(--color-surface-alt);min-height:42px;color:var(--color-text);border-radius:10px;padding:0 12px}.entity-form textarea{resize:vertical;min-height:90px;padding-top:10px}.entity-form .form-actions{grid-column:1/-1}.field-hint{color:var(--color-text-muted);font-size:.82rem;font-weight:400}.submit-success{color:var(--color-success);font-size:.9rem}.status-badge{border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface-badge);align-items:center;min-height:28px;padding:0 10px;font-size:.78rem;font-weight:600;display:inline-flex}.status-badge-success{border-color:var(--color-border-success);background:var(--color-bg-success-soft);color:var(--color-success)}.status-badge-warning{border-color:var(--color-border-warning);background:var(--color-bg-warning-soft);color:var(--gf-yellow-500)}.status-badge-danger{border-color:var(--color-border-danger-soft);background:var(--color-bg-danger-soft);color:var(--color-danger-contrast)}.status-badge-neutral{color:var(--color-text-muted)}.details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;display:grid}.detail-view{gap:12px;display:grid}.detail-view-section{border:1px solid var(--color-border);background:#0000002e;border-radius:12px;padding:14px}.detail-view-header h3{margin:0}.detail-view-header p{color:var(--color-text-muted);margin:6px 0 0}.detail-view-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:12px 0 0;display:grid}.detail-view-item{margin:0}.detail-view-item dt{color:var(--color-text-muted);font-size:.82rem}.detail-view-item dd{margin:4px 0 0}.detail-action-block{border:1px solid var(--color-border);background:#0000002e;border-radius:12px;margin-top:12px;padding:14px}.detail-action-block h3{margin:0 0 10px}.table-contact-block{gap:2px;display:grid}.dialog-backdrop{background:var(--color-surface-dialog-backdrop);z-index:50;padding:var(--space-5);place-items:center;display:grid;position:fixed;inset:0}.dialog{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:min(460px,100%);padding:var(--space-4)}.dialog h3{margin:0}.dialog p{color:var(--color-text-muted);margin:8px 0 0}.dialog-actions{margin-top:var(--space-4);justify-content:flex-end;gap:var(--space-2);display:flex}.form-shell{gap:12px;display:grid}.form-shell-section{border:1px solid var(--color-border);background:#0000002e;border-radius:12px;padding:14px}.form-shell-header h3{margin:0}.form-shell-header p{color:var(--color-text-muted);margin:6px 0 0}.form-shell-content{margin-top:12px}.crud-form{gap:12px;display:grid}.form-field{gap:6px;display:grid}.form-field-label{font-size:.9rem;font-weight:600}.entity-form.single-column,.entity-form .single-column{grid-template-columns:1fr}.entity-form.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.table-actions-inline{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.checkbox-list{border:1px solid var(--color-border);background:#0003;border-radius:10px;gap:4px;padding:8px;display:grid}.checkbox-option{align-items:center;gap:8px;min-height:34px;font-weight:500;display:inline-flex}.checkbox-option input[type=checkbox]{accent-color:var(--color-primary)}.dynamic-block-list{gap:10px;display:grid}.dynamic-block-item{border:1px solid var(--color-border);background:#0003;border-radius:10px;padding:10px}.dynamic-block-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.dynamic-block-header h4{margin:0}.dynamic-subitem-list{gap:8px;margin-bottom:8px;display:grid}.dynamic-subitem-row{grid-template-columns:minmax(180px,2fr) minmax(120px,1fr) auto;align-items:end;gap:8px;display:grid}.routine-builder-form{gap:14px;display:grid}.routine-builder-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:14px;display:grid}.routine-builder-main{gap:12px;display:grid}.routine-builder-side{min-width:0}.routine-builder-card{border:1px solid var(--color-border);background:#0003;border-radius:12px;gap:12px;padding:14px;display:grid}.routine-builder-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.routine-builder-card-header h3{margin:0}.routine-builder-card-header p{color:var(--color-text-muted);margin:6px 0 0}.routine-main-form-grid{gap:12px}.routine-main-description-field{grid-column:1/-1}.routine-validation-summary{background:#ff453a1a;border:1px solid #ff453a73;border-radius:12px;padding:12px}.routine-validation-summary h3{margin:0;font-size:.96rem}.routine-validation-summary ul{gap:4px;margin:8px 0 0;padding-left:16px;display:grid}.routine-days-header .primary-button{margin-top:0}.routine-days-global-actions{border:1px solid var(--color-border);background:#ffffff05;border-radius:10px;gap:10px;padding:10px;display:grid}.routine-days-bulk-add{align-items:end;gap:10px;display:flex}.routine-days-bulk-add .form-field{width:min(220px,100%)}.routine-days-bulk-add .ghost-button{min-height:42px}.routine-days-shortcuts{flex-wrap:wrap;gap:8px;display:flex}.routine-days-shortcuts .ghost-button{min-height:38px;padding:0 12px;font-size:.84rem}.routine-days-list{gap:10px;display:grid}.routine-day-card{border:1px solid var(--color-border);background:#0000003d;border-radius:10px;gap:10px;padding:10px;display:grid}.routine-day-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.routine-day-card-header h4{margin:0}.routine-day-card-header p{color:var(--color-text-muted);margin:4px 0 0;font-size:.86rem}.routine-day-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.routine-day-card-actions .ghost-button,.routine-day-card-actions .danger-button{min-height:34px;padding:0 10px;font-size:.8rem}.routine-day-card-actions .danger-button{border-radius:10px}.routine-day-card-empty{color:var(--color-text-muted);margin:0}.routine-training-chip-list{flex-wrap:wrap;gap:8px;display:flex}.routine-training-chip{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:#ffffff0a;align-items:center;gap:8px;max-width:100%;min-height:30px;padding:0 10px;display:inline-flex}.routine-training-chip span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.routine-training-chip-remove{color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;font-size:.85rem}.routine-day-card-footer .ghost-button{min-height:38px;font-size:.86rem}.routine-summary{border:1px solid var(--color-border);background:#0003;border-radius:12px;padding:14px;position:sticky;top:12px}.routine-summary h3{margin:0}.routine-summary-grid{gap:10px;margin:10px 0 0;display:grid}.routine-summary-grid dt{color:var(--color-text-muted);font-size:.82rem}.routine-summary-grid dd{margin:4px 0 0}.routine-form-actions-sticky{border:1px solid var(--color-border);background:#1c1c1ef5;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex;position:sticky;bottom:0}.routine-form-actions-note{color:var(--color-text-muted);margin:0;font-size:.85rem}.routine-form-actions-buttons{gap:8px;display:inline-flex}.routine-form-actions-buttons .primary-button{margin-top:0}.routine-selector-backdrop{z-index:60}.routine-selector-dialog{gap:10px;width:min(720px,100%);display:grid}.routine-selector-header h3{margin:0}.routine-selector-header p{color:var(--color-text-muted);margin:6px 0 0}.routine-selector-list{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft);max-height:340px;padding:var(--space-2);gap:var(--space-1);display:grid;overflow:auto}.routine-selector-empty{color:var(--color-text-muted);margin:0}.routine-selector-option{align-items:center;gap:8px;min-height:34px;display:inline-flex}.routine-selector-footer{color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:10px;font-size:.88rem;display:flex}.routine-selector-actions{gap:8px;display:inline-flex}.routine-selector-actions .primary-button{margin-top:0}.routine-copy-dialog{width:min(560px,100%)}.routine-copy-list{margin-top:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft);max-height:260px;padding:var(--space-2);gap:var(--space-2);display:grid;overflow:auto}.routine-copy-list p{color:var(--color-text-muted);margin:0}.routine-copy-option{align-items:center;gap:8px;min-height:34px;display:inline-flex}.danger-button{border-radius:var(--radius-pill);cursor:pointer;background:var(--gf-danger);min-height:44px;color:var(--gf-white);border:1px solid #0000;padding:0 18px;font-weight:700}.danger-button:disabled{opacity:.5;cursor:not-allowed}@media (width<=960px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--color-border)}.topbar{flex-direction:column}.user-menu{align-self:flex-end}.breadcrumb-row{flex-wrap:wrap}.metric-card{grid-column:span 12}.module-grid.two-columns,.entity-form,.entity-form.two-columns,.details-grid,.detail-view-grid,.filter-bar-fields,.dynamic-subitem-row,.routine-builder-layout{grid-template-columns:1fr}.pagination-row{flex-direction:column;align-items:flex-start}.routine-builder-side{order:2}.routine-summary{position:static}.routine-days-bulk-add{flex-direction:column;align-items:stretch}.routine-days-bulk-add .form-field{width:100%}.routine-day-card-header{flex-direction:column}.routine-day-card-actions{justify-content:flex-start;width:100%}.routine-form-actions-sticky{flex-direction:column;align-items:stretch}.routine-form-actions-buttons{justify-content:flex-end}.routine-selector-dialog{border-radius:0;width:100%;min-height:100vh;padding-bottom:28px}.routine-selector-list{max-height:calc(100vh - 300px)}}
