:root{--hub-bg: #ffffff;--hub-surface: #f7f8fa;--hub-surface-hover: #eef0f2;--hub-text: #1a1a1a;--hub-text-secondary: #6b7280;--hub-accent: #0088cc;--hub-accent-hover: #006da3;--hub-accent-light: rgba(0, 136, 204, .08);--hub-success: #16a34a;--hub-success-light: rgba(22, 163, 74, .08);--hub-error: #dc2626;--hub-error-light: rgba(220, 38, 38, .08);--hub-border: #e5e7eb;--hub-border-light: #f0f0f0;--hub-radius: 14px;--hub-radius-sm: 10px;--hub-radius-xs: 6px;--hub-space-2xs: 2px;--hub-space-xs: 4px;--hub-space-s: 8px;--hub-space-m: 16px;--hub-space-l: 24px;--hub-space-xl: 32px;--hub-space-2xl: 48px;--hub-safe-top: env(safe-area-inset-top, 0px);--hub-safe-bottom: env(safe-area-inset-bottom, 0px);--hub-shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--hub-shadow-md: 0 2px 8px rgba(0, 0, 0, .06);--hub-shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--hub-transition: .15s ease;--product-procurement: #7C3AED;--product-procurement-light: rgba(124, 58, 237, .1);--product-procurement-hover: #6D28D9;--product-care: #F97316;--product-care-light: rgba(249, 115, 22, .1);--product-care-hover: #EA580C;--active-product: var(--hub-accent);--active-product-light: var(--hub-accent-light);--active-product-hover: var(--hub-accent-hover)}@media(prefers-color-scheme:dark){:root{--hub-bg: #0f0f0f;--hub-surface: #1a1a1a;--hub-surface-hover: #252525;--hub-text: #f0f0f0;--hub-text-secondary: #9ca3af;--hub-accent: #3b9ede;--hub-accent-hover: #5cb3eb;--hub-accent-light: rgba(59, 158, 222, .12);--hub-success: #22c55e;--hub-success-light: rgba(34, 197, 94, .12);--hub-error: #ef4444;--hub-error-light: rgba(239, 68, 68, .12);--hub-border: #2a2a2a;--hub-border-light: #1f1f1f;--hub-shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--hub-shadow-md: 0 2px 8px rgba(0, 0, 0, .3);--hub-shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--product-procurement: #A78BFA;--product-procurement-light: rgba(167, 139, 250, .15);--product-care: #FB923C;--product-care-light: rgba(251, 146, 60, .15)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--hub-bg);color:var(--hub-text);height:100%;overflow:hidden;overscroll-behavior:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}#hub-app{height:100%;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:focus-visible{outline:2px solid var(--active-product);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.hub-shell{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;position:relative}.hub-home{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:var(--hub-space-l);position:relative;overflow:hidden}.hub-home-header{position:absolute;top:0;left:0;right:0;padding:var(--hub-space-m) var(--hub-space-m) 0;padding-top:calc(var(--hub-space-m) + var(--hub-safe-top));display:flex;justify-content:space-between;align-items:center;z-index:10}.hub-home-brand{display:flex;align-items:center;gap:var(--hub-space-s)}.hub-home-logo{font-size:20px;color:var(--hub-accent)}.hub-home-name{font-size:16px;font-weight:700;letter-spacing:-.3px}.hub-home-actions{display:flex;gap:var(--hub-space-xs)}.hub-action-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:var(--hub-surface);border-radius:50%;color:var(--hub-text-secondary);cursor:pointer;transition:background var(--hub-transition),color var(--hub-transition)}.hub-action-btn:active{background:var(--hub-surface-hover);color:var(--hub-text)}.hub-home-location{position:absolute;bottom:0;left:0;right:0;padding:0 var(--hub-space-m) var(--hub-space-m);padding-bottom:calc(var(--hub-space-m) + var(--hub-safe-bottom));display:flex;justify-content:center;z-index:10}.hub-location-pill{display:flex;align-items:center;gap:6px;padding:var(--hub-space-s) var(--hub-space-m);background:var(--hub-surface);border:1px solid var(--hub-border);border-radius:24px;color:var(--hub-text-secondary);font-size:13px;cursor:pointer;transition:all var(--hub-transition)}.hub-location-pill:active{background:var(--hub-surface-hover);border-color:var(--hub-accent);color:var(--hub-accent)}.hub-location-pill svg{flex-shrink:0}.hub-location-pill-text{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.hub-central-btn{position:relative;width:88px;height:88px;border-radius:50%;background:var(--hub-accent);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px #0088cc4d;transition:transform .2s ease,box-shadow .2s ease;z-index:20;-webkit-touch-callout:none}.hub-central-btn:active{transform:scale(.95)}.hub-central-btn-ring{position:absolute;inset:-8px;border-radius:50%;border:2px solid rgba(0,136,204,.15);pointer-events:none}.hub-central-btn-icon{display:flex;align-items:center;justify-content:center}.hub-central-hint{position:absolute;bottom:-32px;left:50%;transform:translate(-50%);font-size:12px;color:var(--hub-text-secondary);white-space:nowrap;opacity:.6}.hub-radial{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:280px;height:280px;pointer-events:none;z-index:15;opacity:0;transition:opacity .2s ease}.hub-radial--open{opacity:1;pointer-events:auto}.hub-radial-backdrop{position:fixed;inset:0;background:#0006;opacity:0;transition:opacity .25s ease;z-index:14;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none}.hub-radial-backdrop--visible{opacity:1;pointer-events:auto}.hub-radial-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;background:var(--hub-bg);box-shadow:var(--hub-shadow-lg);display:flex;align-items:center;justify-content:center;z-index:2}.hub-radial-center-icon{font-size:28px;color:var(--hub-accent)}.hub-sector{position:absolute;top:50%;left:50%;width:76px;height:76px;margin-left:-38px;margin-top:-38px;border-radius:50%;background:var(--hub-bg);border:1px solid var(--hub-border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;box-shadow:var(--hub-shadow-md);-webkit-touch-callout:none}.hub-sector--active{transform:scale(1.15);box-shadow:0 4px 20px #00000026;border-color:var(--active-product)}.hub-sector-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;color:var(--active-product)}.hub-sector-name{font-size:10px;font-weight:600;color:var(--hub-text);text-align:center;line-height:1.1;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-transition{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none}.hub-transition--active{opacity:1;pointer-events:auto}.hub-transition-bg{position:absolute;inset:0;border-radius:0;transition:border-radius .3s ease}.hub-transition-icon{position:relative;z-index:1;color:#fff;opacity:0;transform:scale(.3);transition:opacity .3s ease .1s,transform .3s ease .1s}.hub-transition--active .hub-transition-icon{opacity:1;transform:scale(1)}.hub-transition-title{position:relative;z-index:1;color:#fff;font-size:22px;font-weight:700;margin-top:var(--hub-space-m);opacity:0;transform:translateY(8px);transition:opacity .3s ease .2s,transform .3s ease .2s}.hub-transition--active .hub-transition-title{opacity:1;transform:translateY(0)}.hub-product{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.hub-product-header{position:sticky;top:0;z-index:100;background:var(--hub-bg);border-bottom:1px solid var(--hub-border);padding-top:var(--hub-safe-top)}.hub-product-header-inner{display:flex;align-items:center;gap:var(--hub-space-s);padding:var(--hub-space-s) var(--hub-space-m);min-height:48px}.hub-product-back{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;color:var(--active-product);cursor:pointer;flex-shrink:0;border-radius:8px;transition:background var(--hub-transition)}.hub-product-back:active{background:var(--active-product-light)}.hub-product-title{flex:1;font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-product-location{font-size:12px;color:var(--hub-text-secondary);padding:0 var(--hub-space-m) var(--hub-space-s);display:flex;align-items:center;gap:4px}.hub-product-content{flex:1;padding:var(--hub-space-m);padding-bottom:calc(80px + var(--hub-safe-bottom))}.hub-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:64px;background:var(--hub-bg);border-top:1px solid var(--hub-border);display:flex;align-items:center;justify-content:space-around;padding-bottom:var(--hub-safe-bottom);z-index:100}.hub-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:56px;height:56px;border:none;background:none;color:var(--hub-text-secondary);cursor:pointer;transition:color var(--hub-transition);position:relative}.hub-nav-item--active{color:var(--active-product)}.hub-nav-item svg{width:22px;height:22px}.hub-nav-label{font-size:10px;font-weight:500}.hub-fab{width:56px;height:56px;border-radius:50%;background:var(--active-product);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0003;position:relative;top:-12px;transition:transform .15s ease,box-shadow .15s ease}.hub-fab:active{transform:scale(.92)}.hub-fab-pulse{position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--active-product);opacity:0;animation:fab-pulse 2s ease-in-out infinite}@keyframes fab-pulse{0%,to{opacity:0;transform:scale(1)}50%{opacity:.3;transform:scale(1.1)}}.product-home{animation:hub-fade-in .2s ease-out}.product-section{margin-bottom:var(--hub-space-l)}.product-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--hub-space-s)}.product-section-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--hub-text-secondary)}.product-section-action{font-size:13px;font-weight:500;color:var(--active-product);background:none;border:none;cursor:pointer}.product-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--hub-space-xl) var(--hub-space-m);min-height:160px;background:var(--hub-surface);border-radius:var(--hub-radius);border:1px dashed var(--hub-border)}.product-empty-icon{color:var(--hub-text-secondary);opacity:.3;margin-bottom:var(--hub-space-s)}.product-empty p{font-size:14px;color:var(--hub-text-secondary)}.product-empty-hint{font-size:12px;margin-top:var(--hub-space-xs);opacity:.6}.hub-header{position:sticky;top:0;z-index:100;background:var(--hub-bg);border-bottom:1px solid var(--hub-border);padding-top:var(--hub-safe-top)}.hub-header--flow{display:flex;align-items:center;gap:var(--hub-space-s);padding:var(--hub-space-s) var(--hub-space-m);min-height:48px}.hub-back{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;color:var(--active-product);cursor:pointer;flex-shrink:0;border-radius:8px;transition:background var(--hub-transition)}.hub-back:active{background:var(--active-product-light)}.hub-header-info{flex:1;display:flex;flex-direction:column;min-width:0}.hub-location{font-weight:600;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-content{flex:1;padding:var(--hub-space-m);padding-bottom:calc(var(--hub-space-m) + var(--hub-safe-bottom))}.hub-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center;padding:var(--hub-space-xl);animation:hub-fade-in .2s ease-out}.hub-state-icon{color:var(--hub-text-secondary);opacity:.5;margin-bottom:var(--hub-space-m)}.hub-state-icon--welcome{color:var(--hub-accent);opacity:.7}.hub-state h3{font-size:18px;font-weight:600;margin-bottom:var(--hub-space-s)}.hub-state p{font-size:14px;color:var(--hub-text-secondary);max-width:280px;line-height:1.5}.hub-state-text{margin-top:var(--hub-space-m)}.hub-state-subtitle{font-size:14px;color:var(--hub-text-secondary);margin-top:var(--hub-space-xs);margin-bottom:var(--hub-space-l)}.hub-state-hint{font-size:13px;margin-top:var(--hub-space-xs);opacity:.7}.hub-state--error h3{color:var(--hub-error)}.hub-state--empty h3{color:var(--hub-text-secondary)}.hub-unknown-bg{position:fixed;inset:0;background:#06060f;overflow:hidden;z-index:0;pointer-events:none}.hub-unknown-bg:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 25%,rgba(40,20,90,.12) 0%,transparent 55%),radial-gradient(ellipse at 75% 75%,rgba(15,40,100,.1) 0%,transparent 50%)}.hub-star{position:absolute;width:var(--star-size, 2px);height:var(--star-size, 2px);background:var(--star-color, rgba(210, 225, 255, 1));opacity:0;will-change:transform,opacity;animation:hub-star-drift linear infinite;animation-duration:var(--star-dur, 8s)}.hub-star-tail{position:absolute;display:flex;gap:2px;right:0;bottom:100%;transform:rotate(-45deg);transform-origin:bottom left;pointer-events:none}.hub-star-tail span{display:block;width:var(--seg-size, 2px);height:var(--seg-size, 2px);background:var(--star-color, rgba(210, 225, 255, .8));opacity:var(--seg-opacity, .6)}.hub-star-tail span:nth-child(2){opacity:calc(var(--seg-opacity, .6) * .7)}.hub-star-tail span:nth-child(3){opacity:calc(var(--seg-opacity, .6) * .45)}.hub-star-tail span:nth-child(4){opacity:calc(var(--seg-opacity, .6) * .25)}.hub-star--slow{animation-duration:var(--star-dur, 14s)}.hub-star--medium{animation-duration:var(--star-dur, 9s)}.hub-star--bright{width:3px;height:3px;background:#e8eeff;box-shadow:0 0 4px #b4c8ff80}.hub-star--bright .hub-star-tail span{width:3px;height:3px;background:#b4d2ffb3}@keyframes hub-star-drift{0%{transform:translate(0);opacity:0}6%{opacity:var(--star-opacity, .8)}88%{opacity:var(--star-opacity, .8)}to{transform:translate(var(--drift-x, -160px),var(--drift-y, 160px));opacity:0}}.hub-unknown-emoji{font-size:clamp(72px,12vw,120px);display:block;margin-bottom:clamp(16px,3vh,24px);line-height:1;animation:hub-emoji-float 5s ease-in-out infinite,hub-entrance-fade .5s ease-out both}@keyframes hub-emoji-float{0%,to{transform:translateY(0) rotate(0) scale(1)}50%{transform:translateY(-5px) rotate(2deg) scale(1.03)}}.hub-unknown-content .hub-unknown-message{font-size:18px;font-weight:600;color:#f0f0f5;margin-bottom:clamp(12px,2.5vh,20px);line-height:1.4;animation:hub-entrance-fade .4s ease-out .15s both}.hub-unknown-content .hub-unknown-instruction{font-size:14px;color:#a0afd299;line-height:1.55;margin-bottom:clamp(24px,5vh,40px);animation:hub-entrance-fade .4s ease-out .3s both}.hub-unknown-actions{display:flex;flex-direction:column;gap:var(--hub-space-s);width:100%;animation:hub-entrance-slide .45s ease-out .4s both}@media(prefers-reduced-motion:reduce){.hub-star{animation:none;opacity:var(--star-opacity, .6)}.hub-unknown-emoji{animation:none}.hub-unknown-content .hub-unknown-message,.hub-unknown-content .hub-unknown-instruction,.hub-unknown-actions{animation:none;opacity:1;transform:none}.hub-btn{transition:none}.hub-btn:active{transform:none}.hub-toast{animation:none;opacity:1}}.hub-unknown-bg:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 25%,rgba(40,20,90,.15) 0%,transparent 55%),radial-gradient(ellipse at 75% 75%,rgba(15,40,100,.12) 0%,transparent 50%)}.hub-starfield{position:absolute;inset:0;overflow:hidden;pointer-events:none}.hub-star{position:absolute;width:var(--star-size, 2px);height:var(--star-size, 2px);background:var(--star-color, rgba(200, 215, 255, .9));opacity:0;will-change:transform,opacity;animation:hub-star-drift linear infinite}.hub-star--slow{animation-duration:var(--star-dur, 12s)}.hub-star--medium{animation-duration:var(--star-dur, 8s)}.hub-star--fast{animation-duration:var(--star-dur, 5.5s)}.hub-star--streak:after{content:"";position:absolute;top:0;right:100%;width:var(--trail-len, 8px);height:1px;background:linear-gradient(to left,var(--star-color, rgba(200, 215, 255, .7)),transparent);opacity:.6}.hub-star--bright{width:3px;height:3px;background:#fff}@keyframes hub-star-drift{0%{transform:translate(0);opacity:0}8%{opacity:var(--star-opacity, .7)}85%{opacity:var(--star-opacity, .7)}to{transform:translate(var(--drift-x, -140px),var(--drift-y, 140px));opacity:0}}.hub-unknown-screen{position:fixed;inset:0;top:var(--hub-safe-top, 0px);bottom:var(--hub-safe-bottom, 0px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1;padding:var(--hub-space-xl) var(--hub-space-l);padding-bottom:calc(var(--hub-space-xl) + var(--hub-safe-bottom, 0px))}.hub-unknown-content{position:relative;text-align:center;max-width:340px;width:100%}.hub-unknown-emoji{font-size:28px;display:block;margin-bottom:var(--hub-space-m);animation:hub-emoji-float 4s ease-in-out infinite,hub-entrance-fade .5s ease-out both}@keyframes hub-emoji-float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(3deg)}}@keyframes hub-entrance-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes hub-entrance-fade-delayed{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hub-unknown-content h3{font-size:22px;font-weight:600;color:#f0f0f5;margin-bottom:var(--hub-space-m);line-height:1.3;animation:hub-entrance-fade .4s ease-out .15s both}.hub-unknown-content p{font-size:14px;color:#c8d2e6cc;line-height:1.55;margin-bottom:var(--hub-space-m);animation:hub-entrance-fade .4s ease-out .25s both}.hub-unknown-content .hub-unknown-instruction{font-size:13px;color:#a0afd299;margin-bottom:clamp(24px,5vh,40px);animation:hub-entrance-fade .4s ease-out .35s both}.hub-unknown-actions{display:flex;flex-direction:column;gap:var(--hub-space-s);width:100%;animation:hub-entrance-slide .45s ease-out .45s both}@keyframes hub-entrance-slide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hub-btn{display:flex;align-items:center;justify-content:center;min-height:48px;padding:var(--hub-space-m) var(--hub-space-l);border-radius:14px;font-size:15px;font-weight:500;cursor:pointer;transition:background .15s ease,opacity .15s ease,transform .1s ease;border:none;width:100%;-webkit-tap-highlight-color:transparent}.hub-btn:active{transform:scale(.97)}.hub-btn--primary{background:linear-gradient(135deg,#3b82f6,#7c3aed);color:#fff;box-shadow:0 4px 16px #3b82f640}.hub-btn--primary:active{background:linear-gradient(135deg,#2563eb,#6d28d9);box-shadow:0 2px 8px #3b82f626}.hub-btn--secondary{background:#ffffff0d;color:#c8d2e6bf;border:1px solid rgba(255,255,255,.1)}.hub-btn--secondary:active{background:#ffffff1f;border-color:#fff3}.hub-btn:disabled{opacity:.5;pointer-events:none}.hub-btn-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:hub-btn-spin .6s linear infinite;margin-right:var(--hub-space-s);flex-shrink:0}@keyframes hub-btn-spin{to{transform:rotate(360deg)}}.hub-toast{position:fixed;bottom:calc(var(--hub-safe-bottom, 0px) + 20px);left:50%;transform:translate(-50%);background:#1e1e28eb;color:#c8d2e6e6;padding:10px 20px;border-radius:10px;font-size:13px;z-index:100;pointer-events:none;animation:hub-toast-in .3s ease-out,hub-toast-out .3s ease-in 2.2s forwards;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08)}@keyframes hub-toast-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes hub-toast-out{0%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.hub-star{animation:none;opacity:var(--star-opacity, .5)}.hub-star--streak:after{animation:none}.hub-unknown-emoji{animation:none}.hub-unknown-content h3,.hub-unknown-content p,.hub-unknown-content .hub-unknown-instruction,.hub-unknown-actions{animation:none;opacity:1;transform:none}.hub-btn{transition:none}.hub-btn:active{transform:none}.hub-toast{animation:none;opacity:1}}.hub-location-list{display:flex;flex-direction:column;gap:var(--hub-space-s);width:100%;max-width:400px}.hub-location-card{display:flex;align-items:center;gap:var(--hub-space-m);padding:var(--hub-space-m);background:var(--hub-surface);border:1px solid var(--hub-border);border-radius:var(--hub-radius);cursor:pointer;text-align:left;transition:background var(--hub-transition),border-color var(--hub-transition),box-shadow var(--hub-transition);width:100%}.hub-location-card:active{background:var(--hub-surface-hover);border-color:var(--hub-accent);box-shadow:0 0 0 1px var(--hub-accent)}.hub-location-card--last{border-color:var(--hub-accent);background:var(--hub-accent-light)}.hub-location-card-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--hub-bg);border-radius:var(--hub-radius-sm);color:var(--hub-accent);flex-shrink:0}.hub-location-card-info{flex:1;min-width:0}.hub-location-card-name{display:block;font-weight:600;font-size:15px}.hub-location-card-code{display:block;font-size:13px;color:var(--hub-text-secondary);margin-top:2px}.hub-location-card-badge{font-size:11px;font-weight:500;color:var(--hub-accent);background:var(--hub-accent-light);padding:2px 8px;border-radius:20px;flex-shrink:0}.hub-retry-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--hub-space-xs);padding:var(--hub-space-s) var(--hub-space-l);background:var(--hub-accent);color:#fff;border:none;border-radius:var(--hub-radius-sm);font-size:14px;font-weight:600;cursor:pointer;margin-top:var(--hub-space-l);transition:background var(--hub-transition);min-height:40px}.hub-retry-btn:active{background:var(--hub-accent-hover)}.hub-spinner{width:28px;height:28px;border:2.5px solid var(--hub-border);border-top-color:var(--active-product);border-radius:50%;animation:hub-spin .7s linear infinite}@keyframes hub-spin{to{transform:rotate(360deg)}}.flow-create-need{padding:var(--hub-space-m) 0;animation:hub-fade-in .2s ease-out}.flow-stage{animation:flow-slide-in .2s ease-out}@keyframes flow-slide-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.flow-stage-title{font-size:20px;font-weight:700;margin-bottom:var(--hub-space-s);letter-spacing:-.3px}.flow-stage-subtitle{font-size:14px;color:var(--hub-text-secondary);margin-bottom:var(--hub-space-l)}.flow-chips{display:flex;flex-direction:column;gap:var(--hub-space-s)}.flow-chip{display:flex;align-items:center;gap:var(--hub-space-m);padding:var(--hub-space-m) var(--hub-space-m);background:var(--hub-surface);border:1.5px solid var(--hub-border);border-radius:var(--hub-radius);cursor:pointer;transition:all var(--hub-transition);width:100%;text-align:left}.flow-chip:active{transform:scale(.98)}.flow-chip--selected{border-color:var(--active-product);background:var(--active-product-light)}.flow-chip-icon{font-size:22px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--hub-bg);border-radius:var(--hub-radius-sm);flex-shrink:0}.flow-chip--selected .flow-chip-icon{background:var(--active-product)}.flow-chip-label{font-size:15px;font-weight:600;color:var(--hub-text)}.flow-category-chips{display:flex;flex-wrap:wrap;gap:var(--hub-space-s)}.flow-category-chip{padding:var(--hub-space-s) var(--hub-space-m);border:1.5px solid var(--hub-border);border-radius:20px;background:var(--hub-bg);color:var(--hub-text);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--hub-transition)}.flow-category-chip:active{transform:scale(.95)}.flow-category-chip.flow-chip--selected{border-color:var(--active-product);background:var(--active-product-light);color:var(--active-product);font-weight:600}.flow-field--inline{display:flex;align-items:center;gap:var(--hub-space-s)}.flow-field--inline .flow-label{margin-bottom:0;flex-shrink:0}.flow-field--inline .flow-input--small{width:80px;flex-shrink:0}.flow-quantity-hint{font-size:12px;color:var(--hub-text-secondary)}.flow-expandable{margin-bottom:var(--hub-space-m)}.flow-expand-btn{display:flex;align-items:center;gap:var(--hub-space-xs);padding:var(--hub-space-s) 0;border:none;background:none;color:var(--active-product);font-size:14px;font-weight:500;cursor:pointer}.flow-expand-btn svg{transition:transform .15s ease}.flow-expand-btn[aria-expanded=true] svg{transform:rotate(180deg)}.flow-expandable-content{padding-top:var(--hub-space-s)}.flow-field{margin-bottom:var(--hub-space-m)}.flow-label{display:block;font-size:13px;font-weight:600;margin-bottom:var(--hub-space-xs);color:var(--hub-text)}.flow-required{color:var(--hub-error)}.flow-input{width:100%;padding:12px var(--hub-space-m);border:1.5px solid var(--hub-border);border-radius:var(--hub-radius-sm);font-size:15px;background:var(--hub-bg);color:var(--hub-text);transition:border-color var(--hub-transition),box-shadow var(--hub-transition);-webkit-appearance:none}.flow-input:focus{outline:none;border-color:var(--active-product);box-shadow:0 0 0 3px var(--active-product-light)}.flow-input--error{border-color:var(--hub-error)}.flow-input--error:focus{border-color:var(--hub-error);box-shadow:0 0 0 3px var(--hub-error-light)}.flow-textarea{resize:vertical;min-height:72px;line-height:1.5}.flow-select{background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.flow-error{display:block;font-size:12px;color:var(--hub-error);margin-top:var(--hub-space-xs);min-height:16px}.flow-nav{display:flex;gap:var(--hub-space-s);margin-top:var(--hub-space-xl)}.flow-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px var(--hub-space-m);border:none;border-radius:var(--hub-radius-sm);font-size:15px;font-weight:600;cursor:pointer;transition:background var(--hub-transition),opacity var(--hub-transition);min-height:48px;white-space:nowrap}.flow-btn--primary{background:var(--active-product);color:#fff}.flow-btn--primary:active{background:var(--active-product-hover)}.flow-btn--secondary{background:var(--hub-surface);color:var(--hub-text);border:1px solid var(--hub-border)}.flow-btn--secondary:active{background:var(--hub-surface-hover)}.flow-btn--full{flex:1}.flow-btn--submit{min-width:140px}.flow-btn[disabled]{opacity:.5;pointer-events:none}.flow-review{background:var(--hub-surface);border-radius:var(--hub-radius);padding:var(--hub-space-m);border:1px solid var(--hub-border)}.flow-review-row{display:flex;justify-content:space-between;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--hub-border-light);gap:var(--hub-space-m)}.flow-review-row:last-child{border-bottom:none}.flow-review-label{font-size:13px;color:var(--hub-text-secondary);flex-shrink:0}.flow-review-value{font-size:14px;font-weight:500;text-align:right;word-break:break-word}.flow-submitting{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;text-align:center;gap:var(--hub-space-m);color:var(--hub-text-secondary);font-size:14px}.flow-success{text-align:center;padding:var(--hub-space-2xl) 0}.flow-success-circle{width:96px;height:96px;border-radius:50%;background:var(--active-product);display:flex;align-items:center;justify-content:center;margin:0 auto var(--hub-space-l);position:relative;animation:success-circle-in .5s cubic-bezier(.34,1.56,.64,1)}.flow-success-circle:after{content:"";position:absolute;inset:-8px;border-radius:50%;background:var(--active-product);opacity:.15;animation:success-glow 1.5s ease-in-out infinite}@keyframes success-circle-in{0%{transform:scale(0);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes success-glow{0%,to{transform:scale(1);opacity:.15}50%{transform:scale(1.15);opacity:.08}}.flow-success-check{color:#fff;position:relative;z-index:1;animation:success-check-in .3s ease .2s both}@keyframes success-check-in{0%{opacity:0;transform:scale(.5) rotate(-10deg)}to{opacity:1;transform:scale(1) rotate(0)}}.flow-success-title{font-size:22px;font-weight:700;color:var(--hub-text);margin-bottom:var(--hub-space-s);animation:success-text-in .3s ease .3s both}@keyframes success-text-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.flow-success-info{background:var(--hub-surface);border-radius:var(--hub-radius);padding:var(--hub-space-m);margin:var(--hub-space-l) 0;text-align:left;border:1px solid var(--hub-border);animation:success-text-in .3s ease .35s both}.flow-success-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--hub-border-light)}.flow-success-row:last-child{border-bottom:none}.flow-success-label{font-size:13px;color:var(--hub-text-secondary)}.flow-success-value{font-size:14px;font-weight:500}.flow-success-status{color:var(--active-product)}.flow-success-actions{display:flex;flex-direction:column;gap:var(--hub-space-s);margin-top:var(--hub-space-l);animation:success-text-in .3s ease .4s both}.flow-submit-error{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--hub-space-xl);min-height:240px}.flow-error-icon{color:var(--hub-error);opacity:.7;margin-bottom:var(--hub-space-m)}.flow-submit-error h3{font-size:18px;font-weight:600;color:var(--hub-error);margin-bottom:var(--hub-space-s)}.flow-submit-error p{font-size:14px;color:var(--hub-text-secondary);margin-bottom:var(--hub-space-l)}.hub-flow-unavailable{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center;padding:var(--hub-space-l)}.hub-flow-unavailable h3{font-size:18px;font-weight:600;margin-bottom:var(--hub-space-s)}.hub-flow-unavailable p{font-size:14px;color:var(--hub-text-secondary);max-width:280px}@keyframes hub-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:375px){.hub-content{padding:var(--hub-space-s);padding-bottom:calc(var(--hub-space-s) + var(--hub-safe-bottom))}.hub-product-content{padding:var(--hub-space-s);padding-bottom:calc(80px + var(--hub-safe-bottom))}.hub-radial{width:240px;height:240px}}@media(min-width:768px){.hub-content,.hub-product-content{max-width:480px;margin:0 auto}}@media(orientation:landscape)and (max-height:500px){.hub-state{min-height:200px}}@media print{.hub-bottom-nav,.hub-back,.hub-action-btn,.hub-fab{display:none}}.flow-success-circle--care{background:var(--product-care-light);color:var(--product-care)}.flow-urgency-options{display:flex;flex-direction:column;gap:var(--hub-space-s)}.flow-urgency-option{display:flex;align-items:center;gap:var(--hub-space-m);padding:var(--hub-space-m);background:var(--hub-bg);border:1.5px solid var(--hub-border);border-radius:var(--hub-radius-sm);cursor:pointer;transition:all var(--hub-transition);text-align:left}.flow-urgency-option:hover{background:var(--hub-surface);border-color:var(--hub-text-secondary)}.flow-urgency-option--selected{border-color:var(--active-product);background:var(--active-product-light)}.flow-urgency-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.flow-urgency-label{font-size:15px;font-weight:500;color:var(--hub-text)}.flow-urgency-desc{font-size:13px;color:var(--hub-text-secondary);margin-left:auto}.flow-repair-section{margin-bottom:var(--hub-space-l)}.flow-repair-section-title{font-size:13px;font-weight:600;color:var(--hub-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--hub-space-s);padding:0 var(--hub-space-xs)}.flow-repair-card{display:block;width:100%;padding:var(--hub-space-m);background:var(--hub-bg);border:1.5px solid var(--hub-border);border-radius:var(--hub-radius-sm);cursor:pointer;text-align:left;transition:all var(--hub-transition);margin-bottom:var(--hub-space-s)}.flow-repair-card:hover{background:var(--hub-surface);border-color:var(--hub-text-secondary)}.flow-repair-card-main{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--hub-space-s);margin-bottom:var(--hub-space-xs)}.flow-repair-card-title{font-size:15px;font-weight:500;color:var(--hub-text);flex:1}.flow-repair-card-time{font-size:12px;color:var(--hub-text-secondary);white-space:nowrap}.flow-repair-card-meta{display:flex;align-items:center;gap:var(--hub-space-s)}.flow-repair-card-status{font-size:12px;font-weight:500;padding:2px 8px;border-radius:var(--hub-radius-xs);background:var(--hub-surface);color:var(--hub-text-secondary)}.flow-repair-card-status--new,.flow-repair-card-status--under_review,.flow-repair-card-status--awaiting_decision{background:var(--hub-accent-light);color:var(--hub-accent)}.flow-repair-card-status--in_progress,.flow-repair-card-status--planned{background:var(--active-product-light);color:var(--active-product)}.flow-repair-card-status--awaiting_parts{background:#fef3c7;color:#d97706}.flow-repair-card-status--completed,.flow-repair-card-status--verified,.flow-repair-card-status--closed{background:var(--hub-success-light);color:var(--hub-success)}.flow-repair-card-status--cancelled{background:var(--hub-surface);color:var(--hub-text-secondary)}.flow-repair-card-emergency{font-size:11px;font-weight:600;padding:2px 6px;border-radius:var(--hub-radius-xs);background:var(--hub-error-light);color:var(--hub-error)}.flow-empty-state{display:flex;flex-direction:column;align-items:center;padding:var(--hub-space-2xl) var(--hub-space-m);text-align:center}.flow-empty-icon{font-size:48px;margin-bottom:var(--hub-space-m)}.flow-empty-title{font-size:18px;font-weight:600;color:var(--hub-text);margin-bottom:var(--hub-space-xs)}.flow-empty-text{font-size:14px;color:var(--hub-text-secondary)}.repair-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--hub-space-s);margin-bottom:var(--hub-space-l)}.repair-detail-title{font-size:20px;font-weight:600;color:var(--hub-text);flex:1}.repair-detail-status{font-size:13px;font-weight:500;padding:4px 10px;border-radius:var(--hub-radius-xs);background:var(--active-product-light);color:var(--active-product);white-space:nowrap}.repair-detail-section{margin-bottom:var(--hub-space-l)}.repair-detail-section-title{font-size:14px;font-weight:600;color:var(--hub-text-secondary);margin-bottom:var(--hub-space-s)}.repair-detail-row{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--hub-space-s) 0;border-bottom:1px solid var(--hub-border-light)}.repair-detail-label{font-size:14px;color:var(--hub-text-secondary)}.repair-detail-value{font-size:14px;color:var(--hub-text);text-align:right;max-width:60%}.repair-timeline{display:flex;flex-direction:column;gap:0}.repair-timeline-item{display:flex;align-items:flex-start;gap:var(--hub-space-m);padding:var(--hub-space-s) 0;position:relative}.repair-timeline-item:not(:last-child):after{content:"";position:absolute;left:5px;top:24px;bottom:-4px;width:1.5px;background:var(--hub-border)}.repair-timeline-dot{width:11px;height:11px;border-radius:50%;background:var(--active-product);flex-shrink:0;margin-top:3px}.repair-timeline-content{display:flex;flex-direction:column;gap:2px}.repair-timeline-label{font-size:14px;color:var(--hub-text)}.repair-timeline-time{font-size:12px;color:var(--hub-text-secondary)}.repair-comments{display:flex;flex-direction:column;gap:var(--hub-space-s)}.repair-comment{padding:var(--hub-space-m);background:var(--hub-surface);border-radius:var(--hub-radius-sm)}.repair-comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--hub-space-xs)}.repair-comment-author{font-size:13px;font-weight:500;color:var(--hub-text)}.repair-comment-time{font-size:12px;color:var(--hub-text-secondary)}.repair-comment-body{font-size:14px;color:var(--hub-text);line-height:1.4}.flow-comment-form{display:flex;gap:var(--hub-space-s);align-items:flex-end;padding:var(--hub-space-m) 0;border-top:1px solid var(--hub-border-light);margin-top:var(--hub-space-m)}.flow-comment-form .flow-textarea{flex:1}.flow-btn--small{padding:var(--hub-space-s) var(--hub-space-m);font-size:13px;white-space:nowrap}.repair-summary{display:flex;align-items:center;gap:var(--hub-space-m);padding:var(--hub-space-m);background:var(--active-product-light);border-radius:var(--hub-radius-sm);margin-bottom:var(--hub-space-l)}.repair-summary-icon{font-size:20px;flex-shrink:0}.repair-summary-text{font-size:14px;font-weight:500;color:var(--active-product)}.repair-feed{margin-bottom:var(--hub-space-l)}.repair-feed-title{font-size:14px;font-weight:600;color:var(--hub-text-secondary);margin-bottom:var(--hub-space-m)}.repair-feed-empty{text-align:center;padding:var(--hub-space-l);color:var(--hub-text-secondary);font-size:14px}.feed-item{display:flex;align-items:flex-start;gap:var(--hub-space-m);padding:var(--hub-space-s) 0;position:relative}.feed-item:not(:last-child):after{content:"";position:absolute;left:5px;top:24px;bottom:-4px;width:1.5px;background:var(--hub-border)}.feed-item-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0;margin-top:3px}.feed-item-dot--orange{background:var(--active-product)}.feed-item-dot--gray{background:var(--hub-text-secondary)}.feed-item-dot--blue{background:var(--hub-accent)}.feed-item-dot--green{background:var(--hub-success)}.feed-item-content{flex:1;min-width:0}.feed-item-header{display:flex;justify-content:space-between;align-items:center;gap:var(--hub-space-s);margin-bottom:2px}.feed-item-title{font-size:14px;font-weight:500;color:var(--hub-text)}.feed-item-time{font-size:12px;color:var(--hub-text-secondary);white-space:nowrap}.feed-item-actor{font-size:12px;color:var(--hub-text-secondary);margin-bottom:2px}.feed-item-body{font-size:14px;color:var(--hub-text);line-height:1.4;padding:var(--hub-space-s);background:var(--hub-surface);border-radius:var(--hub-radius-xs);margin-top:var(--hub-space-xs)}.feed-item--comment .feed-item-body{background:var(--hub-surface)}.feed-item-attachments{display:flex;gap:var(--hub-space-s);margin-top:var(--hub-space-xs);flex-wrap:wrap}.feed-attachment{display:flex;align-items:center;gap:var(--hub-space-xs);padding:var(--hub-space-xs) var(--hub-space-s);background:var(--hub-surface);border-radius:var(--hub-radius-xs);cursor:pointer;font-size:13px;color:var(--active-product)}.feed-attachment:hover{background:var(--active-product-light)}.repair-composer{padding:var(--hub-space-m) 0;border-top:1px solid var(--hub-border-light)}.repair-composer--readonly{text-align:center;color:var(--hub-text-secondary);font-size:14px}.repair-composer-input{margin-bottom:var(--hub-space-s)}.repair-composer-input .flow-textarea{width:100%}.repair-composer-actions{display:flex;align-items:center;gap:var(--hub-space-s)}.repair-composer-photo{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--hub-radius-sm);background:var(--hub-surface);color:var(--hub-text-secondary);cursor:pointer;transition:all var(--hub-transition)}.repair-composer-photo:hover{background:var(--active-product-light);color:var(--active-product)}.repair-actions{padding:var(--hub-space-m) 0}.repair-back-btn{display:inline-flex;align-items:center;gap:var(--hub-space-xs);padding:var(--hub-space-xs) 0;margin-bottom:var(--hub-space-m);background:none;border:none;color:var(--active-product);font-size:14px;font-weight:500;cursor:pointer;transition:opacity var(--hub-transition)}.repair-back-btn:hover{opacity:.7}.repair-summary-content{display:flex;flex-direction:column;gap:2px}.repair-summary-hint{font-size:12px;color:var(--active-product);opacity:.8}.repair-photo-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center}.repair-photo-modal-backdrop{position:absolute;inset:0;background:#000000d9}.repair-photo-modal-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.repair-photo-modal-close{position:absolute;top:-40px;right:0;background:none;border:none;color:#fff;cursor:pointer;padding:var(--hub-space-xs);opacity:.8}.repair-photo-modal-close:hover{opacity:1}.repair-photo-modal-img{max-width:100%;max-height:80vh;border-radius:var(--hub-radius-sm);object-fit:contain}.repair-photo-modal-caption{margin-top:var(--hub-space-s);color:#fffc;font-size:13px;text-align:center}.flow-btn--danger{background:var(--hub-error-light);color:var(--hub-error);border:1.5px solid var(--hub-error)}.flow-btn--danger:hover{background:var(--hub-error);color:#fff}
