.yarl__fullsize{height:100%;width:100%}.yarl__relative{position:relative}.yarl__portal{bottom:0;left:0;opacity:0;overflow:hidden;pointer-events:auto;position:fixed;right:0;top:0;transition:opacity var(--yarl__fade_animation_duration,.25s) var(--yarl__fade_animation_timing_function,ease);z-index:var(--yarl__portal_zindex,9999)}.yarl__portal_open{opacity:1}.yarl__container{background-color:var(--yarl__container_background_color,var(--yarl__color_backdrop,#000));bottom:0;left:0;outline:none;overflow:hidden;overscroll-behavior:var(--yarl__controller_overscroll_behavior,contain);position:absolute;right:0;top:0;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;-moz-user-select:none;user-select:none}.yarl__carousel{align-content:center;align-items:stretch;display:flex;flex:0 0 auto;height:100%;justify-content:center;opacity:var(--yarl__pull_opacity,1);transform:translate(var(--yarl__swipe_offset,0),var(--yarl__pull_offset,0));width:calc(100% + (var(--yarl__carousel_slides_count) - 1)*(100% + var(--yarl__carousel_spacing_px, 0)*1px + var(--yarl__carousel_spacing_percent, 0)*1%))}.yarl__carousel_with_slides{-moz-column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%);column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%)}.yarl__flex_center{align-content:center;align-items:center;display:flex;justify-content:center}.yarl__slide{flex:1;overflow:hidden;padding:calc(var(--yarl__carousel_padding_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_padding_percent, 0)*1%);position:relative}[dir=rtl] .yarl__slide{--yarl__direction:-1}.yarl__slide_image{max-height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.yarl__slide_image_cover{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.yarl__slide_image_loading{opacity:0}@media screen and (min-width:800px){.yarl__slide_wrapper:not(.yarl__slide_wrapper_interactive) .yarl__slide_image{-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);-webkit-transform-style:preserve-3d}}.yarl__slide_placeholder{left:50%;line-height:0;position:absolute;top:50%;transform:translate(-50%) translateY(-50%)}.yarl__slide_loading{animation:yarl__delayed_fadein 1s linear;color:var(--yarl__slide_icon_loading_color,var(--yarl__color_button,hsla(0,0%,100%,.8)))}.yarl__slide_loading line{animation:yarl__stroke_opacity 1s linear infinite}.yarl__slide_loading line:first-of-type{animation-delay:-1.875s}.yarl__slide_loading line:nth-of-type(2){animation-delay:-1.75s}.yarl__slide_loading line:nth-of-type(3){animation-delay:-1.625s}.yarl__slide_loading line:nth-of-type(4){animation-delay:-1.5s}.yarl__slide_loading line:nth-of-type(5){animation-delay:-1.375s}.yarl__slide_loading line:nth-of-type(6){animation-delay:-1.25s}.yarl__slide_loading line:nth-of-type(7){animation-delay:-1.125s}.yarl__slide_loading line:nth-of-type(8){animation-delay:-1s}.yarl__slide_error{color:var(--yarl__slide_icon_error_color,red);height:var(--yarl__slide_icon_error_size,48px);width:var(--yarl__slide_icon_error_size,48px)}@media (prefers-reduced-motion){.yarl__portal,.yarl__slide{transition:unset}.yarl__slide_loading,.yarl__slide_loading line{animation:unset}}.yarl__toolbar{bottom:auto;display:flex;justify-content:flex-end;left:auto;padding:var(--yarl__toolbar_padding,8px);position:absolute;right:0;top:0}[dir=rtl] .yarl__toolbar{bottom:auto;left:0;right:auto;top:0}.yarl__icon{height:var(--yarl__icon_size,32px);width:var(--yarl__icon_size,32px)}.yarl__button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--yarl__button_background_color,transparent);border:var(--yarl__button_border,0);color:var(--yarl__color_button,hsla(0,0%,100%,.8));cursor:pointer;filter:var(--yarl__button_filter,drop-shadow(2px 2px 2px rgba(0,0,0,.8)));line-height:0;margin:var(--yarl__button_margin,0);outline:none;padding:var(--yarl__button_padding,8px);-webkit-tap-highlight-color:transparent}.yarl__button:focus{color:var(--yarl__color_button_active,#fff)}.yarl__button:focus:not(:focus-visible){color:var(--yarl__color_button,hsla(0,0%,100%,.8))}.yarl__button:focus-visible{color:var(--yarl__color_button_active,#fff)}@media (hover:hover){.yarl__button:focus-visible:hover,.yarl__button:focus:hover,.yarl__button:hover{color:var(--yarl__color_button_active,#fff)}}.yarl__button:disabled{color:var(--yarl__color_button_disabled,hsla(0,0%,100%,.4));cursor:default}.yarl__navigation_next,.yarl__navigation_prev{padding:var(--yarl__navigation_button_padding,24px 16px);position:absolute;top:50%;transform:translateY(-50%)}.yarl__navigation_prev{left:0}[dir=rtl] .yarl__navigation_prev{left:unset;right:0;transform:translateY(-50%) rotate(180deg)}.yarl__navigation_next{right:0}[dir=rtl] .yarl__navigation_next{left:0;right:unset;transform:translateY(-50%) rotate(180deg)}.yarl__no_scroll{height:100%;overflow:hidden;overscroll-behavior:none}@keyframes yarl__delayed_fadein{0%{opacity:0}80%{opacity:0}to{opacity:1}}@keyframes yarl__stroke_opacity{0%{stroke-opacity:1}to{stroke-opacity:.125}}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors: active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--scale-factor));width:100%;min-width:calc(180px * var(--scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--scale-factor)) calc(5px * var(--scale-factor)) #888;border-radius:calc(2px * var(--scale-factor));padding:calc(6px * var(--scale-factor));margin-left:calc(5px * var(--scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--scale-factor));padding-top:calc(2px * var(--scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors: active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}:root{--color-bg-base: #0a0c12;--color-bg-layer1: rgba(255, 255, 255, .04);--color-bg-layer2: rgba(255, 255, 255, .08);--color-bg-layer3: rgba(255, 255, 255, .13);--color-glass-border: rgba(255, 255, 255, .12);--color-glass-shine: rgba(255, 255, 255, .06);--color-accent: #3b82f6;--color-accent-glow: rgba(59, 130, 246, .35);--color-accent-alt: #06b6d4;--bg-orb-1: rgba(59, 130, 246, .32);--bg-orb-2: rgba(6, 182, 212, .14);--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--color-text-primary: rgba(255, 255, 255, .92);--color-text-secondary: rgba(255, 255, 255, .55);--color-text-muted: rgba(255, 255, 255, .3);--color-input-solid: #141a26;--color-surface-solid: #161d2b;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--blur-glass: blur(18px) saturate(1.4);--blur-heavy: blur(32px) saturate(1.6);--font-sans: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--sidebar-width: 240px;--bottomnav-height: 64px;--header-height: 64px}:root[data-theme=light]{--color-bg-base: #eef1f6;--color-bg-layer1: rgba(15, 23, 42, .04);--color-bg-layer2: rgba(15, 23, 42, .07);--color-bg-layer3: rgba(15, 23, 42, .12);--color-glass-border: rgba(15, 23, 42, .12);--color-glass-shine: rgba(255, 255, 255, .6);--color-text-primary: rgba(15, 23, 42, .92);--color-text-secondary: rgba(15, 23, 42, .6);--color-text-muted: rgba(15, 23, 42, .38);--color-input-solid: #ffffff;--color-surface-solid: #ffffff}body{font-family:var(--font-sans);color:var(--color-text-primary);font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;margin:0}h1{font-size:1.75rem}h2{font-size:1.375rem}h3{font-size:1.125rem}h4{font-size:1rem}p{margin:0}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}.mono{font-family:var(--font-mono);letter-spacing:-.01em}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.5rem}.text-2xl{font-size:2rem}.fw-500{font-weight:500}.fw-600{font-weight:600}.fw-700{font-weight:700}.uppercase{text-transform:uppercase;letter-spacing:.06em}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.glass-card{position:relative;min-width:0;background:var(--color-bg-layer2);backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);box-shadow:0 0 0 .5px #ffffff0a inset,0 8px 32px #00000073,0 1px #ffffff14 inset}.glass-card:before{content:"";position:absolute;top:0;left:12px;right:12px;height:1px;background:linear-gradient(90deg,transparent,var(--color-glass-shine),rgba(255,255,255,.18),var(--color-glass-shine),transparent);pointer-events:none;border-radius:1px}:root[data-theme=light] .glass-card{box-shadow:0 0 0 .5px #ffffff80 inset,0 8px 28px #0f172a1f,0 1px #fff9 inset}.glass-panel{background:#ffffff0d;backdrop-filter:var(--blur-heavy);-webkit-backdrop-filter:var(--blur-heavy);border:1px solid var(--color-glass-border)}:root[data-theme=light] .glass-panel{background:#ffffffbf}.glass-inset{background:var(--color-bg-layer1);border:1px solid var(--color-glass-border);border-radius:var(--radius-md)}.glass-hover{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.glass-hover:hover{transform:translateY(-2px);border-color:#ffffff38;box-shadow:0 0 0 .5px #ffffff0d inset,0 14px 40px #0000008c,0 0 24px var(--color-accent-glow)}.app-shell{display:flex;min-height:100vh;min-height:100dvh}.app-sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);display:flex;flex-direction:column;padding:20px 14px;background:#ffffff08;backdrop-filter:var(--blur-heavy);-webkit-backdrop-filter:var(--blur-heavy);border-right:1px solid var(--color-glass-border);z-index:40}.app-main{flex:1;margin-left:var(--sidebar-width);padding:28px 32px 60px;width:calc(100% - var(--sidebar-width));max-width:1400px}.app-topbar{display:flex;justify-content:flex-end;margin-bottom:20px}.global-search{position:relative;width:100%;max-width:460px}.global-search-panel{position:absolute;top:100%;left:0;right:0;margin-top:6px;z-index:70;background:var(--color-surface-solid);border:1px solid var(--color-glass-border);border-radius:var(--radius-md);box-shadow:0 12px 32px #0000008c;padding:8px;max-height:70vh;overflow-y:auto}.gs-group+.gs-group{margin-top:8px}.gs-group-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);padding:4px 12px}.gs-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:9px 12px;border:none;background:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-primary);min-height:40px}.gs-item:hover{background:var(--color-bg-layer2)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-header h1{display:flex;align-items:center;gap:12px}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px;font-weight:700;font-size:1.15rem}.brand .brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-accent),var(--color-accent-alt));color:#fff;box-shadow:0 4px 16px var(--color-accent-glow)}.nav-list{display:flex;flex-direction:column;gap:4px;flex:1;overflow-y:auto}.nav-item{position:relative;display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius-md);color:var(--color-text-secondary);font-weight:500;font-size:.95rem;font-family:inherit;cursor:pointer;transition:background .15s ease,color .15s ease;min-height:44px;background:transparent;border:none;width:100%;text-align:left}.nav-item:hover{background:var(--color-bg-layer1);color:var(--color-text-primary);text-decoration:none}.nav-item.active{background:var(--color-bg-layer3);color:var(--color-text-primary)}.nav-item.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--color-accent);box-shadow:0 0 12px var(--color-accent-glow)}.sidebar-user{display:flex;align-items:center;gap:10px;padding:12px 10px;margin-top:8px;border-top:1px solid var(--color-glass-border)}.bottom-nav{display:none}.grid{display:grid;gap:16px}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;gap:12px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.wrap{flex-wrap:wrap}.flex-1{flex:1}.gap-8{gap:8px}.gap-16{gap:16px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}@media (max-width: 768px){.app-sidebar{display:none}.app-main{margin-left:0;width:100%;padding:calc(18px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(var(--bottomnav-height) + 24px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}.bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;height:calc(var(--bottomnav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);background:#0a0c12b3;backdrop-filter:var(--blur-heavy);-webkit-backdrop-filter:var(--blur-heavy);border-top:1px solid var(--color-glass-border);z-index:50}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--color-text-secondary);font-size:.68rem;font-family:inherit;min-height:44px;cursor:pointer;background:transparent;border:none;text-decoration:none}.bottom-nav-item.active{color:var(--color-accent)}.grid-cards{grid-template-columns:1fr}.page-header h1{font-size:1.4rem}}:root[data-theme=light] .app-sidebar{background:#ffffffb3}:root[data-theme=light] .bottom-nav{background:#fffc}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--radius-md);border:1px solid transparent;font-family:var(--font-sans);font-size:.9rem;font-weight:600;cursor:pointer;min-height:44px;transition:background .15s ease,box-shadow .15s ease,transform .15s ease,border-color .15s ease;white-space:nowrap;color:var(--color-text-primary);background:transparent}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:#fff;box-shadow:0 2px 12px #3b82f640}.btn-primary:hover{box-shadow:0 4px 20px var(--color-accent-glow)}.btn-secondary{background:transparent;border-color:var(--color-glass-border);color:#fffc}.btn-secondary:hover{background:var(--color-bg-layer1);border-color:#ffffff40}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{box-shadow:0 4px 20px #ef444459}.btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}.btn-ghost:hover{background:var(--color-bg-layer1);color:var(--color-text-primary)}.btn-icon{padding:10px;width:44px}.btn-sm{padding:6px 12px;min-height:36px;font-size:.82rem}.fab{position:fixed;right:18px;bottom:calc(var(--bottomnav-height) + 18px);width:56px;height:56px;border-radius:50%;background:var(--color-accent);color:#fff;border:none;display:none;align-items:center;justify-content:center;box-shadow:0 8px 28px var(--color-accent-glow);cursor:pointer;z-index:45}@media (max-width: 768px){.fab{display:flex}}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:.8rem;color:var(--color-text-secondary);font-weight:500}.input,.select,.textarea{width:100%;background:var(--color-bg-layer1);border:1px solid var(--color-glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-sans);font-size:.92rem;padding:10px 12px;min-height:44px;transition:border-color .15s ease,box-shadow .15s ease;outline:none}.textarea{min-height:96px;resize:vertical;line-height:1.5}.input::placeholder,.textarea::placeholder{color:var(--color-text-muted)}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-color:var(--color-input-solid);background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 18px) center,calc(100% - 13px) center;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:32px}.select option{background:var(--color-surface-solid);color:var(--color-text-primary)}.ss-trigger{background:var(--color-input-solid);border:1px solid var(--color-glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.92rem;padding:10px 12px;min-height:44px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.ss-trigger:hover{border-color:#ffffff38}.ss-trigger.open{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow)}.ss-panel{position:absolute;top:100%;left:0;right:0;margin-top:6px;z-index:60;background:var(--color-surface-solid);border:1px solid var(--color-glass-border);border-radius:var(--radius-md);box-shadow:0 12px 32px #0000008c;padding:8px;max-height:280px;overflow-y:auto}.ss-search{background:var(--color-input-solid)!important}.ss-option{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-primary);min-height:40px}.ss-option:hover{background:var(--color-bg-layer2)}.field-error{color:var(--color-danger);font-size:.78rem}.input.has-error,.select.has-error,.textarea.has-error{border-color:var(--color-danger)}.search-bar{position:relative}.search-bar .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-muted)}.search-bar .input{padding-left:38px}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:600;text-transform:capitalize;white-space:nowrap}.badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge-success{background:#10b98126;color:var(--color-success)}.badge-warning{background:#f59e0b26;color:var(--color-warning)}.badge-danger{background:#ef444426;color:var(--color-danger)}.badge-accent{background:#3b82f626;color:var(--color-accent)}.badge-cyan{background:#06b6d426;color:var(--color-accent-alt)}.badge-muted{background:#ffffff14;color:var(--color-text-secondary)}.tab-pills{display:flex;gap:6px;padding:4px;border-radius:var(--radius-lg);background:var(--color-bg-layer1);border:1px solid var(--color-glass-border);width:fit-content;max-width:100%;overflow-x:auto}.tab-pill{padding:8px 16px;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;color:var(--color-text-secondary);cursor:pointer;border:none;background:transparent;white-space:nowrap;min-height:40px}.tab-pill.active{background:var(--color-bg-layer3);color:var(--color-text-primary)}.switch{flex:none;width:42px;height:24px;border-radius:999px;border:1px solid var(--color-glass-border);background:var(--color-bg-layer2);padding:0;cursor:pointer;position:relative;transition:background .15s ease,border-color .15s ease}.switch:disabled{opacity:.5;cursor:not-allowed}.switch .switch-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--color-text-secondary);transition:transform .15s ease,background .15s ease}.switch.on{background:var(--color-accent);border-color:transparent}.switch.on .switch-thumb{transform:translate(18px);background:#fff}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;padding:6px 0}.settings-section-title{display:flex;align-items:center;gap:8px;margin-bottom:16px}.colorpicker{position:relative;display:inline-block}.colorpicker-trigger{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-md);border:1px solid var(--color-glass-border);background:var(--color-bg-layer1);color:var(--color-text-primary);cursor:pointer;min-height:40px}.colorpicker-swatch{width:22px;height:22px;border-radius:6px;border:1px solid var(--color-glass-border);flex:none}.colorpicker-pop{width:100%;padding:14px;display:flex;flex-direction:column;gap:12px}.colorpicker-sv{position:relative;width:100%;height:150px;border-radius:var(--radius-md);cursor:crosshair;touch-action:none}.colorpicker-hue{position:relative;width:100%;height:16px;border-radius:999px;cursor:pointer;touch-action:none;background:linear-gradient(to right,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.colorpicker-thumb{position:absolute;width:16px;height:16px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #0006;transform:translate(-50%,-50%);pointer-events:none}.colorpicker-hex{width:100%;text-align:center}.pdf-fs{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:var(--color-bg-base);display:flex;flex-direction:column}.pdf-fs-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;padding-top:max(10px,env(safe-area-inset-top));border-bottom:1px solid var(--color-glass-border);background:var(--color-surface-solid)}.pdf-fs-body{flex:1;overflow:auto;text-align:center;padding:12px 8px calc(12px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}.camera-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#000}.camera-stage{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.camera-video{width:100%;height:100%;object-fit:cover;display:block;background:#000}.camera-error{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;color:#fff;text-align:center;padding:32px 24px;display:flex;align-items:center;justify-content:center}.camera-topbar{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:max(14px,env(safe-area-inset-top)) 16px 28px;color:#fff;background:linear-gradient(to bottom,rgba(0,0,0,.5),transparent)}.camera-thumbs{position:absolute;left:0;right:0;bottom:calc(112px + env(safe-area-inset-bottom));z-index:2;display:flex;gap:8px;padding:10px 14px;overflow-x:auto}.camera-thumb{position:relative;flex:none}.camera-thumb img{width:56px;height:56px;object-fit:cover;border-radius:8px;display:block}.camera-thumb-del{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:var(--color-danger);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.camera-controls{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:24px 24px calc(20px + env(safe-area-inset-bottom));background:linear-gradient(to top,rgba(0,0,0,.55),transparent)}@media (orientation: landscape){.camera-topbar{top:0;bottom:0;left:0;right:auto;width:auto;flex-direction:column;justify-content:flex-start;gap:16px;padding:max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:linear-gradient(to right,rgba(0,0,0,.5),transparent)}.camera-controls{top:0;bottom:0;right:0;left:auto;width:auto;flex-direction:column;justify-content:center;gap:24px;padding:24px max(20px,env(safe-area-inset-right)) 24px 24px;background:linear-gradient(to left,rgba(0,0,0,.55),transparent)}.camera-thumbs{top:auto;bottom:max(14px,env(safe-area-inset-bottom));left:64px;right:calc(96px + env(safe-area-inset-right));justify-content:center}}.camera-icon-btn{background:#ffffff1f;color:#fff;border:none;cursor:pointer;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center}.camera-icon-btn:disabled{opacity:.4}.camera-shutter{width:72px;height:72px;border-radius:50%;background:#fff;color:#111;border:4px solid rgba(255,255,255,.4);cursor:pointer;display:flex;align-items:center;justify-content:center}.camera-shutter:active{transform:scale(.94)}.camera-shutter:disabled{opacity:.5}.camera-done{display:inline-flex;align-items:center;gap:6px;background:var(--color-accent);color:#fff;border:none;cursor:pointer;padding:12px 18px;border-radius:999px;font-family:inherit;font-weight:600;font-size:.9rem}.datepicker{width:100%}.datepicker-trigger{display:flex;align-items:center;gap:10px;width:100%;text-align:left;cursor:pointer}.datepicker-pop{width:100%;padding:12px}.datepicker-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.datepicker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.datepicker-dow{text-align:center;font-size:.7rem;color:var(--color-text-muted);padding:4px 0}.datepicker-day{aspect-ratio:1;border:none;background:transparent;color:var(--color-text-primary);border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;font-family:inherit;min-height:34px}.datepicker-day:hover{background:var(--color-bg-layer2)}.datepicker-day.today{box-shadow:0 0 0 1px var(--color-glass-border) inset}.datepicker-day.selected{background:var(--color-accent);color:#fff}.datepicker-time{display:flex;align-items:center;gap:8px;margin-top:10px}.datepicker-time .select{width:auto;flex:none;padding:6px 8px;min-height:36px}.crop-frame{position:relative;overflow:hidden;border-radius:50%;background:var(--color-bg-layer2);cursor:grab;-webkit-user-select:none;user-select:none;flex:none}.crop-frame:active{cursor:grabbing}.crop-frame-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:0 0 0 2px var(--color-accent) inset,0 0 0 9999px #00000059;pointer-events:none}.card-pad{padding:18px}.metric-card{padding:18px 20px;display:flex;flex-direction:column;gap:6px}.metric-card .metric-value{font-size:1.9rem;font-weight:700}.metric-card .metric-label{color:var(--color-text-secondary);font-size:.85rem}.metric-card .metric-icon{color:var(--color-accent)}.list-item{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--radius-md);background:var(--color-bg-layer1);border:1px solid var(--color-glass-border);transition:background .15s ease,border-color .15s ease;cursor:pointer}.list-item:hover{background:var(--color-bg-layer2);border-color:#fff3;text-decoration:none}.list-item .item-icon{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--color-bg-layer2);color:var(--color-accent)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{padding:6px 14px;border-radius:999px;font-size:.8rem;font-weight:500;border:1px solid var(--color-glass-border);background:var(--color-bg-layer1);color:var(--color-text-secondary);cursor:pointer;min-height:36px;display:inline-flex;align-items:center}.chip.active{background:#3b82f626;border-color:var(--color-accent);color:var(--color-accent)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#05070c99;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));z-index:100;animation:fade-in .15s ease}.modal{width:100%;max-width:560px;max-height:90vh;overflow-y:auto;padding:22px;animation:pop-in .18s ease}.modal-lg{max-width:880px}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modal-close{background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;padding:6px;border-radius:var(--radius-sm)}.modal-close:hover{background:var(--color-bg-layer1);color:var(--color-text-primary)}.drawer-overlay{justify-content:flex-end;align-items:stretch;padding:0}.drawer{width:100%;max-width:360px;height:100%;border-radius:0;padding:max(22px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) 22px;animation:slide-in .2s ease;overflow-y:auto}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.88rem}.data-table th{text-align:left;padding:12px 14px;color:var(--color-text-secondary);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--color-glass-border);cursor:pointer;white-space:nowrap}.data-table td{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.05)}.data-table tbody tr{cursor:pointer;transition:background .12s ease}.data-table tbody tr:hover{background:var(--color-bg-layer1)}.data-table tbody tr.row-selected{background:var(--color-bg-layer2)}.comment{display:flex;gap:12px;padding:12px 0}.avatar{width:36px;height:36px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-alt));color:#fff;font-weight:600;font-size:.85rem}.avatar-sm{width:28px;height:28px;font-size:.72rem}.avatar-lg{width:72px;height:72px;font-size:1.6rem}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.photo-tile{position:relative;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-glass-border);background:var(--color-bg-layer1)}.photo-tile img{width:100%;height:150px;object-fit:cover;display:block;cursor:pointer}.photo-caption{padding:8px 10px;font-size:.78rem;color:var(--color-text-secondary)}.photo-delete{position:absolute;top:6px;right:6px;background:#0000008c;border:none;color:#fff;width:30px;height:30px;border-radius:8px;cursor:pointer;display:grid;place-items:center}.attach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.attach-tile{border:1px solid var(--color-glass-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-layer1)}.attach-tile img{width:100%;height:110px;object-fit:cover}.attach-file{height:110px;display:grid;place-items:center;color:var(--color-text-secondary)}.attach-meta{padding:8px;display:flex;align-items:center;justify-content:space-between;gap:6px}.pdf-page{display:inline-block;margin:0 auto 12px}.pdf-page:last-child{margin-bottom:0}.pdf-highlight{background:#facc1573;color:transparent;border-radius:2px}.pdf-highlight-active{background:#f97316bf}.dropzone{border:1.5px dashed var(--color-glass-border);border-radius:var(--radius-lg);padding:26px;text-align:center;color:var(--color-text-secondary);cursor:pointer;background:var(--color-bg-layer1);transition:border-color .15s ease,background .15s ease}.dropzone.active{border-color:var(--color-accent);background:#3b82f614}.state-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:50px 20px;text-align:center;color:var(--color-text-secondary)}.state-block .state-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:var(--color-bg-layer2);color:var(--color-text-muted)}.skeleton{background:linear-gradient(90deg,var(--color-bg-layer1) 25%,var(--color-bg-layer2) 50%,var(--color-bg-layer1) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:var(--radius-md)}.skeleton-card{height:120px}.skeleton-line{height:14px;margin-bottom:8px}.spinner{width:28px;height:28px;border:3px solid var(--color-bg-layer3);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.tiptap-toolbar{display:flex;gap:4px;flex-wrap:wrap;padding:8px;border-radius:var(--radius-md) var(--radius-md) 0 0;border:1px solid var(--color-glass-border);border-bottom:none;background:var(--color-bg-layer2);overflow-x:auto}.tiptap-toolbar button{background:transparent;border:none;color:var(--color-text-secondary);width:34px;height:34px;border-radius:var(--radius-sm);cursor:pointer;display:grid;place-items:center;flex-shrink:0}.tiptap-toolbar button:hover{background:var(--color-bg-layer1);color:var(--color-text-primary)}.tiptap-toolbar button.active{background:#3b82f62e;color:var(--color-accent)}.ProseMirror{min-height:160px;padding:14px;border:1px solid var(--color-glass-border);border-radius:0 0 var(--radius-md) var(--radius-md);background:var(--color-bg-layer1);outline:none;line-height:1.6}.ProseMirror p{margin:0 0 .5em}.ProseMirror:focus{border-color:var(--color-accent)}.ProseMirror h1{font-size:1.5rem;margin:.6em 0 .3em}.ProseMirror h2{font-size:1.25rem;margin:.6em 0 .3em}.ProseMirror ul,.ProseMirror ol{padding-left:1.4em;margin:.4em 0}.ProseMirror img{max-width:100%;border-radius:var(--radius-md)}.ProseMirror a{color:var(--color-accent)}.rich-content{line-height:1.7}.rich-content h1{font-size:1.5rem;margin:.6em 0 .3em}.rich-content h2{font-size:1.25rem;margin:.6em 0 .3em}.rich-content ul,.rich-content ol{padding-left:1.4em;margin:.5em 0}.rich-content p{margin:0 0 .6em}.rich-content img{max-width:100%;border-radius:var(--radius-md)}.rich-content a{color:var(--color-accent)}.scanner-video{width:100%;border-radius:var(--radius-md);background:#000;aspect-ratio:4 / 3;object-fit:cover}.scan-reticle{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none}.scan-reticle .frame{position:relative;width:62%;aspect-ratio:1.4 / 1;border-radius:var(--radius-md)}.scan-reticle .corner{position:absolute;width:26px;height:26px;border:3px solid var(--color-accent)}.scan-reticle .tl{top:0;left:0;border-right:none;border-bottom:none;border-radius:6px 0 0}.scan-reticle .tr{top:0;right:0;border-left:none;border-bottom:none;border-radius:0 6px 0 0}.scan-reticle .bl{bottom:0;left:0;border-right:none;border-top:none;border-radius:0 0 0 6px}.scan-reticle .br{bottom:0;right:0;border-left:none;border-top:none;border-radius:0 0 6px}.scan-reticle .frame{animation:pulse-reticle 1.6s ease-in-out infinite;overflow:hidden}.scan-line{position:absolute;left:6%;right:6%;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);box-shadow:0 0 12px 2px var(--color-accent-glow);animation:scan-sweep 2s ease-in-out infinite}@keyframes scan-sweep{0%{top:8%;opacity:0}15%{opacity:1}50%{top:90%;opacity:1}85%{opacity:1}to{top:8%;opacity:0}}@media (prefers-reduced-motion: reduce){.scan-line{animation:none;top:50%;opacity:.9}}.scan-success{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0a0c1247;border-radius:var(--radius-md);animation:scan-confirm .45s ease forwards;pointer-events:none}.scan-success-badge{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;color:#fff;background:var(--color-accent);box-shadow:0 6px 24px var(--color-accent-glow),0 0 0 6px #ffffff1f;animation:scan-confirm-badge .45s var(--ease-out-soft) forwards}@keyframes scan-confirm{0%{opacity:0}25%{opacity:1}to{opacity:0}}@keyframes scan-confirm-badge{0%{transform:scale(.4);opacity:0}35%{transform:scale(1.08);opacity:1}60%{transform:scale(1)}to{transform:scale(1);opacity:0}}.scan-stage{position:relative}.customer-card{position:relative;overflow:hidden}.customer-card-body{position:relative;z-index:1}.customer-card-logo{position:absolute;right:-18px;bottom:-18px;width:140px;height:140px;object-fit:contain;transform:rotate(-8deg);opacity:.07;filter:grayscale(1) brightness(2);pointer-events:none;z-index:0}:root[data-theme=light] .customer-card-logo{opacity:.06;filter:grayscale(1) brightness(.35)}.login-wrap{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.login-card{width:100%;max-width:400px;padding:32px}.divider{height:1px;background:var(--color-glass-border);margin:16px 0}.kv{display:grid;grid-template-columns:130px 1fr;gap:8px 16px}.kv dt{color:var(--color-text-secondary);font-size:.85rem}.kv dd{margin:0;font-size:.9rem}.toast-host{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px}.toast{padding:12px 18px;border-radius:var(--radius-md);font-size:.88rem;animation:pop-in .15s ease}.toast-error{background:#ef444433;color:#fecaca;border:1px solid rgba(239,68,68,.4)}.toast-success{background:#10b98133;color:#a7f3d0;border:1px solid rgba(16,185,129,.4)}.install-prompt{position:fixed;z-index:120;left:16px;right:16px;bottom:calc(var(--bottomnav-height) + 12px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px;padding:12px 14px;animation:pop-in .2s ease}.install-prompt-icon{width:40px;height:40px;border-radius:10px;flex-shrink:0}.install-prompt-body{flex:1;min-width:0}.install-prompt-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.install-prompt-close{display:grid;place-items:center;width:32px;height:32px;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-md)}.install-prompt-close:hover{background:var(--color-bg-layer1);color:var(--color-text-primary)}@media (min-width: 769px){.install-prompt{left:auto;right:24px;bottom:24px;max-width:420px}}@media (max-width: 768px){.kv{grid-template-columns:1fr;gap:2px;margin-bottom:4px}.kv dt{margin-top:8px}.modal{max-height:92vh}}.hidden{display:none!important}.full-width{width:100%}.text-center{text-align:center}.text-right{text-align:right}.pointer{cursor:pointer}.relative{position:relative}.scroll-x{overflow-x:auto}.no-shrink{flex-shrink:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-reticle{0%,to{box-shadow:0 0 0 0 var(--color-accent-glow)}50%{box-shadow:0 0 24px 2px var(--color-accent-glow)}}@keyframes flash-out{0%{opacity:1}to{opacity:0}}.spin{animation:spin .8s linear infinite}.show-mobile{display:none}@media (max-width: 768px){.hide-mobile{display:none!important}.show-mobile{display:flex}}@keyframes a-fade{0%{opacity:0}to{opacity:1}}@keyframes a-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes a-rise-sm{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes a-scale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes a-slide-right{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}@keyframes a-pop{0%{opacity:0;transform:scale(.8)}60%{transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes a-badge-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes a-pulse-soft{0%,to{opacity:1}50%{opacity:.45}}@keyframes a-progress{0%{left:-35%;right:100%}60%{left:100%;right:-20%}to{left:100%;right:-20%}}:root{--ease-out-soft: cubic-bezier(.22, .7, .3, 1)}.anim-fade{animation:a-fade .3s ease both}.anim-rise{animation:a-rise .38s var(--ease-out-soft) both}.anim-scale{animation:a-scale .25s ease both}.anim-slide-right{animation:a-slide-right .3s var(--ease-out-soft) both}.anim-pop{animation:a-pop .32s var(--ease-out-soft) both}.stagger>*{animation:a-rise .4s var(--ease-out-soft) both}.stagger>*:nth-child(1){animation-delay:.03s}.stagger>*:nth-child(2){animation-delay:.06s}.stagger>*:nth-child(3){animation-delay:.09s}.stagger>*:nth-child(4){animation-delay:.12s}.stagger>*:nth-child(5){animation-delay:.15s}.stagger>*:nth-child(6){animation-delay:.18s}.page-enter{animation:a-fade .3s ease both,a-rise .34s var(--ease-out-soft) both}.top-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:300;background:transparent;overflow:hidden;pointer-events:none;animation:a-fade .15s ease both}.top-progress .bar{position:absolute;top:0;bottom:0;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-alt));box-shadow:0 0 12px var(--color-accent-glow);border-radius:0 2px 2px 0;animation:a-progress 1.1s ease-in-out infinite}.loading-dots{display:inline-flex;gap:4px;align-items:center}.loading-dots span{width:6px;height:6px;border-radius:50%;background:var(--color-accent);animation:a-pulse-soft 1s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.15s}.loading-dots span:nth-child(3){animation-delay:.3s}.grid-cards>*,.metric-grid>*{animation:a-rise .4s var(--ease-out-soft) both}.grid-cards>*:nth-child(1),.metric-grid>*:nth-child(1){animation-delay:.03s}.grid-cards>*:nth-child(2),.metric-grid>*:nth-child(2){animation-delay:.06s}.grid-cards>*:nth-child(3),.metric-grid>*:nth-child(3){animation-delay:.09s}.grid-cards>*:nth-child(4),.metric-grid>*:nth-child(4){animation-delay:.12s}.grid-cards>*:nth-child(5){animation-delay:.15s}.grid-cards>*:nth-child(6){animation-delay:.18s}.list-item{animation:a-rise-sm .32s var(--ease-out-soft) both}.data-table tbody tr{animation:a-fade .35s ease both}.comment{animation:a-rise-sm .3s var(--ease-out-soft) both}.photo-tile,.attach-tile{animation:a-scale .3s ease both}.badge{transition:background-color .25s ease,color .25s ease}.badge.anim-badge{animation:a-badge-in .28s var(--ease-out-soft)}.skeleton{animation:shimmer 1.4s infinite,a-fade .3s ease}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:scale(.97)}.btn-icon:hover:not(:disabled){transform:translateY(-1px) scale(1.04)}.nav-item{transition:background .15s ease,color .15s ease,transform .15s ease}.nav-item:hover{transform:translate(2px)}.bottom-nav-item{transition:color .15s ease,transform .15s ease}.bottom-nav-item:active{transform:scale(.92)}.chip{transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.chip:hover{transform:translateY(-1px)}.chip:active{transform:scale(.95)}.tab-pill{transition:background .15s ease,color .15s ease,transform .15s ease}.tab-pill:active{transform:scale(.96)}.list-item{transition:background .15s ease,border-color .15s ease,transform .15s ease}.list-item:hover{transform:translate(3px)}.fab{transition:transform .16s var(--ease-out-soft),box-shadow .16s ease}.fab:hover{transform:translateY(-2px) scale(1.05)}.fab:active{transform:scale(.94)}.data-table tbody tr{transition:background .12s ease}.modal-close{transition:background .15s ease,color .15s ease,transform .15s ease}.modal-close:hover{transform:rotate(90deg)}.avatar{transition:transform .15s ease}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.top-progress .bar{animation:a-pulse-soft 1.2s ease-in-out infinite;left:0;right:0}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-bg-base);color:var(--color-text-primary);overflow-x:hidden}body:before{content:"";position:fixed;top:-200px;right:-150px;width:700px;height:700px;background:radial-gradient(circle at center,var(--bg-orb-1),var(--bg-orb-2) 40%,transparent 70%);filter:blur(40px);opacity:.6;pointer-events:none;z-index:0}body:after{content:"";position:fixed;bottom:-250px;left:-150px;width:600px;height:600px;background:radial-gradient(circle at center,var(--bg-orb-2),transparent 70%);filter:blur(50px);opacity:.5;pointer-events:none;z-index:0}#root{position:relative;z-index:1}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:6px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#fff3;background-clip:padding-box}:root[data-theme=light] ::-webkit-scrollbar-thumb{background:#0f172a2e;background-clip:padding-box}:root[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#0f172a4d;background-clip:padding-box}button,input,select,textarea{font-family:inherit}
