@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yyygA.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yyygA.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yyygA.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yyygA.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yyygA.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yyygA.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yyygA.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yyygA.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yyygA.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yyygA.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yyygA.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yyygA.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yyygA.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yyygA.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yyygA.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-display: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--primary: #6366f1;--primary-light: #818cf8;--primary-dark: #4f46e5;--secondary: #0ea5e9;--accent: #f43f5e;--accent-glow: rgba(244, 63, 94, .4);--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--info: #0ea5e9;--bg-primary: #f8fafc;--bg-secondary: #f1f5f9;--bg-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--bg-gradient-blue: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--bg-gradient-purple: linear-gradient(135deg, #8b5cf6 0%, #ec4899 100%);--bg-gradient-teal: linear-gradient(135deg, #14b8a6 0%, #06b6d4 100%);--bg-gradient-accent: linear-gradient(135deg, #f43f5e 0%, #fb7185 100%);--bg-mesh: radial-gradient(at 40% 20%, rgba(99, 102, 241, .08) 0px, transparent 50%), radial-gradient(at 80% 0%, rgba(139, 92, 246, .06) 0px, transparent 50%), radial-gradient(at 0% 50%, rgba(14, 165, 233, .05) 0px, transparent 50%), radial-gradient(at 80% 50%, rgba(244, 63, 94, .04) 0px, transparent 50%), radial-gradient(at 0% 100%, rgba(99, 102, 241, .06) 0px, transparent 50%);--bg-noise: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");--bg-pattern: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%236366f1' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--white: #ffffff;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .05);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .2);--shadow-glow: 0 0 40px -10px var(--accent-glow);--shadow-primary: 0 4px 14px rgba(99, 102, 241, .35);--shadow-primary-lg: 0 8px 25px rgba(99, 102, 241, .4);--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition: all .3s cubic-bezier(.4, 0, .2, 1);--transition-fast: all .15s cubic-bezier(.4, 0, .2, 1);--transition-bounce: all .4s cubic-bezier(.34, 1.56, .64, 1)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:var(--font-body);font-size:14px;color:var(--text-primary);background:var(--bg-primary);background-image:var(--bg-mesh),var(--bg-pattern);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;inset:0;background-image:var(--bg-noise);pointer-events:none;z-index:9999;opacity:.4}h1,h2,h3,h4,h5,h6,.page-title,.section-title,.modal-title,.stat-value{font-family:var(--font-display);letter-spacing:-.02em}.glass-card{background:#ffffffbf;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-lg);box-shadow:var(--shadow-md),inset 0 1px #fffc;transition:var(--transition);position:relative}.glass-card:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.4),transparent 50%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.glass-card:hover{transform:translateY(-3px) scale(1.005);box-shadow:var(--shadow-lg),var(--shadow-glow)}.glass-card-static{background:#ffffffd9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:var(--transition);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--bg-gradient-blue);opacity:0;transition:var(--transition)}.card:hover{box-shadow:var(--shadow-md)}.card:hover:before{opacity:1}.card-featured{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);position:relative;overflow:hidden;border:1px solid rgba(99,102,241,.1)}.card-featured:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--bg-gradient-blue)}.card-featured:after{content:"";position:absolute;top:4px;left:0;right:0;height:60px;background:linear-gradient(180deg,rgba(99,102,241,.04) 0%,transparent 100%);pointer-events:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-family:var(--font-display);font-size:14px;font-weight:600;letter-spacing:-.01em;border:none;border-radius:var(--radius);cursor:pointer;transition:var(--transition-bounce);text-decoration:none;position:relative;overflow:hidden}.btn:disabled{opacity:.6;cursor:not-allowed}.btn svg{width:18px;height:18px;transition:var(--transition-fast)}.btn:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(255,255,255,.3) 0%,transparent 70%);opacity:0;transform:scale(0);transition:var(--transition)}.btn:active:after{opacity:1;transform:scale(2);transition:0s}.btn-primary{background:var(--bg-gradient-blue);color:var(--white);box-shadow:var(--shadow-primary)}.btn-primary:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:var(--shadow-primary-lg)}.btn-primary:hover:not(:disabled) svg{transform:translate(2px)}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-secondary{background:var(--white);color:var(--text-primary);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--gray-50);border-color:var(--primary-light);box-shadow:var(--shadow),0 0 0 3px #6366f114}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:var(--white);box-shadow:0 4px 14px #10b98159}.btn-success:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px #10b98173}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:var(--white);box-shadow:0 4px 14px #ef444459}.btn-danger:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px #ef444473}.btn-accent{background:var(--bg-gradient-accent);color:var(--white);box-shadow:0 4px 14px var(--accent-glow)}.btn-accent:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px var(--accent-glow)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--gray-100);color:var(--primary)}.btn-icon{width:40px;height:40px;padding:0;border-radius:var(--radius)}.btn-sm{padding:8px 16px;font-size:13px}.btn-lg{padding:16px 32px;font-size:16px}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--text-primary)}.form-input,.form-select,.form-textarea{width:100%;padding:12px 16px;font-size:14px;font-family:inherit;color:var(--text-primary);background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);transition:var(--transition)}.form-input:focus,.form-input:focus-visible,.form-select:focus,.form-select:focus-visible,.form-textarea:focus,.form-textarea:focus-visible{outline:none!important;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.form-input::placeholder,.form-select::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-textarea{resize:vertical;min-height:100px}.search-box{position:relative}.search-box .search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-muted);width:20px;height:20px}.search-box input{padding-left:48px;background:#ffffffe6;border:1px solid rgba(255,255,255,.5)}.search-box input:focus{background:var(--white)}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;border-radius:var(--radius-full);transition:var(--transition-fast)}.badge.with-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-success{background:linear-gradient(135deg,#10b98126,#10b98114);color:#059669;border:1px solid rgba(16,185,129,.2)}.badge-warning{background:linear-gradient(135deg,#f59e0b26,#f59e0b14);color:#d97706;border:1px solid rgba(245,158,11,.2)}.badge-danger{background:linear-gradient(135deg,#ef444426,#ef444414);color:#dc2626;border:1px solid rgba(239,68,68,.2)}.badge-info{background:linear-gradient(135deg,#0ea5e926,#0ea5e914);color:#0284c7;border:1px solid rgba(14,165,233,.2)}.badge-primary{background:linear-gradient(135deg,#6366f126,#6366f114);color:var(--primary);border:1px solid rgba(99,102,241,.2)}.badge-neutral{background:var(--gray-100);color:var(--text-secondary);border:1px solid var(--gray-200)}.badge-pulse{position:relative}.badge-pulse:after{content:"";position:absolute;inset:0;border-radius:inherit;background:inherit;animation:pulse 2s ease-in-out infinite}.avatar{width:48px;height:48px;border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--white);box-shadow:var(--shadow-sm)}.avatar-sm{width:36px;height:36px}.avatar-lg{width:64px;height:64px}.avatar-xl{width:96px;height:96px}.stat-card{padding:24px;border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow);transition:var(--transition-bounce);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--bg-gradient-blue);transform:scaleX(0);transition:var(--transition)}.stat-card:after{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,rgba(99,102,241,.03) 0%,transparent 70%);pointer-events:none;transition:var(--transition);opacity:0}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.stat-card:hover:before{transform:scaleX(1)}.stat-card:hover:after{opacity:1}.stat-card .stat-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);margin-bottom:16px;position:relative}.stat-card .stat-icon:after{content:"";position:absolute;inset:-4px;border-radius:inherit;background:inherit;opacity:.2;filter:blur(8px)}.stat-card .stat-icon svg{width:28px;height:28px;color:var(--white);position:relative;z-index:1}.stat-card .stat-value{font-family:var(--font-display);font-size:32px;font-weight:800;color:var(--text-primary);margin-bottom:4px;letter-spacing:-.03em}.stat-card .stat-label{font-size:14px;color:var(--text-secondary);margin-bottom:12px}.stat-card .stat-change{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;padding:4px 8px;border-radius:var(--radius-full)}.stat-card .stat-change.positive{color:var(--success);background:#10b9811a}.stat-card .stat-change.negative{color:var(--danger);background:#ef44441a}.table-container{overflow-x:auto;border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow);border:1px solid var(--gray-100)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--gray-100)}.table th{font-family:var(--font-display);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);background:linear-gradient(180deg,var(--gray-50) 0%,var(--white) 100%);position:sticky;top:0;z-index:1}.table tbody tr{transition:var(--transition);position:relative}.table tbody tr:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--primary);opacity:0;transform:scaleY(0);transition:var(--transition)}.table tbody tr:hover{background:linear-gradient(90deg,rgba(99,102,241,.03) 0%,transparent 100%)}.table tbody tr:hover:before{opacity:1;transform:scaleY(1)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover{background:linear-gradient(90deg,#6366f10d,#6366f105)}.table tbody tr.clickable:active{background:#6366f114}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;flex-wrap:wrap;gap:16px}.page-header .page-title{font-size:28px;font-weight:700;color:var(--text-primary)}.page-header .page-subtitle{font-size:14px;color:var(--text-secondary);margin-top:4px}.page-header .page-actions{display:flex;gap:12px}.section{margin-bottom:32px}.section .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section .section-header .section-title{font-size:18px;font-weight:600;color:var(--text-primary)}.section .section-header .section-link{font-size:14px;font-weight:500;color:var(--primary);text-decoration:none;transition:var(--transition)}.section .section-header .section-link:hover{color:var(--primary-dark)}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 1200px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.modal{background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--gray-100)}.modal .modal-header .modal-title{font-size:20px;font-weight:600}.modal .modal-header .modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:var(--gray-100);border-radius:var(--radius);cursor:pointer;transition:var(--transition)}.modal .modal-header .modal-close:hover{background:var(--gray-200)}.modal .modal-body{padding:24px}.modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid var(--gray-100)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes glow{0%,to{box-shadow:0 0 20px #6366f133}50%{box-shadow:0 0 30px #6366f166}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes borderGlow{0%,to{border-color:#6366f14d}50%{border-color:#6366f199}}.stagger-animate>*{opacity:0;animation:slideUp .5s cubic-bezier(.4,0,.2,1) forwards}.stagger-animate>*:nth-child(1){animation-delay:.05s}.stagger-animate>*:nth-child(2){animation-delay:.1s}.stagger-animate>*:nth-child(3){animation-delay:.15s}.stagger-animate>*:nth-child(4){animation-delay:.2s}.stagger-animate>*:nth-child(5){animation-delay:.25s}.stagger-animate>*:nth-child(6){animation-delay:.3s}.stagger-animate>*:nth-child(7){animation-delay:.35s}.stagger-animate>*:nth-child(8){animation-delay:.4s}.stagger-animate>*:nth-child(9){animation-delay:.45s}.stagger-animate>*:nth-child(10){animation-delay:.5s}.stagger-animate>*:nth-child(11){animation-delay:.55s}.stagger-animate>*:nth-child(12){animation-delay:.6s}.stagger-animate>*:nth-child(13){animation-delay:.65s}.stagger-animate>*:nth-child(14){animation-delay:.7s}.stagger-animate>*:nth-child(15){animation-delay:.75s}.stagger-animate>*:nth-child(16){animation-delay:.8s}.stagger-animate>*:nth-child(17){animation-delay:.85s}.stagger-animate>*:nth-child(18){animation-delay:.9s}.stagger-animate>*:nth-child(19){animation-delay:.95s}.stagger-animate>*:nth-child(20){animation-delay:1s}.stagger-animate-fast>*{opacity:0;animation:slideUp .4s cubic-bezier(.4,0,.2,1) forwards}.stagger-animate-fast>*:nth-child(1){animation-delay:.03s}.stagger-animate-fast>*:nth-child(2){animation-delay:.06s}.stagger-animate-fast>*:nth-child(3){animation-delay:.09s}.stagger-animate-fast>*:nth-child(4){animation-delay:.12s}.stagger-animate-fast>*:nth-child(5){animation-delay:.15s}.stagger-animate-fast>*:nth-child(6){animation-delay:.18s}.stagger-animate-fast>*:nth-child(7){animation-delay:.21s}.stagger-animate-fast>*:nth-child(8){animation-delay:.24s}.stagger-animate-fast>*:nth-child(9){animation-delay:.27s}.stagger-animate-fast>*:nth-child(10){animation-delay:.3s}.stagger-animate-fast>*:nth-child(11){animation-delay:.33s}.stagger-animate-fast>*:nth-child(12){animation-delay:.36s}.stagger-animate-fast>*:nth-child(13){animation-delay:.39s}.stagger-animate-fast>*:nth-child(14){animation-delay:.42s}.stagger-animate-fast>*:nth-child(15){animation-delay:.45s}.stagger-animate-fast>*:nth-child(16){animation-delay:.48s}.stagger-animate-fast>*:nth-child(17){animation-delay:.51s}.stagger-animate-fast>*:nth-child(18){animation-delay:.54s}.stagger-animate-fast>*:nth-child(19){animation-delay:.57s}.stagger-animate-fast>*:nth-child(20){animation-delay:.6s}.hover-lift{transition:var(--transition-bounce)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.hover-glow{transition:var(--transition)}.hover-glow:hover{box-shadow:var(--shadow-md),var(--shadow-glow)}.animate-float{animation:float 3s ease-in-out infinite}.page-enter{animation:slideUp .4s cubic-bezier(.4,0,.2,1)}.row-hover{transition:var(--transition);position:relative}.row-hover:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--primary);opacity:0;transform:scaleY(0);transition:var(--transition)}.row-hover:hover{background:var(--gray-50)}.row-hover:hover:before{opacity:1;transform:scaleY(1)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--primary)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.text-muted{color:var(--text-muted)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.p-2{padding:8px}.p-3{padding:12px}.p-4{padding:16px}.p-6{padding:24px}.rounded{border-radius:var(--radius)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.shadow{box-shadow:var(--shadow)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rating{display:flex;align-items:center;gap:2px}.rating .star{width:16px;height:16px;color:#fbbf24}.rating .star-empty{color:var(--gray-300)}.skeleton{background:linear-gradient(90deg,var(--gray-100) 0%,var(--gray-50) 20%,var(--gray-100) 40%,var(--gray-100) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius)}.skeleton-text{height:14px;border-radius:4px}.skeleton-title{height:24px;width:60%;border-radius:6px}.skeleton-avatar{width:48px;height:48px;border-radius:var(--radius-full)}.skeleton-card{height:120px;border-radius:var(--radius-lg)}.skeleton-pulse{animation:pulse 1.5s ease-in-out infinite,shimmer 2s ease-in-out infinite}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center;animation:fadeIn .5s ease}.empty-state .empty-icon{width:100px;height:100px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--gray-100) 0%,var(--gray-50) 100%);border-radius:var(--radius-xl);margin-bottom:24px;position:relative;animation:float 3s ease-in-out infinite}.empty-state .empty-icon:before{content:"";position:absolute;inset:-8px;border-radius:inherit;background:linear-gradient(135deg,rgba(99,102,241,.05),transparent);z-index:-1}.empty-state .empty-icon svg{width:48px;height:48px;color:var(--gray-400)}.empty-state svg{width:64px;height:64px;color:var(--gray-300);margin-bottom:20px;animation:float 3s ease-in-out infinite}.empty-state h3{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.empty-state p{font-size:14px;color:var(--text-secondary);max-width:320px;line-height:1.6;margin-bottom:24px}.empty-state .empty-action{display:flex;gap:12px}.tabs{display:flex;gap:4px;padding:4px;background:var(--gray-100);border-radius:var(--radius);margin-bottom:24px}.tabs .tab{flex:1;padding:10px 20px;font-size:14px;font-weight:500;color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition)}.tabs .tab:hover{color:var(--text-primary)}.tabs .tab.active{background:var(--white);color:var(--primary);box-shadow:var(--shadow-sm)}.doctor-card{background:var(--white);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow);transition:var(--transition);position:relative;overflow:hidden}.doctor-card:before{content:"";position:absolute;top:0;left:0;right:0;height:80px;background:var(--bg-gradient-blue);opacity:.1}.doctor-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.doctor-card .doctor-image{width:80px;height:80px;border-radius:var(--radius-full);object-fit:cover;border:3px solid var(--white);box-shadow:var(--shadow-md);position:relative;z-index:1}.doctor-card .doctor-info{margin-top:16px;text-align:center}.doctor-card .doctor-info .doctor-name{font-size:18px;font-weight:600;color:var(--text-primary)}.doctor-card .doctor-info .doctor-specialty{font-size:14px;color:var(--primary);margin-top:4px}.doctor-card .doctor-stats{display:flex;justify-content:center;gap:24px;margin-top:20px;padding-top:20px;border-top:1px solid var(--gray-100)}.doctor-card .doctor-stats .stat{text-align:center}.doctor-card .doctor-stats .stat .stat-value{font-size:20px;font-weight:700;color:var(--text-primary)}.doctor-card .doctor-stats .stat .stat-label{font-size:12px;color:var(--text-secondary);margin-top:2px}.appointment-card{background:var(--white);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow);display:flex;align-items:center;gap:16px;transition:var(--transition)}.appointment-card:hover{box-shadow:var(--shadow-md)}.appointment-card .appointment-time{text-align:center;padding:12px 16px;background:var(--bg-gradient-blue);border-radius:var(--radius);color:var(--white);min-width:70px}.appointment-card .appointment-time .time{font-size:16px;font-weight:700}.appointment-card .appointment-time .period{font-size:11px;opacity:.9}.appointment-card .appointment-info{flex:1}.appointment-card .appointment-info .patient-name{font-size:16px;font-weight:600;color:var(--text-primary)}.appointment-card .appointment-info .appointment-type{font-size:13px;color:var(--text-secondary);margin-top:2px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-grid .calendar-day-header{text-align:center;font-size:12px;font-weight:600;color:var(--text-secondary);padding:8px}.calendar-grid .calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;border-radius:var(--radius);cursor:pointer;transition:var(--transition)}.calendar-grid .calendar-day:hover{background:var(--gray-100)}.calendar-grid .calendar-day.other-month{color:var(--text-muted)}.calendar-grid .calendar-day.today{background:var(--bg-gradient-blue);color:var(--white)}.calendar-grid .calendar-day.selected{background:var(--primary);color:var(--white)}.calendar-grid .calendar-day.has-appointments{position:relative}.calendar-grid .calendar-day.has-appointments:after{content:"";position:absolute;bottom:4px;width:4px;height:4px;background:var(--primary);border-radius:var(--radius-full)}.time-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.time-slots .time-slot{padding:12px;text-align:center;font-size:14px;font-weight:500;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;transition:var(--transition)}.time-slots .time-slot:hover:not(.disabled){border-color:var(--primary);background:#2563eb0d}.time-slots .time-slot.selected{background:var(--bg-gradient-blue);color:var(--white);border-color:transparent}.time-slots .time-slot.disabled{opacity:.5;cursor:not-allowed}html.dark,[data-theme=dark]{--primary: #3b82f6;--primary-light: #60a5fa;--primary-dark: #2563eb;--bg-primary: #0f172a;--bg-secondary: #1e293b;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--white: #1e293b;--gray-50: #1e293b;--gray-100: #334155;--gray-200: #475569;--gray-300: #64748b;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .3);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 8px 10px -6px rgba(0, 0, 0, .3);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .5)}html.dark body,[data-theme=dark] body{background:var(--bg-primary);color:var(--text-primary)}html.dark .glass-card,html.dark .glass-card-static,[data-theme=dark] .glass-card,[data-theme=dark] .glass-card-static{background:#1e293bcc;border-color:#33415580}html.dark .card,html.dark .table-container,html.dark .modal,html.dark .stat-card,[data-theme=dark] .card,[data-theme=dark] .table-container,[data-theme=dark] .modal,[data-theme=dark] .stat-card{background:var(--bg-secondary)}html.dark .form-input,html.dark .form-select,html.dark .form-textarea,[data-theme=dark] .form-input,[data-theme=dark] .form-select,[data-theme=dark] .form-textarea{background:var(--bg-secondary);border-color:var(--gray-200);color:var(--text-primary)}html.dark .form-input::placeholder,html.dark .form-select::placeholder,html.dark .form-textarea::placeholder,[data-theme=dark] .form-input::placeholder,[data-theme=dark] .form-select::placeholder,[data-theme=dark] .form-textarea::placeholder{color:var(--text-muted)}html.dark .search-box input,[data-theme=dark] .search-box input{background:#1e293be6}html.dark .btn-secondary,[data-theme=dark] .btn-secondary{background:var(--bg-secondary);border-color:var(--gray-200);color:var(--text-primary)}html.dark .btn-secondary:hover:not(:disabled),[data-theme=dark] .btn-secondary:hover:not(:disabled){background:var(--gray-100)}html.dark .table th,[data-theme=dark] .table th{background:var(--gray-100);color:var(--text-secondary)}html.dark .table tbody tr:hover,[data-theme=dark] .table tbody tr:hover{background:var(--gray-100)}html.dark .table th,html.dark .table td,[data-theme=dark] .table th,[data-theme=dark] .table td{border-color:var(--gray-200)}html.dark .tabs,[data-theme=dark] .tabs{background:var(--bg-secondary)}html.dark .tabs .tab.active,[data-theme=dark] .tabs .tab.active{background:var(--gray-100)}html.dark .navbar,[data-theme=dark] .navbar{background:#0f172acc;border-color:#33415580}html.dark .sidebar,[data-theme=dark] .sidebar{background:var(--bg-secondary);border-color:var(--gray-200)}html.dark .doctor-card,html.dark .appointment-card,[data-theme=dark] .doctor-card,[data-theme=dark] .appointment-card{background:var(--bg-secondary)}html.dark .calendar-grid .calendar-day:hover,[data-theme=dark] .calendar-grid .calendar-day:hover{background:var(--gray-100)}html.dark .skeleton,[data-theme=dark] .skeleton{background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-200) 50%,var(--gray-100) 75%)}html.dark ::-webkit-scrollbar-track,[data-theme=dark] ::-webkit-scrollbar-track{background:var(--bg-secondary)}html.dark ::-webkit-scrollbar-thumb,[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--gray-200)}html.dark ::-webkit-scrollbar-thumb:hover,[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--gray-300)}body.compact-mode .page-content{padding:16px}body.compact-mode .page-header{margin-bottom:16px}body.compact-mode .page-header .page-title{font-size:22px}body.compact-mode .card,body.compact-mode .glass-card,body.compact-mode .stat-card{padding:16px}body.compact-mode .stat-card .stat-icon{width:44px;height:44px;margin-bottom:12px}body.compact-mode .stat-card .stat-value{font-size:26px}body.compact-mode .table th,body.compact-mode .table td{padding:12px}body.compact-mode .form-group{margin-bottom:14px}body.compact-mode .form-input,body.compact-mode .form-select,body.compact-mode .form-textarea{padding:10px 14px}body.compact-mode .btn{padding:10px 20px}body.compact-mode .section{margin-bottom:20px}body.compact-mode .grid{gap:16px}body.compact-mode .modal .modal-body,body.compact-mode .modal .modal-header,body.compact-mode .modal .modal-footer{padding:16px}html{font-size:clamp(13px,.8rem + .25vw,16px)}.container-responsive{width:100%;max-width:1400px;margin:0 auto;padding:0 24px}@media (max-width: 768px){.container-responsive{padding:0 16px}}@media (max-width: 640px){.container-responsive{padding:0 12px}}.hidden{display:none!important}.block{display:block!important}.flex{display:flex!important}.grid{display:grid!important}.inline-flex{display:inline-flex!important}@media (max-width: 480px){.hide-xs{display:none!important}}@media (max-width: 640px){.hide-sm{display:none!important}}@media (max-width: 768px){.hide-md{display:none!important}}@media (max-width: 1024px){.hide-lg{display:none!important}}@media (min-width: 769px){.show-mobile-only{display:none!important}}@media (max-width: 768px){.show-desktop-only{display:none!important}.show-mobile-only{display:flex!important}}.grid-responsive{display:grid;gap:24px}.grid-responsive.grid-auto{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-responsive.grid-cols-2{grid-template-columns:repeat(2,1fr)}@media (max-width: 640px){.grid-responsive.grid-cols-2{grid-template-columns:1fr}}.grid-responsive.grid-cols-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 1024px){.grid-responsive.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.grid-responsive.grid-cols-3{grid-template-columns:1fr}}.grid-responsive.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 1280px){.grid-responsive.grid-cols-4{grid-template-columns:repeat(3,1fr)}}@media (max-width: 1024px){.grid-responsive.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.grid-responsive.grid-cols-4{grid-template-columns:1fr}}@media (max-width: 768px){.grid-responsive{gap:16px}}.flex-responsive{display:flex;gap:16px}@media (max-width: 768px){.flex-responsive.flex-stack-mobile{flex-direction:column}}@media (max-width: 1024px){.flex-responsive.flex-wrap-tablet{flex-wrap:wrap}}.p-responsive{padding:24px}@media (max-width: 768px){.p-responsive{padding:16px}}@media (max-width: 640px){.p-responsive{padding:12px}}.px-responsive{padding-left:24px;padding-right:24px}@media (max-width: 768px){.px-responsive{padding-left:16px;padding-right:16px}}@media (max-width: 640px){.px-responsive{padding-left:12px;padding-right:12px}}.py-responsive{padding-top:24px;padding-bottom:24px}@media (max-width: 768px){.py-responsive{padding-top:16px;padding-bottom:16px}}.gap-responsive{gap:24px}@media (max-width: 768px){.gap-responsive{gap:16px}}@media (max-width: 640px){.gap-responsive{gap:12px}}.text-responsive-h1{font-size:clamp(1.75rem,1.5rem + 1.5vw,2.5rem);line-height:1.2}.text-responsive-h2{font-size:clamp(1.5rem,1.25rem + 1vw,2rem);line-height:1.25}.text-responsive-h3{font-size:clamp(1.25rem,1rem + .75vw,1.5rem);line-height:1.3}@media (max-width: 768px){.truncate-mobile{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (max-width: 640px){.truncate-mobile{max-width:150px}}@media (max-width: 768px){.table-responsive-cards thead{display:none}.table-responsive-cards tbody{display:flex;flex-direction:column;gap:12px}.table-responsive-cards tr{display:flex;flex-direction:column;background:var(--white);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow);border:1px solid var(--gray-100)}.table-responsive-cards td{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--gray-100)}.table-responsive-cards td:last-child{border-bottom:none}.table-responsive-cards td:before{content:attr(data-label);font-weight:600;font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll::-webkit-scrollbar{height:6px}.table-scroll:after{content:"";position:absolute;top:0;right:0;bottom:0;width:40px;background:linear-gradient(to right,transparent,var(--white));pointer-events:none;opacity:0;transition:var(--transition)}.table-scroll.has-scroll:after{opacity:1}@media (max-width: 768px){.modal-responsive{max-width:100%!important;margin:0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:90vh;position:fixed;bottom:0;left:0;right:0;animation:slideUpModal .3s ease}}@keyframes slideUpModal{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){.modal-fullscreen-mobile{max-width:100%!important;max-height:100%!important;height:100%;margin:0;border-radius:0}.modal-fullscreen-mobile .modal-body{max-height:calc(100vh - 140px)}}.form-responsive .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width: 768px){.form-responsive .form-row{grid-template-columns:1fr;gap:12px}}.form-responsive .form-row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media (max-width: 1024px){.form-responsive .form-row-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.form-responsive .form-row-3{grid-template-columns:1fr}}@media (max-width: 768px){.form-input,.form-select,.form-textarea{min-height:48px;font-size:16px}.btn{min-height:48px;padding:14px 24px}.btn-sm{min-height:40px;padding:10px 16px}}@media (max-width: 768px){.nav-link,.dropdown-item,.tab{min-height:44px;display:flex;align-items:center}.card:hover,.btn:hover,.action-card:hover{transform:none}.card:active,.btn:active,.action-card:active{transform:scale(.98);transition:transform .1s ease}.scroll-container{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}}@media (max-width: 768px){.card-stack-mobile{display:flex;flex-direction:column}.card-stack-mobile .card-header,.card-stack-mobile .card-body{padding:16px}.card-stack-mobile .card-footer{padding:12px 16px}}@media (max-width: 768px){.card-full-mobile{margin-left:-16px;margin-right:-16px;border-radius:0;border-left:none;border-right:none}}.page-header-responsive{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:24px}@media (max-width: 768px){.page-header-responsive{flex-direction:column;align-items:stretch;text-align:center;gap:12px}.page-header-responsive .page-title{font-size:24px}.page-header-responsive .page-actions{display:flex;flex-direction:column;gap:8px}.page-header-responsive .page-actions .btn{width:100%;justify-content:center}}.stats-grid-responsive{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}@media (max-width: 1280px){.stats-grid-responsive{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.stats-grid-responsive{grid-template-columns:1fr;gap:12px}}@media (max-width: 640px){.stats-grid-responsive .stat-card{display:flex;flex-direction:row;align-items:center;gap:16px;padding:16px}.stats-grid-responsive .stat-card .stat-icon{margin-bottom:0;flex-shrink:0}.stats-grid-responsive .stat-card .stat-content{flex:1;text-align:left}.stats-grid-responsive .stat-card .stat-value{font-size:24px}.stats-grid-responsive .stat-card .stat-change{margin-top:4px}}@supports (padding: env(safe-area-inset-bottom)){.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-top{padding-top:env(safe-area-inset-top)}.fixed-bottom{padding-bottom:calc(16px + env(safe-area-inset-bottom))}@media (max-width: 768px){.modal-responsive{padding-bottom:env(safe-area-inset-bottom)}}}.sidebar-toggle-mobile{display:none;position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:var(--radius-full);background:var(--bg-gradient-blue);color:var(--white);box-shadow:var(--shadow-lg);z-index:100;align-items:center;justify-content:center;border:none;cursor:pointer;transition:var(--transition-bounce)}@media (max-width: 768px){.sidebar-toggle-mobile{display:flex}}.sidebar-toggle-mobile:active{transform:scale(.95)}.sidebar-toggle-mobile svg{width:24px;height:24px}@media print{.no-print,.sidebar,.navbar,.btn,.modal-overlay{display:none!important}body{background:#fff!important}.card{box-shadow:none!important;border:1px solid #ddd!important}}
