*{margin:0;padding:0;box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;font-weight:400;--primary-color: #667eea;--primary-dark: #764ba2;--text-primary: #2d3748;--text-secondary: #718096;--bg-light: #f7fafc;--border-color: #e2e8f0;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;background-color:var(--bg-light);color:var(--text-primary)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}a{color:var(--primary-color);text-decoration:none}.container{max-width:1400px;margin:0 auto;padding:0 2rem}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.modal-backdrop[data-v-896550b3]{position:fixed;inset:0;background:#0f172a99;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:100}.modal-card[data-v-896550b3]{background:#fff;border-radius:12px;width:100%;max-width:520px;box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.modal-header[data-v-896550b3]{display:flex;justify-content:space-between;align-items:center}.modal-header h2[data-v-896550b3]{margin:0;color:#2d3748}.icon-button[data-v-896550b3]{border:none;background:transparent;font-size:1.5rem;cursor:pointer;color:#4a5568}.modal-body[data-v-896550b3]{display:flex;flex-direction:column;gap:1rem;color:#4a5568}.form-group[data-v-896550b3]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-896550b3]{font-weight:600;color:#4a5568}.form-group select[data-v-896550b3]{padding:.6rem .75rem;border-radius:6px;border:1px solid #cbd5e0}.modal-actions[data-v-896550b3]{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.btn-primary[data-v-896550b3],.btn-secondary[data-v-896550b3],.btn-danger[data-v-896550b3]{padding:.6rem 1.1rem;border-radius:6px;border:none;font-weight:600;cursor:pointer}.btn-primary[data-v-896550b3]{background:#4299e1;color:#fff}.btn-secondary[data-v-896550b3]{background:#e2e8f0;color:#4a5568}.btn-danger[data-v-896550b3]{background:#f56565;color:#fff}.empty-state[data-v-896550b3]{font-size:.875rem;color:#a0aec0}button[data-v-896550b3]:disabled{opacity:.6;cursor:not-allowed}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f7fafc}#app{min-height:100vh;display:flex;flex-direction:column}.navbar{background:#fff;border-bottom:2px solid #e2e8f0;box-shadow:0 2px 4px #0000000d}.nav-container{max-width:1400px;margin:0 auto;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between}.nav-brand a{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-decoration:none}.nav-links{display:flex;gap:2rem;flex:1;justify-content:center}.nav-links a{text-decoration:none;color:#4a5568;font-weight:600;padding:.5rem 1rem;border-radius:6px;transition:all .2s}.nav-links a:hover{color:#667eea;background-color:#edf2f7}.nav-links a.router-link-active{color:#667eea;background-color:#e6f0ff}.nav-user{display:flex;align-items:center;gap:1rem}.notification-btn{position:relative;border:2px solid #e2e8f0;background:#fff;padding:.4rem .65rem;border-radius:8px;cursor:pointer;font-size:1rem}.notification-btn:disabled{cursor:default;opacity:.6}.notification-badge{position:absolute;top:-6px;right:-6px;background:#f56565;color:#fff;border-radius:999px;padding:.1rem .4rem;font-size:.7rem;font-weight:700}.username{color:#2d3748;font-weight:600}.role-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:700;text-transform:uppercase}.role-badge.dm{background:gold;color:#744210}.role-badge.player{background:#90cdf4;color:#2c5282}.logout-btn{background:transparent;border:2px solid #e2e8f0;color:#4a5568;padding:.5rem 1rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.logout-btn:hover{border-color:#667eea;color:#667eea}.main-content{flex:1;padding:2rem 0}@media(max-width:768px){.nav-container{flex-direction:column;gap:1rem}.nav-links{gap:1rem;flex-wrap:wrap;justify-content:center}.nav-user{width:100%;justify-content:center}}.login-container[data-v-aa033247]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.login-card[data-v-aa033247]{background:#fff;border-radius:12px;padding:2.5rem;box-shadow:0 20px 60px #0000004d;width:100%;max-width:420px}.title[data-v-aa033247]{font-size:2rem;font-weight:700;color:#2d3748;margin:0 0 .5rem;text-align:center}.subtitle[data-v-aa033247]{font-size:1rem;color:#718096;margin:0 0 2rem;text-align:center}.login-form[data-v-aa033247]{display:flex;flex-direction:column;gap:1.5rem}.form-group[data-v-aa033247]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-aa033247]{font-weight:600;color:#4a5568;font-size:.875rem}.form-group input[data-v-aa033247]{padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:border-color .2s}.form-group input[data-v-aa033247]:focus{outline:none;border-color:#667eea}.form-group input[data-v-aa033247]:disabled{background-color:#f7fafc;cursor:not-allowed}.error-message[data-v-aa033247]{background-color:#fed7d7;color:#c53030;padding:.75rem;border-radius:6px;font-size:.875rem;text-align:center}.login-button[data-v-aa033247]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.875rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.login-button[data-v-aa033247]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.login-button[data-v-aa033247]:disabled{opacity:.6;cursor:not-allowed}.info-text[data-v-aa033247]{text-align:center;color:#a0aec0;font-size:.875rem;margin:1.5rem 0 0}.welcome-page[data-v-a4371bc9]{max-width:1200px;margin:0 auto;padding:2rem}h1[data-v-a4371bc9]{color:#2d3748;margin-bottom:.5rem}.welcome-message[data-v-a4371bc9]{color:#718096;font-size:1.25rem;margin-bottom:3rem}.quick-links[data-v-a4371bc9]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.link-card[data-v-a4371bc9]{background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:2rem;text-decoration:none;transition:all .2s}.link-card[data-v-a4371bc9]:hover{border-color:#667eea;transform:translateY(-4px);box-shadow:0 8px 16px #667eea33}.link-card h3[data-v-a4371bc9]{color:#2d3748;margin:0 0 .5rem}.link-card p[data-v-a4371bc9]{color:#718096;margin:0}.character-form[data-v-f28bf94f]{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.form-header[data-v-f28bf94f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.form-actions[data-v-f28bf94f]{display:flex;gap:1rem}.form-section[data-v-f28bf94f]{background:#f7fafc;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.form-grid[data-v-f28bf94f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.form-group[data-v-f28bf94f]{display:flex;flex-direction:column}.form-group label[data-v-f28bf94f]{font-weight:600;color:#4a5568;margin-bottom:.5rem}.form-group input[data-v-f28bf94f],.form-group select[data-v-f28bf94f],.form-group textarea[data-v-f28bf94f]{padding:.5rem;border:1px solid #cbd5e0;border-radius:4px;font-size:1rem}.section-header[data-v-f28bf94f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.ability-scores[data-v-f28bf94f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem}.ability-score[data-v-f28bf94f]{display:flex;flex-direction:column;gap:.5rem;background:#fff;padding:.75rem;border-radius:6px;border:1px solid #e2e8f0;text-align:center}.modifier[data-v-f28bf94f]{font-weight:600;color:#2d3748}.inventory-list[data-v-f28bf94f],.scars-list[data-v-f28bf94f]{display:flex;flex-direction:column;gap:.75rem}.inventory-item[data-v-f28bf94f],.scar-item[data-v-f28bf94f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;background:#fff;padding:.75rem;border-radius:6px;border:1px solid #e2e8f0}.item-name[data-v-f28bf94f],.item-description[data-v-f28bf94f]{grid-column:span 2}.checkbox-label[data-v-f28bf94f]{display:flex;align-items:center;gap:.4rem;font-size:.875rem}.empty-inventory[data-v-f28bf94f],.empty-scars[data-v-f28bf94f]{text-align:center;color:#718096;padding:1rem;background:#fff;border:1px dashed #cbd5e0;border-radius:6px}.btn-primary[data-v-f28bf94f],.btn-secondary[data-v-f28bf94f],.btn-small[data-v-f28bf94f],.btn-danger-small[data-v-f28bf94f]{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-weight:600}.btn-primary[data-v-f28bf94f]{background:#4299e1;color:#fff}.btn-secondary[data-v-f28bf94f]{background:#e2e8f0;color:#4a5568}.btn-small[data-v-f28bf94f]{padding:.375rem .75rem;background:#e2e8f0;color:#4a5568}.btn-danger-small[data-v-f28bf94f]{background:#f56565;color:#fff}.character-management[data-v-72592dab]{max-width:1200px;margin:0 auto;padding:2rem}.page-header[data-v-72592dab]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1[data-v-72592dab]{margin:0;color:#2d3748}.character-list[data-v-72592dab]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.character-card[data-v-72592dab]{background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:1.5rem;cursor:pointer;transition:all .2s}.character-card[data-v-72592dab]:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.character-header[data-v-72592dab]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.character-header h3[data-v-72592dab]{margin:0;color:#2d3748}.character-level[data-v-72592dab]{background:#667eea;color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:600}.character-info[data-v-72592dab]{color:#718096;margin:.5rem 0}.character-stats[data-v-72592dab]{display:flex;gap:1rem;color:#4a5568;font-size:.875rem;font-weight:600}.empty-state[data-v-72592dab]{grid-column:1 / -1;text-align:center;color:#a0aec0;padding:3rem}.character-form[data-v-72592dab]{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.form-header[data-v-72592dab]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e2e8f0}.form-header h2[data-v-72592dab]{margin:0;color:#2d3748}.form-actions[data-v-72592dab]{display:flex;gap:1rem}.form-section[data-v-72592dab]{margin-bottom:2rem}.form-section h3[data-v-72592dab]{color:#2d3748;margin-bottom:1rem}.section-header[data-v-72592dab]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h3[data-v-72592dab]{margin:0}.form-grid[data-v-72592dab]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.form-group[data-v-72592dab]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-72592dab]{font-weight:600;color:#4a5568;font-size:.875rem}.form-group input[data-v-72592dab],.form-group select[data-v-72592dab]{padding:.5rem;border:2px solid #e2e8f0;border-radius:6px;font-size:1rem}.form-group input[data-v-72592dab]:focus,.form-group select[data-v-72592dab]:focus{outline:none;border-color:#667eea}.ability-scores[data-v-72592dab]{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem}.ability-score[data-v-72592dab]{display:flex;flex-direction:column;align-items:center;background:#f7fafc;padding:1rem;border-radius:8px;border:2px solid #e2e8f0}.ability-score label[data-v-72592dab]{font-weight:700;color:#4a5568;margin-bottom:.5rem}.ability-score input[data-v-72592dab]{width:60px;text-align:center;padding:.5rem;border:2px solid #cbd5e0;border-radius:6px;font-size:1.125rem;font-weight:600}.ability-score .modifier[data-v-72592dab]{margin-top:.5rem;font-size:.875rem;color:#718096;font-weight:600}.inventory-list[data-v-72592dab]{display:flex;flex-direction:column;gap:.75rem}.inventory-item[data-v-72592dab]{display:grid;grid-template-columns:2fr 3fr 1fr 80px 100px 100px;gap:.5rem;align-items:center;padding:.75rem;background:#f7fafc;border-radius:6px}.item-name[data-v-72592dab],.item-description[data-v-72592dab],.item-type[data-v-72592dab],.item-qty[data-v-72592dab]{padding:.5rem;border:1px solid #e2e8f0;border-radius:4px}.checkbox-label[data-v-72592dab]{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#4a5568}.empty-inventory[data-v-72592dab],.empty-scars[data-v-72592dab]{text-align:center;color:#a0aec0;padding:2rem}.scars-list[data-v-72592dab]{display:flex;flex-direction:column;gap:.75rem}.scar-item[data-v-72592dab]{display:grid;grid-template-columns:3fr 2fr 1fr 100px;gap:.5rem;align-items:center;padding:.75rem;background:#f7fafc;border-radius:6px}.scar-description[data-v-72592dab],.scar-location[data-v-72592dab],.scar-damage[data-v-72592dab]{padding:.5rem;border:1px solid #e2e8f0;border-radius:4px}.character-detail[data-v-72592dab]{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.detail-header[data-v-72592dab]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e2e8f0}.detail-header h2[data-v-72592dab]{margin:0;color:#2d3748}.detail-actions[data-v-72592dab]{display:flex;gap:1rem}.detail-section[data-v-72592dab]{margin-bottom:1.5rem}.detail-section h3[data-v-72592dab],.detail-section h4[data-v-72592dab]{color:#2d3748;margin-bottom:.75rem}.ability-scores-display[data-v-72592dab]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;font-weight:600;color:#4a5568}.btn-primary[data-v-72592dab]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:transform .2s}.btn-primary[data-v-72592dab]:hover{transform:translateY(-2px)}.btn-secondary[data-v-72592dab]{background:#e2e8f0;color:#4a5568;padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:600;cursor:pointer}.btn-small[data-v-72592dab]{background:#667eea;color:#fff;padding:.5rem 1rem;border:none;border-radius:4px;font-size:.875rem;font-weight:600;cursor:pointer}.btn-danger[data-v-72592dab]{background:#f56565;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:600;cursor:pointer}.btn-danger-small[data-v-72592dab]{background:#fc8181;color:#fff;padding:.5rem .75rem;border:none;border-radius:4px;font-size:.875rem;cursor:pointer}.party-admin[data-v-4d587bc7]{max-width:1400px;margin:0 auto;padding:2rem}.page-header[data-v-4d587bc7]{margin-bottom:2rem}.page-header h1[data-v-4d587bc7]{color:#2d3748;margin-bottom:.5rem}.subtitle[data-v-4d587bc7]{color:#718096;font-size:1.125rem}.admin-section[data-v-4d587bc7]{background:#fff;border-radius:8px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a}.section-header[data-v-4d587bc7]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2[data-v-4d587bc7]{color:#2d3748;font-size:1.5rem;margin:0}.section-header-inline[data-v-4d587bc7]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header-inline .header-actions[data-v-4d587bc7]{display:flex;gap:.5rem}.section-header-inline h3[data-v-4d587bc7]{margin:0}.header-actions[data-v-4d587bc7]{display:flex;gap:.75rem}.party-grid[data-v-4d587bc7]{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.party-card[data-v-4d587bc7]{border:1px solid #e2e8f0;border-radius:8px;padding:1.25rem;cursor:pointer;transition:all .2s}.party-card[data-v-4d587bc7]:hover{border-color:#4299e1;box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.party-card-header[data-v-4d587bc7]{display:flex;justify-content:space-between;align-items:start;margin-bottom:.75rem}.party-card-header h3[data-v-4d587bc7]{color:#2d3748;font-size:1.25rem;margin:0}.member-count[data-v-4d587bc7]{background:#e2e8f0;color:#4a5568;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:600}.party-description[data-v-4d587bc7]{color:#718096;margin-bottom:1rem;line-height:1.5}.party-location[data-v-4d587bc7]{font-size:.875rem;color:#4a5568}.party-location div[data-v-4d587bc7]{margin-bottom:.25rem}.form-section[data-v-4d587bc7]{background:#f7fafc;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.form-section h3[data-v-4d587bc7]{color:#2d3748;margin-top:0;margin-bottom:1rem}.form-grid[data-v-4d587bc7]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.form-group[data-v-4d587bc7]{display:flex;flex-direction:column}.form-group.full-width[data-v-4d587bc7]{grid-column:1 / -1}.form-group label[data-v-4d587bc7]{font-weight:600;color:#4a5568;margin-bottom:.5rem;font-size:.875rem}.form-group input[data-v-4d587bc7],.form-group select[data-v-4d587bc7],.form-group textarea[data-v-4d587bc7]{padding:.5rem;border:1px solid #cbd5e0;border-radius:4px;font-size:1rem}.form-group textarea[data-v-4d587bc7]{resize:vertical}.form-group input[data-v-4d587bc7]:focus,.form-group select[data-v-4d587bc7]:focus,.form-group textarea[data-v-4d587bc7]:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.form-group small[data-v-4d587bc7]{color:#718096;font-size:.875rem;margin-top:.25rem}.form-actions[data-v-4d587bc7]{display:flex;gap:1rem;margin-top:1rem}.invite-section[data-v-4d587bc7]{margin-bottom:1.5rem;padding:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:6px}.invite-form[data-v-4d587bc7]{display:flex;gap:.75rem;align-items:center}.invite-select[data-v-4d587bc7]{flex:1;padding:.5rem;border:1px solid #cbd5e0;border-radius:4px;font-size:.875rem}.invite-select[data-v-4d587bc7]:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.members-list[data-v-4d587bc7]{display:flex;flex-direction:column;gap:.75rem}.member-item[data-v-4d587bc7]{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-radius:6px;border:1px solid #e2e8f0}.member-item.player[data-v-4d587bc7]{background:#ebf8ff;border-color:#90cdf4}.member-item.npc[data-v-4d587bc7]{background:#fef5e7;border-color:#f6ad55}.member-item.pending[data-v-4d587bc7]{background:#fffaf0;border-color:#f6ad55}.member-info[data-v-4d587bc7]{display:flex;flex-direction:column;gap:.25rem}.member-info strong[data-v-4d587bc7]{color:#2d3748}.member-details[data-v-4d587bc7]{font-size:.875rem;color:#718096}.member-actions[data-v-4d587bc7]{display:flex;align-items:center;gap:.5rem}.member-badge[data-v-4d587bc7]{padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:600;background:#e2e8f0;color:#4a5568}.pending-section[data-v-4d587bc7]{margin-top:1.5rem}.pending-section h4[data-v-4d587bc7]{margin-bottom:.75rem;color:#4a5568}.btn-remove[data-v-4d587bc7]{background:#fc8181;color:#fff;border:none;border-radius:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem;line-height:1;font-weight:700;transition:background .2s}.btn-remove[data-v-4d587bc7]:hover{background:#f56565}.event-form[data-v-4d587bc7]{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1rem;margin-bottom:1rem}.events-list[data-v-4d587bc7]{display:flex;flex-direction:column;gap:1rem}.event-item[data-v-4d587bc7]{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:1rem}.event-header[data-v-4d587bc7]{display:flex;justify-content:space-between;align-items:start;margin-bottom:.5rem}.event-header strong[data-v-4d587bc7]{color:#2d3748;font-size:1.125rem}.event-date[data-v-4d587bc7]{color:#718096;font-size:.875rem}.event-description[data-v-4d587bc7]{color:#4a5568;line-height:1.6;margin:.5rem 0}.event-footer[data-v-4d587bc7]{color:#718096;font-size:.875rem;padding-top:.5rem;border-top:1px solid #e2e8f0}.btn-primary[data-v-4d587bc7],.btn-secondary[data-v-4d587bc7],.btn-danger[data-v-4d587bc7],.btn-small[data-v-4d587bc7]{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:all .2s}.btn-primary[data-v-4d587bc7]{background:#4299e1;color:#fff}.btn-primary[data-v-4d587bc7]:hover:not(:disabled){background:#3182ce}.btn-secondary[data-v-4d587bc7]{background:#e2e8f0;color:#4a5568}.btn-secondary[data-v-4d587bc7]:hover:not(:disabled){background:#cbd5e0}.btn-danger[data-v-4d587bc7]{background:#f56565;color:#fff}.btn-danger[data-v-4d587bc7]:hover:not(:disabled){background:#e53e3e}.btn-small[data-v-4d587bc7]{padding:.375rem .75rem;font-size:.875rem}button[data-v-4d587bc7]:disabled{opacity:.5;cursor:not-allowed}.error-message[data-v-4d587bc7]{padding:.75rem;background:#fed7d7;color:#742a2a;border-radius:4px;margin-bottom:1rem}.success-message[data-v-4d587bc7]{padding:.75rem;background:#c6f6d5;color:#22543d;border-radius:4px;margin-bottom:1rem}.empty-state[data-v-4d587bc7]{text-align:center;padding:3rem;color:#718096;grid-column:1 / -1}.empty-state-small[data-v-4d587bc7]{text-align:center;padding:2rem;color:#718096;background:#fff;border:1px dashed #cbd5e0;border-radius:6px}.modal-backdrop[data-v-9744bee1]{position:fixed;inset:0;background:#0f172a99;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:50}.modal-card[data-v-9744bee1]{background:#fff;border-radius:12px;width:100%;max-width:520px;box-shadow:0 25px 50px #00000040;display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.modal-header[data-v-9744bee1]{display:flex;align-items:center;justify-content:space-between}.modal-header h2[data-v-9744bee1]{margin:0;color:#1a202c}.icon-button[data-v-9744bee1]{border:none;background:transparent;font-size:1.5rem;cursor:pointer;color:#4a5568}.modal-body[data-v-9744bee1]{display:flex;flex-direction:column;gap:1rem}.form-group[data-v-9744bee1]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-9744bee1]{font-weight:600;color:#4a5568}.form-group input[data-v-9744bee1],.form-group textarea[data-v-9744bee1]{padding:.75rem;border-radius:8px;border:1px solid #cbd5e0;font-size:1rem}.form-group input[data-v-9744bee1]:focus,.form-group textarea[data-v-9744bee1]:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e126}.modal-actions[data-v-9744bee1]{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.btn-primary[data-v-9744bee1],.btn-secondary[data-v-9744bee1]{padding:.65rem 1.25rem;border-radius:6px;border:none;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary[data-v-9744bee1]{background:#4299e1;color:#fff}.btn-primary[data-v-9744bee1]:hover:not(:disabled){background:#3182ce}.btn-secondary[data-v-9744bee1]{background:#e2e8f0;color:#4a5568}.btn-secondary[data-v-9744bee1]:hover:not(:disabled){background:#cbd5e0}.error-message[data-v-9744bee1]{background:#fed7d7;color:#742a2a;padding:.75rem;border-radius:6px}button[data-v-9744bee1]:disabled{opacity:.6;cursor:not-allowed}.campaign-admin[data-v-152b9742]{max-width:1200px;margin:0 auto;padding:2rem}.page-header[data-v-152b9742]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1[data-v-152b9742]{margin:0 0 .25rem;color:#2d3748}.subtitle[data-v-152b9742]{color:#718096;margin:0}.campaign-grid[data-v-152b9742]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.campaign-card[data-v-152b9742]{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1.25rem;box-shadow:0 1px 2px #00000014}.campaign-card-header[data-v-152b9742]{display:flex;justify-content:space-between;align-items:start;margin-bottom:.75rem}.campaign-card-header h3[data-v-152b9742]{margin:0;color:#2d3748}.campaign-date[data-v-152b9742]{font-size:.75rem;color:#a0aec0}.campaign-description[data-v-152b9742]{color:#4a5568;margin:0;line-height:1.5}.btn-primary[data-v-152b9742]{background:#4299e1;color:#fff;border:none;padding:.6rem 1.25rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary[data-v-152b9742]:hover{background:#3182ce}.error-message[data-v-152b9742]{background:#fed7d7;color:#742a2a;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem}.empty-state[data-v-152b9742]{grid-column:1 / -1;text-align:center;color:#718096;padding:2rem;background:#f7fafc;border-radius:8px;border:1px dashed #cbd5e0}.server-admin[data-v-7db37d39]{max-width:1400px;margin:0 auto;padding:2rem}.page-header[data-v-7db37d39]{margin-bottom:2rem}.page-header h1[data-v-7db37d39]{color:#2d3748;margin-bottom:.5rem}.subtitle[data-v-7db37d39]{color:#718096;font-size:1.125rem}.admin-section[data-v-7db37d39]{background:#fff;border-radius:8px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a}.section-header[data-v-7db37d39]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2[data-v-7db37d39]{color:#2d3748;font-size:1.5rem;margin:0}.create-form[data-v-7db37d39]{border-top:1px solid #e2e8f0;padding-top:1.5rem}.form-grid[data-v-7db37d39]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1rem}.form-group[data-v-7db37d39]{display:flex;flex-direction:column}.form-group label[data-v-7db37d39]{font-weight:600;color:#4a5568;margin-bottom:.5rem;font-size:.875rem}.form-group input[data-v-7db37d39],.form-group select[data-v-7db37d39]{padding:.5rem;border:1px solid #cbd5e0;border-radius:4px;font-size:1rem}.form-group input[data-v-7db37d39]:focus,.form-group select[data-v-7db37d39]:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.form-actions[data-v-7db37d39]{display:flex;gap:1rem;margin-top:1rem}.user-table[data-v-7db37d39]{width:100%;border-collapse:collapse}.user-table thead[data-v-7db37d39]{background:#f7fafc}.user-table th[data-v-7db37d39]{text-align:left;padding:.75rem;font-weight:600;color:#4a5568;border-bottom:2px solid #e2e8f0}.user-table td[data-v-7db37d39]{padding:.75rem;border-bottom:1px solid #e2e8f0}.user-table tr.disabled-user[data-v-7db37d39]{opacity:.6;background:#f7fafc}.user-table tr[data-v-7db37d39]:hover:not(.disabled-user){background:#f7fafc}.role-badge[data-v-7db37d39]{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:600}.role-badge.dm[data-v-7db37d39]{background:#bee3f8;color:#2c5282}.role-badge.player[data-v-7db37d39]{background:#c6f6d5;color:#22543d}.status-badge[data-v-7db37d39]{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:600}.status-badge.active[data-v-7db37d39]{background:#c6f6d5;color:#22543d}.status-badge.inactive[data-v-7db37d39]{background:#fed7d7;color:#742a2a}.actions[data-v-7db37d39]{display:flex;gap:.5rem}.btn-primary[data-v-7db37d39],.btn-secondary[data-v-7db37d39],.btn-warning[data-v-7db37d39],.btn-success[data-v-7db37d39],.btn-small[data-v-7db37d39]{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:all .2s}.btn-primary[data-v-7db37d39]{background:#4299e1;color:#fff}.btn-primary[data-v-7db37d39]:hover:not(:disabled){background:#3182ce}.btn-secondary[data-v-7db37d39]{background:#e2e8f0;color:#4a5568}.btn-secondary[data-v-7db37d39]:hover:not(:disabled){background:#cbd5e0}.btn-warning[data-v-7db37d39]{background:#f6ad55;color:#fff}.btn-warning[data-v-7db37d39]:hover:not(:disabled){background:#ed8936}.btn-success[data-v-7db37d39]{background:#48bb78;color:#fff}.btn-success[data-v-7db37d39]:hover:not(:disabled){background:#38a169}.btn-danger[data-v-7db37d39]{background:#f56565;color:#fff}.btn-danger[data-v-7db37d39]:hover:not(:disabled){background:#e53e3e}.btn-small[data-v-7db37d39]{padding:.375rem .75rem;font-size:.875rem}button[data-v-7db37d39]:disabled{opacity:.5;cursor:not-allowed}.modal-overlay[data-v-7db37d39]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-7db37d39]{background:#fff;border-radius:8px;width:90%;max-width:500px;box-shadow:0 20px 25px -5px #0000001a}.modal-header[data-v-7db37d39]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e2e8f0}.modal-header h3[data-v-7db37d39]{margin:0;color:#2d3748}.close-btn[data-v-7db37d39]{background:none;border:none;font-size:2rem;color:#a0aec0;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.close-btn[data-v-7db37d39]:hover{color:#4a5568}.modal-body[data-v-7db37d39]{padding:1.5rem}.modal-footer[data-v-7db37d39]{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e2e8f0}.error-message[data-v-7db37d39]{padding:.75rem;background:#fed7d7;color:#742a2a;border-radius:4px;margin-top:1rem}.success-message[data-v-7db37d39]{padding:.75rem;background:#c6f6d5;color:#22543d;border-radius:4px;margin-top:1rem}.empty-state[data-v-7db37d39]{text-align:center;padding:3rem;color:#718096}.global-map-page[data-v-e7e8ad35]{max-width:1500px;margin:0 auto;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.page-header[data-v-e7e8ad35]{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.page-header h1[data-v-e7e8ad35]{margin:0 0 .25rem;color:#2d3748}.subtitle[data-v-e7e8ad35]{margin:0;color:#718096}.controls[data-v-e7e8ad35]{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.control-group[data-v-e7e8ad35]{display:flex;flex-direction:column;gap:.35rem;font-size:.875rem;color:#4a5568}.control-input[data-v-e7e8ad35]{padding:.5rem .75rem;border-radius:6px;border:1px solid #cbd5e0;min-width:180px}.zoom-controls[data-v-e7e8ad35]{display:flex;gap:.5rem;align-items:center;background:#f7fafc;padding:.4rem .75rem;border-radius:6px;border:1px solid #e2e8f0}.btn-secondary[data-v-e7e8ad35]{background:#e2e8f0;border:none;padding:.35rem .65rem;border-radius:6px;cursor:pointer;font-weight:600;color:#4a5568}.btn-secondary[data-v-e7e8ad35]:hover{background:#cbd5e0}.map-container[data-v-e7e8ad35]{position:relative;height:70vh;background:#0f172a;border-radius:12px;overflow:hidden;border:1px solid #1e293b;cursor:grab}.map-container[data-v-e7e8ad35]:active{cursor:grabbing}.map-stage[data-v-e7e8ad35]{position:absolute;top:0;left:0;transform-origin:top left}.map-image[data-v-e7e8ad35]{width:100%;height:100%;display:block;-webkit-user-select:none;user-select:none;pointer-events:none}.marker[data-v-e7e8ad35]{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:.25rem}.marker[data-v-e7e8ad35]:before{content:"";width:12px;height:12px;border-radius:50%;border:2px solid white;box-shadow:0 0 6px #0006}.marker.party[data-v-e7e8ad35]:before{background:#38b2ac}.marker.note[data-v-e7e8ad35]:before{background:#ed8936}.marker-label[data-v-e7e8ad35]{background:#0f172abf;color:#fff;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;max-width:180px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-overlay[data-v-e7e8ad35]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#e2e8f0;font-size:1.1rem;background:#0f172a8c}.error-message[data-v-e7e8ad35]{background:#fed7d7;color:#742a2a;padding:.75rem 1rem;border-radius:6px}@media(max-width:900px){.controls[data-v-e7e8ad35]{flex-direction:column;align-items:stretch}.control-input[data-v-e7e8ad35]{width:100%}}.page-placeholder[data-v-9f0bc26d]{max-width:1200px;margin:0 auto;padding:2rem;text-align:center}h1[data-v-9f0bc26d]{color:#2d3748}p[data-v-9f0bc26d]{color:#718096;font-size:1.125rem}
