@tailwind base;@tailwind components;@tailwind utilities;body,html{overflow-x:hidden;width:100%;max-width:100vw}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}*{box-sizing:border-box;max-width:100%}.container,.container-fluid{max-width:100%;overflow-x:hidden}.flex,.grid{min-width:0}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}embed,iframe,img,object,video{max-width:100%;height:auto}table{table-layout:fixed}code,pre{overflow-x:auto;max-width:100%;white-space:pre-wrap}a,div,p,span{word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.analytics-dashboard{background:linear-gradient(135deg,#f8fafc,#e2e8f0);min-height:100vh}.enhanced-card{background:white;border-radius:12px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);transition:all .3s ease}.enhanced-card:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);transform:translateY(-2px)}.gradient-blue{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.gradient-purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.gradient-teal{background:linear-gradient(135deg,#14b8a6,#0d9488)}.mobile-menu-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:6px;border:none;background:transparent;cursor:pointer;transition:all .2s}@media (min-width:768px){.mobile-menu-toggle{display:none!important}}.desktop-navigation{display:flex;align-items:center;gap:8px}@media (max-width:767px){.desktop-navigation{display:none!important}}@media (max-width:768px){body{width:100%}.container,.container-fluid,article,aside,body,footer,header,main,nav,section{overflow-x:hidden;max-width:100vw}a,button,input,select,textarea{min-height:44px;min-width:44px}.mobile-padding{padding:16px}.mobile-stack{flex-direction:column;gap:16px;width:100%;overflow:hidden}.mobile-full-width{width:100%;max-width:100vw}.mobile-hide{display:none!important}.mobile-show{display:block!important}.mobile-table{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;max-width:100vw}.mobile-table table{min-width:600px}.mobile-modal{margin:16px;max-height:calc(100vh - 32px);overflow-y:auto;max-width:calc(100vw - 32px)}.mobile-form{display:flex;flex-direction:column;gap:16px;width:100%;overflow:hidden}.mobile-form input,.mobile-form select,.mobile-form textarea{width:100%;padding:12px 16px;font-size:16px;max-width:100%}.mobile-grid{grid-template-columns:1fr;gap:16px}.mobile-card,.mobile-grid{width:100%;overflow:hidden}.mobile-card{margin-bottom:16px;padding:16px;max-width:100%}.mobile-button-group{display:flex;flex-direction:column;gap:12px;width:100%;overflow:hidden}.mobile-button-group button{width:100%}.desktop-navigation{display:none!important}div,h1,h2,h3,h4,h5,h6,p,span{word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:100%}}@media (min-width:769px) and (max-width:1024px){.tablet-grid{grid-template-columns:repeat(2,1fr);gap:20px}.tablet-stack{flex-direction:row;gap:20px}}@media (min-width:1025px){.desktop-grid{grid-template-columns:repeat(3,1fr);gap:24px}.desktop-stack{flex-direction:row;gap:24px}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.high-dpi-image{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}}@media (max-width:768px) and (prefers-color-scheme:dark){.mobile-dark{background-color:#111827;color:#f9fafb}.mobile-dark input,.mobile-dark select,.mobile-dark textarea{background-color:#1f2937;color:#f9fafb;border-color:#374151}}@media (max-width:768px){.mobile-text-large{font-size:18px;line-height:1.6}.mobile-high-contrast{color:#000;background-color:#fff}.mobile-focus:focus{outline:3px solid #3b82f6;outline-offset:2px}}:focus{outline:2px solid #3b82f6;outline-offset:2px}.skip-link{position:absolute;top:-40px;left:6px;background:#3b82f6;color:white;padding:8px;text-decoration:none;border-radius:4px;z-index:1000}.skip-link:focus{top:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-contrast:high){.high-contrast{background:#000;color:#fff;border:2px solid #fff}.high-contrast button{background:#fff;color:#000;border:2px solid #000}.high-contrast a{color:#ffff00;text-decoration:underline}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.colorblind-friendly .status-success{background:#10b981;position:relative}.colorblind-friendly .status-success:after{content:"✓";position:absolute;right:8px;top:50%;transform:translateY(-50%);color:white;font-weight:700}.colorblind-friendly .status-error{background:#ef4444;position:relative}.colorblind-friendly .status-error:after{content:"✗";position:absolute;right:8px;top:50%;transform:translateY(-50%);color:white;font-weight:700}.colorblind-friendly .status-warning{background:#f59e0b;position:relative}.colorblind-friendly .status-warning:after{content:"!";position:absolute;right:8px;top:50%;transform:translateY(-50%);color:white;font-weight:700}.keyboard-nav a:focus,.keyboard-nav button:focus,.keyboard-nav input:focus,.keyboard-nav select:focus,.keyboard-nav textarea:focus{outline:3px solid #3b82f6;outline-offset:2px;box-shadow:0 0 0 3px rgba(59,130,246,.3)}.focus-trap{position:relative}.focus-trap:after,.focus-trap:before{content:"";position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.aria-live,.error-announcement,.loading-announcement,.success-announcement{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151}.form-label.required:after{content:" *";color:#ef4444}.form-error{color:#ef4444}.form-error,.form-help{font-size:.875rem;margin-top:.25rem}.form-help{color:#6b7280}button:disabled{opacity:.6;cursor:not-allowed}button:disabled:focus{outline:none}a:not([href]){cursor:default}a:not([href]):focus{outline:none}table{border-collapse:collapse;width:100%}th{text-align:left;font-weight:600;background-color:#f9fafb}td,th{padding:.75rem;border:1px solid #e5e7eb}img{max-width:100%;height:auto}img[alt=""]{border:2px dashed #ef4444}video{max-width:100%;height:auto}audio{width:100%}.chart-container{position:relative}.chart-container canvas{max-width:100%;height:auto}.data-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table table{min-width:600px}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin:1rem 0}.pagination button{padding:.5rem .75rem;border:1px solid #d1d5db;background:white;color:#374151;text-decoration:none;border-radius:.375rem}.pagination button:hover{background:#f3f4f6}.pagination button:focus{outline:2px solid #3b82f6;outline-offset:2px}.pagination button[aria-current=page]{background:#3b82f6;color:white;border-color:#3b82f6}.search-container{position:relative}.search-results{position:absolute;top:100%;left:0;right:0;background:white;border:1px solid #d1d5db;border-top:none;border-radius:0 0 .375rem .375rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);z-index:50}.search-result{padding:.75rem;border-bottom:1px solid #e5e7eb;cursor:pointer}.search-result:focus,.search-result:hover{background:#f3f4f6}.search-result:last-child{border-bottom:none}.tooltip{position:relative;display:inline-block}.tooltip .tooltip-content{visibility:hidden;width:200px;background-color:#1f2937;color:#f9fafb;text-align:center;border-radius:6px;padding:8px;position:absolute;z-index:1;bottom:125%;left:50%;margin-left:-100px;opacity:0;transition:opacity .3s}.tooltip:focus .tooltip-content,.tooltip:hover .tooltip-content{visibility:visible;opacity:1}.progress-bar{width:100%;height:20px;background-color:#e5e7eb;border-radius:10px;overflow:hidden}.progress-bar-fill{height:100%;background-color:#3b82f6;transition:width .3s ease}.progress-bar[aria-valuenow]{position:relative}.progress-bar[aria-valuenow]:after{content:attr(aria-valuenow) "%";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#374151;font-size:.875rem;font-weight:500}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}