@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--color-primary: hsl(262, 83%, 58%);--color-primary-dark: hsl(262, 83%, 48%);--color-primary-light: hsl(262, 83%, 68%);--color-secondary: hsl(200, 98%, 39%);--color-accent: hsl(340, 82%, 52%);--color-background: hsl(240, 10%, 4%);--color-surface: hsl(240, 8%, 8%);--color-surface-elevated: hsl(240, 8%, 12%);--color-surface-hover: hsl(240, 8%, 16%);--color-text-primary: hsl(0, 0%, 98%);--color-text-secondary: hsl(0, 0%, 70%);--color-text-tertiary: hsl(0, 0%, 50%);--color-border: hsl(240, 8%, 18%);--color-border-light: hsl(240, 8%, 24%);--color-success: hsl(142, 71%, 45%);--color-warning: hsl(38, 92%, 50%);--color-error: hsl(0, 72%, 51%);--color-info: hsl(199, 89%, 48%);--gradient-primary: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);--gradient-accent: linear-gradient(135deg, var(--color-accent) 0%, var(--color-primary) 100%);--gradient-surface: linear-gradient(135deg, var(--color-surface) 0%, var(--color-surface-elevated) 100%);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -2px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6), 0 10px 10px -5px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(139, 92, 246, .3);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--color-background);color:var(--color-text-primary);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;letter-spacing:-.02em}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-bottom:var(--spacing-md)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-light)}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg)}.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-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.text-center{text-align:center}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden;white-space:nowrap}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff1a;transform:translate(-50%,-50%);transition:width var(--transition-slow),height var(--transition-slow)}.btn:hover:before{width:300px;height:300px}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.btn-secondary{background:var(--color-surface-elevated);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-surface-hover);border-color:var(--color-border-light)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover{background:var(--color-surface);color:var(--color-text-primary)}.btn-sm{padding:.5rem 1rem;font-size:.8125rem}.btn-lg{padding:1rem 2rem;font-size:1rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:all var(--transition-base)}.card:hover{border-color:var(--color-border-light);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-elevated{background:var(--gradient-surface);box-shadow:var(--shadow-lg)}.card-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.card-title{font-size:1.25rem;font-weight:700;color:var(--color-text-primary)}.card-description{font-size:.875rem;color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.input{width:100%;padding:.75rem 1rem;font-size:.875rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);transition:all var(--transition-base)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #8b5cf61a}.input::placeholder{color:var(--color-text-tertiary)}.input-group{margin-bottom:var(--spacing-lg)}.input-label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.badge-success{background:#22c55e26;color:var(--color-success)}.badge-warning{background:#fb923c26;color:var(--color-warning)}.badge-error{background:#ef444426;color:var(--color-error)}.badge-info{background:#0ea5e926;color:var(--color-info)}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--color-border)}table{width:100%;min-width:800px;border-collapse:collapse}thead{background:var(--color-surface-elevated)}th{padding:1rem;text-align:left;font-size:.875rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border);white-space:nowrap}td{padding:1rem;font-size:.875rem;color:var(--color-text-primary);border-bottom:1px solid var(--color-border);white-space:nowrap}tbody tr{transition:background-color var(--transition-fast)}tbody tr:hover{background:var(--color-surface-elevated)}tbody tr:last-child td{border-bottom:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-slide-in{animation:slideIn var(--transition-base) ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-surface)}::-webkit-scrollbar-thumb{background:var(--color-border-light);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}@media(max-width:768px){html{font-size:14px}.container{padding:0 var(--spacing-md)}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);animation:fadeIn var(--transition-fast) ease-out}.modal-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;z-index:var(--z-modal);animation:scaleIn var(--transition-fast) ease-out;display:flex;flex-direction:column}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-size:1.25rem;margin:0}.modal-body{padding:var(--spacing-lg);overflow-y:auto}.modal-footer{padding:var(--spacing-lg);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--spacing-sm)}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.layout{display:flex;min-height:100vh;background:var(--color-background)}.sidebar{width:280px;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:var(--z-fixed);transition:transform var(--transition-base)}.sidebar-header{padding:var(--spacing-xl);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.sidebar-logo{display:flex;align-items:center;gap:var(--spacing-md)}.logo-icon{width:40px;height:40px;background:var(--gradient-primary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;color:#fff;box-shadow:var(--shadow-glow)}.logo-text{font-size:1.25rem;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-close{display:none;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.sidebar-close:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.sidebar-nav{flex:1;padding:var(--spacing-lg);overflow-y:auto}.nav-item{display:flex;align-items:center;gap:var(--spacing-md);padding:.875rem var(--spacing-lg);margin-bottom:var(--spacing-sm);border-radius:var(--radius-md);color:var(--color-text-secondary);font-weight:500;transition:all var(--transition-fast);position:relative;overflow:hidden}.nav-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gradient-primary);transform:scaleY(0);transition:transform var(--transition-base)}.nav-item:hover{background:var(--color-surface-elevated);color:var(--color-text-primary)}.nav-item-active{background:var(--color-surface-elevated);color:var(--color-primary)}.nav-item-active:before{transform:scaleY(1)}.sidebar-footer{padding:var(--spacing-lg);border-top:1px solid var(--color-border)}.logout-btn{display:flex;align-items:center;gap:var(--spacing-md);width:100%;padding:.875rem var(--spacing-lg);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.logout-btn:hover{background:var(--color-surface-elevated);border-color:var(--color-error);color:var(--color-error)}.main-content{flex:1;margin-left:280px;display:flex;flex-direction:column;min-height:100vh}.header{height:70px;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-xl);position:sticky;top:0;z-index:var(--z-sticky);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#141418cc}.mobile-header{display:none;height:60px;background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;justify-content:space-between;padding:0 var(--spacing-lg);position:sticky;top:0;z-index:var(--z-sticky);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.menu-btn{display:none;background:none;border:none;color:var(--color-text-primary);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.menu-btn:hover{background:var(--color-surface-hover)}.header-right{display:flex;align-items:center;gap:var(--spacing-lg)}.user-info{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer}.user-info:hover{background:var(--color-surface-elevated)}.user-avatar{width:40px;height:40px;background:var(--gradient-primary);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;box-shadow:var(--shadow-md)}.user-details{display:flex;flex-direction:column}.user-name{font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.user-role{font-size:.75rem;color:var(--color-text-tertiary)}.page-content{flex:1;padding:var(--spacing-xl);animation:fadeIn var(--transition-base) ease-out}.sidebar-overlay{display:none}@media(max-width:1024px){.sidebar{transform:translate(-100%)}.sidebar-open{transform:translate(0)}.sidebar-close{display:block}.sidebar-overlay{display:block;position:fixed;inset:0;background:#00000080;z-index:calc(var(--z-fixed) - 1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.main-content{margin-left:0}.menu-btn{display:block}.mobile-header{display:flex}.user-details{display:none}.page-content{padding:var(--spacing-lg)}}@media(max-width:640px){.header{padding:0 var(--spacing-lg)}.page-content{padding:var(--spacing-md)}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);position:relative;overflow:hidden}.login-background{position:absolute;inset:0;overflow:hidden}.gradient-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.3;animation:float 20s ease-in-out infinite}.orb-1{width:500px;height:500px;background:var(--gradient-primary);top:-250px;left:-250px;animation-delay:0s}.orb-2{width:400px;height:400px;background:var(--gradient-accent);bottom:-200px;right:-200px;animation-delay:7s}.orb-3{width:300px;height:300px;background:var(--color-secondary);top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:14s}.phone-input-wrapper{display:flex;align-items:center;gap:10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 12px;height:48px}.phone-prefix{font-size:.95rem;color:var(--color-text-secondary);-webkit-user-select:none;user-select:none;white-space:nowrap}.phone-input{flex:1;border:none;outline:none;background:transparent;font-size:1rem;color:var(--color-text)}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.login-card{width:100%;max-width:440px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-2xl);box-shadow:var(--shadow-xl);position:relative;z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn .5s ease-out}.login-header{text-align:center;margin-bottom:var(--spacing-2xl)}.login-logo{display:flex;justify-content:center;margin-bottom:var(--spacing-lg)}.login-logo .logo-icon{width:64px;height:64px;background:var(--gradient-primary);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:#fff;box-shadow:var(--shadow-glow)}.login-header h1{font-size:2rem;margin-bottom:var(--spacing-sm);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-form{margin-bottom:var(--spacing-xl)}.error-message{padding:var(--spacing-md);background:#ef44441a;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:.875rem;margin-bottom:var(--spacing-lg);animation:fadeIn .3s ease-out}.login-footer{text-align:center;padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.login-footer p{font-size:.875rem;margin:0}@media(max-width:640px){.login-card{padding:var(--spacing-xl)}.login-header h1{font-size:1.75rem}.gradient-orb{filter:blur(60px)}}.dashboard{max-width:1400px;margin:0 auto}.dashboard-header{margin-bottom:var(--spacing-2xl);display:flex;align-items:center;justify-content:space-between}.dashboard-header h1{font-size:2rem;margin-bottom:var(--spacing-xs)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-base);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}.stat-card:hover:before{transform:scaleX(1)}.stat-card:hover{border-color:var(--color-border-light);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.stat-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.stat-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-md)}.stat-card-secondary .stat-icon{background:var(--color-secondary)}.stat-card-accent .stat-icon{background:var(--gradient-accent)}.stat-card-success .stat-icon{background:var(--color-success)}.stat-trend{display:flex;align-items:center;gap:var(--spacing-xs);padding:.25rem .75rem;background:#22c55e1a;color:var(--color-success);border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.stat-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.stat-value{font-size:2rem;font-weight:700;color:var(--color-text-primary);line-height:1}.stat-title{font-size:.875rem;color:var(--color-text-secondary);font-weight:500}.dashboard-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xl)}.section-header h2{font-size:1.5rem;margin-bottom:var(--spacing-xs)}.activity-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.activity-item{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-md);transition:all var(--transition-fast)}.activity-item:hover{background:var(--color-surface-elevated)}.activity-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.activity-icon-user{background:#8b5cf626;color:var(--color-primary)}.activity-icon-news{background:#0ea5e926;color:var(--color-info)}.activity-icon-event{background:#22c55e26;color:var(--color-success)}.activity-icon-village{background:#fb923c26;color:var(--color-warning)}.activity-content{flex:1}.activity-message{font-size:.875rem;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.activity-time{font-size:.75rem;color:var(--color-text-tertiary)}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg)}.quick-action-card{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);font-weight:600;cursor:pointer;transition:all var(--transition-base)}.quick-action-card:hover{background:var(--color-surface-hover);border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.quick-action-card svg{color:var(--color-primary)}.skeleton{background:linear-gradient(90deg,var(--color-surface-elevated) 25%,var(--color-surface-hover) 50%,var(--color-surface-elevated) 75%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite}.skeleton-text{height:2rem;border-radius:var(--radius-sm)}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:768px){.stats-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.quick-actions-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.dashboard-section{padding:var(--spacing-lg)}.quick-actions-grid{grid-template-columns:1fr}}
