@tailwind base;@tailwind components;@tailwind utilities;*{box-sizing:border-box;margin:0;padding:0}body,html{max-width:100vw;overflow-x:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#__next,body,html{height:100vh!important}#__next{display:flex;flex-direction:column}@media (max-width:767px){a,button{min-height:44px}body{-webkit-overflow-scrolling:touch}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}:root{--bg-primary:#ffffff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--bg-hover:#e2e8f0;--text-primary:#1e293b;--text-secondary:#64748b;--text-tertiary:#94a3b8;--border-color:#e2e8f0;--accent-color:#3498db;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);--shadow-light:0 2px 8px rgba(0,0,0,0.1);--shadow-medium:0 4px 12px rgba(0,0,0,0.15);--border-radius:12px}[data-theme=dark]{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-hover:#475569;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-tertiary:#94a3b8;--border-color:#475569;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.4),0 2px 4px -1px rgba(0,0,0,0.3);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.4),0 4px 6px -2px rgba(0,0,0,0.3)}.app-card{background:var(--bg-secondary);border-radius:var(--border-radius);box-shadow:var(--shadow-light);transition:all .3s ease}.app-card:hover{box-shadow:var(--shadow-medium);transform:translateY(-2px)}.touch-button{min-height:44px;min-width:44px;border-radius:8px;transition:all .2s ease}.touch-button:active{transform:scale(.95)}.smooth-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}.card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:16px;color:var(--text-primary);box-shadow:var(--shadow-sm);transition:all .3s ease}.card:hover{box-shadow:var(--shadow-md)}.button{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);padding:8px 16px;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500}.button:hover{background:var(--bg-hover)}.button-primary{background:#3b82f6;border-color:#3b82f6;color:white}.button-primary:hover{background:#2563eb;border-color:#2563eb}.button-danger{background:#dc2626;border-color:#dc2626;color:white}.button-danger:hover{background:#b91c1c;border-color:#b91c1c}.input{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);padding:8px 12px;border-radius:6px;font-size:14px;transition:all .2s ease}.input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.input::placeholder{color:var(--text-tertiary)}.table{width:100%;border-collapse:collapse;background:var(--bg-secondary);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-sm)}.table td,.table th{padding:12px;text-align:left;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.table th{background:var(--bg-tertiary);font-weight:600;color:var(--text-secondary);font-size:14px}.table tr:hover{background:var(--bg-hover)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-primary);border-radius:8px;box-shadow:var(--shadow-lg);max-width:90vw;max-height:90vh;overflow-y:auto}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-tertiary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}@media (max-width:768px){.hide-mobile{display:none!important}}@media (min-width:769px){.hide-desktop{display:none!important}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-out}.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}:focus,button:focus,input:focus,select:focus,textarea:focus{outline:2px solid #3b82f6;outline-offset:2px}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.scrollable-table-container{overscroll-behavior:contain}:root{--schedule-card-title:14px;--schedule-card-subtitle:12px;--schedule-card-body:11px;--schedule-card-meta:10px;--schedule-card-tiny:9px;--card-title-weight:700;--card-subtitle-weight:500;--card-body-weight:400;--card-meta-weight:600}@media (max-width:768px){:root{--schedule-card-title:13px;--schedule-card-subtitle:11px;--schedule-card-body:10px;--schedule-card-meta:9px;--schedule-card-tiny:8px}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.permission-card{transition:all .3s ease}.permission-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.menu-item{transition:background-color .2s ease}.menu-item:hover{background-color:var(--bg-primary)}@media (max-width:768px){.permission-grid{grid-template-columns:1fr}.menu-table{font-size:14px}}