@tailwind base;@tailwind components;@tailwind utilities;@layer base{:root{--app-safe-top: env(safe-area-inset-top, 0px);--app-safe-bottom: env(safe-area-inset-bottom, 0px);--app-tabbar-height: 5.5rem;--app-actionbar-height: 5.5rem}html,body,#root{width:100%;height:100%;min-height:100dvh;overflow:hidden;overscroll-behavior:none}body{max-width:100vw;-webkit-tap-highlight-color:transparent}*,*:before,*:after{box-sizing:border-box}img,video,canvas,svg{max-width:100%}}@layer utilities{.h-dvh{height:100vh;height:100dvh}.min-h-dvh{min-height:100vh;min-height:100dvh}.safe-top{padding-top:var(--app-safe-top)}.safe-bottom{padding-bottom:var(--app-safe-bottom)}.pt-safe{padding-top:var(--app-safe-top)}.pb-safe,.pb-safe-bottom{padding-bottom:var(--app-safe-bottom)}.mobile-page{width:100%;min-width:0;max-width:100vw;min-height:100dvh;overflow-x:hidden}.mobile-screen{width:100%;height:100vh;height:100dvh;min-width:0;max-width:100vw;overflow:hidden}.mobile-scroll{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.pb-tabbar{padding-bottom:calc(var(--app-tabbar-height) + var(--app-safe-bottom) + 1rem)}.pb-actionbar{padding-bottom:calc(var(--app-actionbar-height) + var(--app-safe-bottom) + 1rem)}.mobile-bottom-bar{padding-bottom:calc(.75rem + var(--app-safe-bottom))}.mobile-sheet{max-height:calc(100vh - var(--app-safe-top) - .75rem);max-height:calc(100dvh - var(--app-safe-top) - .75rem)}.mobile-sheet-scroll{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.mobile-tabbar{min-height:calc(var(--app-tabbar-height) + var(--app-safe-bottom));padding-bottom:calc(.75rem + var(--app-safe-bottom))}.bottom-tabbar-offset{bottom:calc(var(--app-tabbar-height) + var(--app-safe-bottom) + .5rem)}.bottom-action-offset{bottom:calc(var(--app-actionbar-height) + var(--app-safe-bottom) + .5rem)}.radar-scan{background:conic-gradient(from 0deg at 50% 50%,#165dff80,#165dff00 90deg);animation:radar-rotate 4s linear infinite}@keyframes radar-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stamp-animation{animation:stamp-drop .3s cubic-bezier(.175,.885,.32,1.275) forwards}@keyframes stamp-drop{0%{transform:scale(3);opacity:0}to{transform:scale(1);opacity:1}}.animate-wave{animation:wave 1.5s ease-in-out infinite}@keyframes wave{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1.5)}}.radar-scan-fast{background:conic-gradient(from 0deg at 50% 50%,#165dffcc,#165dff00 120deg);animation:radar-rotate 1.5s linear infinite}.glow-blue-strong{box-shadow:0 0 30px #165dff66}.skeleton{background:linear-gradient(90deg,#f0f2f5 25%,#e6e8eb,#f0f2f5 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.animate-scan-line{animation:scan-line 2s linear infinite}@keyframes scan-line{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.glass-dark{background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.05)}.mobile-frame{width:320px;height:640px;background:#fff;border-radius:48px;padding:12px;box-shadow:0 0 0 4px #e5e7eb,0 30px 60px #0000001a;position:relative;overflow:hidden;border:8px solid #1f2937}.mobile-frame:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:120px;height:30px;background:#1f2937;border-bottom-left-radius:18px;border-bottom-right-radius:18px;z-index:10}.admin-table{border-radius:12px!important;overflow:hidden;border:1px solid #e5e7eb}.admin-table .ant-table{background:#fff!important;color:#374151!important}.admin-table .ant-table-thead>tr>th{background:#f9fafb!important;color:#6b7280!important;border-bottom:1px solid #e5e7eb!important;font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.05em!important}.admin-table .ant-table-tbody>tr>td{border-bottom:1px solid #f3f4f6!important;padding:16px!important}.admin-table .ant-table-tbody>tr:hover>td{background:#f9fafb!important}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.ant-select-selector,.ant-input,.ant-input-affix-wrapper{background-color:#fff!important;border-color:#e5e7eb!important;color:#111827!important}.ant-drawer-content,.ant-modal-content{background-color:#fff!important;color:#111827!important}.ant-tabs-tab{color:#6b7280!important}.ant-tabs-tab-active .ant-tabs-tab-btn{color:#2563eb!important}.admin-map-ops-table .spot-name-cell{color:#165dff!important;font-weight:700}.admin-map-ops-table .spot-heat-main{color:#1e293b!important}.admin-map-ops-table .spot-heat-base,.admin-map-ops-table .text-gray-500{color:#64748b!important}.admin-map-ops-table .text-gray-400,.admin-map-ops-table .text-gray-300{color:#475569!important}.admin-map-ops-drawer{background-color:#fff!important;color:#1e293b!important}.admin-map-ops-drawer .bg-\[\#1a1a1a\],.admin-map-ops-drawer .bg-yellow-500\/5{background-color:#f8fafc!important}.admin-map-ops-drawer .border-gray-800,.admin-map-ops-drawer .border-yellow-500\/20{border-color:#e2e8f0!important}.admin-map-ops-drawer .text-gray-300,.admin-map-ops-drawer .text-gray-200,.admin-map-ops-drawer .text-slate-100{color:#1e293b!important}.admin-map-ops-drawer .text-gray-500{color:#64748b!important}.admin-map-ops-drawer .text-yellow-500{color:#d97706!important}.admin-map-ops-drawer input,.admin-map-ops-drawer .ant-input,.admin-map-ops-drawer .ant-input-affix-wrapper,.admin-map-ops-drawer .ant-select-selector{background-color:#fff!important;border-color:#cbd5e1!important;color:#1e293b!important}.admin-map-ops-drawer input::placeholder,.admin-map-ops-drawer .ant-input::placeholder{color:#94a3b8!important}.admin-map-ops-drawer input:focus,.admin-map-ops-drawer .ant-input:focus,.admin-map-ops-drawer .ant-input-focused{border-color:#1677ff!important;box-shadow:0 0 0 2px #1677ff2e!important}.admin-spot-content-modal .ant-input,.admin-spot-content-modal .ant-input-affix-wrapper,.admin-spot-content-modal .ant-select-selector,.admin-spot-content-modal-root .ant-cascader-picker,.admin-spot-content-modal-root .ant-select-selector{background-color:#1e293b!important;border-color:#334155!important;color:#f1f5f9!important}.admin-spot-content-modal .ant-input::placeholder,.admin-spot-content-modal textarea::placeholder{color:#94a3b8!important}.admin-spot-content-modal .ant-input:focus,.admin-spot-content-modal .ant-input-focused{border-color:#38bdf8!important;box-shadow:0 0 0 1px #38bdf859!important}.admin-spot-content-modal .ant-modal-content,.admin-spot-content-modal-root .ant-modal-content,.admin-spot-content-modal .ant-modal-header,.admin-spot-content-modal-root .ant-modal-header{background-color:#0f172a!important;color:#f1f5f9!important}.admin-spot-content-modal .ant-modal-title,.admin-spot-content-modal-root .ant-modal-title,.admin-spot-content-modal .ant-modal-close,.admin-spot-content-modal-root .ant-modal-close{color:#f1f5f9!important}.admin-spot-content-modal-root .ant-cascader-menu,.admin-spot-content-modal-root .ant-cascader-dropdown,.admin-spot-content-cascader-popup .ant-cascader-menu,.admin-spot-content-cascader-popup.ant-cascader-dropdown{background-color:#0f172a!important;color:#f1f5f9!important}.admin-spot-content-modal-root .ant-cascader-menu-item,.admin-spot-content-cascader-popup .ant-cascader-menu-item{color:#f1f5f9!important}.admin-spot-content-modal-root .ant-cascader-menu-item:hover,.admin-spot-content-modal-root .ant-cascader-menu-item-active,.admin-spot-content-cascader-popup .ant-cascader-menu-item:hover,.admin-spot-content-cascader-popup .ant-cascader-menu-item-active{background-color:#1e293b!important}.solution-template-sku-cascader-popup.ant-cascader-dropdown{z-index:1300!important}}
