.landscape-lock{display:none}@media screen and (orientation:landscape) and (max-height:480px){.landscape-lock{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;padding:1.5rem;text-align:center;background:var(--color-bg,#06080d);color:var(--color-text,#f1f5f9)}.landscape-lock svg{opacity:.7;margin-bottom:.25rem}.landscape-lock-title{font-size:1rem;font-weight:600;letter-spacing:-.01em}.landscape-lock-sub{font-size:.85rem;color:var(--color-text-muted,#94a3b8);max-width:32ch;line-height:1.4}body>:not(.landscape-lock){visibility:hidden}}*,:after,:before{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation}@media (hover:none) and (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea{font-size:16px!important}}body{background:var(--gradient-app);color:var(--color-text);font-size:var(--text-base);line-height:var(--lh-base);font-weight:var(--fw-regular);text-rendering:optimizeLegibility}.brand-wordmark,.brand-wordmark-inline{font-family:var(--font-brand);letter-spacing:-.03em}.brand-wordmark-inline{display:inline-block}a{color:inherit;text-decoration:none}.app-shell-content{padding-top:var(--app-nav-offset,72px);padding-bottom:var(--app-nav-bottom-offset,0)}main{width:min(100%,var(--max-content-width));margin-inline:auto}.route-fade-in{animation:routeFadeIn .38s cubic-bezier(.22,1,.36,1) both;will-change:opacity,transform,filter}@media (max-width:640px){.route-fade-in.route-mobile-motion-static{animation:none;will-change:auto}}@keyframes routeFadeIn{0%{opacity:.01;transform:translateY(8px) scale(.995);filter:blur(1px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--focus-ring)}button{cursor:pointer;font-family:inherit;border:1px solid transparent;background:none;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}input,select,textarea{font-family:inherit;font-size:var(--text-base);background:var(--color-surface-muted);color:var(--color-text);outline:none;border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(148,163,184,.35);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(148,163,184,.5)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--height-btn);padding:0 var(--space-5);border-radius:var(--radius-md);border:1px solid transparent;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-semibold);line-height:1;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.btn:active:not(:disabled):not([aria-disabled=true]){transform:scale(.97)}.btn:disabled,.btn[aria-disabled=true]{opacity:.42;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--color-accent);color:var(--color-text-on-accent);border-color:var(--color-accent)}.btn-primary:hover:not(:disabled){background:var(--color-accent-strong);border-color:var(--color-accent-strong);box-shadow:0 0 0 3px var(--color-accent-subtle)}.btn-secondary{background:var(--color-surface-muted);color:var(--color-text);border-color:var(--color-border-strong)}.btn-secondary:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-border-strong);box-shadow:var(--shadow-sm)}.btn-ghost{background:transparent;color:var(--color-text-muted);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-text);border-color:var(--color-border)}.btn-accent-ghost{background:var(--color-accent-subtle);color:var(--color-accent);border-color:transparent}.btn-accent-ghost:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent-subtle) 180%,transparent);box-shadow:0 0 0 2px var(--color-accent-subtle)}.btn-danger{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger-bg) 160%,transparent);border-color:var(--color-danger-text);box-shadow:0 0 0 3px var(--color-danger-bg)}.btn-sm{height:var(--height-btn-sm);padding:0 var(--space-3);font-size:var(--text-xs);border-radius:var(--radius-sm)}.btn-lg{height:var(--height-btn-lg);padding:0 var(--space-7);font-size:var(--text-md);border-radius:var(--radius-lg)}.btn-icon{padding:0;width:var(--height-btn);flex-shrink:0}.btn-icon.btn-sm{width:var(--height-btn-sm)}.btn-icon.btn-lg{width:var(--height-btn-lg)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-neutral-bg);color:var(--color-neutral-text);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--fw-semibold);line-height:1;letter-spacing:.015em;padding:.2rem .55rem;white-space:nowrap}.badge:before{content:none}.badge-dot:before{content:"";display:block;width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.badge-success{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning-border)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border)}.badge-info{background:var(--color-info-bg);color:var(--color-info-text);border-color:var(--color-info-border)}.badge-neutral{background:var(--color-neutral-bg);color:var(--color-neutral-text);border-color:var(--color-neutral-border)}.badge-accent{background:var(--color-accent-subtle);color:var(--color-accent);border-color:transparent}.badge-lg{font-size:var(--text-sm);padding:.3rem .75rem;gap:var(--space-2)}.badge-lg.badge-dot:before{width:7px;height:7px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));box-shadow:var(--shadow-sm);padding:var(--space-6)}.card-elevated{background:var(--color-surface-strong);border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.card-interactive{cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.card-interactive:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.card-interactive:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.card-compact{padding:var(--space-4)}.card-flush{padding:0}.ui-card-surface{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));box-shadow:var(--shadow-sm)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field-label{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--color-text-muted);line-height:var(--lh-sm)}.field-label-required:after{content:" *";color:var(--color-danger-text)}.field-hint{color:var(--color-text-soft)}.field-error,.field-hint{font-size:var(--text-xs);line-height:var(--lh-sm)}.field-error{color:var(--color-danger-text)}.input,.select,.textarea{width:100%;font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);outline:none;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.input,.select{height:var(--height-input);padding:0 var(--space-4);line-height:var(--height-input)}.textarea{padding:var(--space-3) var(--space-4);line-height:var(--lh-base);resize:vertical;min-height:96px}.input::placeholder,.textarea::placeholder{color:var(--color-text-soft)}.input:hover,.select:hover,.textarea:hover{border-color:var(--color-border-strong)}.input:focus,.select:focus,.textarea:focus{background:var(--color-surface);border-color:var(--color-accent);box-shadow:var(--focus-ring)}.input-error,.select-error,.textarea-error{border-color:var(--color-danger-border)!important;background:color-mix(in srgb,var(--color-danger-bg) 60%,var(--color-surface-muted))}.input-error:focus,.select-error:focus,.textarea-error:focus{border-color:var(--color-danger-text)!important;box-shadow:0 0 0 2px rgba(6,8,13,.9),0 0 0 4px var(--color-danger-border)}.input:disabled,.select:disabled,.textarea:disabled{opacity:.5;cursor:not-allowed;background:var(--color-surface-muted)}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239fb0cb' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4) center;padding-right:var(--space-8);cursor:pointer}.input-group{position:relative;display:flex;align-items:center}.input-group .input{padding-left:var(--space-9)}.input-group-icon{position:absolute;left:var(--space-4);color:var(--color-text-soft);pointer-events:none;display:flex;align-items:center}option{background:var(--color-calendar-slot-bg)}.ui-badge,option{color:var(--color-text)}.ui-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-accent-subtle);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:.01em;padding:.2rem .55rem}.skeleton{position:relative;overflow:hidden;background:color-mix(in srgb,var(--color-surface-muted) 84%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-border) 72%,transparent);border-radius:var(--radius-md)}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.18) 48%,transparent);animation:skeletonShimmer 1.25s ease-in-out infinite}@keyframes skeletonShimmer{to{transform:translateX(100%)}}.skeleton-stack{display:flex;flex-direction:column;gap:var(--space-3)}.skeleton-line{height:14px;border-radius:var(--radius-sm)}.skeleton-card,.skeleton-stat{border-radius:var(--radius-lg)}.skeleton-stat{height:92px}.skeleton-chart{height:250px;border-radius:var(--radius-lg)}.reveal-on-scroll{opacity:0;transform:translateY(10px);transition:opacity .32s ease-out,transform .32s ease-out}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}@media (max-width:640px){.btn{min-height:44px}.input,.select{height:44px}button,input,select{min-height:44px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}.reveal-on-scroll,.reveal-on-scroll.is-visible{opacity:1;transform:none}.route-fade-in{animation:none}}