@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+TC:wght@400;500;600;700&display=swap";:root{--color-brown-900: #3D2E24;--color-brown-800: #4A3728;--color-brown-700: #5C4739;--color-brown-600: #6B5B4F;--color-brown-500: #7E6B5B;--color-brown-400: #9A8A7A;--color-brown-300: #B5A595;--color-beige-50: #FDFCFB;--color-beige-100: #FAF8F5;--color-beige-200: #F5EDE4;--color-beige-300: #E8DDD0;--color-beige-400: #D9CCC0;--color-beige-500: #C4B5A5;--color-gold-300: #D4BC96;--color-gold-400: #C4A77D;--color-gold-500: #B8976F;--color-gold-600: #A68660;--color-gold-700: #8F7352;--color-success: #6B8E5C;--color-success-light: #7DA86B;--color-success-dark: #5A7A4D;--color-warning: #C9A256;--color-warning-light: #D4B366;--color-warning-dark: #B89145;--color-danger: #B85C5C;--color-danger-light: #C96B6B;--color-danger-dark: #A54D4D;--color-info: #5C7B8E;--color-info-light: #6B8A9D;--color-info-dark: #4D6C7F;--font-family-primary: "Inter", "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-display: "Inter", sans-serif;--font-family-monospace: "JetBrains Mono", "Fira Code", monospace;--font-size-2xs: 10px;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 28px;--font-size-4xl: 32px;--font-size-5xl: 40px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--spacing-0: 0;--spacing-0-5: 2px;--spacing-1: 4px;--spacing-1-5: 6px;--spacing-2: 8px;--spacing-2-5: 10px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-8: 32px;--spacing-10: 40px;--spacing-12: 48px;--spacing-16: 64px;--spacing-20: 80px;--spacing-24: 96px;--radius-none: 0;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-3xl: 24px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(61, 46, 36, .04);--shadow-sm: 0 1px 3px rgba(61, 46, 36, .08), 0 1px 2px rgba(61, 46, 36, .06);--shadow-md: 0 4px 6px rgba(61, 46, 36, .08), 0 2px 4px rgba(61, 46, 36, .06);--shadow-lg: 0 10px 15px rgba(61, 46, 36, .1), 0 4px 6px rgba(61, 46, 36, .05);--shadow-xl: 0 20px 25px rgba(61, 46, 36, .1), 0 10px 10px rgba(61, 46, 36, .04);--shadow-2xl: 0 25px 50px rgba(61, 46, 36, .15);--shadow-inner: inset 0 2px 4px rgba(61, 46, 36, .06);--shadow-none: none;--shadow-glow-sm: 0 0 10px rgba(196, 167, 125, .2);--shadow-glow: 0 0 20px rgba(196, 167, 125, .3);--shadow-glow-lg: 0 0 40px rgba(196, 167, 125, .4);--shadow-glow-success: 0 0 20px rgba(107, 142, 92, .3);--shadow-glow-warning: 0 0 20px rgba(201, 162, 86, .3);--shadow-glow-danger: 0 0 20px rgba(184, 92, 92, .3);--shadow-glow-info: 0 0 20px rgba(92, 123, 142, .3);--ease-linear: linear;--ease-smooth: cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-spring: cubic-bezier(.175, .885, .32, 1.275);--ease-in-out-back: cubic-bezier(.68, -.6, .32, 1.6);--ease-elastic: cubic-bezier(.5, 1.5, .5, 1);--duration-instant: 50ms;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--duration-slower: .6s;--duration-slowest: 1s;--glass-bg: rgba(255, 255, 255, .7);--glass-bg-light: rgba(255, 255, 255, .85);--glass-bg-subtle: rgba(255, 255, 255, .5);--glass-bg-dark: rgba(61, 46, 36, .85);--glass-bg-dark-subtle: rgba(61, 46, 36, .6);--glass-border: rgba(255, 255, 255, .2);--glass-border-light: rgba(255, 255, 255, .3);--glass-blur: 20px;--glass-blur-sm: 10px;--glass-blur-lg: 40px;--gradient-gold: linear-gradient(135deg, #C4A77D 0%, #A68660 100%);--gradient-gold-soft: linear-gradient(135deg, #D4BC96 0%, #B8976F 50%, #A68660 100%);--gradient-gold-radial: radial-gradient(circle at top left, #C4A77D 0%, #A68660 100%);--gradient-warm: linear-gradient(135deg, #FAF8F5 0%, #F5EDE4 100%);--gradient-warm-soft: linear-gradient(180deg, #FDFCFB 0%, #FAF8F5 50%, #F5EDE4 100%);--gradient-sidebar: linear-gradient(180deg, rgba(245, 237, 228, .95) 0%, rgba(250, 248, 245, .92) 50%, rgba(253, 252, 251, .9) 100%);--gradient-card: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(250, 248, 245, .8) 100%);--gradient-success: linear-gradient(135deg, #7DA86B 0%, #6B8E5C 100%);--gradient-warning: linear-gradient(135deg, #D4B366 0%, #C9A256 100%);--gradient-danger: linear-gradient(135deg, #C96B6B 0%, #B85C5C 100%);--gradient-info: linear-gradient(135deg, #6B8A9D 0%, #5C7B8E 100%);--z-below: -1;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-popover: 500;--z-toast: 600;--z-tooltip: 700;--z-max: 9999}[data-theme=A],:root{--bg-primary: var(--color-brown-900);--bg-secondary: var(--color-brown-800);--bg-tertiary: var(--color-brown-700);--bg-card: var(--color-brown-700);--bg-hover: var(--color-brown-600);--bg-active: var(--color-brown-500);--text-primary: var(--color-beige-100);--text-secondary: var(--color-beige-400);--text-muted: var(--color-beige-500);--border-color: var(--color-brown-600);--border-light: var(--color-brown-500);--border-lighter: var(--color-brown-400);--accent-primary: var(--color-gold-400);--accent-hover: var(--color-gold-500);--accent-active: var(--color-gold-600)}[data-theme=B]{--bg-primary: var(--color-beige-100);--bg-secondary: var(--color-beige-200);--bg-tertiary: var(--color-beige-300);--bg-card: #FFFFFF;--bg-hover: var(--color-beige-300);--bg-active: var(--color-beige-400);--text-primary: var(--color-brown-900);--text-secondary: var(--color-brown-700);--text-muted: var(--color-brown-500);--border-color: var(--color-beige-300);--border-light: var(--color-beige-400);--border-lighter: var(--color-beige-500);--accent-primary: var(--color-gold-500);--accent-hover: var(--color-gold-600);--accent-active: var(--color-brown-600)}:root{--btn-height-xs: 28px;--btn-height-sm: 32px;--btn-height-md: 40px;--btn-height-lg: 48px;--btn-height-xl: 56px;--btn-padding-xs: 4px 10px;--btn-padding-sm: 6px 12px;--btn-padding-md: 10px 20px;--btn-padding-lg: 12px 24px;--btn-padding-xl: 16px 32px;--btn-radius: var(--radius-lg);--card-padding-sm: var(--spacing-4);--card-padding: var(--spacing-6);--card-padding-lg: var(--spacing-8);--card-radius: var(--radius-2xl);--card-border: 1px solid var(--border-color);--badge-padding-xs: 2px 4px;--badge-padding-sm: 2px 6px;--badge-padding: 4px 10px;--badge-padding-lg: 6px 14px;--badge-font-size: var(--font-size-xs);--badge-radius: var(--radius-md);--alert-padding: var(--spacing-4) var(--spacing-5);--alert-radius: var(--radius-lg);--alert-border-width: 4px;--input-height-sm: 36px;--input-height-md: 44px;--input-height-lg: 52px;--input-padding: var(--spacing-3) var(--spacing-4);--input-radius: var(--radius-lg);--input-border: 1px solid var(--border-color);--modal-padding: var(--spacing-8);--modal-radius: var(--radius-3xl);--modal-width-sm: 400px;--modal-width-md: 560px;--modal-width-lg: 720px;--modal-width-xl: 900px;--toast-padding: var(--spacing-4) var(--spacing-5);--toast-radius: var(--radius-xl);--toast-width: 360px;--widget-padding: var(--spacing-6);--widget-radius: var(--radius-2xl);--widget-header-height: 56px;--tag-padding: 2px 8px;--tag-font-size: 10px;--tag-radius: var(--radius-md);--navbar-height: 64px;--navbar-padding: 0 var(--spacing-6);--sidebar-width: 280px;--sidebar-width-collapsed: 80px}.lk-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);border-radius:var(--btn-radius);cursor:pointer;transition:all var(--duration-normal) var(--ease-smooth);border:none;outline:none;white-space:nowrap;position:relative;overflow:hidden}.lk-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 50%);opacity:0;transition:opacity var(--duration-fast) var(--ease-smooth)}.lk-btn:hover:before{opacity:1}.lk-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.lk-btn--xs{height:var(--btn-height-xs);padding:var(--btn-padding-xs);font-size:var(--font-size-xs);border-radius:var(--radius-md)}.lk-btn--sm{height:var(--btn-height-sm);padding:var(--btn-padding-sm);font-size:var(--font-size-sm)}.lk-btn--md{height:var(--btn-height-md);padding:var(--btn-padding-md);font-size:var(--font-size-base)}.lk-btn--lg{height:var(--btn-height-lg);padding:var(--btn-padding-lg);font-size:var(--font-size-md)}.lk-btn--xl{height:var(--btn-height-xl);padding:var(--btn-padding-xl);font-size:var(--font-size-lg);border-radius:var(--radius-xl)}.lk-btn--primary{background:var(--gradient-gold);color:var(--color-brown-900);box-shadow:var(--shadow-sm)}.lk-btn--primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.lk-btn--primary:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:var(--shadow-sm)}.lk-btn--primary:focus-visible{box-shadow:var(--shadow-md),0 0 0 3px #c4a77d66}.lk-btn--secondary{background:transparent;color:var(--text-secondary);border:1.5px solid var(--border-color)}.lk-btn--secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-light);color:var(--text-primary)}.lk-btn--secondary:focus-visible{border-color:var(--accent-primary);box-shadow:0 0 0 3px #c4a77d33}.lk-btn--danger{background:var(--gradient-danger);color:#fff;box-shadow:var(--shadow-sm)}.lk-btn--danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow-danger)}.lk-btn--danger:active:not(:disabled){transform:translateY(0) scale(.98)}.lk-btn--success{background:var(--gradient-success);color:#fff;box-shadow:var(--shadow-sm)}.lk-btn--success:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow-success)}.lk-btn--success:active:not(:disabled){transform:translateY(0) scale(.98)}.lk-btn--ghost{background:transparent;color:var(--accent-primary)}.lk-btn--ghost:hover:not(:disabled){background:#c4a77d1a}.lk-btn--ghost:active:not(:disabled){background:#c4a77d26}.lk-btn--loading{pointer-events:none}.lk-btn__spinner{width:16px;height:16px;border:2px solid transparent;border-top-color:currentColor;border-right-color:currentColor;border-radius:var(--radius-full);animation:btnSpin .6s linear infinite}.lk-btn--lg .lk-btn__spinner,.lk-btn--xl .lk-btn__spinner{width:20px;height:20px;border-width:2.5px}@keyframes btnSpin{to{transform:rotate(360deg)}}.lk-btn__icon{display:flex;align-items:center;justify-content:center;font-size:1.1em}.lk-btn__text{position:relative;z-index:1}.lk-card{background:var(--bg-card);border-radius:var(--card-radius);border:var(--card-border);transition:all var(--duration-normal) var(--ease-smooth);position:relative}.lk-card--padding-none{padding:0}.lk-card--padding-sm{padding:var(--card-padding-sm)}.lk-card--padding-md{padding:var(--card-padding)}.lk-card--padding-lg{padding:var(--card-padding-lg)}.lk-card--default{background:var(--bg-card);box-shadow:var(--shadow-xs)}.lk-card--elevated{background:var(--bg-card);box-shadow:var(--shadow-md);border:none}.lk-card--elevated:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl),var(--shadow-glow-sm)}.lk-card--outlined{background:transparent;border:2px solid var(--border-color);box-shadow:none}.lk-card--outlined:hover{border-color:var(--accent-primary)}.lk-card--glass{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--shadow-md)}.lk-card--glass:hover{background:var(--glass-bg-light);box-shadow:var(--shadow-lg),var(--shadow-glow-sm)}.lk-card--gradient{background:var(--bg-card);border:none;position:relative;box-shadow:var(--shadow-sm)}.lk-card--gradient:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:var(--gradient-gold);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:xor;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;pointer-events:none;opacity:.6;transition:opacity var(--duration-fast) var(--ease-smooth)}.lk-card--gradient:hover:before{opacity:1}.lk-card--gradient:hover{box-shadow:var(--shadow-lg),var(--shadow-glow-sm)}.lk-card--interactive{background:var(--bg-card);box-shadow:var(--shadow-sm);cursor:pointer}.lk-card--interactive:hover{transform:translateY(-4px) scale(1.01);box-shadow:var(--shadow-xl),var(--shadow-glow);border-color:var(--accent-primary)}.lk-card--interactive:active{transform:translateY(-2px) scale(.99);box-shadow:var(--shadow-md)}.lk-card--hoverable{cursor:pointer}.lk-card--hoverable:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.lk-card--clickable{cursor:pointer}.lk-card--clickable:focus{outline:none;box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--accent-primary)}.lk-card__header{display:flex;align-items:flex-start;gap:var(--spacing-3);margin-bottom:var(--spacing-5)}.lk-card__icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#c4a77d1f;border:1.5px solid rgba(196,167,125,.25);border-radius:var(--radius-lg);font-size:22px;flex-shrink:0;color:var(--color-gold-600);transition:all var(--duration-normal) var(--ease-smooth)}.lk-card:hover .lk-card__icon{background:#c4a77d2e;border-color:#c4a77d66;transform:scale(1.05)}.lk-card__header-text{flex:1;min-width:0}.lk-card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;line-height:var(--line-height-tight)}.lk-card__subtitle{font-size:var(--font-size-sm);color:var(--text-muted);margin:var(--spacing-1) 0 0;line-height:var(--line-height-normal)}.lk-card__body{color:var(--text-primary);position:relative;z-index:1}.lk-card__footer{margin-top:var(--spacing-5);padding-top:var(--spacing-4);border-top:1px solid var(--border-color)}.lk-badge{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--badge-padding);font-size:var(--badge-font-size);font-weight:var(--font-weight-semibold);border-radius:var(--badge-radius);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);white-space:nowrap;transition:all var(--duration-fast) var(--ease-smooth)}.lk-badge--xs{padding:var(--badge-padding-xs);font-size:var(--font-size-2xs);border-radius:var(--radius-sm)}.lk-badge--sm{padding:var(--badge-padding-sm);font-size:10px;border-radius:var(--radius-sm)}.lk-badge--md{padding:var(--badge-padding);font-size:var(--badge-font-size)}.lk-badge--lg{padding:var(--badge-padding-lg);font-size:var(--font-size-sm);border-radius:var(--radius-lg)}.lk-badge--default{background:#c4a77d26;color:var(--accent-primary)}.lk-badge--success{background:#6b8e5c26;color:var(--color-success)}.lk-badge--warning{background:#c9a25626;color:var(--color-warning)}.lk-badge--danger{background:#b85c5c26;color:var(--color-danger)}.lk-badge--info{background:#5c7b8e26;color:var(--color-info)}.lk-badge--outline{background:transparent;border:1.5px solid var(--accent-primary);color:var(--accent-primary)}.lk-badge--gradient{background:var(--gradient-gold);color:var(--color-brown-900);box-shadow:var(--shadow-glow-sm)}.lk-badge--subtle{background:var(--bg-secondary);color:var(--text-secondary)}.lk-badge__dot{width:6px;height:6px;border-radius:var(--radius-full);background:currentColor;flex-shrink:0}.lk-badge--lg .lk-badge__dot{width:8px;height:8px}.lk-badge--pulse .lk-badge__dot{animation:badgePulse 2s var(--ease-in-out) infinite}@keyframes badgePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.lk-badge__icon{display:flex;align-items:center;justify-content:center;font-size:.9em}.lk-badge__text{line-height:1}.lk-alert{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--alert-padding);border-radius:var(--alert-radius);border-left:var(--alert-border-width) solid}.lk-alert--info{background:#5c7b8e1a;border-left-color:var(--color-info)}.lk-alert--success{background:#6b8e5c1a;border-left-color:var(--color-success)}.lk-alert--warning{background:#c9a2561a;border-left-color:var(--color-warning)}.lk-alert--danger{background:#b85c5c1a;border-left-color:var(--color-danger)}.lk-alert__icon{font-size:18px;flex-shrink:0}.lk-alert__content{flex:1}.lk-alert__title{display:block;font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-1);color:var(--text-primary)}.lk-alert__message{color:var(--text-secondary);font-size:var(--font-size-base);line-height:1.5}.lk-alert__close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-1);font-size:14px;opacity:.7;transition:opacity .2s}.lk-alert__close:hover{opacity:1}.lk-tag{display:inline-flex;align-items:center;gap:4px;padding:var(--tag-padding);font-size:var(--tag-font-size);font-weight:var(--font-weight-bold);border-radius:var(--tag-radius);text-transform:uppercase}.lk-tag--sm{padding:1px 4px;font-size:9px}.lk-tag--md{padding:2px 6px;font-size:10px}.lk-tag--default{background:var(--bg-hover);color:var(--text-secondary)}.lk-tag--brown{background:var(--color-brown-700);color:var(--color-beige-200)}.lk-tag--gold{background:var(--color-gold-500);color:var(--color-brown-900)}.lk-tag--success{background:var(--color-success);color:#fff}.lk-tag--warning{background:var(--color-warning);color:var(--color-brown-900)}.lk-tag--danger{background:var(--color-danger);color:#fff}.lk-tag__remove{background:none;border:none;color:inherit;cursor:pointer;font-size:12px;line-height:1;opacity:.7;padding:0;margin-left:2px}.lk-tag__remove:hover{opacity:1}.lk-navbar{display:flex;align-items:center;justify-content:space-between;height:var(--navbar-height);padding:var(--navbar-padding);background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.lk-navbar__brand{display:flex;align-items:center;gap:var(--spacing-3)}.lk-navbar__logo{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-gold-400),var(--color-gold-600));border-radius:var(--radius-md);font-size:20px}.lk-navbar__title-group{display:flex;flex-direction:column}.lk-navbar__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--accent-primary);line-height:1.2}.lk-navbar__subtitle{font-size:var(--font-size-xs);color:var(--text-muted);letter-spacing:.5px}.lk-navbar__content{display:flex;align-items:center;gap:var(--spacing-4);flex:1;justify-content:center}.lk-navbar__actions{display:flex;align-items:center;gap:var(--spacing-3)}.lk-modal-overlay{position:fixed;inset:0;background:#3d2e2499;backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-6);animation:modalOverlayIn var(--duration-normal) var(--ease-smooth)}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}.lk-modal{background:var(--bg-card);border-radius:var(--modal-radius);box-shadow:var(--shadow-2xl);width:100%;max-height:calc(100vh - var(--spacing-12));overflow:hidden;display:flex;flex-direction:column;animation:modalSlideIn var(--duration-slow) var(--ease-spring);position:relative}.lk-modal:before{content:"";position:absolute;top:0;left:0;right:0;height:120px;background:linear-gradient(180deg,rgba(196,167,125,.03) 0%,transparent 100%);pointer-events:none;border-radius:var(--modal-radius) var(--modal-radius) 0 0}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.lk-modal--sm{max-width:var(--modal-width-sm)}.lk-modal--md{max-width:var(--modal-width-md)}.lk-modal--lg{max-width:var(--modal-width-lg)}.lk-modal--xl{max-width:var(--modal-width-xl)}.lk-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-4);padding:var(--modal-padding);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--border-color);position:relative;z-index:1}.lk-modal__header-text{flex:1;min-width:0}.lk-modal__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0;line-height:var(--line-height-tight)}.lk-modal__subtitle{font-size:var(--font-size-sm);color:var(--text-muted);margin:var(--spacing-1) 0 0}.lk-modal__close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-lg);border:none;background:var(--bg-secondary);color:var(--text-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth);flex-shrink:0}.lk-modal__close:hover{background:var(--bg-hover);color:var(--text-primary);transform:rotate(90deg)}.lk-modal__close:focus-visible{outline:none;box-shadow:0 0 0 2px var(--accent-primary)}.lk-modal__body{padding:var(--modal-padding);overflow-y:auto;flex:1;position:relative;z-index:1}.lk-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-3);padding:var(--spacing-5) var(--modal-padding);border-top:1px solid var(--border-color);background:var(--bg-secondary);position:relative;z-index:1}.lk-toast-container{position:fixed;z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--spacing-3);pointer-events:none;max-width:var(--toast-width);padding:var(--spacing-4)}.lk-toast-container--top-right{top:0;right:0}.lk-toast-container--top-left{top:0;left:0}.lk-toast-container--bottom-right{bottom:0;right:0}.lk-toast-container--bottom-left{bottom:0;left:0}.lk-toast-container--top-center{top:0;left:50%;transform:translate(-50%)}.lk-toast-container--bottom-center{bottom:0;left:50%;transform:translate(-50%)}.lk-toast{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--toast-padding);background:var(--bg-card);border-radius:var(--toast-radius);box-shadow:var(--shadow-xl);pointer-events:auto;position:relative;overflow:hidden;animation:toastSlideIn var(--duration-normal) var(--ease-spring);min-width:280px;max-width:var(--toast-width)}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.lk-toast--exiting{animation:toastSlideOut var(--duration-normal) var(--ease-smooth) forwards}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.lk-toast__indicator{position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:var(--radius-full) 0 0 var(--radius-full)}.lk-toast--default .lk-toast__indicator{background:var(--gradient-gold)}.lk-toast--success .lk-toast__indicator{background:var(--gradient-success)}.lk-toast--warning .lk-toast__indicator{background:var(--gradient-warning)}.lk-toast--danger .lk-toast__indicator{background:var(--gradient-danger)}.lk-toast--info .lk-toast__indicator{background:var(--gradient-info)}.lk-toast__icon{font-size:var(--font-size-lg);flex-shrink:0;margin-left:var(--spacing-1)}.lk-toast__content{flex:1;min-width:0}.lk-toast__title{display:block;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-0-5)}.lk-toast__message{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;line-height:var(--line-height-normal)}.lk-toast__close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);font-size:12px;transition:all var(--duration-fast) var(--ease-smooth);flex-shrink:0}.lk-toast__close:hover{background:var(--bg-hover);color:var(--text-primary)}.lk-toast__progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#0000000d}.lk-toast__progress:after{content:"";position:absolute;top:0;left:0;height:100%;width:100%;background:var(--accent-primary);animation:toastProgress linear forwards;animation-duration:inherit}.lk-toast--success .lk-toast__progress:after{background:var(--color-success)}.lk-toast--warning .lk-toast__progress:after{background:var(--color-warning)}.lk-toast--danger .lk-toast__progress:after{background:var(--color-danger)}.lk-toast--info .lk-toast__progress:after{background:var(--color-info)}@keyframes toastProgress{0%{width:100%}to{width:0%}}.lk-input{display:flex;flex-direction:column;gap:var(--spacing-1-5)}.lk-input--full-width{width:100%}.lk-input__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);transition:color var(--duration-fast) var(--ease-smooth)}.lk-input--focused .lk-input__label{color:var(--accent-primary)}.lk-input--error .lk-input__label{color:var(--color-danger)}.lk-input__wrapper{display:flex;align-items:center;position:relative;background:var(--bg-secondary);border:var(--input-border);border-radius:var(--input-radius);transition:all var(--duration-normal) var(--ease-smooth)}.lk-input--focused .lk-input__wrapper{border-color:var(--accent-primary);background:var(--bg-card)}.lk-input--error .lk-input__wrapper{border-color:var(--color-danger)}.lk-input--disabled .lk-input__wrapper{opacity:.5;cursor:not-allowed}.lk-input--filled .lk-input__wrapper{background:var(--bg-hover);border-color:transparent}.lk-input--filled.lk-input--focused .lk-input__wrapper{background:var(--bg-card);border-color:var(--accent-primary)}.lk-input--outlined .lk-input__wrapper{background:transparent;border-width:1.5px}.lk-input__focus-ring{position:absolute;inset:-3px;border-radius:calc(var(--input-radius) + 3px);pointer-events:none;opacity:0;transition:opacity var(--duration-normal) var(--ease-smooth);box-shadow:var(--shadow-glow)}.lk-input--focused .lk-input__focus-ring{opacity:1}.lk-input--error .lk-input__focus-ring{box-shadow:var(--shadow-glow-danger)}.lk-input__field{flex:1;min-width:0;background:transparent;border:none;outline:none;font-family:var(--font-family-primary);font-size:var(--font-size-base);color:var(--text-primary);padding:var(--input-padding)}.lk-input__field::placeholder{color:var(--text-muted)}.lk-input__field:disabled{cursor:not-allowed}.lk-input--sm .lk-input__wrapper{height:var(--input-height-sm)}.lk-input--sm .lk-input__field{font-size:var(--font-size-sm)}.lk-input--md .lk-input__wrapper{height:var(--input-height-md)}.lk-input--lg .lk-input__wrapper{height:var(--input-height-lg)}.lk-input--lg .lk-input__field{font-size:var(--font-size-md)}.lk-input__prefix,.lk-input__suffix{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:var(--font-size-base);padding:0 var(--spacing-3);flex-shrink:0;transition:color var(--duration-fast) var(--ease-smooth)}.lk-input--focused .lk-input__prefix,.lk-input--focused .lk-input__suffix{color:var(--accent-primary)}.lk-input__prefix{padding-right:0}.lk-input__suffix{padding-left:0}.lk-input__helper{font-size:var(--font-size-xs);color:var(--text-muted);line-height:var(--line-height-normal)}.lk-input__helper--error{color:var(--color-danger)}.lk-widget{background:var(--bg-card);border-radius:var(--widget-radius);border:1px solid var(--border-color);overflow:hidden;transition:all var(--duration-normal) var(--ease-smooth)}.lk-widget--default{box-shadow:var(--shadow-sm)}.lk-widget--elevated{box-shadow:var(--shadow-md);border:none}.lk-widget--elevated:hover{box-shadow:var(--shadow-lg)}.lk-widget--glass{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border)}.lk-widget__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4);padding:var(--spacing-4) var(--widget-padding);background:linear-gradient(180deg,rgba(196,167,125,.03) 0%,transparent 100%);border-bottom:1px solid var(--border-color);min-height:var(--widget-header-height)}.lk-widget__header-left{display:flex;align-items:center;gap:var(--spacing-3);flex:1;min-width:0}.lk-widget__icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#c4a77d1f;border:1.5px solid rgba(196,167,125,.25);border-radius:var(--radius-md);font-size:18px;flex-shrink:0;color:var(--color-gold-600);transition:all var(--duration-fast) var(--ease-smooth)}.lk-widget__header-text{flex:1;min-width:0}.lk-widget__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.lk-widget__subtitle{font-size:var(--font-size-xs);color:var(--text-muted);margin:var(--spacing-0-5) 0 0}.lk-widget__header-right,.lk-widget__actions{display:flex;align-items:center;gap:var(--spacing-2)}.lk-widget__collapse-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:var(--bg-secondary);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth)}.lk-widget__collapse-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.lk-widget__body{transition:all var(--duration-normal) var(--ease-smooth)}.lk-widget--padding-none .lk-widget__body{padding:0}.lk-widget--padding-sm .lk-widget__body{padding:var(--spacing-4)}.lk-widget--padding-md .lk-widget__body{padding:var(--widget-padding)}.lk-widget--padding-lg .lk-widget__body{padding:var(--spacing-8)}.lk-widget--collapsed .lk-widget__body{display:none}.lk-widget--collapsed .lk-widget__header{border-bottom:none}.lk-widget__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-3);padding:var(--spacing-10);color:var(--text-muted);font-size:var(--font-size-sm)}.lk-widget__loading-spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:var(--radius-full);animation:widgetSpin .8s linear infinite}@keyframes widgetSpin{to{transform:rotate(360deg)}}.lk-progress{display:flex;flex-direction:column;gap:var(--spacing-2)}.lk-progress__header{display:flex;align-items:center;justify-content:space-between}.lk-progress__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.lk-progress__value{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.lk-progress__track{width:100%;background:var(--bg-secondary);border-radius:var(--radius-full);overflow:hidden}.lk-progress--sm .lk-progress__track{height:4px}.lk-progress--md .lk-progress__track{height:8px}.lk-progress--lg .lk-progress__track{height:12px}.lk-progress__bar{height:100%;border-radius:var(--radius-full);transition:width var(--duration-slow) var(--ease-smooth)}.lk-progress__bar--animated{position:relative;overflow:hidden}.lk-progress__bar--animated:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:progressShimmer 2s infinite}@keyframes progressShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.lk-progress__bar--default{background:var(--accent-primary)}.lk-progress__bar--gradient{background:var(--gradient-gold);box-shadow:var(--shadow-glow-sm)}.lk-progress__bar--success{background:var(--gradient-success);box-shadow:var(--shadow-glow-success)}.lk-progress__bar--warning{background:var(--gradient-warning);box-shadow:var(--shadow-glow-warning)}.lk-progress__bar--danger{background:var(--gradient-danger);box-shadow:var(--shadow-glow-danger)}.lk-circular{position:relative;display:inline-flex;align-items:center;justify-content:center}.lk-circular__svg{transform:rotate(-90deg)}.lk-circular__track{fill:none;stroke:var(--bg-secondary)}.lk-circular__bar{fill:none;stroke-linecap:round;transition:stroke-dashoffset var(--duration-slow) var(--ease-smooth)}.lk-circular__bar--default{stroke:var(--accent-primary)}.lk-circular__bar--gradient{stroke:url(#gradient-gold)}.lk-circular__bar--success{stroke:var(--color-success)}.lk-circular__bar--warning{stroke:var(--color-warning)}.lk-circular__bar--danger{stroke:var(--color-danger)}.lk-circular__content{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center}.lk-circular__value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary);line-height:1}.lk-circular__label{font-size:var(--font-size-2xs);color:var(--text-muted);margin-top:var(--spacing-0-5);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.lk-stat{display:flex;align-items:center;gap:var(--spacing-3)}.lk-stat__icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#c4a77d1f;border:1.5px solid rgba(196,167,125,.25);border-radius:var(--radius-lg);font-size:22px;color:var(--color-gold-600);transition:all var(--duration-fast) var(--ease-smooth)}.lk-stat--sm .lk-stat__icon{width:40px;height:40px;font-size:18px}.lk-stat--lg .lk-stat__icon{width:56px;height:56px;font-size:26px}.lk-stat--success .lk-stat__icon{background:#6b8e5c1f;border-color:#6b8e5c40;color:var(--color-success)}.lk-stat--warning .lk-stat__icon{background:#c9a2561f;border-color:#c9a25640;color:var(--color-warning)}.lk-stat--danger .lk-stat__icon{background:#b85c5c1f;border-color:#b85c5c40;color:var(--color-danger)}.lk-stat__content{display:flex;flex-direction:column}.lk-stat__value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);line-height:var(--line-height-tight)}.lk-stat--sm .lk-stat__value{font-size:var(--font-size-xl)}.lk-stat--lg .lk-stat__value{font-size:var(--font-size-3xl)}.lk-stat__label{font-size:var(--font-size-sm);color:var(--text-muted);margin-top:var(--spacing-0-5)}.lk-stat__trend{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-md)}.lk-stat__trend--up{color:var(--color-success);background:#6b8e5c1a}.lk-stat__trend--down{color:var(--color-danger);background:#b85c5c1a}.lk-stat__trend--neutral{color:var(--text-muted);background:var(--bg-secondary)}.report-page{padding:1rem;max-width:640px;margin:0 auto;min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.report-page .page-header{margin-bottom:1.5rem}.report-page .page-header h2{font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.25rem}.report-page .page-subtitle{color:#64748b;font-size:.9rem}.report-form{display:flex;flex-direction:column;gap:1.5rem;background:#ffffffe6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.5);box-shadow:0 4px 6px -1px #0000001a,0 10px 40px -10px #667eea26;border-radius:20px!important}.report-error{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626;padding:.875rem 1rem;border-radius:12px;font-size:.9rem;font-weight:500;border-left:4px solid #DC2626}.report-success{text-align:center;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px!important}.report-success__icon{font-size:4rem;margin-bottom:1rem;animation:bounce .6s ease-out}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.report-success h2{font-size:1.5rem;font-weight:700;color:#059669;margin-bottom:.5rem}.report-success p{color:#64748b;margin-bottom:0}.report-success__buttons{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.form-section{display:flex;flex-direction:column;gap:.75rem}.form-label{font-weight:600;color:#1e293b;font-size:.95rem;display:flex;align-items:center;gap:.25rem}.form-input,.form-textarea{padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);background:#f8fafc}.form-input:focus,.form-textarea:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 4px #667eea1a}.form-input::placeholder,.form-textarea::placeholder{color:#94a3b8}.disaster-type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.disaster-type-btn{display:flex;flex-direction:column;align-items:center;padding:1rem .5rem;border:2px solid transparent;border-radius:16px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.disaster-type-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#667eea,#764ba2);opacity:0;transition:opacity .3s}.disaster-type-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px -5px #0000001a}.disaster-type-btn.active{border-color:#667eea;background:linear-gradient(135deg,#667eea1a,#764ba21a);box-shadow:0 4px 15px -3px #667eea4d}.disaster-type-btn__icon{font-size:2rem;position:relative;z-index:1}.disaster-type-btn__label{font-size:.75rem;font-weight:500;margin-top:.5rem;position:relative;z-index:1;color:#475569}.disaster-type-btn.active .disaster-type-btn__label{color:#667eea;font-weight:600}.severity-grid{display:flex;gap:.75rem;flex-wrap:wrap}.severity-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border:2px solid #e2e8f0;border-radius:25px;background:#fff;cursor:pointer;transition:all .3s;font-weight:500;font-size:.9rem}.severity-btn:hover{background:#f8fafc;transform:scale(1.02)}.severity-btn.active{transform:scale(1.05)}.severity-dot{width:12px;height:12px;border-radius:50%;box-shadow:0 0 8px currentColor}.photo-upload-section{display:flex;flex-direction:column;gap:1rem}.photo-preview-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}.photo-preview-item{position:relative;width:100%;aspect-ratio:1;border-radius:14px;overflow:hidden;border:2px solid #e2e8f0;box-shadow:0 2px 8px #00000014}.photo-preview-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.photo-preview-item:hover img{transform:scale(1.05)}.photo-remove-btn{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:2px solid white;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;box-shadow:0 2px 8px #0003;transition:all .2s}.photo-remove-btn:hover{transform:scale(1.1)}.photo-add-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;width:100%;aspect-ratio:1;border:2px dashed #cbd5e1;border-radius:14px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);cursor:pointer;transition:all .3s;color:#64748b;font-size:.7rem;font-weight:500}.photo-add-btn:hover{border-color:#667eea;background:linear-gradient(135deg,#eef2ff,#e0e7ff);color:#667eea;transform:scale(1.02)}.photo-add-icon{font-size:1.75rem}.photo-hint{font-size:.8rem;color:#94a3b8;margin:0;padding:.5rem .75rem;background:#f8fafc;border-radius:8px;border-left:3px solid #667eea}.location-section{display:flex;flex-direction:column;gap:.75rem}.location-coords{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.location-btn{padding:.5rem 1rem;border:2px solid #e2e8f0;border-radius:25px;background:#fff;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.location-btn:hover{background:#f8fafc;border-color:#667eea;color:#667eea}.location-btn:disabled{opacity:.6;cursor:not-allowed}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.report-submit-btn{width:100%;padding:1rem 1.5rem;font-size:1.1rem;font-weight:600;margin-top:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:14px;color:#fff;cursor:pointer;transition:all .3s;position:relative;overflow:hidden}.report-submit-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#764ba2,#667eea);opacity:0;transition:opacity .3s}.report-submit-btn:hover:before{opacity:1}.report-submit-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px -5px #667eea66}.report-submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}@media(max-width:540px){.disaster-type-grid{grid-template-columns:repeat(4,1fr);gap:.5rem}.disaster-type-btn{padding:.75rem .25rem}.disaster-type-btn__icon{font-size:1.5rem}.contact-grid{grid-template-columns:1fr}.photo-preview-grid{grid-template-columns:repeat(4,1fr)}.severity-grid{gap:.5rem}.severity-btn{padding:.5rem 1rem;font-size:.8rem}}.volunteer-detail-page{padding:1.5rem;max-width:1200px;margin:0 auto}.page-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.back-btn{padding:.5rem 1rem;border:1px solid var(--border-color, #e2e8f0);background:#fff;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s}.back-btn:hover{background:#f8fafc}.header-actions{margin-left:auto;display:flex;gap:.5rem}.volunteer-profile-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #00000014;margin-bottom:1.5rem}.profile-header{display:flex;align-items:flex-start;gap:1.5rem}.avatar-large{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:600}.avatar-section{display:flex;flex-direction:column;align-items:center;gap:.5rem}.avatar-photo{object-fit:cover;border:3px solid white;box-shadow:0 4px 12px #00000026}.photo-upload-btn{padding:.35rem .75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:.75rem;border-radius:20px;cursor:pointer;transition:all .2s;white-space:nowrap}.photo-upload-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #667eea66}.photo-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.photo-line-btn{padding:.35rem .75rem;background:linear-gradient(135deg,#06c755,#00b843);color:#fff;font-size:.75rem;border-radius:20px;border:none;cursor:pointer;transition:all .2s;white-space:nowrap}.photo-line-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #06c75566}.profile-info{flex:1}.profile-info h2{margin:0 0 .5rem;font-size:1.5rem}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:500;margin-bottom:.5rem}.region{color:#64748b;margin:0}.profile-stats{display:flex;gap:2rem;text-align:center}.stat-item{display:flex;flex-direction:column}.stat-value{font-size:1.75rem;font-weight:700;color:#667eea}.stat-label{font-size:.85rem;color:#64748b}.skills-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.skills-section h4{margin:0 0 .75rem;font-size:.9rem;color:#64748b}.skills-list{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{padding:.35rem .75rem;background:#f1f5f9;border-radius:20px;font-size:.85rem;color:#475569}.tabs-nav{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e2e8f0;padding-bottom:0}.tab-btn{padding:.75rem 1.5rem;border:none;background:transparent;cursor:pointer;font-size:.95rem;color:#64748b;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s}.tab-btn:hover{color:#667eea}.tab-btn.active{color:#667eea;border-bottom-color:#667eea;font-weight:600}.info-section{background:#fff;border-radius:12px;padding:1.25rem;margin-bottom:1rem;border:1px solid #e2e8f0}.info-section h3{margin:0 0 1rem;font-size:1rem;color:#334155}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-item label{font-size:.8rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.info-item span{font-size:.95rem;color:#1e293b}.notes{color:#475569;line-height:1.6;margin:0}.records-summary{display:flex;gap:1rem;margin-bottom:1.5rem}.summary-card{flex:1;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.25rem;border-radius:12px;text-align:center}.summary-value{display:block;font-size:2rem;font-weight:700}.summary-label{font-size:.85rem;opacity:.9}.records-list{display:flex;flex-direction:column;gap:.75rem}.record-item{background:#fff;border-radius:12px;padding:1rem;border:1px solid #e2e8f0;transition:transform .2s}.record-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.record-item.cancelled{opacity:.6}.record-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.record-title{font-weight:600;color:#1e293b}.record-status{font-size:.85rem;padding:.25rem .5rem;border-radius:6px}.record-status.completed{background:#dcfce7;color:#166534}.record-status.cancelled{background:#fee2e2;color:#991b1b}.record-details{display:flex;gap:1.5rem;font-size:.85rem;color:#64748b}.settings-actions{display:flex;flex-wrap:wrap;gap:.75rem}.danger-zone{background:#fef2f2;border-color:#fecaca;margin-top:2rem}.danger-zone h3{color:#dc2626}.danger-zone p{color:#991b1b;margin-bottom:1rem}.btn{padding:.6rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;border:none;transition:all .2s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-outline{background:#fff;border:1px solid #e2e8f0;color:#475569}.btn-outline:hover{background:#f8fafc}.btn-warning{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover{background:#b91c1c}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.loading-spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@media(max-width:768px){.profile-header{flex-direction:column;align-items:center;text-align:center}.profile-stats{justify-content:center}.record-details{flex-direction:column;gap:.5rem}.tabs-nav{overflow-x:auto}}.training-page{padding:1rem}.training-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;background:#f1f5f9;padding:.25rem;border-radius:12px}.training-tab{flex:1;padding:.75rem 1rem;border:none;border-radius:10px;background:transparent;font-weight:600;font-size:.95rem;color:#64748b;cursor:pointer;transition:all .3s}.training-tab:hover{color:#334155}.training-tab.active{background:#fff;color:#667eea;box-shadow:0 2px 8px #00000014}.training-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.stat-card__value{font-size:2rem;font-weight:700;color:#1e293b}.stat-card__label{font-size:.85rem;color:#64748b}.stat-card--success .stat-card__value{color:#10b981}.stat-card--warning .stat-card__value{color:#f59e0b}.stat-card--info .stat-card__value{color:#3b82f6}.stat-card--danger .stat-card__value{color:#ef4444}.scraped-categories{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem;padding:.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:14px}.scraped-category-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border:2px solid transparent;border-radius:25px;background:#fff;font-size:.85rem;font-weight:500;color:#475569;cursor:pointer;transition:all .3s}.scraped-category-btn:hover{border-color:var(--cat-color, #667eea);background:#667eea0d}.scraped-category-btn.active{background:var(--cat-color, #667eea);color:#fff;border-color:var(--cat-color, #667eea)}.scraped-category-icon{font-size:1.1rem}.scraped-courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;margin-bottom:1.5rem}.scraped-course-card{display:flex;flex-direction:column;gap:.75rem;border:1px solid #e2e8f0;transition:all .3s}.scraped-course-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px -5px #0000001a;border-color:#667eea}.scraped-course-header{display:flex;gap:.5rem}.scraped-course-title{font-size:1.05rem;font-weight:600;color:#1e293b;margin:0;line-height:1.4}.scraped-course-meta{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.85rem;color:#64748b}.scraped-course-meta span{display:flex;align-items:center;gap:.25rem}.scraped-course-actions{margin-top:auto;padding-top:.5rem;border-top:1px solid #f1f5f9}.data-source-info{background:linear-gradient(135deg,#eef2ff,#e0e7ff);padding:1rem 1.25rem;border-radius:12px;border-left:4px solid #667eea}.data-source-info p{margin:0;font-size:.85rem;color:#4338ca}.data-source-info p:first-child{font-weight:600;margin-bottom:.25rem}.empty-state{grid-column:1 / -1;text-align:center;padding:3rem;color:#94a3b8}.empty-icon{font-size:3rem;display:block;margin-bottom:.5rem}.training-categories{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.category-btn{padding:.5rem 1rem;border:1px solid #e2e8f0;border-radius:20px;background:#fff;font-size:.85rem;cursor:pointer;transition:all .2s}.category-btn:hover{border-color:#667eea;background:#f8fafc}.category-btn.active{background:#667eea;color:#fff;border-color:#667eea}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.course-card{display:flex;flex-direction:column;gap:.75rem}.course-card__header{display:flex;justify-content:space-between;align-items:center}.course-card__icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#fff}.course-card__title{font-size:1rem;font-weight:600;color:#1e293b;margin:0}.course-card__desc{font-size:.85rem;color:#64748b;margin:0;flex:1}.course-card__meta{display:flex;gap:1rem;font-size:.8rem}.progress-bar{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.progress-bar__fill{height:100%;border-radius:3px;transition:width .3s}.course-card__actions{display:flex;justify-content:space-between;align-items:center}.progress-text{font-size:.8rem;color:#64748b}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{max-width:500px;width:100%;max-height:80vh;overflow-y:auto}.modal-desc{color:#64748b}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.course-content{background:#f8fafc;padding:1rem;border-radius:8px;margin-top:1rem}.course-content h4{margin:0 0 .5rem}@media(max-width:768px){.training-stats{grid-template-columns:repeat(2,1fr)}.scraped-categories{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.scraped-category-btn{flex-shrink:0}}@media(max-width:480px){.training-tabs{flex-direction:column}.scraped-courses-grid{grid-template-columns:1fr}}.reports-admin-page{padding:1.5rem}.reports-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.reports-filters{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-btn{padding:.5rem 1rem;border:1px solid #e2e8f0;border-radius:20px;background:#fff;cursor:pointer;transition:all .2s}.filter-btn:hover{background:#f1f5f9}.filter-btn.active{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border-color:transparent}.reports-list{display:flex;flex-direction:column;gap:1rem}.loading-state,.error-state,.empty-state{text-align:center;padding:3rem;color:#64748b}.report-card{cursor:pointer;transition:all .2s}.report-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.report-card--pending{border-left:4px solid #FF9800}.report-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.report-type{font-weight:600;color:#1e293b}.report-card__description{color:#64748b;margin-bottom:.75rem;line-height:1.5}.report-card__meta{display:flex;gap:1rem;font-size:.85rem;color:#94a3b8}.report-detail{background:#f8fafc;padding:1rem;border-radius:8px;margin-bottom:1rem}.report-detail__row{display:flex;gap:1rem;padding:.5rem 0;border-bottom:1px solid #e2e8f0}.report-detail__row:last-child{border-bottom:none}.report-detail__row--full{flex-direction:column;gap:.5rem}.report-detail .label{font-weight:600;color:#64748b;min-width:80px}.report-photos{display:flex;gap:.5rem;flex-wrap:wrap}.report-photos img{width:120px;height:90px;object-fit:cover;border-radius:8px;border:1px solid #e2e8f0}.review-form{margin-bottom:1rem}.review-form label{display:block;margin-bottom:.5rem;font-weight:500;color:#475569}.review-form textarea{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:8px;resize:vertical;font-size:.95rem}.review-form textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}@media(max-width:768px){.reports-stats{grid-template-columns:1fr}.report-card__meta{flex-direction:column;gap:.5rem}}.reports-export-page{padding:1.5rem}.date-range-card h3{margin-bottom:1rem}.date-range-inputs{display:flex;gap:1.5rem;flex-wrap:wrap}.date-input{display:flex;flex-direction:column;gap:.5rem}.date-input label{font-weight:500;color:#64748b;font-size:.9rem}.date-input input{padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem}.date-input input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.reports-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin:1.5rem 0}.report-option{text-align:center;transition:all .2s}.report-option:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.report-option__icon{font-size:3rem;margin-bottom:1rem}.report-option h3{margin-bottom:.5rem;color:#1e293b}.report-option p{color:#64748b;margin-bottom:1.5rem}.report-option__actions{display:flex;gap:.75rem;justify-content:center}.preview-card{margin-top:1.5rem}.preview-card h3{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.preview-table{width:100%;border-collapse:collapse;margin-top:1rem}.preview-table th,.preview-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e2e8f0}.preview-table th{background:#f8fafc;font-weight:600;color:#475569}.preview-note{text-align:center;color:#94a3b8;margin-top:1rem;font-size:.9rem}.stats-grid{display:flex;gap:2rem;margin:1rem 0}.stat-item{display:flex;flex-direction:column;gap:.5rem}.stat-label{color:#64748b;font-size:.9rem}.stat-value{font-size:1.5rem;font-weight:700;color:#1e293b}.chart-section h4{margin:1.5rem 0 1rem;color:#475569}.bar-chart{display:flex;flex-direction:column;gap:.75rem}.bar-item{display:grid;grid-template-columns:100px 1fr 50px;align-items:center;gap:1rem}.bar-label{font-size:.9rem;color:#475569}.bar-track{height:20px;background:#e2e8f0;border-radius:4px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:4px;transition:width .3s ease}.bar-value{font-weight:600;color:#1e293b;text-align:right}@media(max-width:768px){.date-range-inputs{flex-direction:column}.bar-item{grid-template-columns:80px 1fr 40px}}.analytics-page{padding:1.5rem}.chart-card{margin-bottom:1.5rem}.chart-container{height:300px;position:relative}.chart-container--lg{height:350px}.charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:1.5rem}.heatmap-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:8px;color:#64748b}.heatmap-icon{font-size:4rem;margin-bottom:1rem}.heatmap-placeholder p{font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.heatmap-placeholder small{color:#94a3b8}@media(max-width:1024px){.charts-grid{grid-template-columns:1fr}}@media(max-width:768px){.chart-container{height:250px}}.volunteer-schedule-page{padding:1.5rem}.schedule-card{overflow-x:auto}.schedule-grid{min-width:900px}.schedule-header,.schedule-row{display:grid;grid-template-columns:120px repeat(7,1fr);gap:2px}.schedule-cell{padding:.75rem;background:#fff;border:1px solid #e2e8f0;min-height:60px;display:flex;align-items:center;justify-content:center}.schedule-cell--header{background:#f8fafc;font-weight:600;color:#475569;font-size:.85rem}.schedule-cell--shift{flex-direction:column;gap:.25rem;border-left:4px solid;justify-content:center}.shift-name{font-weight:600;color:#1e293b}.shift-time{font-size:.75rem;color:#94a3b8}.schedule-cell--slot{cursor:pointer;transition:all .2s}.schedule-cell--slot:hover{background:#f1f5f9}.schedule-cell--slot.has-volunteer{background:#f0fdf4}.schedule-cell--slot.empty{background:#fafafa}.empty-slot{color:#94a3b8;font-size:.85rem}.slot-content{display:flex;align-items:center;gap:.5rem;width:100%;justify-content:center}.volunteer-name{font-size:.85rem;font-weight:500;color:#1e293b}.remove-btn{background:none;border:none;color:#ef4444;cursor:pointer;padding:2px 4px;font-size:.75rem;border-radius:4px}.remove-btn:hover{background:#fecaca}.modal-subtitle{color:#64748b;margin-bottom:1rem}.volunteer-list{max-height:400px;overflow-y:auto}.volunteer-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:8px;cursor:pointer;transition:all .2s}.volunteer-item:hover{background:#f1f5f9}.volunteer-avatar{font-size:1.5rem}.volunteer-info{flex:1;display:flex;flex-direction:column}.volunteer-info .name{font-weight:500;color:#1e293b}.volunteer-info .region{font-size:.8rem;color:#94a3b8}@media(max-width:1024px){.schedule-grid{min-width:700px}.schedule-header,.schedule-row{grid-template-columns:100px repeat(7,1fr)}}:root{--luxury-black: #555555;--luxury-dark: #666666;--luxury-charcoal: #777777;--luxury-silver: #8b8b8b;--luxury-light: #e5e5e5;--luxury-white: #fafafa;--luxury-accent: #c9a96e;--luxury-accent-hover: #b8935a;--gradient-luxury: linear-gradient(135deg, #555555 0%, #444444 100%);--gradient-subtle: linear-gradient(180deg, rgba(255, 255, 255, .1) 0%, rgba(255, 255, 255, 0) 100%)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--luxury-white);padding:40px 20px;position:relative;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.login-page:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(201,169,110,.03) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(10,10,10,.02) 0%,transparent 50%);pointer-events:none}.login-container{background:#fff;border-radius:2px;box-shadow:0 0 0 1px #0000000a,0 2px 4px #00000005,0 12px 24px #0000000f;width:100%;max-width:480px;overflow:hidden;position:relative;border:1px solid rgba(0,0,0,.06)}.login-header{background:var(--gradient-luxury);padding:64px 48px;text-align:center;position:relative;overflow:hidden;color:#fff}.login-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:#ffffff1a}.login-logo{color:#fff;position:relative;z-index:2}.login-logo-icon{font-size:56px;display:block;margin-bottom:24px;opacity:1;text-shadow:0 4px 12px rgba(0,0,0,.3)}.login-logo h1{font-family:Playfair Display,Georgia,serif;font-size:42px;font-weight:700;margin:0;letter-spacing:.5px;line-height:1.2;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.login-subtitle{margin:16px 0 0;font-size:24px;color:#ffffffe6;letter-spacing:2px;text-transform:uppercase;font-weight:500}.login-tabs{display:flex;border-bottom:1px solid rgba(0,0,0,.06);background:#fff}.login-tab{flex:1;padding:20px 24px;border:none;background:transparent;color:var(--luxury-silver);font-size:14px;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;letter-spacing:.3px}.login-tab:hover{color:var(--luxury-dark)}.login-tab.active{color:var(--luxury-black)}.login-tab.active:after{content:"";position:absolute;bottom:-1px;left:24px;right:24px;height:2px;background:var(--luxury-black)}.login-form{padding:48px}.login-form .form-group{margin-bottom:28px}.login-form .form-group label{display:block;margin-bottom:12px;color:var(--luxury-dark);font-size:12px;font-weight:600;letter-spacing:.8px;text-transform:uppercase}.login-form .form-group input{width:100%;padding:16px 0;border:none;border-bottom:1px solid rgba(0,0,0,.15);background:transparent;color:var(--luxury-black);font-size:16px;font-weight:400;transition:all .3s ease;letter-spacing:.2px}.login-form .form-group input:focus{outline:none;border-bottom-color:var(--luxury-black);background:linear-gradient(to bottom,transparent 95%,rgba(0,0,0,.02) 100%)}.login-form .form-group input::placeholder{color:#9ca3af;font-weight:300;opacity:1}.form-group--checkbox{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;color:var(--luxury-charcoal);font-weight:400}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--luxury-black);cursor:pointer;border-radius:2px}.forgot-password-link{font-size:13px;color:var(--luxury-silver);text-decoration:none;transition:color .2s ease;font-weight:500;letter-spacing:.2px}.forgot-password-link:hover{color:var(--luxury-black)}.login-error{background:#dc35450d;border-left:3px solid #dc3545;color:#721c24;padding:16px 20px;font-size:13px;margin-bottom:24px;letter-spacing:.2px}.login-success{background:#28a7450d;border-left:3px solid #28a745;color:#155724;padding:16px 20px;font-size:13px;margin-bottom:24px;letter-spacing:.2px}.phone-input-group,.email-input-group,.otp-input-group{display:flex;gap:12px;align-items:flex-end}.phone-input-group input,.email-input-group input,.otp-input-group input{flex:1}.otp-send-btn,.otp-verify-btn{flex-shrink:0;padding:16px 24px;border:1px solid var(--luxury-dark);background:transparent;color:var(--luxury-dark);font-size:12px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;cursor:pointer;transition:all .3s ease;white-space:nowrap}.otp-send-btn:hover:not(:disabled),.otp-verify-btn:hover:not(:disabled){background:var(--luxury-dark);color:#fff}.otp-send-btn:disabled,.otp-verify-btn:disabled{opacity:.4;cursor:not-allowed}.otp-verified-badge{flex-shrink:0;padding:14px 20px;background:#28a74514;color:#28a745;font-size:12px;font-weight:600;letter-spacing:.5px}.login-submit{width:100%;padding:18px 32px;border:none;background:var(--luxury-black);color:#fff;font-size:13px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.login-submit:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.login-submit:hover:before{left:100%}.login-submit:hover{background:var(--luxury-charcoal);box-shadow:0 8px 24px #00000026}.login-submit:disabled{opacity:.5;cursor:not-allowed}.login-divider{display:flex;align-items:center;margin:40px 48px 32px;color:var(--luxury-silver);font-size:11px;letter-spacing:1px;text-transform:uppercase}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#00000014}.login-divider span{padding:0 24px}.login-line-btn,.login-google-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:calc(100% - 96px);margin:0 48px 16px;padding:16px 24px;border:1px solid rgba(0,0,0,.1);font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;letter-spacing:.3px}.login-line-btn{background:#06c755;color:#fff;border-color:#06c755}.login-line-btn:hover{background:#05a847;box-shadow:0 4px 16px #06c75540;transform:translateY(-1px)}.login-google-btn{background:#fff;color:#1f1f1f}.login-google-btn:hover{background:#fafafa;box-shadow:0 4px 16px #00000014;transform:translateY(-1px)}.login-google-btn:disabled,.login-line-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-footer{padding:32px 48px;text-align:center;border-top:1px solid rgba(0,0,0,.04);background:#00000003}.login-footer p{margin:0;color:var(--luxury-silver);font-size:11px;letter-spacing:.8px;text-transform:uppercase;font-weight:400}@media(max-width:600px){.login-page{padding:20px}.login-header{padding:48px 32px}.login-logo h1{font-size:28px}.login-form{padding:32px}.login-divider{margin:32px 32px 24px}.login-line-btn,.login-google-btn{width:calc(100% - 64px);margin:0 32px 12px}.login-footer{padding:24px 32px}.login-tab.active:after{left:16px;right:16px}}@media(max-width:480px){.login-header{padding:40px 24px}.login-logo h1{font-size:24px}.login-form{padding:24px}.login-divider{margin:24px 24px 20px}.login-line-btn,.login-google-btn{width:calc(100% - 48px);margin:0 24px 12px;padding:14px 20px;font-size:13px}.login-footer{padding:20px 24px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-container{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1)}.login-form .form-group{animation:fadeInUp .5s cubic-bezier(.4,0,.2,1) backwards}.login-form .form-group:nth-child(1){animation-delay:.05s}.login-form .form-group:nth-child(2){animation-delay:.1s}.login-form .form-group:nth-child(3){animation-delay:.15s}.login-form .form-group:nth-child(4){animation-delay:.2s}.profile-page{padding:24px;max-width:1200px;margin:0 auto}.profile-header{margin-bottom:24px}.profile-header h1{display:flex;align-items:center;gap:12px;font-size:28px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.profile-header p{color:var(--text-secondary);margin:0;font-size:15px}.profile-message{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:var(--radius-md);margin-bottom:20px;font-size:14px}.profile-message--success{background:#5cb85c1a;border:1px solid var(--success);color:var(--success)}.profile-message--error{background:#b85c5c1a;border:1px solid var(--danger);color:var(--danger)}.profile-message button{background:none;border:none;font-size:18px;cursor:pointer;color:inherit}.profile-content{display:flex;gap:24px}.profile-sidebar{width:280px;flex-shrink:0;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px}.profile-avatar-section{text-align:center;padding-bottom:20px;border-bottom:1px solid var(--border-color);margin-bottom:20px}.profile-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--gold-600) 100%);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;color:var(--brown-900);overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar-section h3{margin:0 0 4px;font-size:18px;font-weight:600;color:var(--text-primary)}.profile-role{font-size:13px;color:var(--accent-primary);background:#c4a77d1a;padding:4px 12px;border-radius:12px}.profile-nav{display:flex;flex-direction:column;gap:4px}.profile-nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.profile-nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.profile-nav-item.active{background:#c4a77d1a;color:var(--accent-primary)}.profile-nav-item--danger{color:var(--danger);margin-top:16px;border-top:1px solid var(--border-color);padding-top:16px}.profile-nav-item--danger:hover{background:#b85c5c1a;color:var(--danger)}.profile-main{flex:1;min-width:0}.profile-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px}.profile-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.profile-section-header h2{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:600;color:var(--text-primary);margin:0}.profile-section-actions{display:flex;gap:8px}.profile-section h2{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:600;margin:0 0 16px}.profile-section h3{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.profile-section-desc{color:var(--text-secondary);margin:0 0 20px;font-size:14px}.profile-section-divider{height:1px;background:var(--border-color);margin:24px 0}.profile-form{display:flex;flex-direction:column;gap:20px}.profile-form-group{display:flex;flex-direction:column;gap:8px}.profile-form-group label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--text-secondary)}.profile-form-group input{padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:15px;transition:border-color .2s ease}.profile-form-group input:focus{outline:none;border-color:var(--accent-primary)}.profile-value{padding:12px 16px;background:var(--bg-secondary);border-radius:var(--radius-md);color:var(--text-primary);font-size:15px}.profile-badge{display:inline-flex;padding:4px 12px;background:#c4a77d1a;color:var(--accent-primary);border-radius:12px;font-size:13px;font-weight:500}.profile-linked-accounts{display:flex;flex-direction:column;gap:12px}.linked-account{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-secondary);border-radius:var(--radius-md)}.linked-account-info{display:flex;align-items:center;gap:12px}.linked-account-info>div{display:flex;flex-direction:column;gap:2px}.linked-account-name{font-weight:500;color:var(--text-primary)}.linked-account-status{font-size:13px;color:var(--text-muted)}.security-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-secondary);border-radius:var(--radius-md)}.security-item-info h4{margin:0 0 4px;font-size:15px;font-weight:500;color:var(--text-primary)}.security-item-info p{margin:0;font-size:13px;color:var(--text-muted)}.notification-settings{display:flex;flex-direction:column;gap:12px}.notification-setting{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-secondary);border-radius:var(--radius-md)}.notification-setting h4{margin:0 0 4px;font-size:15px;font-weight:500;color:var(--text-primary)}.notification-setting p{margin:0;font-size:13px;color:var(--text-muted)}.toggle{position:relative;display:inline-block;width:48px;height:26px}.toggle input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:var(--border-color);transition:.3s;border-radius:26px}.slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+.slider{background-color:var(--accent-primary)}input:checked+.slider:before{transform:translate(22px)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--bg-card);border-radius:var(--radius-lg);padding:24px;width:100%;max-width:420px;box-shadow:var(--shadow-lg)}.modal-content h3{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;margin:0 0 20px;color:var(--text-primary)}.password-form{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.password-form .form-group{display:flex;flex-direction:column;gap:6px}.password-form .form-group label{font-size:13px;font-weight:500;color:var(--text-secondary)}.password-form .form-group input{padding:12px 14px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:15px;transition:border-color .2s ease}.password-form .form-group input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #c4a77d1a}@media(max-width:768px){.profile-content{flex-direction:column}.profile-sidebar{width:100%}.profile-avatar-section{display:flex;align-items:center;gap:16px;text-align:left;padding-bottom:16px}.profile-avatar{margin:0;width:60px;height:60px}.profile-nav{flex-direction:row;flex-wrap:wrap;gap:8px}.profile-nav-item{flex:1;min-width:100px;justify-content:center}.profile-nav-item--danger{margin-top:0;border-top:none;padding-top:12px}}.permissions-page{padding:24px;max-width:1200px;margin:0 auto}.permissions-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.permissions-header__left h1{display:flex;align-items:center;gap:12px;font-size:28px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.permissions-header__left p{color:var(--text-secondary);margin:0;font-size:15px}.permissions-message{padding:12px 16px;border-radius:var(--radius-md);margin-bottom:20px;font-size:14px}.permissions-message--success{background:#5cb85c1a;border:1px solid var(--success);color:var(--success)}.permissions-message--error{background:#b85c5c1a;border:1px solid var(--danger);color:var(--danger)}.permissions-error{display:flex;align-items:center;gap:8px;padding:16px;background:#b85c5c1a;border:1px solid var(--danger);border-radius:var(--radius-md);color:var(--danger);margin-bottom:20px}.permissions-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid var(--border-color);padding-bottom:0}.permissions-tab{display:flex;align-items:center;gap:8px;padding:12px 20px;border:none;background:transparent;color:var(--text-secondary);font-size:15px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s ease}.permissions-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.permissions-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.permissions-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px}.permissions-tab__badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--danger);color:#fff;border-radius:10px;font-size:12px;font-weight:600;margin-left:4px}.pending-section{min-height:200px}.pending-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-muted)}.pending-empty h3{margin:16px 0 8px;color:var(--text-secondary);font-size:18px;font-weight:500}.pending-empty p{margin:0;font-size:14px}.pending-list{display:flex;flex-direction:column;gap:12px}.pending-card{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color .2s ease}.pending-card:hover{border-color:var(--accent-primary)}.pending-card__info{display:flex;align-items:center;gap:12px}.pending-card__avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#ff9800,#f57c00);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:18px}.pending-card__details{display:flex;flex-direction:column;gap:2px}.pending-card__name{font-weight:500;color:var(--text-primary);font-size:15px}.pending-card__email{font-size:13px;color:var(--text-muted)}.pending-card__phone{font-size:13px;color:var(--text-secondary)}.pending-card__date{font-size:12px;color:var(--text-muted);margin-top:4px}.pending-card__actions{display:flex;gap:8px}.lk-btn--success{background:#4caf50;color:#fff;border:none;padding:8px 16px;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s ease}.lk-btn--success:hover:not(:disabled){background:#43a047}.lk-btn--danger{background:#f44336;color:#fff;border:none;padding:8px 16px;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s ease}.lk-btn--danger:hover:not(:disabled){background:#e53935}.lk-btn--success:disabled,.lk-btn--danger:disabled{opacity:.6;cursor:not-allowed}.users-search{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:20px}.users-search input{flex:1;border:none;background:transparent;font-size:15px;color:var(--text-primary);outline:none}.users-search input::placeholder{color:var(--text-muted)}.users-list{display:flex;flex-direction:column;gap:12px}.users-empty{text-align:center;padding:40px;color:var(--text-muted)}.user-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;transition:border-color .2s ease}.user-card.expanded{border-color:var(--accent-primary)}.user-card__header{display:flex;justify-content:space-between;align-items:center;padding:16px;cursor:pointer;transition:background .2s ease}.user-card__header:hover{background:var(--bg-hover)}.user-card__info{display:flex;align-items:center;gap:12px}.user-card__avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--gold-600) 100%);display:flex;align-items:center;justify-content:center;color:var(--brown-900);font-weight:600;font-size:16px}.user-card__details{display:flex;flex-direction:column;gap:2px}.user-card__name{font-weight:500;color:var(--text-primary)}.user-card__email{font-size:13px;color:var(--text-muted)}.user-card__right{display:flex;align-items:center;gap:12px;color:var(--text-muted)}.user-card__level{padding:4px 12px;border-radius:12px;font-size:13px;font-weight:500}.user-card__level.level-0{background:#9ca3af1a;color:var(--text-muted)}.user-card__level.level-1{background:#3b82f61a;color:#3b82f6}.user-card__level.level-2{background:#22c55e1a;color:#22c55e}.user-card__level.level-3{background:#a855f71a;color:#a855f7}.user-card__level.level-4{background:#f59e0b1a;color:#f59e0b}.user-card__level.level-5{background:#ef44441a;color:#ef4444}.user-card__body{padding:16px;border-top:1px solid var(--border-color);background:var(--bg-card)}.user-card__body h4{margin:0 0 12px;font-size:14px;font-weight:500;color:var(--text-secondary)}.user-card__saving{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:13px;color:var(--text-muted)}.user-card__readonly{display:flex;align-items:center;gap:8px;padding:12px;background:#f59e0b1a;border-radius:var(--radius-md);color:#f59e0b;font-size:14px}.role-badges{display:flex;flex-wrap:wrap;gap:8px}.role-badge{position:relative;display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border-color);border-radius:20px;background:var(--bg-secondary);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.role-badge:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.role-badge--active{background:#c4a77d1a;border-color:var(--accent-primary);color:var(--accent-primary)}.role-badge:disabled{opacity:.5;cursor:not-allowed}.role-badge__check{font-size:12px}.pages-notice{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-md);color:#f59e0b;font-size:14px;margin-bottom:20px}.pages-list{display:flex;flex-direction:column;gap:12px}.page-card{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.page-card__info{display:flex;flex-direction:column;gap:2px}.page-card__name{font-weight:500;color:var(--text-primary)}.page-card__path{font-size:13px;color:var(--text-muted);font-family:monospace}.page-card__controls{display:flex;align-items:center;gap:20px}.page-card__level{display:flex;align-items:center;gap:8px}.page-card__level label{font-size:13px;color:var(--text-secondary)}.page-card__level select{padding:6px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);font-size:13px}.page-card__level select:disabled{opacity:.6;cursor:not-allowed}.page-card__visible{display:flex;align-items:center}.page-card__visible label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);cursor:pointer}.page-card__visible input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-primary)}.page-card__visible input:disabled{opacity:.6;cursor:not-allowed}.spin{animation:spin 1s linear infinite}@media(max-width:768px){.permissions-header{flex-direction:column;gap:16px}.permissions-tabs{overflow-x:auto}.page-card{flex-direction:column;gap:12px;align-items:flex-start}.page-card__controls{width:100%;justify-content:space-between}}.volunteer-setup-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);padding:20px}.volunteer-setup-container{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);width:100%;max-width:600px;overflow:hidden}.volunteer-setup-header{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--gold-600) 100%);padding:32px;text-align:center;color:var(--brown-900)}.volunteer-setup-header h1{margin:0 0 8px;font-size:24px;font-weight:700}.volunteer-setup-header p{margin:0;opacity:.9;font-size:15px}.volunteer-setup-steps{display:flex;justify-content:space-between;padding:24px 32px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.setup-step{display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.5;transition:all .3s ease}.setup-step.active,.setup-step.completed{opacity:1}.setup-step__number{width:36px;height:36px;border-radius:50%;background:var(--border-color);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;transition:all .3s ease}.setup-step.active .setup-step__number{background:var(--accent-primary);color:var(--brown-900)}.setup-step.completed .setup-step__number{background:#4caf50;color:#fff}.setup-step__label{font-size:12px;color:var(--text-muted);font-weight:500}.setup-step.active .setup-step__label{color:var(--accent-primary)}.volunteer-setup-form{padding:32px}.setup-section{text-align:center}.setup-section__icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--gold-600) 100%);color:var(--brown-900);margin-bottom:16px}.setup-section h2{margin:0 0 8px;font-size:20px;color:var(--text-primary)}.setup-section p{margin:0 0 24px;color:var(--text-secondary);font-size:14px}.volunteer-setup-form .form-group{margin-bottom:20px;text-align:left}.volunteer-setup-form .form-group label{display:block;margin-bottom:8px;color:var(--text-secondary);font-size:14px;font-weight:500}.volunteer-setup-form .form-group input,.volunteer-setup-form .form-group select,.volunteer-setup-form .form-group textarea{width:100%;padding:14px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:15px;transition:border-color .2s ease,box-shadow .2s ease}.volunteer-setup-form .form-group input:focus,.volunteer-setup-form .form-group select:focus,.volunteer-setup-form .form-group textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #c4a77d33}.volunteer-setup-form .form-group input:disabled{opacity:.6;cursor:not-allowed}.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;text-align:left}.skill-chip{display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);cursor:pointer;transition:all .2s ease}.skill-chip:hover{border-color:var(--accent-primary)}.skill-chip.active{background:#c4a77d26;border-color:var(--accent-primary)}.skill-chip__icon{font-size:20px}.skill-chip__label{font-size:14px;color:var(--text-primary)}.setup-summary{margin-top:24px;padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);text-align:left}.setup-summary h4{margin:0 0 12px;font-size:14px;color:var(--text-secondary)}.summary-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-color);font-size:14px}.summary-item:last-child{border-bottom:none}.summary-item span{color:var(--text-muted)}.summary-item strong{color:var(--text-primary)}.setup-error{background:#b85c5c1a;border:1px solid var(--danger);color:var(--danger);padding:12px 16px;border-radius:var(--radius-md);font-size:14px;margin-top:20px;text-align:center}.setup-actions{display:flex;justify-content:space-between;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid var(--border-color)}.setup-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border:none;border-radius:var(--radius-md);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.setup-btn--primary{flex:1;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--gold-600) 100%);color:var(--brown-900)}.setup-btn--primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.setup-btn--secondary{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.setup-btn--secondary:hover{background:var(--bg-hover)}.setup-btn--success{flex:1;background:#4caf50;color:#fff}.setup-btn--success:hover:not(:disabled){background:#43a047;transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.setup-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}@media(max-width:480px){.volunteer-setup-container{margin:0;border-radius:0;min-height:100vh}.volunteer-setup-steps{padding:16px}.setup-step__label{display:none}.skills-grid{grid-template-columns:1fr}.setup-actions{flex-direction:column}}:root{--slate-900: #0f172a;--slate-800: #1e293b;--slate-700: #334155;--slate-600: #475569;--slate-500: #64748b;--slate-400: #94a3b8;--slate-300: #cbd5e1;--slate-200: #e2e8f0;--slate-100: #f1f5f9;--slate-50: #f8fafc;--primary-500: #10b981;--primary-600: #059669;--primary-700: #047857;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--info: #3b82f6;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-card: #ffffff;--bg-hover: #f1f5f9;--bg-sidebar: #f8fafc;--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--border-color: #e2e8f0;--border-light: #f1f5f9;--nav-active-bg: #334155;--nav-active-text: #ffffff;--nav-hover-bg: #f1f5f9;--accent-primary: #334155;--accent-hover: #475569;--accent-active-bg: #334155;--accent-active-text: #ffffff;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--brown-900: #1e293b;--brown-800: #334155;--gold-400: #10b981;--gold-500: #059669;--gold-600: #047857;--beige-100: #f8fafc;--beige-200: #f1f5f9;--beige-300: #e2e8f0;--color-brown-900: #1e293b;--color-brown-800: #334155;--color-gold-500: #10b981;--color-success: #22c55e;--color-warning: #f59e0b;--color-danger: #ef4444;--color-info: #3b82f6}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Noto Sans TC,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--bg-secondary, #F9FAFB);color:var(--text-primary);min-height:100vh;line-height:1.6}.layout{display:flex;min-height:100vh;background:var(--bg-secondary, #F9FAFB)}.sidebar{width:260px;background:var(--bg-sidebar);padding:16px 12px;display:flex;flex-direction:column;border-right:1px solid var(--border-color);position:relative;z-index:200}.logo{display:flex;align-items:center;gap:12px;padding:8px 12px 24px;border-bottom:1px solid var(--border-color);margin-bottom:16px}.logo-icon{width:40px;height:40px;background:transparent;border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.logo-image{width:100%;height:100%;object-fit:contain;padding:4px}.logo h1{font-size:16px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.logo-subtitle{font-size:12px;color:var(--text-muted);margin-top:2px}.nav{display:flex;flex-direction:column;gap:4px;flex:1;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:var(--text-secondary);text-decoration:none;transition:all .15s ease;font-size:14px;font-weight:500}.nav-item.active{background:var(--nav-active-bg, #334155);color:var(--nav-active-text, #ffffff);font-weight:600}.nav-label{font-size:14px}.sidebar-footer{padding:16px 12px;text-align:center;color:var(--text-muted);font-size:12px;border-top:1px solid var(--border-color);margin-top:16px}.main-content{flex:1;padding:24px;overflow-y:auto;background:var(--bg-primary)}font-size: var(--font-size-base); } .sidebar-footer{padding:var(--spacing-4) var(--spacing-3);text-align:center;color:var(--text-muted);font-size:var(--font-size-xs);border-top:1px solid var(--border-color, #e2e8f0);margin-top:var(--spacing-4);letter-spacing:var(--letter-spacing-wide)}.main-content{flex:1;padding:var(--spacing-8);overflow-y:auto;background:var(--gradient-warm);position:relative}.main-content:before{content:"";position:fixed;top:0;right:0;width:50%;height:50%;background:radial-gradient(circle at 100% 0%,rgba(196,167,125,.03) 0%,transparent 50%);pointer-events:none;z-index:0}.page h2{font-size:28px;margin-bottom:24px;color:var(--text-primary);font-weight:700}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:var(--bg-card);padding:24px;border-radius:16px;display:flex;align-items:center;gap:16px;border:1px solid var(--border-color);transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.stat-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;background:linear-gradient(135deg,var(--gold-400),var(--gold-600))}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:32px;font-weight:700;color:var(--accent-primary);line-height:1.2}.stat-label{color:var(--text-secondary);font-size:14px;margin-top:4px}.dashboard-sections{display:grid;grid-template-columns:1fr 1fr;gap:24px}.recent-events,.map-preview{background:var(--bg-card);padding:24px;border-radius:16px;border:1px solid var(--border-color)}.recent-events h3,.map-preview h3{font-size:16px;margin-bottom:16px;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.event-list{display:flex;flex-direction:column;gap:12px}.event-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;background:var(--bg-secondary);transition:background .2s ease}.event-item:hover{background:var(--bg-hover)}.event-item.priority-high{border-left:3px solid var(--danger)}.event-item.priority-medium{border-left:3px solid var(--warning)}.event-item.priority-low{border-left:3px solid var(--success)}.event-category{background:var(--accent-primary);color:var(--brown-900);padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.event-title{flex:1;font-weight:500}.event-time{color:var(--text-muted);font-size:12px}.map-placeholder{height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:12px;color:var(--text-muted);border:2px dashed var(--border-color)}.map-placeholder span{font-size:48px;margin-bottom:8px}.btn-primary{background:linear-gradient(135deg,var(--gold-400),var(--gold-600));color:var(--brown-900);border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:14px}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-light)}.btn-small{background:transparent;color:var(--accent-primary);border:1px solid var(--accent-primary);padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s ease}.btn-small:hover{background:var(--accent-primary);color:var(--brown-900)}.filter-bar{display:flex;gap:12px;margin-bottom:24px}.filter-select,.filter-search{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);padding:10px 16px;border-radius:8px;font-size:14px}.filter-search{flex:1}.filter-select:focus,.filter-search:focus{outline:none;border-color:var(--accent-primary)}.events-table{background:var(--bg-card);border-radius:16px;overflow:hidden;border:1px solid var(--border-color)}.events-table table{width:100%;border-collapse:collapse}.events-table th,.events-table td{padding:16px;text-align:left;border-bottom:1px solid var(--border-color)}.events-table th{background:var(--bg-secondary);color:var(--text-secondary);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.events-table tr:hover td{background:var(--bg-hover)}.severity{color:var(--warning)}.category-tag{background:#c4a77d33;color:var(--accent-primary);padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-active{background:#b85c5c33;color:var(--danger)}.status-resolved{background:#6b8e5c33;color:var(--success)}.task-board{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.task-column{background:var(--bg-card);border-radius:16px;padding:16px;border:1px solid var(--border-color)}.column-header{display:flex;justify-content:space-between;align-items:center;padding:12px;border-radius:8px;margin-bottom:16px;font-weight:600}.column-header.pending{background:#c9a25633;color:var(--warning)}.column-header.in-progress,.column-header.in_progress{background:#c4a77d33;color:var(--accent-primary)}.column-header.completed{background:#6b8e5c33;color:var(--success)}.column-header .count{background:#ffffff1a;padding:2px 8px;border-radius:10px;font-size:12px}.task-list{display:flex;flex-direction:column;gap:12px;min-height:100px}.task-card{background:var(--bg-secondary);padding:16px;border-radius:8px;border:1px solid var(--border-color);cursor:pointer;transition:all .2s ease}.task-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent-primary)}.task-card.completed{opacity:.6}.task-priority{display:inline-block;background:var(--danger);color:#fff;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700;margin-bottom:8px}.task-title{font-weight:500;margin-bottom:8px;color:var(--text-primary)}.task-desc{color:var(--text-muted);font-size:12px;margin-bottom:12px;line-height:1.4}.task-assignee{color:var(--text-muted);font-size:12px}.modal-overlay{position:fixed;inset:0;background:#3d2e24cc;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--bg-card);padding:32px;border-radius:16px;width:100%;max-width:480px;border:1px solid var(--border-color);box-shadow:var(--shadow-lg)}.modal h3{margin-bottom:24px;font-size:20px;color:var(--text-primary)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:var(--text-secondary);font-size:14px;font-weight:500}.form-group input,.form-group textarea,.form-group select{width:100%;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:12px 16px;border-radius:8px;font-size:14px;transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent-primary)}.form-group textarea{min-height:100px;resize:vertical}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.empty-state{text-align:center;padding:40px 20px;color:var(--text-muted)}.empty-state span{font-size:48px;display:block;margin-bottom:12px}.empty-column{text-align:center;padding:24px;color:var(--text-muted);font-size:14px}.loading{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-muted)}@media(max-width:1024px){.dashboard-sections,.task-board{grid-template-columns:1fr}}@media(max-width:768px){.main-content{padding:16px}}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.page-header__left{display:flex;align-items:center;gap:12px}.page-header h2{margin:0}.stat-card-vi{transition:transform .2s ease,box-shadow .2s ease}.stat-card-vi:hover{transform:translateY(-4px)}.stat-card-vi__content{display:flex;align-items:center;gap:16px}.stat-card-vi__icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:26px;background:#c4a77d1f;border:1.5px solid rgba(196,167,125,.25);color:var(--color-gold-600);flex-shrink:0;transition:all .2s ease}.stat-card-vi:hover .stat-card-vi__icon{background:#c4a77d2e;border-color:#c4a77d66;transform:scale(1.05)}.stat-card-vi__data{display:flex;flex-direction:column}.stat-card-vi__value{font-size:32px;font-weight:700;line-height:1.2}.stat-card-vi__value--default{color:var(--accent-primary)}.stat-card-vi__value--success{color:var(--color-success)}.stat-card-vi__value--warning{color:var(--color-warning)}.stat-card-vi__value--danger{color:var(--color-danger)}.stat-card-vi__label{color:var(--text-secondary);font-size:14px;margin-top:4px}.task-card-vi{transition:all .2s ease;cursor:pointer}.task-card-vi:hover{transform:translateY(-2px);border-color:var(--accent-primary)}.task-card-vi--completed{opacity:.6}.task-card-vi__header{margin-bottom:8px}.task-card-vi__title{font-weight:500;margin-bottom:8px;color:var(--text-primary)}.task-card-vi__desc{color:var(--text-muted);font-size:12px;margin-bottom:12px;line-height:1.4}.dashboard-alert{margin-bottom:24px}.column-header.pending{background:#c9a25633;color:var(--color-warning)}.column-header.in-progress{background:#5c7b8e33;color:var(--color-info)}.column-header.completed{background:#6b8e5c33;color:var(--color-success)}.map-page{height:calc(100vh - 64px);display:flex;flex-direction:column;width:100%}.map-layout{display:grid;grid-template-columns:1fr 350px;gap:24px;flex:1;min-height:0;width:100%}.map-container{position:relative;border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--border-color);background:var(--bg-card);min-height:500px;width:100%}.leaflet-container{font-family:var(--font-family-primary)}.leaflet-popup-content-wrapper{background:var(--bg-card);color:var(--text-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.leaflet-popup-tip{background:var(--bg-card)}.map-popup h4{margin:0 0 8px;font-size:14px;font-weight:600}.map-popup__category{color:var(--text-muted);font-size:12px;margin:4px 0}.map-popup__severity{font-weight:600;font-size:12px;margin:4px 0}.map-legend{position:absolute;bottom:24px;left:24px;background:var(--bg-card);padding:12px 16px;border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:1000;max-height:calc(100vh - 200px);overflow-y:auto}.map-severity-legend{position:absolute;bottom:95px;right:75px;background:var(--bg-card);padding:10px 14px;border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:1000}.map-legend__title{font-weight:600;font-size:12px;margin-bottom:8px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.map-legend__item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);margin:4px 0}.map-legend__color{width:12px;height:12px;border-radius:50%}.map-sidebar{display:flex;flex-direction:column;gap:16px;overflow-y:auto}.map-event-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto;padding-right:4px}.map-event-item{padding:12px;background:var(--bg-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;border:2px solid transparent}.map-event-item:hover{background:var(--bg-hover)}.map-event-item--selected{border-color:var(--accent-primary);background:var(--bg-hover)}.map-event-item__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.map-event-item__location{font-size:14px}.map-event-item__title{font-weight:500;font-size:14px;margin-bottom:4px;color:var(--text-primary)}.map-event-item__meta{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted)}.map-event-detail__content h4{margin:0 0 8px;font-size:16px;color:var(--text-primary)}.map-event-detail__desc{color:var(--text-secondary);font-size:14px;margin-bottom:16px;line-height:1.5}.map-event-detail__info{display:flex;flex-direction:column;gap:8px;font-size:14px;margin-bottom:16px}.map-event-detail__info strong{color:var(--text-secondary);margin-right:8px}.map-event-detail__actions{display:flex;gap:8px;flex-wrap:wrap}.map-event-detail__gps{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-color)}.gps-coords{font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;background:var(--bg-secondary);padding:4px 8px;border-radius:4px;color:var(--accent-primary)}.copy-btn{background:none;border:none;cursor:pointer;font-size:14px;padding:4px;opacity:.7;transition:opacity .2s}.copy-btn:hover{opacity:1}@media(max-width:1024px){.map-layout{grid-template-columns:1fr}.map-container{min-height:400px}.map-sidebar{max-height:300px}}.map-filters{display:flex;gap:8px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.map-filter{flex:1;display:flex;flex-direction:column;gap:4px}.map-filter label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.map-filter select{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:8px 12px;border-radius:var(--radius-sm);font-size:13px;cursor:pointer;transition:border-color .2s ease}.map-filter select:focus{outline:none;border-color:var(--accent-primary)}.map-filter select:hover{border-color:var(--accent-primary)}.map-layer-selector{position:absolute;top:24px;left:24px;z-index:1000}.map-layer-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);padding:10px 16px;border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;box-shadow:var(--shadow-md);transition:all .2s ease;display:flex;align-items:center;gap:6px}.map-layer-btn:hover{background:var(--bg-hover);border-color:var(--accent-primary)}.map-layer-menu{position:absolute;top:100%;left:0;margin-top:8px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;min-width:120px}.map-layer-option{display:block;width:100%;padding:10px 16px;border:none;background:transparent;color:var(--text-primary);font-size:13px;text-align:left;cursor:pointer;transition:background .15s ease}.map-layer-option:hover{background:var(--bg-hover)}.map-layer-option.active{background:var(--accent-primary);color:var(--brown-900);font-weight:600}.map-locate-btn{position:absolute;bottom:195px;right:10px;z-index:1000;width:40px;height:40px;background:#fff;border:none;border-radius:2px;cursor:pointer;box-shadow:0 1px 4px #0000004d;transition:background .2s ease;display:flex;align-items:center;justify-content:center;color:#666}.map-locate-btn:hover:not(:disabled){background:#f5f5f5;color:#333}.map-locate-btn:disabled{cursor:not-allowed;opacity:.6}.map-locate-btn--loading{color:#4285f4}.map-locate-btn--loading svg{animation:spin-locate 1s linear infinite}@keyframes spin-locate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.map-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;background:var(--bg-secondary);color:var(--text-secondary);gap:16px}.map-loading__spinner{width:48px;height:48px;border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}.map-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;background:var(--bg-secondary);border-radius:var(--radius-lg);color:var(--text-secondary);text-align:center;padding:40px}.map-error h3{margin-bottom:8px;color:var(--color-danger)}.gmap-infowindow{min-width:220px;max-width:300px;padding:4px;font-family:var(--font-family-base)}.gmap-infowindow__header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.gmap-infowindow__severity{display:inline-block;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;color:#fff;text-transform:uppercase}.gmap-infowindow__category{font-size:12px;color:var(--text-muted);background:var(--bg-secondary);padding:2px 8px;border-radius:4px}.gmap-infowindow__title{font-size:15px;font-weight:600;color:#333;margin:0 0 8px;line-height:1.3}.gmap-infowindow__desc{font-size:13px;color:#666;margin:0 0 8px;line-height:1.5;max-height:60px;overflow:hidden;text-overflow:ellipsis}.gmap-infowindow__address{font-size:12px;color:#888;margin:0 0 12px}.gmap-infowindow__actions{display:flex;gap:8px;padding-top:8px;border-top:1px solid #eee}.gmap-infowindow__actions button{flex:1;padding:8px 12px;background:var(--accent-primary);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.gmap-infowindow__actions button:hover{background:var(--accent-secondary);transform:translateY(-1px)}.gm-style-iw-c{padding:12px!important;border-radius:12px!important;box-shadow:0 4px 20px #00000026!important}.gm-style-iw-d{overflow:hidden!important}.gm-style-iw-t:after{background:#fff!important;box-shadow:none!important}.gm-ui-hover-effect{top:2px!important;right:2px!important}.gm-style gmp-internal-camera-control,.gm-style gmp-internal-camera-control.gmnoprint,button[aria-label="Keyboard shortcuts"],button[aria-label=鍵盤快速鍵],button[aria-label="Map camera controls"],button[aria-label=地圖相機控制],.gm-tilt{display:none!important}.ncdr-page{display:flex;flex-direction:column;gap:24px}.ncdr-filter{padding:20px!important}.ncdr-filter__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.ncdr-filter__header h4{margin:0;font-size:16px;color:var(--text-primary)}.ncdr-filter__actions{display:flex;gap:8px}.ncdr-filter__actions button{padding:6px 12px;border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:6px;font-size:12px;cursor:pointer;transition:all .15s ease}.ncdr-filter__actions button:hover{background:var(--accent-primary);color:var(--brown-900);border-color:var(--accent-primary)}.ncdr-filter__groups{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}@media(max-width:900px){.ncdr-filter__groups{grid-template-columns:1fr}}.ncdr-filter__group h5{font-size:13px;color:var(--text-secondary);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.ncdr-filter__items{display:flex;flex-wrap:wrap;gap:8px}.ncdr-filter__item{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--bg-secondary);border-radius:6px;font-size:13px;cursor:pointer;transition:all .15s ease}.ncdr-filter__item:hover{background:#c4a77d26}.ncdr-filter__item input{accent-color:var(--accent-primary)}.ncdr-filter__item span.core{font-weight:600;color:var(--color-warning)}.ncdr-filter__footer{margin-top:16px;padding-top:12px;border-top:1px solid var(--border-color);font-size:12px;color:var(--text-muted)}.ncdr-filter__footer p{margin:4px 0}.ncdr-alerts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:16px}.ncdr-empty{grid-column:1 / -1}.ncdr-alert-card{padding:16px!important}.ncdr-alert__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ncdr-alert__severity{font-size:12px;font-weight:600}.ncdr-alert__title{font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 8px;line-height:1.4}.ncdr-alert__desc{font-size:13px;color:var(--text-secondary);margin:0 0 12px;line-height:1.5;max-height:60px;overflow:hidden;text-overflow:ellipsis}.ncdr-alert__meta{display:flex;gap:16px;font-size:12px;color:var(--text-muted);margin-bottom:12px}.ncdr-alert__link{display:inline-block;font-size:13px;color:var(--accent-primary);text-decoration:none;font-weight:500}.ncdr-alert__link:hover{text-decoration:underline}.map-legend__toggle{display:flex;align-items:center;gap:8px;padding:6px 0;cursor:pointer;font-size:13px;transition:opacity .15s ease}.map-legend__toggle:hover{opacity:.8}.map-legend__toggle input{accent-color:var(--accent-primary)}.ncdr-type-filters{margin-left:24px;padding-left:12px;border-left:2px solid var(--border-color);display:flex;flex-direction:column;gap:4px;margin-top:4px;max-height:400px;overflow-y:auto}.ncdr-type-filter{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;cursor:pointer;font-size:12px;transition:all .15s ease}.ncdr-type-filter:hover{background:#c4a77d1a}.ncdr-type-filter input{accent-color:var(--accent-primary);width:14px;height:14px;flex-shrink:0}.ncdr-type-icon{font-size:14px;flex-shrink:0}.ncdr-type-name{color:var(--text-primary);flex:1}.ncdr-type-count{color:var(--text-muted);font-size:11px;font-family:JetBrains Mono,monospace}.ncdr-type-filter--extended{opacity:.85}.ncdr-type-filter--extended:hover{opacity:1}.ncdr-type-expand{background:none;border:none;color:var(--accent-primary);font-size:11px;padding:6px 8px;cursor:pointer;text-align:left;transition:color .15s ease;margin-top:4px}.ncdr-type-expand:hover{color:var(--accent-secondary)}.ncdr-extended-types{display:flex;flex-direction:column;gap:2px;padding-top:4px;border-top:1px dashed var(--border-color);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sidebar-tabs{display:flex;gap:0;margin-bottom:12px;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-secondary);padding:4px}.sidebar-tab{flex:1;padding:10px 12px;background:transparent;border:none;font-size:13px;font-weight:500;cursor:pointer;color:var(--text-secondary);border-radius:var(--radius-sm);transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.sidebar-tab:hover{color:var(--text-primary);background:#c4a77d1a}.sidebar-tab--active{background:var(--accent-primary);color:var(--brown-900);font-weight:600}.sidebar-tab--active:hover{background:var(--accent-primary);color:var(--brown-900)}.sidebar-tab__count{font-size:11px;font-weight:600;background:#00000026;padding:2px 6px;border-radius:10px;min-width:20px;text-align:center}.sidebar-tab--active .sidebar-tab__count{background:#0003}.map-event-item--ncdr{border-left:3px solid var(--color-warning)}.ncdr-source{color:var(--text-muted);font-size:11px}.header-layer-toggles{display:flex;align-items:center;gap:16px;margin-left:20px}.header-layer-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:14px;color:var(--text-secondary);transition:color .2s ease}.header-layer-toggle:hover{color:var(--text-primary)}.header-layer-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-primary);cursor:pointer}.header-layer-toggle span{white-space:nowrap}.header-severity-legend{display:flex;align-items:center;gap:12px;font-size:13px}.header-severity-legend__label{color:var(--text-secondary);font-weight:500}.header-severity-legend__item{display:flex;align-items:center;gap:4px}.header-severity-legend__dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.header-severity-legend__text{color:var(--text-primary);font-size:12px}@media(max-width:768px){.header-severity-legend,.page-header__right{display:none}.sidebar-tabs{flex-direction:column}.sidebar-tab{padding:8px 10px;font-size:12px}.map-filters{flex-direction:column}.map-filter{width:100%}}@media(max-width:1024px){.header-severity-legend__text{display:none}.header-severity-legend__item{gap:2px}.header-severity-legend{gap:8px}}.pwa-update-prompt{position:fixed;bottom:24px;right:24px;z-index:9999;animation:slideInUp .3s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pwa-update-prompt__content{display:flex;align-items:center;gap:12px;background:var(--bg-card);border:1px solid var(--accent-primary);border-radius:12px;padding:16px 20px;box-shadow:var(--shadow-lg),0 4px 20px #c4a77d33}.pwa-update-prompt__icon{font-size:24px;animation:spin 2s linear infinite}.pwa-update-prompt__text{font-weight:500;color:var(--text-primary)}.pwa-update-prompt__btn{padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.pwa-update-prompt__btn--primary{background:linear-gradient(135deg,var(--gold-400),var(--gold-600));color:var(--brown-900)}.pwa-update-prompt__btn--primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.pwa-update-prompt__btn--secondary{background:transparent;color:var(--text-muted);border:1px solid var(--border-color)}.pwa-update-prompt__btn--secondary:hover{background:var(--bg-hover)}@media(max-width:480px){.pwa-update-prompt{left:16px;right:16px;bottom:16px}.pwa-update-prompt__content{flex-wrap:wrap;justify-content:center;text-align:center}.pwa-update-prompt__text{flex:1 1 100%;margin-bottom:8px}}.manuals-page{max-width:1200px;margin:0 auto}.page-subtitle{color:var(--text-muted);font-size:14px;margin-top:4px}.manuals-search{position:relative;margin-bottom:24px}.manuals-search__input{width:100%;padding:14px 48px 14px 20px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-card);font-size:15px;color:var(--text-primary);transition:all .2s ease}.manuals-search__input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #b8976f26}.manuals-search__clear{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:var(--bg-secondary);border:none;width:24px;height:24px;border-radius:50%;cursor:pointer;color:var(--text-muted);font-size:12px}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.category-card{cursor:pointer;transition:all .2s ease;display:flex;gap:16px;align-items:flex-start}.category-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.category-card__icon{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.category-card__content{flex:1}.category-card__title{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.category-card__desc{font-size:13px;color:var(--text-muted);margin-bottom:8px;line-height:1.5}.manuals-list-section{margin-top:16px}.manuals-list-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.manuals-back-btn,.manual-back-btn{background:var(--bg-secondary);border:1px solid var(--border-color);padding:8px 16px;border-radius:8px;cursor:pointer;color:var(--text-secondary);font-size:14px;transition:all .2s ease}.manuals-back-btn:hover,.manual-back-btn:hover{background:var(--bg-hover)}.manuals-list-title{display:flex;align-items:center;gap:8px}.manuals-list-title h3{font-size:20px;color:var(--text-primary)}.manuals-list{display:flex;flex-direction:column;gap:12px}.manual-item{display:flex;align-items:center;gap:16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:16px 20px;text-decoration:none;transition:all .2s ease}.manual-item:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-md)}.manual-item__category{font-size:24px}.manual-item__content{flex:1}.manual-item__title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.manual-item__summary{font-size:13px;color:var(--text-muted);margin-bottom:8px}.manual-item__tags{display:flex;gap:6px;flex-wrap:wrap}.manual-item__arrow{font-size:20px;color:var(--text-muted)}.manuals-empty{text-align:center;padding:60px 20px;color:var(--text-muted)}.manuals-empty span{font-size:48px;display:block;margin-bottom:12px}.manuals-search-results{margin-top:24px}.manuals-search-results h3{font-size:16px;color:var(--text-secondary);margin-bottom:16px}.manual-detail-page{max-width:800px;margin:0 auto}.manual-detail-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.manual-breadcrumb{font-size:14px;font-weight:500}.manual-detail-card{margin-bottom:24px}.manual-detail-title-section{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.manual-detail-title{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:8px;line-height:1.3}.manual-detail-summary{font-size:16px;color:var(--text-secondary);margin-bottom:12px}.manual-detail-tags{display:flex;gap:8px;flex-wrap:wrap}.manual-warning{display:flex;align-items:flex-start;gap:12px;background:#e85a5a1a;border:1px solid rgba(232,90,90,.3);border-radius:12px;padding:16px;margin-bottom:24px}.manual-warning__icon{font-size:24px}.manual-warning p{color:var(--danger);font-weight:500;line-height:1.5}.manual-detail-content{font-size:16px;line-height:1.8;color:var(--text-primary);margin-bottom:32px}.manual-steps{margin-bottom:32px}.manual-steps h2{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:20px}.manual-steps-list{display:flex;flex-direction:column;gap:16px}.manual-step{display:flex;gap:16px;padding:16px;background:var(--bg-secondary);border-radius:12px}.manual-step__number{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;flex-shrink:0}.manual-step__content h3{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.manual-step__content p{font-size:14px;color:var(--text-secondary);line-height:1.6}.manual-tips{background:#c4a77d1a;border-radius:12px;padding:20px}.manual-tips h2{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.manual-tips ul{margin:0;padding-left:20px}.manual-tips li{font-size:14px;color:var(--text-secondary);line-height:1.8}.manual-offline-badge{display:inline-flex;align-items:center;gap:6px;background:#6b8e5c26;color:var(--success);font-size:13px;font-weight:500;padding:8px 16px;border-radius:20px}.manual-not-found{text-align:center;padding:80px 20px}.manual-not-found h2{font-size:24px;margin:16px 0 8px}.manual-not-found p{color:var(--text-muted);margin-bottom:24px}@media(max-width:768px){.category-grid{grid-template-columns:1fr}.manual-detail-title{font-size:22px}.manual-step{flex-direction:column}}.report-page{max-width:700px;margin:0 auto}.report-form{margin-bottom:24px}.report-error{background:#f443361a;border:1px solid rgba(244,67,54,.3);color:var(--danger);padding:12px 16px;border-radius:8px;margin-bottom:20px;font-weight:500}.form-section{margin-bottom:24px}.form-label{display:block;font-weight:600;color:var(--text-primary);margin-bottom:8px;font-size:14px}.form-input,.form-textarea{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);font-size:15px;color:var(--text-primary);transition:all .2s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #b8976f26}.form-textarea{resize:vertical;min-height:120px}.disaster-type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.disaster-type-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 8px;border:2px solid var(--border-color);border-radius:12px;background:var(--bg-secondary);cursor:pointer;transition:all .2s ease}.disaster-type-btn:hover{border-color:var(--accent-primary);background:var(--bg-hover)}.disaster-type-btn.active{border-color:var(--accent-primary);background:#b8976f26}.disaster-type-btn__icon{font-size:28px;margin-bottom:6px}.disaster-type-btn__label{font-size:12px;font-weight:500;color:var(--text-secondary)}.disaster-type-btn.active .disaster-type-btn__label{color:var(--text-primary)}.severity-grid{display:flex;gap:10px;flex-wrap:wrap}.severity-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);cursor:pointer;font-size:14px;font-weight:500;color:var(--text-secondary);transition:all .2s ease}.severity-dot{width:10px;height:10px;border-radius:50%}.location-section{display:flex;flex-direction:column;gap:10px}.location-coords{display:flex;align-items:center;gap:12px}.location-btn{padding:6px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);cursor:pointer;font-size:13px;color:var(--text-secondary);transition:all .2s ease}.location-btn:hover{background:var(--bg-hover)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.report-submit-btn{width:100%;padding:16px;font-size:16px;margin-top:8px}.report-success{text-align:center;padding:60px 40px!important}.report-success__icon{font-size:64px;margin-bottom:16px}.report-success h2{font-size:24px;margin-bottom:8px}.report-success p{color:var(--text-muted);margin-bottom:24px}.report-success__buttons{display:flex;gap:12px;justify-content:center}@media(max-width:600px){.disaster-type-grid{grid-template-columns:repeat(2,1fr)}.severity-grid{flex-direction:column}.contact-grid{grid-template-columns:1fr}}.volunteers-page{max-width:1200px}.volunteers-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{text-align:center}.stat-card__value{font-size:32px;font-weight:700;color:var(--text-primary)}.stat-card__label{font-size:13px;color:var(--text-muted);margin-top:4px}.stat-card--success .stat-card__value{color:#4caf50}.stat-card--warning .stat-card__value{color:#ff9800}.stat-card--info .stat-card__value{color:#2196f3}.volunteers-filters{display:flex;gap:16px;align-items:center;margin-bottom:24px;flex-wrap:wrap}.volunteers-search{flex:1;min-width:200px}.volunteers-status-filters{display:flex;gap:8px}.status-filter-btn{padding:8px 16px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);cursor:pointer;font-size:13px;color:var(--text-secondary);transition:all .2s ease}.status-filter-btn:hover{background:var(--bg-hover)}.status-filter-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.volunteers-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:16px}.volunteer-card{display:flex;flex-direction:column;gap:12px}.volunteer-card__header{display:flex;align-items:center;gap:12px}.volunteer-card__avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;color:#fff}.volunteer-card__info{flex:1}.volunteer-card__name{font-size:16px;font-weight:600;margin:0}.volunteer-card__region{font-size:13px;color:var(--text-muted);margin:2px 0 0}.volunteer-card__skills{display:flex;flex-wrap:wrap;gap:6px}.skill-tag{padding:4px 10px;background:var(--bg-hover);border-radius:12px;font-size:12px;color:var(--text-secondary)}.volunteer-card__stats{display:flex;gap:16px;font-size:13px;color:var(--text-muted);padding-top:8px;border-top:1px solid var(--border-color)}.volunteer-card__actions{display:flex;gap:8px;padding-top:8px}.volunteers-empty{grid-column:1 / -1;text-align:center;padding:60px 20px;color:var(--text-muted)}.volunteers-empty span{font-size:48px;display:block;margin-bottom:12px}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{max-width:500px;width:90%}.modal-content h3{margin-top:0}.modal-desc{color:var(--text-muted);margin-bottom:20px}.modal-actions{display:flex;gap:12px;justify-content:flex-end}@media(max-width:768px){.volunteers-stats{grid-template-columns:repeat(2,1fr)}.volunteers-filters{flex-direction:column;align-items:stretch}.volunteers-search{width:100%}.volunteers-status-filters{flex-wrap:wrap}.volunteers-list{grid-template-columns:1fr}}.stats-grid--6{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-bottom:24px}.trend{font-size:14px;margin-left:4px}.trend--up{color:#4caf50}.trend--down{color:#f44336}.stat-card-vi__value--info{color:#2196f3}.quick-actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;text-decoration:none;color:var(--text-primary);transition:all .2s ease}.quick-action-btn:hover{background:var(--bg-hover);border-color:var(--accent-primary);transform:translateY(-2px)}.quick-action-btn__icon{font-size:28px;margin-bottom:8px}.quick-action-btn__label{font-size:13px;font-weight:500}.dashboard-sections--3col{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px}.alert-list{display:flex;flex-direction:column;gap:10px}.alert-item{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border-color)}.alert-item:last-child{border-bottom:none}.alert-title{flex:1;font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.view-more-link{display:block;text-align:right;color:var(--accent-primary);font-size:13px;margin-top:12px;text-decoration:none}.view-more-link:hover{text-decoration:underline}.empty-state-mini{padding:20px;text-align:center;color:var(--text-muted);font-size:13px}.resource-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:12px}.resource-item{text-align:center}.resource-label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:4px}.resource-value{font-size:24px;font-weight:700;color:var(--text-primary)}.resource-value--success{color:#4caf50}.resource-value--warning{color:#ff9800}@media(max-width:1200px){.stats-grid--6{grid-template-columns:repeat(3,1fr)}.dashboard-sections--3col{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.stats-grid--6{grid-template-columns:repeat(2,1fr)}.dashboard-sections--3col{grid-template-columns:1fr}.resource-grid{grid-template-columns:repeat(2,1fr)}}.success-toast{position:fixed;top:20px;right:20px;background:#4caf50;color:#fff;padding:16px 24px;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1001;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.stat-card--primary .stat-card__value{color:var(--accent-primary)}.modal-content--lg{max-width:600px}.volunteers-stats{grid-template-columns:repeat(5,1fr)}@media(max-width:1000px){.volunteers-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.volunteers-stats{grid-template-columns:repeat(2,1fr)}}.training-page{max-width:1200px}.training-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.training-categories{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.category-btn{padding:8px 16px;border:1px solid var(--border-color);border-radius:20px;background:var(--bg-secondary);cursor:pointer;font-size:13px;transition:all .2s ease}.category-btn:hover{background:var(--bg-hover)}.category-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.course-card{display:flex;flex-direction:column;gap:12px}.course-card__header{display:flex;align-items:center;justify-content:space-between}.course-card__icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff}.course-card__title{margin:0;font-size:16px;font-weight:600}.course-card__desc{font-size:13px;color:var(--text-muted);margin:0;line-height:1.5}.course-card__meta{display:flex;gap:16px;font-size:12px;color:var(--text-secondary)}.progress-bar{height:6px;background:var(--bg-hover);border-radius:3px;overflow:hidden}.progress-bar__fill{height:100%;border-radius:3px;transition:width .3s ease}.course-card__actions{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid var(--border-color)}.progress-text{font-size:13px;color:var(--text-muted)}.course-content{background:var(--bg-secondary);padding:16px;border-radius:8px;margin:16px 0}.course-content h4{margin:0 0 8px}@media(max-width:768px){.training-stats{grid-template-columns:repeat(2,1fr)}.courses-grid{grid-template-columns:1fr}}.resources-page{max-width:1400px}.resources-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card--danger .stat-card__value{color:#f44336}.resources-categories{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.resources-table{width:100%;border-collapse:collapse;background:var(--bg-card);border-radius:8px;overflow:hidden}.resources-table th,.resources-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-color)}.resources-table th{background:var(--bg-secondary);font-weight:600;font-size:13px;color:var(--text-muted)}.resources-table tbody tr:hover{background:var(--bg-hover)}.resource-name{font-weight:500}.resource-actions{display:flex;gap:8px}@media(max-width:768px){.resources-stats{grid-template-columns:repeat(2,1fr)}.resources-table{font-size:13px}.resources-table th,.resources-table td{padding:8px 12px}}@media(hover:none)and (pointer:coarse){.btn,button{min-height:44px;min-width:44px}.nav-item{padding:14px 16px}.category-btn,.status-filter-btn{padding:12px 20px;font-size:14px}.form-input,.form-select,.form-textarea{font-size:16px;padding:14px}}@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.main-layout{min-height:100vh;min-height:-webkit-fill-available}}@media(orientation:landscape)and (max-height:500px){.sidebar{padding:8px}.nav-item{padding:8px 12px}}.offline-indicator{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#ff9800;color:#fff;padding:12px 24px;border-radius:24px;box-shadow:0 4px 12px #0003;z-index:1000;font-size:14px;display:flex;align-items:center;gap:8px}.offline-indicator:before{content:"📡"}.pull-to-refresh{position:absolute;top:-60px;left:0;right:0;height:60px;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.touch-feedback{position:relative;overflow:hidden}.touch-feedback:after{content:"";position:absolute;inset:0;background:#ffffff4d;border-radius:inherit;opacity:0;transition:opacity .2s}.touch-feedback:active:after{opacity:1}.swipeable-card{touch-action:pan-y;transition:transform .3s ease}.bottom-nav{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.fab{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));right:24px;width:56px;height:56px;border-radius:50%;background:var(--accent-primary);color:#fff;border:none;box-shadow:0 4px 12px #00000040;font-size:24px;cursor:pointer;z-index:100;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s}.fab:active{transform:scale(.95);box-shadow:0 2px 8px #0003}.notifications-page{max-width:800px}.notification-filters{display:flex;gap:8px;margin-bottom:24px}.notifications-list{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.notification-card{position:relative;cursor:pointer;transition:background .2s}.notification-card:hover{background:var(--bg-hover)}.notification-card.unread{border-left:3px solid var(--accent-primary)}.notification-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.notification-time{font-size:12px;color:var(--text-muted)}.notification-title{margin:0 0 4px;font-size:15px;font-weight:600}.notification-message{margin:0;font-size:13px;color:var(--text-secondary)}.unread-dot{position:absolute;top:16px;right:16px;width:8px;height:8px;border-radius:50%;background:var(--accent-primary)}.line-settings{margin-top:24px}.line-settings h3{margin:0 0 8px}.card-desc{color:var(--text-muted);margin:0 0 16px}.line-status{display:flex;gap:8px;align-items:center;margin-bottom:16px}.line-qr{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.qr-placeholder{width:150px;height:150px;background:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:12px;margin-top:8px}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:56px;background:var(--bg-card);border-bottom:1px solid var(--border-color);padding:0 16px;align-items:center;justify-content:space-between;z-index:1000;box-shadow:var(--shadow-sm)}.hamburger-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;font-size:24px;color:var(--text-primary);cursor:pointer;border-radius:var(--radius-md, 8px);transition:background .2s}.hamburger-btn:hover{background:var(--bg-hover)}.mobile-header__title{font-size:16px;font-weight:600;color:var(--text-primary)}.mobile-header__actions{display:flex;align-items:center;gap:12px}.mobile-header__icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:18px;text-decoration:none}.mobile-header__avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-primary);color:#fff;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:900;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media(max-width:768px){.mobile-header{display:flex}.sidebar{position:fixed;left:-280px;top:0;bottom:0;width:280px!important;z-index:950;transition:left .3s cubic-bezier(.4,0,.2,1);padding-top:16px}.sidebar--open{left:0}.sidebar--open~.sidebar-overlay,.sidebar-overlay{display:block}.main-content{margin-left:0!important;padding:80px 16px 16px!important}.page-header{flex-direction:column;gap:16px;align-items:stretch!important}.page-header__right{width:100%;display:flex;flex-direction:column;gap:8px}.page-header__right .lk-btn,.page-header__right button{width:100%}.modal-content,.modal-content--lg{width:95vw!important;max-width:95vw!important;max-height:85vh;overflow-y:auto;margin:8vh auto}.form-row{flex-direction:column;gap:0}.form-row .form-section{width:100%}.skills-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.skill-btn{font-size:13px!important;padding:10px 8px!important;min-height:44px}.volunteers-stats,.resources-stats,.dashboard-stats,.stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:12px!important}.stat-card{padding:16px;flex-direction:column;text-align:center}.stat-icon{width:48px;height:48px;font-size:20px}.stat-value{font-size:24px}.lk-btn,button{min-height:44px}.resources-table,.events-table{font-size:13px}.resources-table th,.resources-table td,.events-table th,.events-table td{padding:10px 6px}.task-board{grid-template-columns:1fr!important}.dashboard-sections{grid-template-columns:1fr}.volunteer-card__actions{flex-direction:column;gap:8px}.volunteer-card__actions .lk-btn{width:100%}.filter-bar{flex-direction:column;gap:8px}.filter-select,.filter-search{width:100%}.resources-categories,.status-filters{overflow-x:auto;flex-wrap:nowrap;gap:8px;padding-bottom:8px}.category-btn,.status-filter-btn{white-space:nowrap;flex-shrink:0;min-height:40px;padding:8px 16px}}@media(max-width:480px){.mobile-header{padding:0 12px;height:52px}.hamburger-btn{width:40px;height:40px;font-size:22px}.mobile-header__title{font-size:15px}.main-content{padding:72px 12px 12px!important}.volunteers-stats,.resources-stats,.stats-grid,.skills-grid{grid-template-columns:1fr!important}.skill-btn{padding:12px!important}.page h2{font-size:22px}}:root{--font-family: "Noto Sans TC", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-xs: .75rem;--font-sm: .875rem;--font-base: 1rem;--font-lg: 1.125rem;--font-xl: 1.25rem;--font-2xl: 1.5rem;--font-3xl: 1.875rem;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--gray-50: #F9FAFB;--gray-100: #F3F4F6;--gray-200: #E5E7EB;--gray-300: #D1D5DB;--gray-400: #9CA3AF;--gray-500: #6B7280;--gray-600: #4B5563;--gray-700: #374151;--gray-800: #1F2937;--gray-900: #111827;--primary-50: #EEF2FF;--primary-100: #E0E7FF;--primary-200: #C7D2FE;--primary-300: #A5B4FC;--primary-400: #818CF8;--primary-500: #6366F1;--primary-600: #4F46E5;--primary-700: #4338CA;--primary-800: #3730A3;--primary-900: #312E81;--success-50: #ECFDF5;--success-500: #10B981;--success-600: #059669;--success-700: #047857;--warning-50: #FFFBEB;--warning-500: #F59E0B;--warning-600: #D97706;--warning-700: #B45309;--danger-50: #FEF2F2;--danger-500: #EF4444;--danger-600: #DC2626;--danger-700: #B91C1C;--info-50: #EFF6FF;--info-500: #3B82F6;--info-600: #2563EB;--info-700: #1D4ED8;--bg-primary: #FFFFFF;--bg-secondary: #F9FAFB;--bg-tertiary: #F3F4F6;--bg-card: #FFFFFF;--bg-hover: #F3F4F6;--bg-active: #E5E7EB;--bg-sidebar: #F9FAFB;--bg-overlay: rgba(17, 24, 39, .5);--text-primary: #1F2937;--text-secondary: #4B5563;--text-muted: #6B7280;--text-disabled: #9CA3AF;--text-inverse: #FFFFFF;--text-link: #4F46E5;--text-link-hover: #4338CA;--border-default: #E5E7EB;--border-light: #F3F4F6;--border-dark: #D1D5DB;--border-focus: #4F46E5;--primary: #4F46E5;--primary-hover: #4338CA;--primary-active: #3730A3;--primary-light: #EEF2FF;--success: #059669;--success-light: #ECFDF5;--warning: #D97706;--warning-light: #FFFBEB;--danger: #DC2626;--danger-light: #FEF2F2;--info: #2563EB;--info-light: #EFF6FF;--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--radius-none: 0;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-ambient: 0 0 0 1px rgba(0, 0, 0, .03), 0 2px 4px rgba(0, 0, 0, .02);--shadow-focus: 0 0 0 3px rgba(79, 70, 229, .2);--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-accent: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);--gradient-success: linear-gradient(135deg, #10b981 0%, #34d399 100%);--gradient-warm: linear-gradient(135deg, #F59E0B 0%, #EF4444 100%);--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--color-brown-900: var(--gray-800);--color-brown-800: var(--gray-700);--gold-400: var(--primary-400);--gold-500: var(--primary-500);--gold-600: var(--primary-600);--beige-100: var(--gray-50);--beige-200: var(--gray-100);--beige-300: var(--gray-200);--brown-900: var(--gray-800);--brown-800: var(--gray-700);--accent-primary: var(--primary);--accent-hover: var(--primary-hover);--accent-active-bg: var(--gray-700);--accent-active-text: var(--text-inverse);--nav-active-bg: var(--gray-700);--nav-active-text: var(--text-inverse);--color-success: var(--success);--color-warning: var(--warning);--color-danger: var(--danger);--color-info: var(--info)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-family);font-size:var(--font-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-secondary)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--text-primary);letter-spacing:var(--tracking-tight)}h1{font-size:var(--font-2xl)}h2{font-size:var(--font-xl)}h3{font-size:var(--font-lg)}h4{font-size:var(--font-base)}p{color:var(--text-secondary);line-height:var(--leading-relaxed)}a{color:var(--text-link);text-decoration:none;transition:color var(--duration-fast) var(--ease-default)}a:hover{color:var(--text-link-hover)}.lk-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);font-family:var(--font-family);font-size:var(--font-sm);font-weight:var(--font-medium);line-height:var(--leading-normal);text-decoration:none;white-space:nowrap;border:1px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);outline:none}.lk-btn:focus-visible{box-shadow:var(--shadow-focus)}.lk-btn--primary,.lk-btn{background:var(--primary);color:var(--text-inverse);border-color:var(--primary)}.lk-btn--primary:hover,.lk-btn:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.lk-btn--primary:active,.lk-btn:active{background:var(--primary-active);border-color:var(--primary-active)}.lk-btn--secondary{background:var(--bg-primary);color:var(--text-secondary);border-color:var(--border-default)}.lk-btn--secondary:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-dark)}.lk-btn--secondary:active{background:var(--bg-active)}.lk-btn--ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.lk-btn--ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.lk-btn--danger{background:var(--danger);color:var(--text-inverse);border-color:var(--danger)}.lk-btn--danger:hover{background:var(--danger-700);border-color:var(--danger-700)}.lk-btn--sm{padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-xs)}.lk-btn--lg{padding:var(--spacing-3) var(--spacing-6);font-size:var(--font-base)}.lk-btn:disabled,.lk-btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.form-input,.form-textarea,.form-select{display:block;width:100%;padding:var(--spacing-2) var(--spacing-3);font-family:var(--font-family);font-size:var(--font-sm);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:all var(--duration-fast) var(--ease-default);outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-disabled)}.form-input:hover,.form-textarea:hover,.form-select:hover{border-color:var(--border-dark)}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.form-input:disabled,.form-textarea:disabled,.form-select:disabled{background:var(--bg-tertiary);color:var(--text-disabled);cursor:not-allowed}.form-label{display:block;margin-bottom:var(--spacing-1);font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.form-section{margin-bottom:var(--spacing-4)}.form-row{display:flex;gap:var(--spacing-4)}.form-row>.form-section{flex:1}.lk-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-ambient);overflow:hidden}.lk-card--elevated{box-shadow:var(--shadow-md)}.lk-card__header{padding:var(--spacing-4) var(--spacing-5);border-bottom:1px solid var(--border-light)}.lk-card__title{font-size:var(--font-base);font-weight:var(--font-semibold);color:var(--text-primary)}.lk-card__content{padding:var(--spacing-5)}.lk-card__footer{padding:var(--spacing-4) var(--spacing-5);border-top:1px solid var(--border-light);background:var(--bg-secondary)}.sidebar{width:260px;background:var(--bg-sidebar);border-right:1px solid var(--border-default);display:flex;flex-direction:column;padding:var(--spacing-4) var(--spacing-3)}.logo{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-2) var(--spacing-3);margin-bottom:var(--spacing-4);border-bottom:1px solid var(--border-default);padding-bottom:var(--spacing-4)}.logo-icon{width:40px;height:40px;border-radius:var(--radius-lg);overflow:hidden;flex-shrink:0}.logo-image{width:100%;height:100%;object-fit:contain}.logo h1{font-size:var(--font-base);font-weight:var(--font-bold);color:var(--text-primary)}.logo-subtitle{font-size:var(--font-xs);color:var(--text-muted);margin-top:2px}.nav{display:flex;flex-direction:column;gap:var(--spacing-1);flex:1;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-lg);color:var(--text-secondary);text-decoration:none;font-size:var(--font-sm);font-weight:var(--font-medium);transition:all var(--duration-fast) var(--ease-default)}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:var(--nav-active-bg);color:var(--nav-active-text)}.nav-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.nav-label{font-size:var(--font-sm)}.sidebar-footer{padding:var(--spacing-4) var(--spacing-3);border-top:1px solid var(--border-default);margin-top:var(--spacing-4);font-size:var(--font-xs);color:var(--text-muted);text-align:center}.lk-table{width:100%;border-collapse:collapse;font-size:var(--font-sm)}.lk-table th,.lk-table td{padding:var(--spacing-3) var(--spacing-4);text-align:left;border-bottom:1px solid var(--border-default)}.lk-table th{font-weight:var(--font-semibold);color:var(--text-secondary);background:var(--bg-secondary);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.lk-table td{color:var(--text-primary)}.lk-table tbody tr:hover{background:var(--bg-hover)}.lk-table tbody tr:last-child td{border-bottom:none}.lk-badge{display:inline-flex;align-items:center;padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-xs);font-weight:var(--font-medium);border-radius:var(--radius-full);white-space:nowrap}.lk-badge--default{background:var(--bg-tertiary);color:var(--text-secondary)}.lk-badge--primary{background:var(--primary-light);color:var(--primary)}.lk-badge--success{background:var(--success-light);color:var(--success)}.lk-badge--warning{background:var(--warning-light);color:var(--warning)}.lk-badge--danger{background:var(--danger-light);color:var(--danger)}.layout{display:flex;min-height:100vh;background:var(--bg-secondary)}.main-content{flex:1;padding:var(--spacing-6);overflow-y:auto;background:var(--bg-secondary)}.modal-overlay{position:fixed;inset:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--spacing-4)}.modal-content{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.modal-content--lg{max-width:700px}.modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-3);padding-top:var(--spacing-4);border-top:1px solid var(--border-default);margin-top:var(--spacing-4)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6)}.page-header__title{display:flex;align-items:center;gap:var(--spacing-3)}.page-header__title h1{font-size:var(--font-2xl);font-weight:var(--font-bold);color:var(--text-primary)}.page-header__subtitle{font-size:var(--font-sm);color:var(--text-muted);margin-top:var(--spacing-1)}:root{font-family:Inter,Noto Sans TC,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;padding:0;width:100%;height:100%}#root{width:100%;height:100%}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary, #F5EDE4);border-radius:var(--radius-full, 9999px)}::-webkit-scrollbar-thumb{background:var(--color-beige-400, #D9CCC0);border-radius:var(--radius-full, 9999px);border:2px solid var(--bg-secondary, #F5EDE4);transition:background var(--duration-fast, .15s) var(--ease-smooth, cubic-bezier(.4, 0, .2, 1))}::-webkit-scrollbar-thumb:hover{background:var(--color-gold-500, #B8976F)}::-webkit-scrollbar-corner{background:var(--bg-secondary, #F5EDE4)}*{scrollbar-width:thin;scrollbar-color:var(--color-beige-400, #D9CCC0) var(--bg-secondary, #F5EDE4)}::selection{background:#c4a77d4d;color:var(--text-primary, #3D2E24)}::-moz-selection{background:#c4a77d4d;color:var(--text-primary, #3D2E24)}.focus-ring:focus,.focus-ring:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg-primary, #FAF8F5),0 0 0 4px var(--color-gold-400, #C4A77D)}.focus-ring-inset:focus,.focus-ring-inset:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--color-gold-400, #C4A77D)}.glass{background:var(--glass-bg, rgba(255, 255, 255, .7));backdrop-filter:blur(var(--glass-blur, 20px));-webkit-backdrop-filter:blur(var(--glass-blur, 20px));border:1px solid var(--glass-border, rgba(255, 255, 255, .2))}.glass-light{background:var(--glass-bg-light, rgba(255, 255, 255, .85));backdrop-filter:blur(var(--glass-blur, 20px));-webkit-backdrop-filter:blur(var(--glass-blur, 20px));border:1px solid var(--glass-border-light, rgba(255, 255, 255, .3))}.glass-subtle{background:var(--glass-bg-subtle, rgba(255, 255, 255, .5));backdrop-filter:blur(var(--glass-blur-sm, 10px));-webkit-backdrop-filter:blur(var(--glass-blur-sm, 10px))}.glass-dark{background:var(--glass-bg-dark, rgba(61, 46, 36, .85));backdrop-filter:blur(var(--glass-blur-lg, 40px));-webkit-backdrop-filter:blur(var(--glass-blur-lg, 40px));border:1px solid rgba(255,255,255,.1)}.gradient-text{background:var(--gradient-gold, linear-gradient(135deg, #C4A77D 0%, #A68660 100%));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-border{position:relative;background:var(--bg-card, #FFFFFF);border-radius:inherit}.gradient-border:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--gradient-gold, linear-gradient(135deg, #C4A77D 0%, #A68660 100%));mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:xor;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;pointer-events:none}.animate-fade-in{animation:fadeIn var(--duration-normal, .25s) var(--ease-smooth, cubic-bezier(.4, 0, .2, 1))}.animate-slide-up{animation:slideUp var(--duration-normal, .25s) var(--ease-spring, cubic-bezier(.175, .885, .32, 1.275))}.animate-slide-down{animation:slideDown var(--duration-normal, .25s) var(--ease-spring, cubic-bezier(.175, .885, .32, 1.275))}.animate-scale-in{animation:scaleIn var(--duration-normal, .25s) var(--ease-spring, cubic-bezier(.175, .885, .32, 1.275))}.animate-pulse{animation:pulse 2s var(--ease-in-out, cubic-bezier(.4, 0, .2, 1)) infinite}.animate-spin{animation:spin 1s var(--ease-linear, linear) infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.skeleton{background:linear-gradient(90deg,var(--bg-secondary, #F5EDE4) 25%,var(--bg-hover, #E8DDD0) 50%,var(--bg-secondary, #F5EDE4) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md, 8px)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:768px){.page-header{flex-direction:column;gap:1rem;align-items:flex-start!important}.page-header__right,.page-header__right .lk-btn{width:100%}.modal-content,.modal-content--lg{width:95vw!important;max-width:95vw!important;max-height:90vh;overflow-y:auto}.form-row{flex-direction:column;gap:0}.form-row .form-section{width:100%}.skills-grid{grid-template-columns:repeat(2,1fr)!important;gap:.5rem!important}.skill-btn{font-size:.75rem!important;padding:.5rem!important}}.admin-only-badge{display:inline-flex;align-items:center;margin-left:.5rem;padding:.125rem .5rem;font-size:.65rem;font-weight:500;color:#e11d48;background:#e11d4814;border:1px solid rgba(225,29,72,.2);border-radius:4px;white-space:nowrap}.form-input--private{background:linear-gradient(135deg,#fef2f2,#fff1f2);border-color:#e11d4833}.form-input--private:focus{border-color:#e11d4866;box-shadow:0 0 0 3px #e11d481a}.skills-grid--improved{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.skill-btn--toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem .75rem;min-height:80px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s ease;position:relative}.skill-btn--toggle:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-2px)}.skill-btn--selected{background:linear-gradient(135deg,#334155,#475569);border-color:#334155;color:#fff;box-shadow:0 4px 12px #3341554d}.skill-btn--selected:hover{background:linear-gradient(135deg,#1e293b,#334155)}.skill-btn__icon{font-size:1.5rem}.skill-btn__label{font-size:.8rem;font-weight:500;text-align:center}.skill-btn__check{position:absolute;top:4px;right:4px;width:18px;height:18px;background:#22c55e;color:#fff;border-radius:50%;font-size:.7rem;display:flex;align-items:center;justify-content:center;font-weight:700}@media(max-width:768px){.skills-grid--improved{grid-template-columns:repeat(2,1fr);gap:.5rem}.skill-btn--toggle{min-height:70px;padding:.75rem .5rem}.skill-btn__icon{font-size:1.25rem}.skill-btn__label{font-size:.7rem}.admin-only-badge{display:block;margin-left:0;margin-top:.25rem}.volunteers-stats,.resources-stats,.dashboard-stats{grid-template-columns:repeat(2,1fr)!important;gap:.75rem!important}.lk-btn{min-height:44px;padding:.75rem 1rem}.lk-btn--sm{min-height:36px;padding:.5rem .75rem}.status-filter-btn,.category-btn{padding:.5rem .75rem;font-size:.75rem;min-height:36px}.volunteer-card__actions{flex-direction:column;gap:.5rem}.volunteer-card__actions .lk-btn{width:100%}.resources-table{font-size:.8rem}.resources-table th,.resources-table td{padding:.5rem .25rem}.resources-table th:nth-child(5),.resources-table td:nth-child(5){display:none}}@media(max-width:480px){.sidebar{width:50px!important;min-width:50px!important}.main-content{margin-left:50px!important;padding:.75rem!important}.volunteers-stats,.resources-stats,.skills-grid{grid-template-columns:1fr!important}}.nav-item-wrapper{display:flex;align-items:center;gap:0;border-radius:8px;transition:all .15s ease}.nav-item-wrapper:hover .nav-item-drag-handle{opacity:1}.nav-item-wrapper.dragging{background:var(--bg-card, #ffffff);box-shadow:0 4px 12px #00000026;border-radius:8px}.nav-item-drag-handle{display:flex;align-items:center;justify-content:center;width:20px;height:100%;padding:10px 2px;cursor:grab;color:var(--text-muted, #9CA3AF);opacity:0;transition:opacity .15s ease;flex-shrink:0}.nav-item-drag-handle:hover{color:var(--text-secondary, #6B7280)}.nav-item-drag-handle:active{cursor:grabbing}.nav-item-wrapper .nav-item{flex:1;margin:0;border-top-left-radius:0;border-bottom-left-radius:0}@media(max-width:768px){.nav-item-drag-handle{opacity:.5}}.sidebar-user{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;margin:8px 12px;background:var(--bg-hover, rgba(255, 255, 255, .05));border-radius:10px;border:1px solid var(--border-color, rgba(255, 255, 255, .1))}.sidebar-user__info{display:flex;align-items:center;gap:10px;flex:1;min-width:0;text-decoration:none;border-radius:8px;padding:4px;margin:-4px;transition:background .15s ease}.sidebar-user__info:hover{background:#ffffff1a}.sidebar-user__avatar{width:36px;height:36px;border-radius:50%;background:var(--primary, #4F46E5);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.sidebar-user__details{display:flex;flex-direction:column;min-width:0}.sidebar-user__name{font-size:13px;font-weight:600;color:var(--text-primary, #1F2937);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user__role{font-size:11px;color:var(--text-muted, #9CA3AF)}.sidebar-user__logout{background:none;border:none;padding:8px;cursor:pointer;color:var(--text-muted, #9CA3AF);border-radius:6px;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.sidebar-user__logout:hover{background:var(--danger, #EF4444);color:#fff}.access-denied{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:24px}.access-denied__content{text-align:center;max-width:400px}.access-denied__icon{font-size:64px;display:block;margin-bottom:16px}.access-denied h2{font-size:24px;font-weight:700;margin:0 0 8px;color:var(--text-primary, #1F2937)}.access-denied p{color:var(--text-secondary, #6B7280);margin:0 0 16px}.access-denied__info{background:var(--bg-secondary, #F9FAFB);padding:16px;border-radius:8px;margin-bottom:24px;font-size:14px}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color, #E5E7EB);border-top-color:var(--primary, #4F46E5);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
