.app{min-height:100vh;background-color:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #000000);padding:20px;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}.container{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.header-section{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.header-section>div:first-child{flex:1}h1{margin:0 0 8px;font-size:28px;font-weight:600;color:var(--tg-theme-text-color, #000000)}.user-role-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.user-role-badge[data-role=admin]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.user-role-badge[data-role=user]{background:#2196f3;color:#fff}.logout-btn{background-color:transparent;color:var(--tg-theme-text-color, #000000);border:1px solid var(--tg-theme-hint-color, #999999);padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.logout-btn:hover{background-color:var(--tg-theme-secondary-bg-color, #f0f0f0);opacity:.8}.logout-btn:active{opacity:.6}.user-info{background-color:var(--tg-theme-secondary-bg-color, #f0f0f0);padding:16px;border-radius:12px;text-align:center}.user-info p{margin:8px 0;color:var(--tg-theme-text-color, #000000)}.counter{background-color:var(--tg-theme-secondary-bg-color, #f0f0f0);padding:24px;border-radius:12px;text-align:center}.counter h2{margin:0 0 20px;font-size:32px;color:var(--tg-theme-text-color, #000000)}.increment-btn{background-color:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:opacity .2s}.increment-btn:active{opacity:.8}.actions{display:flex;gap:12px;justify-content:center}.action-btn{background-color:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:opacity .2s}.action-btn:active{opacity:.8}.info{text-align:center;color:var(--tg-theme-hint-color, #999999);font-size:14px}.info p{margin:8px 0}.service-content{margin-top:20px;min-height:400px}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background-color:var(--tg-theme-bg-color, #ffffff)}.login-card{width:100%;max-width:400px;background-color:var(--tg-theme-secondary-bg-color, #f0f0f0);padding:32px;border-radius:16px;box-shadow:0 4px 12px #0000001a}.login-card h1{text-align:center;margin:0 0 8px;font-size:24px;font-weight:600;color:var(--tg-theme-text-color, #000000)}.login-subtitle{text-align:center;margin:0 0 24px;color:var(--tg-theme-hint-color, #999999);font-size:14px}.login-form{display:flex;flex-direction:column;gap:20px}.login-button{width:100%;padding:14px;background-color:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s;margin-top:8px}.login-button:hover:not(:disabled){opacity:.9}.login-button:active:not(:disabled){opacity:.8}.login-button:disabled{opacity:.6;cursor:not-allowed}.telegram-auth-section{margin-bottom:20px}.telegram-auth-button{width:100%;padding:12px 20px;background:linear-gradient(135deg,#08c,#06a);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0088cc4d}.telegram-auth-button:hover{background:linear-gradient(135deg,#06a,#048);transform:translateY(-1px);box-shadow:0 4px 12px #08c6}.telegram-auth-button:active{transform:translateY(0)}.login-divider{display:flex;align-items:center;margin:20px 0;text-align:center}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--tg-theme-hint-color, #e0e0e0)}.login-divider span{padding:0 15px;color:var(--tg-theme-hint-color, #999999);font-size:14px}.login-footer{margin-top:20px;text-align:center;padding-top:20px;border-top:1px solid var(--tg-theme-hint-color, #e0e0e0)}.login-footer p{margin:0 0 8px;color:var(--tg-theme-hint-color, #999999);font-size:14px}.register-link{background:none;border:none;color:var(--tg-theme-button-color, #2481cc);font-size:14px;font-weight:500;cursor:pointer;text-decoration:underline;padding:0}.register-link:hover:not(:disabled){opacity:.8}.register-link:disabled{opacity:.6;cursor:not-allowed}.register-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background-color:var(--tg-theme-bg-color, #ffffff)}.register-card{width:100%;max-width:400px;background-color:var(--tg-theme-secondary-bg-color, #f0f0f0);padding:32px;border-radius:16px;box-shadow:0 4px 12px #0000001a}.register-card h1{text-align:center;margin:0 0 8px;font-size:24px;font-weight:600;color:var(--tg-theme-text-color, #000000)}.register-subtitle{text-align:center;margin:0 0 8px;color:var(--tg-theme-text-color, #000000);font-size:16px}.register-info{text-align:center;margin:0 0 24px;color:var(--tg-theme-hint-color, #999999);font-size:14px}.register-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:var(--tg-theme-text-color, #000000)}.form-group input{width:100%;padding:12px 16px;border:2px solid var(--tg-theme-hint-color, #e0e0e0);border-radius:8px;font-size:16px;background-color:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #000000);transition:border-color .2s;outline:none}.form-group input:focus{border-color:var(--tg-theme-button-color, #2481cc)}.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-group input::placeholder{color:var(--tg-theme-hint-color, #999999)}.form-hint{font-size:12px;color:var(--tg-theme-hint-color, #999999);font-style:italic}.error-message{padding:12px;background-color:#ff00001a;border:1px solid rgba(255,0,0,.3);border-radius:8px;color:#d32f2f;font-size:14px;text-align:center}.register-actions{display:flex;gap:12px;margin-top:8px}.cancel-button{flex:1;padding:14px;background-color:transparent;color:var(--tg-theme-text-color, #000000);border:2px solid var(--tg-theme-hint-color, #999999);border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s}.cancel-button:hover:not(:disabled){background-color:var(--tg-theme-secondary-bg-color, #f0f0f0)}.cancel-button:disabled{opacity:.6;cursor:not-allowed}.register-button{flex:1;padding:14px;background-color:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s}.register-button:hover:not(:disabled){opacity:.9}.register-button:disabled{opacity:.6;cursor:not-allowed}.navigation{background-color:var(--tg-theme-secondary-bg-color, #f0f0f0);padding:16px;border-radius:12px;margin-bottom:20px}.nav-header{margin-bottom:16px}.nav-header h3{margin:0;font-size:18px;color:var(--tg-theme-text-color, #000000)}.nav-services{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.nav-item{background-color:var(--tg-theme-bg-color, #ffffff);border:2px solid transparent;padding:12px;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.nav-item:hover:not(.disabled){border-color:var(--tg-theme-button-color, #2481cc);transform:translateY(-2px)}.nav-item.active{background-color:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);border-color:var(--tg-theme-button-color, #2481cc)}.nav-item.disabled{opacity:.5;cursor:not-allowed;background-color:var(--tg-theme-secondary-bg-color, #f0f0f0)}.nav-icon{font-size:24px}.nav-text{font-size:12px;font-weight:500}.nav-lock{font-size:12px;margin-top:2px}.dashboard{padding:20px}.dashboard h2{margin:0 0 24px;font-size:24px;color:var(--tg-theme-text-color, #000000)}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:32px}.stat-card{background-color:var(--tg-theme-secondary-bg-color, #f0f0f0);padding:20px;border-radius:12px;text-align:center}.stat-value{font-size:32px;font-weight:700;color:var(--tg-theme-button-color, #2481cc);margin-bottom:8px}.stat-label{font-size:14px;color:var(--tg-theme-hint-color, #999999)}.stat-note{font-size:12px;color:var(--tg-theme-hint-color, #999999);margin-top:8px;font-style:italic}.dashboard-section{margin-bottom:32px}.dashboard-section h3{margin:0 0 16px;font-size:18px;color:var(--tg-theme-text-color, #000000)}.quick-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.action-card{background-color:var(--tg-theme-secondary-bg-color, #f0f0f0);border:none;padding:16px;border-radius:12px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:8px;position:relative}.action-card:hover{background-color:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);transform:translateY(-2px)}.action-card.admin-only{border:2px solid #ff9800}.action-icon{font-size:32px}.action-text{font-size:14px;font-weight:500;text-align:center}.action-badge{position:absolute;top:8px;right:8px;background:#ff9800;color:#fff;font-size:10px;padding:2px 6px;border-radius:4px;font-weight:600}.events-list{display:flex;flex-direction:column;gap:12px}.event-item{background-color:var(--tg-theme-secondary-bg-color, #f0f0f0);padding:12px 16px;border-radius:8px;display:flex;align-items:center;gap:12px}.event-time{font-size:12px;color:var(--tg-theme-hint-color, #999999);min-width:80px}.event-text{flex:1;color:var(--tg-theme-text-color, #000000);font-size:14px}.event-detail{color:var(--tg-theme-button-color, #2481cc);cursor:pointer}.admin-banner{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:16px;border-radius:12px;display:flex;align-items:center;gap:12px;margin-top:24px}.admin-icon{font-size:24px}.admin-banner span:last-child{flex:1;font-size:14px}.users-container{padding:20px}.users-container h2{margin:0 0 24px;font-size:24px;color:var(--tg-theme-text-color, #000000)}.no-access{text-align:center;padding:40px 20px;background-color:var(--tg-theme-secondary-bg-color, #f0f0f0);border-radius:12px}.no-access p{margin:8px 0;color:var(--tg-theme-text-color, #000000)}.no-access .hint{font-size:14px;color:var(--tg-theme-hint-color, #999999)}.users-layout{display:grid;grid-template-columns:300px 1fr;gap:20px}.users-list{background-color:var(--tg-theme-secondary-bg-color, #f0f0f0);border-radius:12px;padding:16px;display:flex;flex-direction:column;max-height:600px}.search-box{margin-bottom:16px}.search-input{width:100%;padding:10px 12px;border:2px solid var(--tg-theme-hint-color, #e0e0e0);border-radius:8px;font-size:14px;background-color:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #000000);outline:none}.search-input:focus{border-color:var(--tg-theme-button-color, #2481cc)}.users-filters{margin-bottom:12px}.status-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.status-filter-btn{padding:6px 12px;border:1px solid var(--tg-theme-hint-color, #999999);border-radius:6px;background-color:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #000000);font-size:11px;font-weight:500;cursor:pointer;transition:all .2s}.status-filter-btn:hover{background-color:var(--tg-theme-secondary-bg-color, #f0f0f0)}.status-filter-btn.active{background-color:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);border-color:var(--tg-theme-button-color, #2481cc)}.users-count{font-size:12px;color:var(--tg-theme-hint-color, #999999);margin-bottom:12px}.users-scroll{overflow-y:auto;flex:1}.user-item{background-color:var(--tg-theme-bg-color, #ffffff);padding:12px;border-radius:8px;margin-bottom:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:12px}.user-item:hover{transform:translate(4px);box-shadow:0 2px 8px #0000001a}.user-item.selected{border:2px solid var(--tg-theme-button-color, #2481cc);background-color:#2481cc1a}.user-item.inactive{opacity:.6}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.user-info{flex:1;min-width:0}.user-name{font-weight:600;color:var(--tg-theme-text-color, #000000);margin-bottom:4px;font-size:14px}.user-details{font-size:12px;color:var(--tg-theme-hint-color, #999999)}.user-status-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.status-badge{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:500}.status-badge.pending{background-color:#ff9800;color:#fff}.status-badge.approved{background-color:#4caf50;color:#fff}.status-badge.rejected{background-color:#f44336;color:#fff}.status-badge.inactive{background-color:#999;color:#fff}.user-status-display{margin-top:8px}.status-badge-large{display:inline-block;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600}.status-badge-large.pending{background-color:#ff9800;color:#fff}.status-badge-large.approved{background-color:#4caf50;color:#fff}.status-badge-large.rejected{background-color:#f44336;color:#fff}.user-details-panel{background-color:var(--tg-theme-secondary-bg-color, #f0f0f0);border-radius:12px;padding:20px}.user-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid var(--tg-theme-hint-color, #e0e0e0)}.user-header h3{margin:0;font-size:20px;color:var(--tg-theme-text-color, #000000)}.user-actions{display:flex;gap:8px}.action-btn{padding:8px 16px;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:opacity .2s}.action-btn.activate{background-color:#4caf50;color:#fff}.action-btn.deactivate{background-color:#ff9800;color:#fff}.action-btn.approve{background-color:#4caf50;color:#fff}.action-btn.reject{background-color:#ff9800;color:#fff}.action-btn.delete{background-color:#f44336;color:#fff}.action-btn:hover{opacity:.8}.user-meta{margin-bottom:24px}.meta-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--tg-theme-hint-color, #e0e0e0)}.meta-label{font-size:14px;color:var(--tg-theme-hint-color, #999999)}.meta-value{font-size:14px;color:var(--tg-theme-text-color, #000000);font-weight:500}.permissions-section{margin-top:24px}.permissions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.permissions-header h4{margin:0;font-size:18px;color:var(--tg-theme-text-color, #000000)}.edit-btn,.save-btn,.cancel-btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}.edit-btn{background-color:var(--tg-theme-button-color, #2481cc);color:#fff}.save-btn{background-color:#4caf50;color:#fff}.cancel-btn{background-color:var(--tg-theme-hint-color, #999999);color:#fff}.edit-actions{display:flex;gap:8px}.permissions-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.permission-item{background-color:var(--tg-theme-bg-color, #ffffff);padding:12px;border-radius:8px;display:flex;justify-content:space-between;align-items:center}.permission-service{display:flex;align-items:center;gap:12px}.service-icon{font-size:20px}.service-name{font-size:14px;color:var(--tg-theme-text-color, #000000);font-weight:500}.permission-select{padding:6px 12px;border:2px solid var(--tg-theme-hint-color, #e0e0e0);border-radius:6px;background-color:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #000000);font-size:14px;cursor:pointer;outline:none}.permission-select:focus{border-color:var(--tg-theme-button-color, #2481cc)}.permission-badge{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500}.permission-badge.full{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.permission-badge.write{background:#4caf50;color:#fff}.permission-badge.read{background:#2196f3;color:#fff}.permission-badge.none{background:#f44336;color:#fff}.no-selection{text-align:center;padding:60px 20px;color:var(--tg-theme-hint-color, #999999)}.no-selection p{margin:0;font-size:14px}@media (max-width: 768px){.users-layout{grid-template-columns:1fr}.users-list{max-height:300px}}.service-placeholder{padding:20px}.service-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.service-icon{font-size:32px}.service-header h2{margin:0;font-size:24px;color:var(--tg-theme-text-color, #000000)}.service-description{margin-bottom:20px}.service-description p{color:var(--tg-theme-hint-color, #999999);font-size:14px;margin:0}.access-info{margin-bottom:24px}.access-badge{display:inline-block;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500}.access-badge[data-level=full]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.access-badge[data-level=write]{background:#4caf50;color:#fff}.access-badge[data-level=read]{background:#2196f3;color:#fff}.access-badge[data-level=none]{background:#f44336;color:#fff}.no-access-message{text-align:center;padding:40px 20px;background-color:var(--tg-theme-secondary-bg-color, #f0f0f0);border-radius:12px}.no-access-message p{margin:8px 0;color:var(--tg-theme-text-color, #000000)}.no-access-message .hint{font-size:12px;color:var(--tg-theme-hint-color, #999999)}.service-content{background-color:var(--tg-theme-secondary-bg-color, #f0f0f0);border-radius:12px;padding:24px}.content-placeholder{text-align:center}.content-placeholder p{margin:8px 0;color:var(--tg-theme-text-color, #000000)}.content-placeholder .hint{font-size:14px;color:var(--tg-theme-hint-color, #999999)}.admin-note{margin-top:20px;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:8px}.admin-note p{margin:0;font-size:14px}.read-only-note{margin-top:20px;padding:12px;background:#2196f3;color:#fff;border-radius:8px}.read-only-note p{margin:0;font-size:14px}*{margin:0;padding:0;box-sizing:border-box}:root{--tg-theme-bg-color: #ffffff;--tg-theme-text-color: #000000;--tg-theme-hint-color: #999999;--tg-theme-link-color: #2481cc;--tg-theme-button-color: #2481cc;--tg-theme-button-text-color: #ffffff;--tg-theme-secondary-bg-color: #f0f0f0}body{margin:0;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(--tg-theme-bg-color);color:var(--tg-theme-text-color)}#root{min-height:100vh}
