:root{--bg: #f4f4f4;--surface: #f7f8f8;--surface-alt: #c9d3d4;--surface-nav: #e6ecec;--primary: #2d5f7c;--secondary: #96a8a8;--success: #25d366;--warning: #f4b740;--error: #d64545;--info: #4a90a4;--text-primary: var(--primary);--text-secondary: color-mix(in srgb, var(--primary) 60%, var(--secondary) 40%);--border: color-mix(in srgb, var(--secondary) 45%, var(--bg) 55%);--accent: var(--primary);--accent-hover: color-mix(in srgb, var(--primary) 88%, black 12%);--shadow-soft: 0 8px 24px color-mix(in oklch, var(--text-primary) 10%, transparent);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-ui);background:var(--bg);color:var(--text-primary);line-height:1.5}a,button,input,select{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid color-mix(in oklch,var(--accent) 80%,white 20%);outline-offset:2px}.skip-link{position:absolute;left:var(--space-4);top:-100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--text-primary);color:var(--bg)}.skip-link:focus{top:var(--space-4)}.form-error{margin:0;color:var(--error);font-size:.9rem}.home-layout{min-height:100vh;display:flex;flex-direction:column}.home-layout--app{background:#fff}.avatar{width:2.4rem;height:2.4rem;border-radius:999px;object-fit:cover}.avatar--fallback{display:inline-grid;place-items:center;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));background:color-mix(in srgb,var(--primary) 10%,#fff);color:var(--primary);font-size:.78rem;font-weight:700}.app-shell__sidebar .avatar--fallback{border:2px solid color-mix(in srgb,#fff 40%,transparent);background:color-mix(in srgb,#fff 16%,transparent);color:#fff}.app-shell{min-height:100vh;display:flex;background:#fff}.app-shell__sidebar{width:4.75rem;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-5);padding:var(--space-5) var(--space-2) var(--space-4);background:linear-gradient(180deg,#1e4a63 0%,var(--primary) 55%,#3a738f 100%);color:#f4f4f4}.app-shell__avatar{display:grid;place-items:center}.app-shell__avatar-wrap{display:inline-flex;border-radius:999px}.app-shell__nav{flex:1;display:flex;flex-direction:column;justify-content:space-between;width:100%;min-height:0}.app-shell__nav-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3);justify-items:center}.app-shell__nav-list--footer{margin-top:auto;padding-top:var(--space-4)}.app-shell__nav-btn{position:relative;width:2.75rem;height:2.75rem;border:none;border-radius:.65rem;background:transparent;color:color-mix(in srgb,#fff 82%,transparent);display:grid;place-items:center;cursor:pointer;transition:background-color .18s ease-out,color .18s ease-out}.app-shell__nav-btn:hover{background:color-mix(in srgb,#fff 12%,transparent);color:#fff}.app-shell__nav-btn--active{color:#fff;background:color-mix(in srgb,#fff 10%,transparent)}.app-shell__active-bar{position:absolute;left:-.55rem;top:50%;transform:translateY(-50%);width:.22rem;height:1.35rem;border-radius:999px;background:var(--error)}.app-shell__nav-icon{display:inline-flex}.app-shell__main{flex:1;min-width:0;background:#fff;padding:clamp(1rem,.7rem + 1vw,2rem);overflow:auto}.app-shell__main--blank{padding:0}.app-shell__main--uikit{padding:var(--space-5)}.delayed-tooltip{position:relative;display:inline-flex}.delayed-tooltip__bubble{position:absolute;left:calc(100% + .65rem);top:50%;transform:translateY(-50%);z-index:40;white-space:nowrap;padding:.35rem .65rem;border-radius:.4rem;background:color-mix(in srgb,#123040 92%,#000);color:#f4f4f4;font-size:.78rem;font-weight:600;box-shadow:var(--shadow-soft);pointer-events:none;animation:tooltip-in .16s ease-out}.delayed-tooltip__bubble:before{content:"";position:absolute;left:-.3rem;top:50%;transform:translateY(-50%);border:.3rem solid transparent;border-right-color:color-mix(in srgb,#123040 92%,#000)}@keyframes tooltip-in{0%{opacity:0;transform:translateY(-50%) translate(-.25rem)}to{opacity:1;transform:translateY(-50%) translate(0)}}.home-content{max-width:65ch}.home-content h1{margin:0;font-size:1.5rem}.home-content p{margin-top:var(--space-3);color:var(--text-secondary)}@media (max-width: 48rem){.app-shell{flex-direction:column}.app-shell__sidebar{width:100%;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3)}.app-shell__nav{flex-direction:row;align-items:center;justify-content:flex-end;gap:var(--space-3);flex:1}.app-shell__nav-list{display:flex;gap:var(--space-2)}.app-shell__nav-list--footer{margin-top:0;padding-top:0}.app-shell__active-bar{left:50%;top:auto;bottom:-.35rem;transform:translate(-50%);width:1.1rem;height:.2rem}.delayed-tooltip__bubble{left:50%;top:auto;bottom:calc(100% + .5rem);transform:translate(-50%)}.delayed-tooltip__bubble:before{left:50%;top:auto;bottom:-.3rem;transform:translate(-50%);border:.3rem solid transparent;border-top-color:color-mix(in srgb,#123040 92%,#000);border-right-color:transparent}@keyframes tooltip-in{0%{opacity:0;transform:translate(-50%) translateY(.25rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ui-card{border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:.625rem;background:#fff;padding:var(--space-4)}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:2.75rem;padding:0 var(--space-4);border-radius:var(--radius-sm);font-weight:600;cursor:pointer;transition:background-color .18s ease-out,color .18s ease-out,border-color .18s ease-out}.ui-btn__icon{display:inline-flex}.ui-btn--primary{border:none;background:var(--primary);color:#f4f4f4}.ui-btn--primary:hover:not(:disabled){background:var(--accent-hover)}.ui-btn--outline{border:1px solid var(--primary);background:#fff;color:var(--primary)}.ui-btn--outline:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 8%,#fff)}.ui-btn:disabled{opacity:.7;cursor:not-allowed}.ui-btn--block{width:100%}.ui-field{display:grid;gap:var(--space-2)}.ui-field__label{font-size:.9rem;font-weight:500;color:var(--text-secondary)}.ui-field__control{position:relative;display:block}.ui-field__control--trailing .ui-input{padding-right:2.75rem}.ui-field__trailing{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:inline-flex}.ui-input,.ui-select{width:100%;min-height:2.75rem;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 var(--space-3);background:#fff;color:var(--text-primary)}.ui-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-secondary) 50%),linear-gradient(135deg,var(--text-secondary) 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% - 3px),calc(100% - 11px) calc(50% - 3px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:2rem}.ui-password-toggle{border:none;background:transparent;color:var(--text-secondary);padding:.25rem;display:inline-flex;cursor:pointer;border-radius:.25rem}.ui-checkbox{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none}.ui-checkbox__input{position:absolute;opacity:0;width:1px;height:1px}.ui-checkbox__box{width:1.125rem;height:1.125rem;border:1.5px solid var(--border);border-radius:.25rem;background:#fff;display:inline-grid;place-items:center;flex-shrink:0}.ui-checkbox__input:checked+.ui-checkbox__box{background:var(--primary);border-color:var(--primary)}.ui-checkbox__input:checked+.ui-checkbox__box:after{content:"";width:.28rem;height:.5rem;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}.ui-checkbox__input:focus-visible+.ui-checkbox__box{outline:3px solid color-mix(in oklch,var(--accent) 80%,white 20%);outline-offset:2px}.ui-checkbox__label{font-size:.9rem;color:var(--text-secondary)}.ui-checkbox--accent .ui-checkbox__input:checked+.ui-checkbox__box{background:var(--error);border-color:var(--error)}.ui-progress{display:grid;gap:var(--space-1)}.ui-progress__label{font-size:.8rem;color:var(--text-secondary)}.ui-progress__track{height:.5rem;border-radius:999px;background:color-mix(in srgb,var(--secondary) 35%,var(--bg));overflow:hidden}.ui-progress__fill{height:100%;border-radius:inherit}.ui-progress__fill--info{background:var(--info)}.ui-progress__fill--primary{background:color-mix(in srgb,var(--primary) 75%,var(--info))}.ui-progress__fill--deep{background:var(--primary)}.ui-progress__fill--error{background:var(--error)}.ui-circular{position:relative;display:inline-grid;place-items:center}.ui-circular__track{stroke:color-mix(in srgb,var(--secondary) 40%,var(--bg))}.ui-circular__value{stroke:var(--primary)}.ui-circular--info .ui-circular__value{stroke:var(--info)}.ui-circular--error .ui-circular__value{stroke:var(--error)}.ui-circular__text{position:absolute;font-size:.85rem;font-weight:700}.ui-badge{display:inline-flex;align-items:center;min-height:1.5rem;padding:0 .65rem;border-radius:999px;font-size:.78rem;font-weight:600}.ui-badge--info{background:color-mix(in srgb,var(--info) 22%,#fff);color:color-mix(in srgb,var(--info) 70%,var(--primary))}.ui-badge--success{background:color-mix(in srgb,var(--success) 22%,#fff);color:color-mix(in srgb,var(--success) 55%,#06321b)}.ui-badge--warning{background:color-mix(in srgb,var(--warning) 28%,#fff);color:#513300}.ui-badge--error{background:color-mix(in srgb,var(--error) 18%,#fff);color:var(--error)}.ui-stars{display:inline-flex;align-items:center;gap:var(--space-2)}.ui-stars__row{display:inline-flex;gap:.1rem}.ui-stars__star{color:color-mix(in srgb,var(--secondary) 55%,#fff);font-size:.95rem;line-height:1}.ui-stars__star--filled{color:#e0b14a}.ui-stars__fraction{font-size:.85rem;color:var(--text-secondary)}.ui-search{position:relative;display:block}.ui-search__input{width:100%;min-height:2.75rem;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 2.75rem 0 var(--space-3);background:#fff;color:var(--text-primary)}.ui-search__icon{position:absolute;right:.85rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);display:inline-flex;pointer-events:none}.ui-schedule{display:flex;gap:var(--space-2);flex-wrap:wrap;background:var(--primary);border-radius:var(--radius-sm);padding:var(--space-2)}.ui-schedule__day{min-width:2.5rem;min-height:2.5rem;border:none;border-radius:.4rem;background:transparent;color:#f4f4f4;cursor:pointer;display:grid;place-items:center;font-weight:600}.ui-schedule__day--selected{background:#fff;color:var(--primary)}.ui-schedule__num{font-size:.95rem}.ui-schedule__label{font-size:.65rem;font-weight:500;opacity:.85}.ui-barchart{display:flex;align-items:flex-end;gap:.35rem;height:5.5rem;padding-top:var(--space-2)}.ui-barchart__bar{flex:1;min-width:.45rem;border-radius:.25rem .25rem 0 0;background:color-mix(in srgb,var(--primary) 70%,var(--info))}.ui-sparkline{display:block}.ui-sparkline--error{stroke:var(--error)}.ui-sparkline--primary{stroke:var(--primary)}.ui-sparkline--info{stroke:var(--info)}.ui-icon-nav{width:4.5rem;background:var(--primary);border-radius:var(--radius-md);padding:var(--space-4) var(--space-2);display:flex;flex-direction:column;align-items:center;gap:var(--space-5);color:#f4f4f4}.ui-icon-nav__avatar{display:grid;place-items:center}.ui-icon-nav__avatar .avatar{width:2.4rem;height:2.4rem;border:2px solid color-mix(in srgb,#fff 45%,transparent)}.ui-icon-nav__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3);width:100%;justify-items:center}.ui-icon-nav__btn{width:2.5rem;height:2.5rem;border:none;border-radius:.5rem;background:transparent;color:color-mix(in srgb,#fff 82%,transparent);display:grid;place-items:center;cursor:pointer}.ui-icon-nav__btn:hover,.ui-icon-nav__btn--active{background:color-mix(in srgb,#fff 16%,transparent);color:#fff}.login-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;padding:0}.login-brand{background:var(--primary);color:#f4f4f4;display:flex;align-items:center;justify-content:center;padding:clamp(2rem,4vw,4rem);position:relative;overflow:hidden}.login-brand__content{width:min(100%,28rem);text-align:left}.login-brand__title{margin:0;font-size:clamp(1.75rem,1.4rem + 1.2vw,2.4rem);font-weight:700;line-height:1.15}.login-brand__text{margin:var(--space-4) 0 0;font-size:1rem;line-height:1.55;color:color-mix(in srgb,#fff 88%,transparent)}.login-brand__art{margin-top:clamp(2.5rem,6vh,4.5rem);width:min(100%,18rem);opacity:.92}.login-panel{background:#fff;display:grid;place-items:center;padding:clamp(1.5rem,3vw,3rem)}.login-panel__inner{width:min(100%,22rem)}.login-panel__title{margin:0;font-size:1.75rem;font-weight:700;color:#1a1a1a}.login-panel__subtitle{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:.95rem}.login-panel__link{border:none;background:none;padding:0;color:var(--primary);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:.15rem}.login-form{margin-top:var(--space-5);display:grid;gap:var(--space-4)}.login-form__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.login-form__muted{border:none;background:none;padding:0;color:var(--text-secondary);font:inherit;font-size:.9rem;cursor:pointer}.login-form__muted:hover{color:var(--text-primary)}.uikit-page{display:block;min-height:100%;background:#fff}.uikit-canvas{display:grid;grid-template-columns:minmax(12rem,.9fr) minmax(14rem,1.2fr) minmax(12rem,1fr);gap:var(--space-4);align-content:start}.uikit-col{display:grid;gap:var(--space-4);align-content:start}.uikit-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-3)}.uikit-card__title{margin:0;font-size:1.05rem;font-weight:700}.uikit-card__subtitle{margin:var(--space-1) 0 0;font-size:.85rem;color:var(--text-secondary)}.uikit-profile{text-align:center;padding-top:var(--space-2)}.uikit-profile .avatar{width:4.5rem;height:4.5rem;margin:0 auto}.uikit-profile__name{margin:var(--space-3) 0 0;font-size:1.15rem;font-weight:700}.uikit-profile__desc{margin:var(--space-1) 0 var(--space-3);color:var(--text-secondary);font-size:.9rem}.uikit-profile .ui-stars{justify-content:center}.uikit-stat__value{margin:0;font-size:1.75rem;font-weight:700;line-height:1.1}.uikit-stat__row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-2)}.uikit-progress-stack{display:grid;gap:var(--space-3)}.uikit-charts-row{display:grid;grid-template-columns:1.4fr auto;gap:var(--space-4);align-items:center}.uikit-donuts{display:flex;gap:var(--space-3)}.uikit-form{display:grid;gap:var(--space-3)}.uikit-btn-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.uikit-ranks{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.uikit-ranks li{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid color-mix(in srgb,var(--border) 55%,transparent)}.uikit-ranks li:last-child{border-bottom:none}@media (max-width: 64rem){.uikit-canvas{grid-template-columns:1fr 1fr}}@media (max-width: 48rem){.login-layout{grid-template-columns:1fr}.login-brand{min-height:40vh;padding-bottom:2rem}.login-brand__art{margin-top:1.5rem;width:min(100%,12rem)}.uikit-canvas{grid-template-columns:1fr}}
