@charset "UTF-8";:root{--primary-color: #03989f;--primary-dark: #03989f;--secondary-color: #07bac2;--danger-color: #ef4444;--success-color: #10b981;--warning-color: #f59e0b;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--spacing-xs: .5rem;--spacing-sm: .75rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--text-primary: #111827;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--border-color: #e5e7eb;--shadow-sm: 0 1px 2px 0 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)}[data-theme=dark]{--bg-primary: #1f2937;--bg-secondary: #111827;--bg-tertiary: #374151;--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-tertiary: #9ca3af;--border-color: #4b5563;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-secondary);color:var(--text-primary);line-height:1.5;transition:background-color .3s ease,color .3s ease}.app{display:flex;flex-direction:column;min-height:100vh;max-width:1200px;margin:0 auto;background-color:var(--bg-primary);transition:background-color .3s ease}.app .app-header{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;padding:var(--spacing-md);box-shadow:var(--shadow-md);position:sticky;top:0;z-index:100}.app .app-header .header-content{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.app .app-header .header-content .app-title{font-size:1.5rem;font-weight:700;flex:1;text-align:center}.app .app-header .offline-banner{background-color:var(--warning-color);color:#fff;padding:var(--spacing-xs) var(--spacing-md);text-align:center;font-size:.875rem;margin-top:var(--spacing-sm);border-radius:var(--radius-sm)}.app .app-main{flex:1;padding:var(--spacing-md);padding-bottom:80px}.app .app-footer{background-color:var(--bg-tertiary);padding:var(--spacing-md);text-align:center;font-size:.875rem;color:var(--text-secondary);border-top:1px solid var(--border-color);transition:background-color .3s ease}.group-list .search-bar{margin-bottom:var(--spacing-lg)}.group-list .search-bar .search-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:1rem;border:2px solid var(--border-color);border-radius:var(--radius-md);transition:all .2s;background-color:var(--bg-primary);color:var(--text-primary)}.group-list .search-bar .search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.group-list .groups-container{margin-bottom:var(--spacing-lg)}.group-list .groups-container .empty-state{text-align:center;padding:var(--spacing-xl) var(--spacing-md);color:var(--text-secondary)}.group-list .groups-container .empty-state .empty-icon{font-size:4rem;margin-bottom:var(--spacing-md);opacity:.5}.group-list .groups-container .empty-state h2{font-size:1.5rem;margin-bottom:var(--spacing-sm);color:var(--text-primary)}.group-list .groups-container .groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md)}.group-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-md);cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.group-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.group-card:active{transform:translateY(0)}.group-card .group-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-sm)}.group-card .group-card-header .group-card-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);flex:1}.group-card .group-card-header .group-card-actions{display:flex;gap:var(--spacing-xs)}.group-card .group-card-description{color:var(--text-secondary);font-size:.875rem;margin-bottom:var(--spacing-sm);line-height:1.4}.group-card .group-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:var(--text-tertiary);margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-color)}.group-card .group-card-footer .people-count{font-weight:500;color:var(--text-secondary)}.group-detail .group-description-banner{background-color:var(--bg-secondary);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);border-left:4px solid var(--primary-color);transition:background-color .3s ease}.group-detail .search-filter-bar{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);align-items:center}.group-detail .search-filter-bar .search-input{flex:1;margin-bottom:0;width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:1rem;border:2px solid var(--border-color);border-radius:var(--radius-md);transition:all .2s;background-color:var(--bg-primary);color:var(--text-primary)}.group-detail .search-filter-bar .search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.group-detail .people-container .empty-state{text-align:center;padding:var(--spacing-xl) var(--spacing-md);color:var(--text-secondary)}.group-detail .people-container .empty-state .empty-icon{font-size:4rem;margin-bottom:var(--spacing-md);opacity:.5}.group-detail .people-container .empty-state h2{font-size:1.5rem;margin-bottom:var(--spacing-sm);color:var(--text-primary)}.group-detail .people-container .people-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.group-detail .people-container .people-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}@media(min-width:768px){.group-detail .people-container .people-cards-grid{grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}}.person-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-md);transition:all .2s}.person-card:hover{box-shadow:var(--shadow-sm);border-color:var(--primary-color)}.person-card .person-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xs)}.person-card .person-card-header .person-card-name{font-size:1rem;font-weight:600;color:var(--text-primary);flex:1}.person-card .person-card-header .person-card-actions{display:flex;gap:var(--spacing-xs)}.person-card .person-card-notes{color:var(--text-secondary);font-size:.875rem;margin-top:var(--spacing-sm);line-height:1.4}.person-card .person-card-footer{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-color)}.person-card .person-card-footer .person-card-date{font-size:.75rem;color:var(--text-tertiary)}.person-small-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-md);cursor:pointer;transition:all .2s;min-height:80px;display:flex;align-items:center}@media(min-width:768px){.person-small-card{min-height:100px}}.person-small-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.person-small-card:active{transform:translateY(0)}.person-small-card .person-small-card-content{display:flex;align-items:center;gap:var(--spacing-sm);width:100%}.person-small-card .person-small-card-content .person-small-card-icon{font-size:1.5rem;flex-shrink:0}.person-small-card .person-small-card-content .person-small-card-name{font-weight:500;color:var(--text-primary);font-size:.9rem;line-height:1.3;word-break:break-word}.person-edit-page{position:fixed;inset:0;background-color:var(--bg-primary);z-index:1000;overflow-y:auto;display:flex;flex-direction:column}.person-edit-page .person-edit-header{padding:var(--spacing-md);box-shadow:var(--shadow-md);position:sticky;top:0;z-index:10}.person-edit-page .person-edit-header .person-edit-header-content{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.person-edit-page .person-edit-header .person-edit-header-content .person-edit-title{font-size:1.25rem;font-weight:700;flex:1;text-align:center;margin:0}.person-edit-page .person-edit-header .person-edit-header-content .btn-icon{background:#fff3;color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.person-edit-page .person-edit-header .person-edit-header-content .btn-icon:hover{background:#ffffff4d;transform:scale(1.05)}.person-edit-page .person-edit-header .person-edit-header-content .btn-icon:active{transform:scale(.95)}.person-edit-page .person-edit-header .person-edit-header-content .btn-icon.btn-danger{background:#ef44444d}.person-edit-page .person-edit-header .person-edit-header-content .btn-icon.btn-danger:hover{background:#ef444480}.person-edit-page .person-edit-content{flex:1;padding:var(--spacing-lg);padding-bottom:80px}.person-edit-page .person-edit-content .unsaved-changes-notice{background-color:var(--warning-color);color:#fff;padding:var(--spacing-sm);border-radius:var(--radius-md);text-align:center;font-size:.875rem;margin-top:var(--spacing-md);font-weight:500}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md)}.modal-overlay .modal-content{background:var(--bg-primary);border-radius:var(--radius-lg);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-overlay .modal-content .modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.modal-overlay .modal-content .modal-header h2{font-size:1.25rem;font-weight:600}.modal-overlay .modal-content .modal-header .btn-close{background:transparent;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all .2s}.modal-overlay .modal-content .modal-header .btn-close:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.modal-overlay .modal-content form{padding:var(--spacing-lg)}.settings-container{max-width:600px;margin:0 auto}.settings-container .settings-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.settings-container .settings-section.danger-zone{border-color:var(--danger-color)}.settings-container .settings-section h2{font-size:1.25rem;margin-bottom:var(--spacing-md)}.settings-container .settings-section .section-description{color:var(--text-secondary);margin-bottom:var(--spacing-md);font-size:.875rem}.settings-container .settings-section .stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.settings-container .settings-section .stats-grid .stat-card{background:var(--bg-secondary);padding:var(--spacing-md);border-radius:var(--radius-md);text-align:center;transition:background-color .3s ease}.settings-container .settings-section .stats-grid .stat-card .stat-value{font-size:2rem;font-weight:700;color:var(--primary-color)}.settings-container .settings-section .stats-grid .stat-card .stat-label{color:var(--text-secondary);font-size:.875rem;margin-top:var(--spacing-xs)}.settings-container .settings-section .button-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.settings-container .settings-section .info-box{background-color:var(--bg-secondary);padding:var(--spacing-md);border-radius:var(--radius-md);font-size:.875rem;color:var(--text-secondary);transition:background-color .3s ease}.settings-container .settings-section .info-box p{margin-bottom:var(--spacing-xs)}.settings-container .settings-section .info-box p:last-child{margin-bottom:0}.changelog-container{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.changelog-container .changelog-item{border-left:3px solid var(--border-color);padding-left:var(--spacing-md);transition:border-color .2s}.changelog-container .changelog-item:first-child{border-left-color:var(--primary-color)}.changelog-container .changelog-item .changelog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs);flex-wrap:wrap;gap:var(--spacing-xs)}.changelog-container .changelog-item .changelog-header .changelog-version{display:flex;gap:var(--spacing-xs);align-items:center}.changelog-container .changelog-item .changelog-header .changelog-version .version-badge{display:inline-block;padding:2px 8px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;color:var(--text-primary)}.changelog-container .changelog-item .changelog-header .changelog-version .latest-badge{display:inline-block;padding:2px 8px;background-color:var(--success-color);color:#fff;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.changelog-container .changelog-item .changelog-header .changelog-date{font-size:.75rem;color:var(--text-tertiary)}.changelog-container .changelog-item .changelog-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.changelog-container .changelog-item .changelog-section{margin-top:var(--spacing-sm)}.changelog-container .changelog-item .changelog-section h4{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.changelog-container .changelog-item .changelog-section ul{list-style:none;padding-left:var(--spacing-md)}.changelog-container .changelog-item .changelog-section li{font-size:.875rem;color:var(--text-secondary);margin-bottom:var(--spacing-xs);position:relative;line-height:1.5}.changelog-container .changelog-item .changelog-section li:before{content:"•";position:absolute;left:calc(-1 * var(--spacing-md));color:var(--text-tertiary)}.projects-list{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-md)}.projects-list .project-card{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);text-decoration:none;color:inherit;transition:all .2s}.projects-list .project-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.projects-list .project-card .project-icon{font-size:2.5rem;flex-shrink:0;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-primary);border-radius:var(--radius-md)}.projects-list .project-card .project-content{flex:1}.projects-list .project-card .project-content .project-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.projects-list .project-card .project-content .project-description{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin-bottom:var(--spacing-xs)}.projects-list .project-card .project-content .project-features{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}.projects-list .project-card .project-content .project-link{font-size:.875rem;color:var(--primary-color);font-weight:500}.bots-list{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.bots-list .bot-item{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);text-decoration:none;color:inherit;transition:all .2s}.bots-list .bot-item:hover{box-shadow:var(--shadow-sm);border-color:var(--primary-color)}.bots-list .bot-item .bot-icon{font-size:1.75rem;flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-primary);border-radius:var(--radius-md)}.bots-list .bot-item .bot-content{flex:1}.bots-list .bot-item .bot-content .bot-name{font-size:.938rem;font-weight:600;color:var(--primary-color);margin-bottom:var(--spacing-xs);font-family:Courier New,monospace}.bots-list .bot-item .bot-content .bot-description{font-size:.813rem;color:var(--text-secondary);line-height:1.4}.btn{padding:var(--spacing-sm) var(--spacing-lg);font-size:1rem;font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.btn-primary{background-color:var(--primary-color);color:#fff}.btn.btn-primary:hover:not(:disabled){background-color:var(--primary-dark)}.btn.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary)}.btn.btn-secondary:hover:not(:disabled){background-color:var(--border-color)}.btn.btn-danger{background-color:var(--danger-color);color:#fff}.btn.btn-danger:hover:not(:disabled){background-color:#dc2626}.btn.btn-block{width:100%;display:block}.btn-icon{background:#fff3;color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-icon:hover{background:#ffffff4d}.btn-icon-small{background:transparent;border:none;font-size:1.25rem;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all .2s}.btn-icon-small:hover{background-color:var(--bg-secondary)}.btn-icon-small.btn-danger:hover{background-color:#ef44441a}.fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;border:none;border-radius:50%;font-size:2rem;cursor:pointer;box-shadow:var(--shadow-lg);transition:all .2s;display:flex;align-items:center;justify-content:center;z-index:50}.fab:hover{transform:scale(1.1)}.fab:active{transform:scale(.95)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--text-primary)}.form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:1rem;border:2px solid var(--border-color);border-radius:var(--radius-md);font-family:inherit;transition:all .2s;background-color:var(--bg-primary);color:var(--text-primary)}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}textarea.form-input{resize:vertical;min-height:80px}.modal-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.modal-actions .btn{flex:1}.gender-selector{display:flex;gap:var(--spacing-sm)}.gender-button{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--border-color);background-color:var(--bg-secondary);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;font-size:.875rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.gender-button:hover{border-color:var(--primary-color)}.gender-button.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.selector-group{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.selector-button{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--border-color);background-color:var(--bg-secondary);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;font-size:.875rem;font-weight:500}.selector-button:hover{border-color:var(--primary-color)}.selector-button.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.filter-button{background-color:var(--bg-primary);border:2px solid var(--border-color);color:var(--text-primary);width:44px;height:44px;border-radius:var(--radius-md);font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.filter-button:hover{border-color:var(--primary-color);background-color:var(--bg-secondary)}.filter-button:active{transform:scale(.95)}.sort-menu-container,.view-menu-container{position:relative}.sort-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:200px;z-index:1000;overflow:hidden}.sort-menu .sort-menu-header{padding:var(--spacing-sm) var(--spacing-md);font-weight:600;font-size:.875rem;color:var(--text-secondary);background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.sort-menu .sort-option{width:100%;padding:var(--spacing-sm) var(--spacing-md);text-align:left;background:none;border:none;color:var(--text-primary);cursor:pointer;transition:background-color .2s;font-size:.875rem;display:flex;align-items:center}.sort-menu .sort-option:hover{background-color:var(--bg-secondary)}.sort-menu .sort-option.active{color:var(--primary-color);font-weight:500}.message{margin-top:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-md);font-weight:500}.message.success{background-color:#10b9811a;color:var(--success-color);border:1px solid var(--success-color)}.message.error{background-color:#ef44441a;color:var(--danger-color);border:1px solid var(--danger-color)}.feature-tag{display:inline-block;padding:2px 6px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.7rem;color:var(--text-secondary);white-space:nowrap}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.feature-item{display:flex;align-items:flex-start;gap:var(--spacing-xs);font-size:.875rem;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:background-color .2s}.feature-item:hover{background-color:var(--bg-tertiary)}@media(max-width:640px){.app .app-header .header-content .app-title{font-size:1.25rem}.group-list .groups-container .groups-grid,.settings-container .settings-section .stats-grid{grid-template-columns:1fr}.fab{bottom:46px;right:26px;width:48px;height:48px;font-size:1.5rem}.selector-group{flex-direction:column}.sort-menu{right:0;left:auto}.projects-list .project-card{flex-direction:column;align-items:center;text-align:center}.features-grid{grid-template-columns:1fr}.person-edit-page .person-edit-header{padding:var(--spacing-sm)}.person-edit-page .person-edit-header .person-edit-title{font-size:1.125rem}.person-edit-page .person-edit-content{padding:var(--spacing-md);padding-bottom:60px}}@media print{.app-header,.app-footer,.fab,.btn-icon,.btn-icon-small,.search-bar,.search-filter-bar,.filter-button,.sort-menu{display:none!important}}
