.modal-backdrop.fade{opacity:0;transition:opacity .3s ease-out}.modal-backdrop.fade.show{opacity:.5}.modal-dialog-mobile{margin:.5rem auto!important;max-width:none!important;width:auto!important}@media (max-width: 768px){.payment-table-mobile .badge{font-size:.75rem}.payment-table-mobile td:nth-child(4){white-space:nowrap}.payment-status-mobile-opljen:before{content:"Опл"}.payment-status-mobile-overdue:before{content:"Прос"}.payment-status-mobile-pending:before{content:"Ожид"}}@media (min-width: 769px){.payment-table-desktop .badge{font-size:.875rem}}@keyframes starPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.premium-star-icon{animation:starPulse 1.5s ease-in-out infinite;color:#fff!important}@keyframes headerPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.premium-header-title{animation:headerPulse 1.5s ease-in-out infinite;display:inline-block}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}.modal.fade.show .modal-dialog{transform:translate(0)}.modal.fade .modal-content{opacity:0;transition:opacity .3s ease-out}.modal.fade.show .modal-content{opacity:1}.modal{transition:background-color .3s ease}.app{min-height:100vh;background-color:#f8f9fa}.company-header{text-align:center;margin-bottom:10px}.company-name{font-size:1.5rem;font-weight:700;display:flex;align-items:center;justify-content:center}.company-contact{font-size:.9rem;color:#6c757d;display:flex;align-items:center;justify-content:center}@media (max-width: 991px){.navbar>.container{flex-wrap:wrap!important;justify-content:center!important}.company-header{order:1;width:100%;max-width:100%;font-size:1em;text-align:center;padding:0;margin-bottom:0}.company-name{font-size:1.2rem;width:100%;text-align:center;margin-bottom:0}.company-contact{width:100%;text-align:center;margin-bottom:0}.navbar-nav.d-flex{order:2;width:100%;margin-top:0!important;margin-bottom:5px!important}.main-nav-buttons{order:3;width:100%;justify-content:center!important;margin-top:2px;margin-bottom:3px}.navbar-collapse{order:4;width:100%}}.main-nav-button{padding:.35rem .7rem!important;font-weight:500;min-width:120px;text-align:center;white-space:nowrap}@media (max-width: 575px){.main-nav-button{min-width:auto;padding:.25rem .5rem!important}}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #dee2e6;padding:8px 0;z-index:1000;box-shadow:0 -2px 10px #0000001a;display:none}.mobile-bottom-nav .nav-item{flex:1;text-align:center}.mobile-bottom-nav .nav-link{display:flex;flex-direction:column;align-items:center;padding:6px 4px;color:#6c757d;text-decoration:none;border-radius:8px;margin:0 4px;position:relative;transition:all .2s ease;cursor:pointer}.mobile-bottom-nav .nav-link.active{color:#0d6efd;background-color:#0d6efd1a}.mobile-bottom-nav .nav-link i{font-size:20px;margin-bottom:2px}.mobile-bottom-nav .nav-link span{font-size:11px;font-weight:500;line-height:1}.mobile-bottom-nav .badge{position:absolute;top:-2px;right:8px;min-width:18px;height:18px;border-radius:9px;font-size:10px;line-height:18px;padding:0}@media (max-width: 767px){.mobile-bottom-nav{display:flex}.navbar .main-nav-buttons{display:none!important}body{padding-bottom:55px}.mobile-menu-toggle{position:fixed;top:15px;right:15px;z-index:1001;background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:8px 12px;box-shadow:0 2px 8px #0000001a}.navbar .w-100:last-child{margin-top:0!important}}.toggle-switch{position:relative;display:inline-block;width:50px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%;box-shadow:0 2px 4px #0003}input:checked+.toggle-slider{background-color:#0d6efd}input:focus+.toggle-slider{box-shadow:0 0 1px #0d6efd}input:checked+.toggle-slider:before{transform:translate(26px)}.toggle-container{display:flex;align-items:center;gap:12px}.toggle-label{font-weight:500;color:#333;margin:0;cursor:pointer}.overdue-payment-card{background:linear-gradient(135deg,#fff,#f8f9fc);border:1px solid #e3e6f0;border-radius:16px;padding:18px;margin-bottom:16px;box-shadow:0 4px 16px #0000000f;transition:all .3s ease;position:relative;overflow:hidden}.overdue-payment-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#ef4444,#dc2626)}.overdue-payment-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #ef444426;border-color:#ef4444}.overdue-payment-card .payment-header{display:flex;align-items:center;margin-bottom:15px}.overdue-payment-card .payment-icon{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#ef4444,#dc2626);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;margin-right:12px;flex-shrink:0}.overdue-payment-card .payment-info-header{flex:1}.overdue-payment-card .client-name-overdue{font-weight:700;font-size:1.15rem;color:#991b1b;margin-bottom:4px;line-height:1.3}.overdue-payment-card .overdue-days{color:#ef4444;font-size:.9rem;font-weight:600;display:flex;align-items:center}.overdue-payment-card .overdue-days i{margin-right:6px}.overdue-payment-card .payment-details{background:#ef44440d;border-radius:12px;padding:14px;margin-bottom:15px}.overdue-payment-card .payment-amount{font-size:1.4rem;font-weight:700;color:#991b1b;text-align:center;margin-bottom:10px}.overdue-payment-card .payment-date{text-align:center;color:#6b7280;font-size:.9rem}.overdue-payment-card .actions{display:flex;gap:10px;justify-content:space-between;margin-top:15px}.overdue-payment-card .btn-sm{flex:1;padding:8px 6px;font-size:.8rem;font-weight:600;border-radius:8px;border:none;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:4px}.overdue-payment-card .btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.overdue-payment-card .btn-outline-primary{background:#fff;color:#4e73df;border:1px solid #4e73df}.overdue-payment-card .btn-success{background:linear-gradient(135deg,#25d366,#128c7e);color:#fff}.overdue-payment-card .btn-success:hover{background:linear-gradient(135deg,#128c7e,#075e54);transform:translateY(-1px)}@media print{.no-print{display:none!important}}.pulse-icon-animation{animation:pulse-icon 1s ease-in-out infinite!important;color:#dc3545!important}@keyframes pulse-icon{0%{transform:scale(1);filter:drop-shadow(0 0 0 rgba(220,53,69,.7))}50%{transform:scale(1.4);filter:drop-shadow(0 0 15px rgba(220,53,69,1))}to{transform:scale(1);filter:drop-shadow(0 0 0 rgba(220,53,69,.7))}}.notification-badge{position:absolute;top:-6px;right:-6px;width:18px;height:18px;background-color:#dc3545;color:#fff;border-radius:50%;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #dc354566;z-index:10}.notification-badge.overdue{background-color:#dc3545;animation:pulse-red 2s infinite}.notification-badge.applications{background-color:#ffc107;color:#333;animation:pulse-yellow 2s infinite}@keyframes pulse-red{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes pulse-yellow{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.powered-by{position:fixed;bottom:10px;right:15px;font-size:14px;opacity:.9;z-index:999;pointer-events:none}@media (max-width: 768px){.powered-by{display:none}}.powered-by-text{font-weight:400;padding-right:5px;color:#6c757d}.magadmus{font-weight:700;color:#3a82f7;font-size:16px;letter-spacing:1px;animation:shimmer 3s infinite,glow 2s infinite alternate;background:linear-gradient(to right,#3a82f7,#7a5af7,#3a82f7,#7a5af7,#3a82f7,#7a5af7);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 5px rgba(58,130,247,.3);position:relative}.magadmus:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:2px;background:#3a82f71a;filter:blur(4px);z-index:-1;animation:pulse 4s infinite}@keyframes shimmer{0%{background-position:200% center}to{background-position:0% center}}@keyframes glow{0%{text-shadow:0 0 5px rgba(58,130,247,.3)}50%{text-shadow:0 0 10px rgba(58,130,247,.5)}to{text-shadow:0 0 15px rgba(58,130,247,.7)}}@keyframes pulse{0%{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}to{opacity:.5;transform:scale(1)}}@media (max-width: 767px){.request-page{padding:20px 12px!important}.request-page h1{font-size:1.3rem!important}.request-page h1 i{margin-right:8px!important}.request-page>div>div>div:first-child{flex-direction:column!important;gap:12px}.request-page .btn{padding:8px 12px!important;font-size:.8rem!important}.request-page .card-body>div:first-of-type{flex-direction:row!important;justify-content:flex-start!important}.request-page .card-body>div:first-of-type>div:first-child{width:100%!important;gap:0!important}.request-page button[style*="padding: '12px"]{padding:8px 12px!important;font-size:.75rem!important}.request-page [style*="paddingLeft: '16px'"]{padding-left:0!important;border-left:none!important;margin-top:0}.request-page .row.g-2{gap:.5rem!important}.request-page .row.g-2 .col-6,.request-page .row.g-2 .col-lg-2{flex:0 0 calc(50% - .25rem)!important;max-width:calc(50% - .25rem)!important}.request-page .row.g-2 .card-body{padding:8px!important}.request-page .row.g-2 .card{border-radius:6px!important}.request-page form .row .col-md-3{flex:0 0 100%!important;max-width:100%!important}.modal-dialog{max-width:95vw!important;margin:20px auto!important}.modal-content{max-height:85vh;overflow-y:auto}.modal-header{flex-wrap:wrap!important;gap:8px!important;padding:1rem!important}.modal-title{font-size:1rem!important}.modal-body{padding:1rem!important}.request-page .d-flex.gap-2{flex-direction:column!important;gap:8px!important}.request-page .d-flex.gap-2 .btn{width:100%;padding:12px 16px!important}.request-page table{font-size:.8rem!important}.request-page table td{padding:8px 4px!important}.request-page table th{padding:8px 4px!important;font-size:.75rem!important}.request-page .row.g-3{gap:12px!important}.request-page .alert{padding:8px 12px!important;font-size:.8rem!important}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;color:#333;background-color:#f5f5f5}#root{min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:#fff;border-bottom:1px solid #e0e0e0;padding:1rem 0}.header-content{max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;justify-content:space-between;align-items:center}.header-content h1{color:#2c3e50;font-size:1.5rem}.header-info{display:flex;align-items:center;gap:1rem}.admin-badge{background:#e74c3c;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.8rem}.main-nav{max-width:1200px;margin:0 auto;padding:.5rem 1rem;display:flex;gap:1rem}.main-nav button{padding:.5rem 1rem;border:none;background:transparent;cursor:pointer;border-radius:4px;transition:background-color .2s}.main-nav button:hover{background:#f0f0f0}.main-nav button.active{background:#3498db;color:#fff}.app-main{flex:1;max-width:1200px;margin:0 auto;padding:2rem 1rem;width:100%}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-danger{0%,to{box-shadow:0 0 #e74a3bb3}50%{box-shadow:0 0 0 10px #e74a3b00}}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.welcome-section h2{color:#2c3e50;margin-bottom:.5rem}.welcome-section p{color:#7f8c8d}.logout-button{padding:.5rem 1rem;background:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.stat-card h3{color:#7f8c8d;font-size:.9rem;margin-bottom:.5rem}.stat-value{font-size:2rem;font-weight:700;color:#2c3e50}.stat-value.success{color:#27ae60}.stat-value.warning{color:#f39c12}.quick-actions{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.action-buttons{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem}.action-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;transition:all .2s}.action-button:hover{border-color:#3498db;background:#f8f9fa}.action-button.primary{background:#3498db;color:#fff;border-color:#3498db}.action-button.primary:hover{background:#2980b9}.button-icon{font-size:1.2rem}.client-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.back-button{padding:.5rem 1rem;background:#95a5a6;color:#fff;border:none;border-radius:4px;cursor:pointer}.search-section{display:flex;gap:1rem;margin-bottom:2rem;align-items:center}.search-form{display:flex;gap:.5rem;flex:1}.search-input{flex:1;padding:.75rem;border:1px solid #ddd;border-radius:4px}.search-button{padding:.75rem 1rem;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer}.add-client-button{padding:.75rem 1rem;background:#27ae60;color:#fff;border:none;border-radius:4px;cursor:pointer}.clients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1rem}.client-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.client-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.client-header h3{color:#2c3e50;margin:0}.client-actions{display:flex;gap:.5rem}.view-button{padding:.25rem .5rem;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.8rem}.delete-button{padding:.25rem .5rem;background:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.8rem}.client-info p{margin:.25rem 0;font-size:.9rem;color:#666}.payment-summary{margin-top:1rem;padding-top:1rem;border-top:1px solid #eee}.payment-status-bar{width:100%;height:6px;background:#ecf0f1;border-radius:3px;margin-top:.5rem;overflow:hidden}.payment-progress{height:100%;background:#27ae60;transition:width .3s ease}.client-mobile-card{background:linear-gradient(135deg,#fff,#f8f9fc);border:1px solid #e3e6f0;border-radius:16px;padding:18px;margin-bottom:16px;box-shadow:0 4px 16px #0000000f;transition:all .3s ease;position:relative;overflow:hidden;cursor:pointer}.client-mobile-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4e73df,#1cc88a,#f6c23e)}.client-mobile-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001f;border-color:#4e73df}.client-mobile-card .client-header{display:flex;align-items:center;margin-bottom:15px}.client-mobile-card .client-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#4e73df,#1cc88a);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1.2rem;margin-right:12px;flex-shrink:0}.client-mobile-card .client-info-header{flex:1}.client-mobile-card .client-name{font-weight:700;font-size:1.15rem;color:#2e3a47;margin-bottom:4px;line-height:1.3}.client-mobile-card .client-phone{color:#6c757d;font-size:.9rem;display:flex;align-items:center}.client-mobile-card .client-phone i{margin-right:6px;color:#4e73df}.client-mobile-card .client-details{background:#4e73df0d;border-radius:12px;padding:14px;margin-bottom:15px}.client-mobile-card .detail-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.9rem}.client-mobile-card .detail-row:last-child{margin-bottom:0}.client-mobile-card .detail-label{color:#5a5c69;font-weight:500;display:flex;align-items:center}.client-mobile-card .detail-label i{margin-right:6px;color:#4e73df;width:16px}.client-mobile-card .detail-value{color:#2e3a47;font-weight:600;text-align:right}.client-mobile-card .payment-status-section{background:#fff;border-radius:10px;padding:12px;margin-bottom:15px;border-left:4px solid #4e73df}.client-mobile-card .payment-status{display:inline-flex;align-items:center;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600;margin-bottom:8px}.client-mobile-card .payment-overdue{background:linear-gradient(135deg,#e74a3b,#c0392b);color:#fff}.client-mobile-card .payment-upcoming{background:linear-gradient(135deg,#f39c12,#d68910);color:#fff}.client-mobile-card .payment-ok{background:linear-gradient(135deg,#1cc88a,#17a673);color:#fff}.client-mobile-card .progress-info{font-size:.85rem;color:#5a5c69;margin-top:8px}.client-mobile-card .progress-bar-container{background:#e9ecef;height:6px;border-radius:3px;overflow:hidden;margin-top:8px}.client-mobile-card .progress-bar{height:100%;background:linear-gradient(90deg,#4e73df,#1cc88a);border-radius:3px;transition:width .3s ease}.client-mobile-card .actions{display:flex;gap:10px;justify-content:space-between;margin-top:15px}.client-mobile-card .btn-sm{flex:1;padding:10px 8px;font-size:.85rem;font-weight:600;border-radius:8px;border:none;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.client-mobile-card .btn-primary{background:linear-gradient(135deg,#4e73df,#3653cc);color:#fff}.client-mobile-card .btn-outline-secondary{background:#fff;color:#5a5c69;border:1px solid #d1d3e2}.client-mobile-card .btn-outline-info{background:#fff;color:#4e73df;border:1px solid #4e73df}@media (max-width: 768px){.header-content{flex-direction:column;gap:1rem}.main-nav{justify-content:center}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.action-buttons{flex-direction:column}.search-section{flex-direction:column;align-items:stretch}.clients-grid{grid-template-columns:1fr}}.user-info{font-size:1.1em}.user-info dt{font-weight:500;color:#555}.user-info dd{margin-bottom:12px}.password-info{font-family:monospace;word-break:break-all;background-color:#f8f9fa;padding:10px;border-radius:4px;font-size:.9em}.danger-zone{border:2px dashed #dc3545;padding:20px;border-radius:8px;background-color:#dc35450d}.border-danger{border-width:2px}.stats-item{font-size:1.1rem;line-height:1.6}.stats-item span:first-child{color:#555}.stats-item span:last-child{font-size:1.25rem}.admin-container{max-width:1000px;margin:30px auto}.nav-item{margin-left:5px}.nav-tabs .nav-link.active{font-weight:700;border-bottom:3px solid #3a82f7}.counter-badge{font-size:.75em;margin-left:5px;vertical-align:middle}
