@tailwind base;@tailwind components;@tailwind utilities;@layer base{:root{--background:0 0% 100%;--foreground:222.2 84% 4.9%;--card:0 0% 100%;--card-foreground:222.2 84% 4.9%;--popover:0 0% 100%;--popover-foreground:222.2 84% 4.9%;--primary:221.2 83.2% 53.3%;--primary-foreground:210 40% 98%;--secondary:210 40% 96.1%;--secondary-foreground:222.2 47.4% 11.2%;--muted:210 40% 96.1%;--muted-foreground:215.4 16.3% 46.9%;--accent:210 40% 96.1%;--accent-foreground:222.2 47.4% 11.2%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 40% 98%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--ring:221.2 83.2% 53.3%;--radius:0.5rem;--tap-target:44px}.dark{--background:222.2 84% 4.9%;--foreground:210 40% 98%;--card:222.2 84% 4.9%;--card-foreground:210 40% 98%;--popover:222.2 84% 4.9%;--popover-foreground:210 40% 98%;--primary:217.2 91.2% 59.8%;--primary-foreground:222.2 47.4% 11.2%;--secondary:217.2 32.6% 17.5%;--secondary-foreground:210 40% 98%;--muted:217.2 32.6% 17.5%;--muted-foreground:215 20.2% 65.1%;--accent:217.2 32.6% 17.5%;--accent-foreground:210 40% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:210 40% 98%;--border:217.2 32.6% 17.5%;--input:217.2 32.6% 17.5%;--ring:224.3 76.3% 48%}}@layer base{*{@apply border-border}body{@apply bg-background text-foreground}[role=button],button,input,select,textarea{min-height:var(--tap-target);touch-action:manipulation}@supports (height:1dvh){.vh-screen{min-height:100dvh}}}@layer components{.custom-scrollbar::-webkit-scrollbar{width:8px;height:8px}.custom-scrollbar::-webkit-scrollbar-track{@apply bg-gray-100 rounded-full}.custom-scrollbar::-webkit-scrollbar-thumb{@apply bg-gray-400 rounded-full hover:bg-gray-500}@keyframes slide-in{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.animate-slide-in{animation:slide-in .3s ease-out}.animate-fade-in{animation:fade-in .2s ease-out}.animate-scale-in{animation:scale-in .2s ease-out}.spinner{@apply inline-block w-8 h-8 border-4 border-gray-200 border-t-primary rounded-full animate-spin}.card-hover{@apply transition-all duration-200 hover:shadow-lg hover:scale-[1.02]}.input-focus{@apply focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent}.btn-primary{@apply bg-primary text-primary-foreground hover:bg-primary/90 px-4 py-2 rounded-md transition-colors}.btn-secondary{@apply bg-secondary text-secondary-foreground hover:bg-secondary/80 px-4 py-2 rounded-md transition-colors}.btn-outline{@apply border border-input bg-background hover:bg-accent hover:text-accent-foreground px-4 py-2 rounded-md transition-colors}.emergency-bar{position:-webkit-sticky;position:sticky;bottom:0;inset-inline:0;z-index:40;padding-bottom:max(env(safe-area-inset-bottom,0px),.5rem)}.temperature-matrix{container-type:inline-size;container-name:temperature}.temperature-matrix .zone-cards{display:grid;grid-gap:.75rem;gap:.75rem}.temperature-matrix .zone-table{display:none}@container temperature (min-width: 28rem){.temperature-matrix .zone-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@container temperature (min-width: 42rem){.temperature-matrix .zone-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@container temperature (min-width: 56rem){.temperature-matrix .zone-cards{display:none}.temperature-matrix .zone-table{display:block}}.status-success{@apply bg-green-100 text-green-800 border-green-300}.status-warning{@apply bg-yellow-100 text-yellow-800 border-yellow-300}.status-error{@apply bg-red-100 text-red-800 border-red-300}.status-info{@apply bg-blue-100 text-blue-800 border-blue-300}.family-pha{@apply bg-green-100 text-green-800}.family-pla{@apply bg-blue-100 text-blue-800}.family-pbat{@apply bg-purple-100 text-purple-800}.family-pbs{@apply bg-indigo-100 text-indigo-800}.family-pcl{@apply bg-yellow-100 text-yellow-800}.family-filler{@apply bg-gray-100 text-gray-800}.family-additive{@apply bg-orange-100 text-orange-800}.grid-responsive{@apply grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4}.temp-cold{@apply bg-blue-500}.temp-warm{@apply bg-yellow-500}.temp-hot{@apply bg-orange-500}.temp-very-hot{@apply bg-red-500}@media print{.no-print{display:none!important}.print-break{page-break-after:always}}}@layer utilities{.text-select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.select-disabled{-webkit-user-select:none;-moz-user-select:none;user-select:none}.scroll-smooth{scroll-behavior:smooth}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.truncate-2{-webkit-line-clamp:2}.truncate-2,.truncate-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.truncate-3{-webkit-line-clamp:3}.gradient-primary{@apply bg-gradient-to-r from-blue-500 to-purple-600}.gradient-success{@apply bg-gradient-to-r from-green-400 to-blue-500}.gradient-warning{@apply bg-gradient-to-r from-yellow-400 to-orange-500}.gradient-danger{@apply bg-gradient-to-r from-red-400 to-pink-500}.glass{@apply bg-white/80 backdrop-blur-md border border-white/20}.glass-dark{@apply bg-gray-900/80 backdrop-blur-md border border-gray-700/20}}@layer components{.enhanced-table-container{@apply relative overflow-hidden rounded-lg border border-gray-200 bg-white shadow-sm}.table-scroll-wrapper{@apply overflow-x-auto overflow-y-auto;max-height:600px;-webkit-overflow-scrolling:touch}.enhanced-table{@apply w-full border-collapse;min-width:600px}.sticky-header{@apply sticky top-0 z-20 bg-gray-50 border-b-2 border-gray-300}.sticky-header th{@apply px-4 py-3 text-left font-semibold text-gray-700 border-r border-gray-200 last:border-r-0}.sticky-column{@apply sticky left-0 z-10 bg-white border-r-2 border-gray-200 font-medium text-gray-900 px-4 py-3;min-width:120px}.data-cell{@apply px-3 py-2 text-center border-r border-gray-100 last:border-r-0 text-gray-700}.data-cell input{@apply w-20 mx-auto text-center}.action-cell{@apply px-2 py-2 text-center}.hover-row{@apply transition-colors hover:bg-blue-50}.even-row{@apply bg-gray-50/50}.sticky-footer{@apply sticky bottom-0 z-20 bg-gray-100 border-t-2 border-gray-300 font-bold}.total-cell{@apply text-center py-3}@media (max-width:768px){.enhanced-table{min-width:500px}.sticky-column{min-width:100px;@apply text-sm px-3}.data-cell input{@apply w-16 h-10 text-sm}.sticky-header th{@apply text-sm px-3 py-2}}@media (min-width:768px) and (max-width:1024px){.sticky-column{min-width:150px}.data-cell input{@apply w-20 h-9}}.table-scroll-wrapper::-webkit-scrollbar{@apply w-2 h-2}.table-scroll-wrapper::-webkit-scrollbar-track{@apply bg-gray-100 rounded}.table-scroll-wrapper::-webkit-scrollbar-thumb{@apply bg-gray-400 rounded hover:bg-gray-500}.table-scroll-wrapper.has-horizontal-scroll:after{content:"";position:absolute;right:0;top:0;bottom:0;width:20px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.05));pointer-events:none}.table-scroll-wrapper.has-vertical-scroll:before{content:"";position:absolute;left:0;right:0;bottom:0;height:20px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.05));pointer-events:none}}@font-face{font-family:Pretendard;src:url(/fonts/Pretendard-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Pretendard;src:url(/fonts/Pretendard-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:focus-visible{@apply outline-none ring-2 ring-primary ring-offset-2}*{@apply transition-colors duration-200}.skeleton{@apply animate-pulse bg-gray-200 rounded}.skeleton-text{@apply h-4 bg-gray-200 rounded w-full}.text-responsive{@apply text-sm sm:text-base lg:text-lg}.container-narrow{@apply max-w-4xl mx-auto px-4}.container-wide{@apply max-w-7xl mx-auto px-4}