:root{--hub-accent:4,120,87;--hub-accent-light:16,185,129;--hub-glow:#10b98166;--hub-card-bg:linear-gradient(145deg,#fffffff2 0%,#f0fdf4e6 100%)}@keyframes meshGradient{0%,to{background-position:0%}50%{background-position:100%}}@keyframes float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-10px)rotate(2deg)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes borderGlow{0%,to{border-color:#10b9814d;box-shadow:0 0 20px #10b9811a}50%{border-color:#10b98199;box-shadow:0 0 30px #10b98133}}@keyframes cardEntrance{0%{opacity:0;filter:blur(10px);transform:translateY(30px)scale(.95)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.hub-card{background:var(--hub-card-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all .3s var(--ease-spring,cubic-bezier(.22,1,.36,1));isolation:isolate;border:1px solid #04785726;border-radius:16px;flex-direction:column;min-height:110px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 24px #04785714,0 1px 3px #0000000d,inset 0 1px #fffc}.hub-card:before{content:"";-webkit-mask-composite:xor;opacity:0;pointer-events:none;background:linear-gradient(135deg,#10b98166 0%,#0000 40% 60%,#14b8a64d 100%);border-radius:16px;padding:1px;transition:opacity .4s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.hub-card:after{content:"";pointer-events:none;opacity:.5;background:radial-gradient(circle,#10b98114 0%,#0000 70%);width:100%;height:100%;transition:transform .6s,opacity .4s;position:absolute;top:-50%;right:-50%}.hub-card:hover{border-color:#10b98166;transform:translateY(-4px)scale(1.005);box-shadow:0 12px 40px #0478571a,0 4px 16px #10b98114,0 0 0 1px #10b98114,inset 0 1px #ffffffe6}.hub-card:hover:before{opacity:1}.hub-card:hover:after{opacity:1;transform:translate(-20%,20%)}.hub-card[data-category=inventory]{--accent:16,185,129;--accent-gradient:linear-gradient(135deg,#10b981,#059669);--accent-ghost:#10b98114;--card-texture:linear-gradient(135deg,#10b9810f 0%,transparent 45%)}.hub-card[data-category=workOrders]{--accent:59,130,246;--accent-gradient:linear-gradient(135deg,#3b82f6,#2563eb);--accent-ghost:#3b82f614;--card-texture:linear-gradient(135deg,#3b82f60f 0%,transparent 45%)}.hub-card[data-category=analytics]{--accent:99,102,241;--accent-gradient:linear-gradient(135deg,#6366f1,#4f46e5);--accent-ghost:#6366f114;--card-texture:linear-gradient(135deg,#6366f10f 0%,transparent 45%)}.hub-card[data-category=communications]{--accent:20,184,166;--accent-gradient:linear-gradient(135deg,#14b8a6,#0d9488);--accent-ghost:#14b8a614;--card-texture:linear-gradient(135deg,#14b8a60f 0%,transparent 45%)}.hub-card[data-category=industries]{--accent:245,158,11;--accent-gradient:linear-gradient(135deg,#f59e0b,#d97706);--accent-ghost:#f59e0b14;--card-texture:linear-gradient(135deg,#f59e0b12 0%,transparent 45%)}.hub-card[data-category=settings]{--accent:107,114,128;--accent-gradient:linear-gradient(135deg,#6b7280,#4b5563);--accent-ghost:#6b728014;--card-texture:linear-gradient(135deg,#6b728012 0%,transparent 45%)}.hub-card[data-category=admin]{--accent:147,51,234;--accent-gradient:linear-gradient(135deg,#9333ea,#7c3aed);--accent-ghost:#9333ea14;--card-texture:linear-gradient(135deg,#9333ea12 0%,transparent 45%)}.hub-card[data-category=workLink]{--accent:20,184,166;--accent-gradient:linear-gradient(135deg,#14b8a6,#06b6d4);--accent-ghost:#06b6d414;--card-texture:linear-gradient(135deg,#06b6d412 0%,transparent 45%)}.hub-card[data-category=maps]{--accent:14,116,144;--accent-gradient:linear-gradient(135deg,#0e7490,#0891b2);--accent-ghost:#0e749014;--card-texture:linear-gradient(135deg,#0e749012 0%,transparent 45%)}.hub-card[data-category=favorites]{--accent:245,158,11;--accent-gradient:linear-gradient(135deg,#f59e0b,#e67e22);--accent-ghost:#f59e0b14;--card-texture:linear-gradient(135deg,#f59e0b12 0%,transparent 45%)}.hub-card[data-category=teams]{--accent:234,88,12;--accent-gradient:linear-gradient(135deg,#ea580c,#dc2626);--accent-ghost:#ea580c14;--card-texture:linear-gradient(135deg,#ea580c12 0%,transparent 45%)}.hub-card[data-category]:before{background:linear-gradient(135deg,rgba(var(--accent),.5)0%,transparent 50%,rgba(var(--accent),.3)100%)}.hub-card[data-category]:after{background:radial-gradient(circle at center,rgba(var(--accent),.1)0%,transparent 70%)}.hub-card[data-category]{background-image:var(--card-texture),var(--hub-card-bg)}.hub-card[data-health=good]{border-color:#22c55e40}.hub-card[data-health=good]:hover{border-color:#22c55e80}.hub-card[data-health=warning]{border-color:#f59e0b66;animation:3s ease-in-out infinite borderGlow}.hub-card[data-health=critical]{border-color:#ef444480;animation:1.5s infinite pulse-critical}@keyframes pulse-critical{0%,to{box-shadow:0 4px 24px #ef444426,0 0 #ef44444d}50%{box-shadow:0 4px 24px #ef444440,0 0 0 8px #ef444400}}.hub-card-icon{background:linear-gradient(135deg,#04785714,#10b9810d);background:linear-gradient(135deg,rgba(var(--accent),.12),rgba(var(--accent),.05));border:1px solid #0478571a;border-color:rgba(var(--accent),.2);transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden}.hub-card-icon:before{content:"";opacity:0;background:linear-gradient(135deg,#0000 40%,#fff6 50%,#0000 60%) 0 0/200% 100%;transition:opacity .3s;animation:3s ease-in-out infinite shimmer;position:absolute;inset:0}.hub-card:hover .hub-card-icon{box-shadow:0 4px 12px rgba(var(--accent,4,120,87),.15);transform:scale(1.08)rotate(-2deg)}.hub-card:hover .hub-card-icon:before{opacity:1}.hub-card-icon-glyph{color:rgba(var(--accent),1)}.hub-module-tag{letter-spacing:.05em;text-transform:uppercase;color:rgba(var(--accent),.95);background:rgba(var(--accent),.1);border:1px solid rgba(var(--accent),.22);border-radius:999px;align-items:center;gap:.25rem;padding:.15rem .45rem;font-weight:700;display:inline-flex}.hub-card-primary-value{background:var(--accent-gradient);color:#0000;-webkit-background-clip:text;background-clip:text}.quick-stats-bar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#fffffff2 0%,#f0fdf4e6 100%);border:1px solid #10b98126;border-radius:16px;box-shadow:0 4px 20px #0478570f,inset 0 1px #fffc}.hub-card-animate{animation:.6s cubic-bezier(.175,.885,.32,1.275) both cardEntrance}@media (prefers-reduced-motion:no-preference){.hub-card-animate{opacity:0;animation-fill-mode:forwards}}@media (prefers-reduced-motion:reduce){.hub-card-animate{opacity:1!important;animation:none!important}}.hub-card-animate:first-child{animation-delay:0s}.hub-card-animate:nth-child(2){animation-delay:60ms}.hub-card-animate:nth-child(3){animation-delay:.12s}.hub-card-animate:nth-child(4){animation-delay:.18s}.hub-card-animate:nth-child(5){animation-delay:.24s}.hub-card-animate:nth-child(6){animation-delay:.3s}.hub-card-animate:nth-child(7){animation-delay:.36s}.hub-card-animate:nth-child(8){animation-delay:.42s}.hub-card-animate:nth-child(9){animation-delay:.48s}.hub-card-animate:nth-child(10){animation-delay:.54s}.hub-card-animate:nth-child(11){animation-delay:.6s}.hub-card-animate:nth-child(12){animation-delay:.66s}.hub-progress-bar{background:#0478571a;border-radius:3px;height:5px;position:relative;overflow:hidden}.hub-progress-fill{background:linear-gradient(90deg,#047857,#10b981,#34d399,#10b981,#047857) 0 0/200% 100%;border-radius:3px;height:100%;transition:width 1s cubic-bezier(.4,0,.2,1);animation:2s linear infinite shimmer;position:relative}.hub-progress-fill:after{content:"";filter:blur(2px);background:linear-gradient(90deg,#0000,#fff9);width:20px;height:100%;position:absolute;top:0;right:0}.ai-fab{cursor:pointer;z-index:50;background:linear-gradient(135deg,#10b981 0%,#059669 50%,#14b8a6 100%) 0 0/200% 200%;border:none;border-radius:20px;justify-content:center;align-items:center;width:60px;height:60px;transition:all .4s cubic-bezier(.175,.885,.32,1.275);animation:6s infinite meshGradient;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 32px #10b98166,0 0 #10b98166,inset 0 1px #fff3}.ai-fab:before{content:"";z-index:-1;opacity:0;background:linear-gradient(135deg,#10b981,#14b8a6,#06b6d4,#10b981) 0 0/300% 300%;border-radius:22px;transition:opacity .3s;animation:4s linear infinite meshGradient;position:absolute;inset:-2px}.ai-fab:hover{transform:scale(1.1)rotate(-5deg);box-shadow:0 12px 40px #10b98180,0 0 60px #10b9814d}.ai-fab:hover:before{opacity:1}.ai-fab.has-suggestions{animation:2s infinite ai-pulse,6s infinite meshGradient}@keyframes ai-pulse{0%,to{box-shadow:0 8px 32px #10b98166,0 0 #10b98166}50%{box-shadow:0 8px 32px #10b98166,0 0 0 15px #10b98100}}.favorites-bar{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);scrollbar-width:none;background:linear-gradient(135deg,#fffc 0%,#f0fdf4b3 100%);border:1px solid #10b98126;border-radius:14px;gap:10px;padding:10px 14px;display:flex;overflow-x:auto;box-shadow:0 2px 12px #0478570d}.favorites-bar::-webkit-scrollbar{display:none}.favorite-item{white-space:nowrap;cursor:pointer;background:#10b9811a;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;transition:all .2s;display:flex}.favorite-item:hover{background:#10b98133;border-color:#10b9814d}@media (max-width:768px){.hub-card{border-radius:12px;min-height:90px;padding:10px}.hub-card:hover{transform:none}.hub-card:active{transition:transform .1s;transform:scale(.98)}.ai-fab{width:52px;height:52px;bottom:16px;right:16px}}@media (max-width:480px){.hub-card{border-radius:10px;min-height:85px;padding:8px!important}.hub-card:after{width:50px;height:50px}.hub-card-icon{width:28px!important;height:28px!important}.hub-card-icon img{width:20px!important;height:20px!important}.ai-fab{width:48px;height:48px;bottom:12px;right:12px}}.hub-bento-grid{grid-template-columns:repeat(2,1fr);align-items:stretch;gap:8px;max-width:100%;padding:0;display:grid;overflow:hidden}@media (max-width:359px){.hub-bento-grid{grid-template-columns:1fr;gap:8px}}@media (min-width:360px){.hub-bento-grid{grid-template-columns:repeat(2,1fr);gap:10px}}@media (min-width:480px){.hub-bento-grid{gap:12px}}@media (min-width:640px){.hub-bento-grid{grid-template-columns:repeat(2,1fr);gap:14px}}@media (min-width:768px){.hub-bento-grid{grid-template-columns:repeat(3,1fr);gap:16px}}@media (min-width:1024px){.hub-bento-grid{grid-template-columns:repeat(3,1fr);gap:18px}}@media (min-width:1280px){.hub-bento-grid{grid-template-columns:repeat(3,1fr);gap:24px}}@media screen and (max-height:500px) and (orientation:landscape){.hub-bento-grid{grid-template-columns:repeat(3,1fr);gap:8px}.hub-card{min-height:80px;padding:8px!important}.hub-card-icon{width:28px!important;height:28px!important}.hub-card-icon img{width:20px!important;height:20px!important}.ai-fab{width:40px;height:40px;bottom:8px;right:8px}.quick-stats-bar{padding:6px 10px}}@media screen and (max-height:400px) and (orientation:landscape){.hub-bento-grid{grid-template-columns:repeat(3,1fr);gap:6px}.hub-card{min-height:70px;padding:6px!important}}@media screen and (min-width:640px) and (max-width:1024px) and (orientation:landscape){.hub-bento-grid{grid-template-columns:repeat(3,1fr);gap:12px}}@media (pointer:coarse){.hub-card{min-height:85px}.favorite-item{min-height:44px;padding:10px 16px}.ai-fab{width:56px;height:56px}}@media (hover:none){.hub-card{transition:transform .1s,box-shadow .1s}.hub-card:active{transform:scale(.97);box-shadow:0 2px 8px #04785726}.favorite-item:active{background:#10b9814d}.ai-fab:active{transform:scale(.95)}}@supports (padding:env(safe-area-inset-bottom)){.ai-fab{bottom:calc(16px + env(safe-area-inset-bottom));right:calc(16px + env(safe-area-inset-right))}@media (max-width:480px){.ai-fab{bottom:calc(12px + env(safe-area-inset-bottom));right:calc(12px + env(safe-area-inset-right))}}@media screen and (max-height:500px) and (orientation:landscape){.ai-fab{bottom:calc(8px + env(safe-area-inset-bottom));right:calc(8px + env(safe-area-inset-right))}}}
