:root{--base-font-size:clamp(12px, 0.8vw, 18px);--space-unit:clamp(4px, 0.5vw, 10px);--margin-x:clamp(10px, 3vw, 80px);--margin-y:clamp(10px, 3vh, 80px);--container-max-width:clamp(800px, 70vw, 1600px);--sidebar-width:clamp(200px, 16vw, 380px);--header-max-width:clamp(800px, 70vw, 1600px);--gap-sm:clamp(6px, 0.6vw, 16px);--gap-md:clamp(10px, 1vw, 28px);--gap-lg:clamp(16px, 1.8vw, 40px);--padding-xs:clamp(6px, 0.6vw, 14px);--padding-sm:clamp(10px, 0.8vw, 20px);--padding-md:clamp(12px, 1vw, 26px);--padding-lg:clamp(16px, 1.4vw, 32px);--padding-xl:clamp(20px, 2vw, 50px);--font-xs:clamp(10px, 0.6vw, 13px);--font-sm:clamp(11px, 0.7vw, 14px);--font-base:clamp(12px, 0.8vw, 16px);--font-md:clamp(13px, 0.9vw, 17px);--font-lg:clamp(14px, 1vw, 20px);--font-xl:clamp(16px, 1.2vw, 24px);--font-2xl:clamp(18px, 1.5vw, 30px);--font-3xl:clamp(20px, 1.8vw, 34px);--radius-sm:clamp(5px, 0.4vw, 10px);--radius-md:clamp(6px, 0.5vw, 12px);--radius-lg:clamp(8px, 0.6vw, 14px);--radius-xl:clamp(10px, 0.8vw, 16px);--radius-2xl:clamp(12px, 1vw, 20px);--radius-3xl:clamp(14px, 1.2vw, 24px);--shadow-sm:0 2px 4px rgba(0, 0, 0, 0.06);--shadow-md:0 4px 20px rgba(0, 0, 0, 0.08);--shadow-lg:0 8px 30px rgba(0, 0, 0, 0.12);--shadow-xl:0 10px 40px rgba(0, 0, 0, 0.2);--primary-color:#007bff;--primary-hover:#0056b3;--success-color:#28a745;--warning-color:#ffc107;--danger-color:#dc3545;--info-color:#17a2b8;--blur-sm:clamp(4px, 0.4vw, 10px);--blur-md:clamp(6px, 0.6vw, 12px);--blur-lg:clamp(10px, 1vw, 18px);--blur-xl:clamp(12px, 1.2vw, 24px)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;background:linear-gradient(135deg,#f5f7fa 0,#e8ecf1 100%);min-height:100vh;color:#333;line-height:1.6;font-size:var(--font-base)}#loginPanel{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .5s ease-out}#loginPanel.hidden{display:none!important}.login-container{width:100%;max-width:clamp(360px,40vw,480px);padding:0 var(--padding-md);animation:slideUp .6s ease-out}.login-box{background:rgba(255,255,255,.95);backdrop-filter:blur(var(--blur-md));border-radius:var(--radius-2xl);box-shadow:0 clamp(20px,2vw,30px) clamp(50px,5vw,70px) rgba(0,0,0,.25),0 0 1px rgba(0,0,0,.1);padding:var(--padding-xl) var(--padding-lg);border:clamp(.5px,.08vw,1.5px) solid rgba(255,255,255,.2)}.login-title{text-align:center;margin-bottom:var(--padding-lg)}.login-title h1{font-size:clamp(22px, 1.8vw, 32px);font-weight:700;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--padding-xs)}.login-title p{font-size:var(--font-sm);color:#666;font-weight:400}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideUp{from{transform:translateY(var(--padding-lg));opacity:0}to{transform:translateY(0);opacity:1}}#mainPanel{display:none}#mainPanel.show{display:flex;flex-direction:column;height:100vh}#mainPanel.hidden{display:none!important}.tab-nav{display:flex;gap:var(--gap-sm);margin-bottom:var(--padding-md)}.btn-tab{flex:1;background:#f8f9fa;color:#667eea}.btn-tab:hover{background:rgba(102,126,234,.1)}.btn-tab.active{background:#667eea;color:#fff;box-shadow:0 4px 15px rgba(102,126,234,.35)}.tab-content{display:none}.tab-content.active{display:block}@keyframes fadeInUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.header{background:rgba(255,255,255,.85);backdrop-filter:blur(var(--blur-xl));-webkit-backdrop-filter:blur(var(--blur-xl));border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-3xl);padding:12px var(--gap-md);display:flex;justify-content:space-between;align-items:center;box-shadow:0 var(--gap-md) clamp(30px,3vw,50px) rgba(0,0,0,.12),0 var(--padding-xs) var(--gap-sm) rgba(0,0,0,.06),0 0 0 clamp(.5px,.08vw,1.5px) rgba(0,0,0,.02);position:relative;z-index:10;max-width:var(--header-max-width);min-height:60px;max-height:80px;margin:var(--padding-xs) auto;width:100%;transform:translateY(0);transition:all .3s cubic-bezier(.4, 0, .2, 1);animation:floatIn .8s ease-out}.header:hover{transform:translateY(calc(-1 * var(--padding-xs)/ 3));box-shadow:0 var(--padding-md) var(--padding-xl) rgba(0,0,0,.15),0 var(--padding-xs) var(--padding-md) rgba(0,0,0,.08),0 0 0 clamp(.5px,.08vw,1.5px) rgba(102,126,234,.1)}@keyframes floatIn{from{opacity:0;transform:translateY(calc(-1 * var(--padding-md)))}to{opacity:1;transform:translateY(0)}}.header-left h1{font-size:clamp(18px, 2vw, var(--font-2xl));font-weight:700;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-right{display:flex;align-items:center;gap:var(--padding-lg)}.user-info{display:flex;align-items:center;gap:var(--space-unit);padding:var(--space-unit) var(--padding-sm);background:rgba(102,126,234,.1);border-radius:var(--radius-3xl);color:#667eea;font-size:clamp(12px, 1.2vw, var(--font-base));font-weight:500}.main-content{flex:1;display:flex;overflow-y:auto;overflow-x:hidden;gap:var(--gap-md);padding:var(--padding-xs) 0;max-width:var(--container-max-width);margin:0 auto;width:100%;min-height:0}.sidebar{width:var(--sidebar-width);background:#fff;border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);overflow-y:auto;padding:var(--padding-sm);flex-shrink:0}.main-area{flex:1;display:flex;flex-direction:column;padding:var(--padding-sm) var(--padding-sm) 0 var(--padding-sm);overflow-y:auto;overflow-x:hidden;background:#fff;border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);min-height:0;max-height:100%}.main-area .panel{flex:1;display:flex;flex-direction:column;overflow:visible;margin-bottom:0;box-shadow:none;border:none;border-radius:0;min-height:0}#adminTab .panel,#configTab .panel,#sendTab .panel{margin-bottom:var(--padding-lg)}#adminTab .panel:last-child,#configTab .panel:last-child,#sendTab .panel:last-child{margin-bottom:0}.main-area .panel-header{flex-shrink:0;position:sticky;top:0;z-index:5;background:linear-gradient(135deg,#f8f9fa 0,#fff 100%);box-shadow:none;border-bottom:clamp(.5px,.08vw,1.5px) solid rgba(0,0,0,.05);padding:var(--padding-xs) var(--padding-md)}.main-area .panel-header h3{font-size:var(--font-lg);color:#333;font-weight:600}.main-area .panel-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--padding-xs) var(--gap-md);min-height:0;-webkit-overflow-scrolling:touch}.panel{background:#fff;border-radius:var(--radius-2xl);margin-bottom:var(--padding-lg);box-shadow:var(--shadow-md);border:clamp(.5px,.08vw,1.5px) solid rgba(0,0,0,.05);overflow:hidden;transition:all .3s ease}.panel:hover{box-shadow:0 8px 30px rgba(0,0,0,.12);transform:translateY(-2px)}.panel-header{padding:var(--padding-xs) var(--padding-md);background:linear-gradient(135deg,#f8f9fa 0,#fff 100%);border-bottom:clamp(.5px,.08vw,1.5px) solid rgba(0,0,0,.05);display:flex;justify-content:space-between;align-items:center;gap:var(--gap-md)}.panel-header h3{font-size:var(--font-lg);color:#333;font-weight:600;display:flex;align-items:center;gap:var(--space-unit)}.panel-content{padding:var(--padding-sm) var(--padding-md)}.form-group{margin-bottom:var(--padding-lg)}.form-group label{display:block;margin-bottom:var(--gap-sm);color:#444;font-size:var(--font-base);font-weight:600;letter-spacing:.2px}input[type=password],input[type=text],select,textarea{width:100%;padding:var(--padding-sm);border:clamp(1.5px,.15vw,2.5px) solid #e8ecf1;border-radius:var(--radius-md);font-size:var(--font-base);transition:all .3s ease;font-family:inherit;background:#f8f9fa}input[type=password]:hover,input[type=text]:hover,select:hover,textarea:hover{border-color:#d0d7e0;background:#fff}input[type=password]:focus,input[type=text]:focus,select:focus,textarea:focus{outline:0;border-color:#667eea;box-shadow:0 0 0 var(--padding-xs) rgba(102,126,234,.1);background:#fff}textarea{resize:vertical;min-height:clamp(80px,8vw,140px)}select{cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23667eea' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--padding-sm) center;padding-right:calc(var(--padding-sm) * 3)}.btn{padding:calc(var(--padding-xs) * .9) var(--padding-md);border:none;border-radius:var(--radius-md);font-size:var(--font-base);font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4, 0, .2, 1);display:inline-block;position:relative;overflow:hidden}.btn::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.3);transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:active::before{width:clamp(250px,25vw,350px);height:clamp(250px,25vw,350px)}.btn-block{width:100%}.btn-primary{background:linear-gradient(135deg,#3b82f6 0,#2563eb 100%);color:#fff;box-shadow:0 4px 15px rgba(59,130,246,.25)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(37,99,235,.35);background:linear-gradient(135deg,#60a5fa 0,#3b82f6 100%)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:#f0f2f5;color:#333}.btn-secondary:hover{background:#e4e7eb;transform:translateY(-1px)}.btn-send{background:#28a745;color:#fff;box-shadow:0 4px 15px rgba(40,167,69,.25);width:100%}.btn-send:hover{background:#218838;transform:translateY(-2px);box-shadow:0 8px 25px rgba(40,167,69,.35)}.btn-send:active{transform:translateY(0)}#message{position:fixed;top:var(--padding-lg);right:var(--padding-lg);padding:var(--padding-sm) var(--padding-md);border-radius:var(--radius-lg);display:none;z-index:2000;animation:slideInRight .4s cubic-bezier(.68,-.55,.265,1.55);box-shadow:0 10px 40px rgba(0,0,0,.2);font-weight:500;font-size:var(--font-base);backdrop-filter:blur(10px)}#message.show{display:block}#message.success{background:linear-gradient(135deg,#d4edda 0,#c3e6cb 100%);color:#155724;border-left:var(--padding-xs) solid #28a745}#message.error{background:linear-gradient(135deg,#f8d7da 0,#f5c6cb 100%);color:#721c24;border-left:var(--padding-xs) solid #dc3545}#message.info{background:linear-gradient(135deg,#d1ecf1 0,#bee5eb 100%);color:#0c5460;border-left:var(--padding-xs) solid #17a2b8}@keyframes slideInRight{from{transform:translateX(clamp(300px,30vw,500px));opacity:0}to{transform:translateX(0);opacity:1}}.sms-list{margin-top:0}.sms-item{background:#fff;border:1.5px solid #f0f2f5;border-radius:var(--radius-lg);padding:clamp(8px,1.1vw,14px) clamp(10px,1.3vw,18px);margin-bottom:clamp(6px,.9vw,12px);transition:all .3s ease;position:relative;overflow:hidden}@media (max-width:480px){.sms-item{padding:6px 8px!important;margin-bottom:4px!important}.sms-item-header{margin-bottom:4px!important;padding-bottom:4px!important}.sms-item-phone{font-size:12px!important}.sms-item-date{font-size:10px!important;margin-left:4px!important}.sms-item-sender{font-size:10px!important;margin-bottom:4px!important;padding:2px 4px!important}.sms-item-content{padding:6px!important;margin:4px 0!important;font-size:11px!important;line-height:1.5!important;min-height:45px!important}.sms-item-footer{margin-top:4px!important;padding-top:4px!important}.sms-item-status{font-size:10px!important;padding:2px 4px!important}.btn-decrypt{padding:4px 8px!important;font-size:10px!important}}.sms-item::before{content:'';position:absolute;top:0;left:0;width:clamp(3px,.3vw,5px);height:100%;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);transform:scaleY(0);transition:transform .3s ease}.sms-item:hover{border-color:#667eea;box-shadow:0 8px 30px rgba(102,126,234,.15);transform:translateY(-3px)}.sms-item:hover::before{transform:scaleY(1)}.sms-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:clamp(8px,1vw,14px);padding-bottom:clamp(6px,.9vw,10px);border-bottom:1.5px solid #f8f9fa}.sms-item-phone{font-weight:700;color:#333;font-size:clamp(14px, 1.2vw, 17px);letter-spacing:.3px;flex-shrink:0}.sms-item-date{color:#999;font-size:clamp(11px, .9vw, 13px);font-weight:400;margin-left:clamp(6px,.6vw,8px)}.sms-item-sender{color:#666;font-size:clamp(11px, 1vw, 13px);margin-bottom:clamp(5px,.7vw,8px);margin-right:clamp(7px,.9vw,11px);padding:clamp(3px,.4vw,5px) clamp(6px,.7vw,9px);background:#f8f9fa;border-radius:clamp(5px,.6vw,7px);display:inline-block;font-weight:500}.sms-item-content{background:linear-gradient(135deg,#f8f9fa 0,#fff 100%);padding:clamp(10px,1.3vw,16px);border-radius:clamp(7px,.7vw,9px);margin:clamp(5px,.8vw,9px) 0;font-size:clamp(12px, 1vw, 14px);line-height:1.7;color:#333;word-break:break-word;overflow-wrap:break-word;min-height:clamp(55px,6.5vh,100px);max-height:none;overflow-y:visible;overflow-x:hidden;border:1.5px solid #f0f2f5;transition:all .3s ease;-webkit-overflow-scrolling:touch}.sms-item-content:hover{border-color:#e8ecf1}.sms-item-content.encrypted{color:#999;font-family:'Courier New',monospace;font-size:var(--font-xs);background:linear-gradient(135deg,#f8f9fa 0,#f0f2f5 100%)}.sms-item-content.decrypted{background:linear-gradient(135deg,#e8f5e9 0,#f1f8f4 100%);border-color:#c8e6c9;color:#2d5f2e}.sms-item-footer{display:flex;justify-content:space-between;align-items:center;margin-top:clamp(6px,.9vw,11px);padding-top:clamp(5px,.8vw,9px);border-top:1.5px solid #f8f9fa}.sms-item-status{font-size:clamp(11px, 1vw, 13px);padding:clamp(3px,.4vw,5px) clamp(8px,1vw,12px);background:#e3f2fd;color:#1976d2;border-radius:clamp(10px,1vw,14px);font-weight:600}.btn-decrypt{background:linear-gradient(135deg,#28a745 0,#20c997 100%);color:#fff;padding:clamp(5px,.6vw,8px) clamp(10px,1.2vw,16px);font-size:clamp(11px, 1vw, 13px);font-weight:600;box-shadow:0 2px 8px rgba(40,167,69,.25);border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.btn-decrypt:hover{background:linear-gradient(135deg,#218838 0,#1ba87c 100%);transform:translateY(-1px);box-shadow:0 3px 12px rgba(40,167,69,.35)}.pagination{display:flex;justify-content:center;gap:calc(var(--gap-sm) * .6);padding:0;margin-top:0;flex-wrap:wrap;flex-shrink:0;flex-grow:0}.pagination:not(:empty){padding:var(--padding-sm);margin-top:var(--padding-xs);background:linear-gradient(135deg,#fafbfc 0,#fff 100%);border-radius:0 0 var(--radius-xl) var(--radius-xl);box-shadow:0 calc(-1 * var(--padding-xs)) var(--gap-sm) rgba(0,0,0,.06);border-top:clamp(1.5px,.15vw,2.5px) solid #f0f2f5}.pagination a,.pagination span{padding:calc(var(--padding-xs) * .7) var(--padding-sm);border:clamp(1.5px,.15vw,2.5px) solid #e8ecf1;border-radius:var(--radius-md);text-decoration:none;color:#333;font-size:var(--font-sm);font-weight:500;cursor:pointer;transition:all .3s ease;background:#fff}.pagination a:hover{border-color:#667eea;color:#667eea;background:rgba(102,126,234,.05);transform:translateY(-2px)}.pagination span.active{background:#fff;color:#333;border-color:#e8ecf1;box-shadow:0 var(--padding-xs) var(--padding-md) rgba(0,0,0,.1);font-weight:700}.pagination span.disabled{color:#ccc;cursor:not-allowed;border-color:#f0f2f5;background:#f8f9fa}.loading{text-align:center;padding:clamp(40px,4vw,80px);color:#999}.spinner{display:inline-block;width:clamp(20px,1.5vw,28px);height:clamp(20px,1.5vw,28px);border:clamp(2px,.2vw,4px) solid #f0f2f5;border-top:clamp(2px,.2vw,4px) solid #667eea;border-radius:50%;animation:spin .8s linear infinite;margin-right:var(--gap-sm)}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.empty-state{text-align:center;padding:clamp(60px,5vw,100px) var(--padding-md);color:#999}.empty-state-icon{font-size:clamp(48px, 4vw, 72px);margin-bottom:var(--padding-md);opacity:.5}.empty-state div{font-size:var(--font-base);font-weight:500}.modal{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);backdrop-filter:blur(var(--blur-sm));z-index:2000;align-items:center;justify-content:center}.modal.show{display:flex}.modal-content{background:#fff;border-radius:var(--radius-3xl);max-width:clamp(340px,28vw,460px);width:100%;max-height:95vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3);display:flex;flex-direction:column}.modal-header{padding:var(--padding-sm) var(--padding-md);border-bottom:clamp(1.5px,.15vw,2.5px) solid #f0f2f5;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#f8f9fa 0,#fff 100%)}.modal-header h3{font-size:var(--font-lg);font-weight:700;color:#333}.modal-close{background:#f0f2f5;border:none;font-size:var(--font-lg);color:#666;cursor:pointer;padding:0;width:clamp(28px,2vw,34px);height:clamp(28px,2vw,34px);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all .3s ease}.modal-close:hover{background:#667eea;color:#fff;transform:rotate(90deg)}.modal-body{padding:var(--padding-md) var(--padding-lg);flex:1;overflow-y:auto;min-height:0}.modal-footer{padding:var(--padding-sm) var(--padding-lg);border-top:clamp(1.5px,.15vw,2.5px) solid #f0f2f5;display:flex;gap:var(--padding-xs);justify-content:flex-end;background:#f8f9fa}#adminTab .panel-content .btn-block,#sendTab .panel-content .btn-block,#sendTab .panel-content .btn-send{width:92%!important;margin-left:auto!important;margin-right:auto!important;display:block!important}.status{margin-top:var(--padding-sm);padding:calc(var(--padding-xs) * .9) var(--padding-md);border-radius:var(--radius-md);background:#f8f9fa;font-size:var(--font-base);text-align:center;font-weight:600;border:clamp(1.5px,.15vw,2.5px) solid #e8ecf1}.status.active{background:linear-gradient(135deg,#d4edda 0,#c3e6cb 100%);color:#155724;border-color:#c3e6cb}.old-password-group{margin-bottom:var(--padding-lg)}.password-hint{display:block;margin-top:var(--gap-sm);color:#666;font-size:var(--font-xs);line-height:1.5}@media (max-width:480px){.header{padding:6px 10px;margin:4px auto}.main-content{flex-direction:column;padding:0;gap:4px}.sidebar{width:100%;order:2;max-height:400px;margin:0 4px}.main-area{order:1;padding:4px;margin:0 4px}.main-area .panel-header{padding:6px 10px}.main-area .panel-content{padding:4px 8px}.pagination{padding:4px 6px;margin-top:4px;gap:3px}.phone-list-container{max-height:60vh}.send-mode-toggle{gap:4px;margin-bottom:8px}.recipients-textarea{min-height:80px;font-size:13px;padding:8px}.recipients-preview{padding:8px;margin-top:8px}.recipient-item{padding:4px 8px;font-size:12px;margin:2px}.send-progress{padding:10px;margin-top:10px}.progress-bar-container{height:16px}.progress-percentage{font-size:10px}.send-results{padding:10px;margin-top:10px;max-height:250px}.result-item{padding:8px;margin-bottom:6px;flex-direction:column;align-items:flex-start;gap:4px}.result-phone{font-size:13px}.result-status{font-size:12px}.batch-actions{flex-direction:column;gap:6px}.batch-actions .btn{width:100%}}@media (min-width:481px) and (max-width:768px){.header{width:calc(100% - 24px);padding:12px var(--gap-md);margin:6px auto}.main-content{flex-direction:column;padding:0;gap:8px}.sidebar{width:100%;order:2;max-height:500px;margin:0 8px}.main-area{order:1;padding:10px;margin:0 8px}.main-area .panel-header{padding:10px 12px}.main-area .panel-content{padding:8px 12px}.pagination{padding:8px 10px;margin-top:6px}.phone-list-container{max-height:55vh}}@media (min-width:769px) and (max-width:1023px){:root{--container-max-width:clamp(600px, 85vw, 900px);--sidebar-width:280px;--header-max-width:clamp(600px, 85vw, 900px)}.phone-list-container{max-height:52vh}}@media (min-width:1024px) and (max-width:1279px){:root{--container-max-width:clamp(800px, 85vw, 900px);--sidebar-width:clamp(220px, 22vw, 260px);--header-max-width:clamp(800px, 85vw, 900px)}}@media (min-width:1280px) and (max-width:1365px){:root{--container-max-width:clamp(900px, 80vw, 1050px);--sidebar-width:clamp(240px, 20vw, 280px);--header-max-width:clamp(900px, 80vw, 1050px)}}@media (min-width:1366px) and (max-width:1439px){:root{--container-max-width:clamp(1000px, 82vw, 1150px);--sidebar-width:clamp(260px, 20vw, 300px);--header-max-width:clamp(1000px, 82vw, 1150px)}}@media (min-width:1440px) and (max-width:1679px){:root{--container-max-width:clamp(1100px, 80vw, 1250px);--sidebar-width:clamp(280px, 20vw, 320px);--header-max-width:clamp(1100px, 80vw, 1250px)}}@media (min-width:1680px) and (max-width:1919px){:root{--container-max-width:clamp(1200px, 75vw, 1350px);--sidebar-width:clamp(300px, 18vw, 330px);--header-max-width:clamp(1200px, 75vw, 1350px)}}@media (min-width:1920px){:root{--container-max-width:clamp(1300px, 72vw, 1500px);--sidebar-width:clamp(310px, 17vw, 350px);--header-max-width:clamp(1300px, 72vw, 1500px)}}@media (min-width:1920px) and (max-width:2559px){:root{--container-max-width:clamp(1400px, 70vw, 1600px);--sidebar-width:clamp(320px, 18vw, 360px);--header-max-width:clamp(1400px, 70vw, 1600px)}.phone-list-container{max-height:600px}}@media (min-width:2560px),(min-aspect-ratio:21/9){:root{--container-max-width:clamp(1600px, 65vw, 2000px);--sidebar-width:clamp(360px, 16vw, 420px);--header-max-width:clamp(1600px, 65vw, 2000px)}.phone-list-container{max-height:650px}}@media (min-height:1200px) and (max-aspect-ratio:4/5){:root{--container-max-width:clamp(700px, 80vw, 900px);--sidebar-width:clamp(280px, 35vw, 320px)}.phone-list-container{max-height:700px}}@media (min-width:1025px) and (max-width:1366px) and (min-height:768px){:root{--container-max-width:clamp(900px, 80vw, 1050px);--sidebar-width:clamp(240px, 20vw, 280px);--header-max-width:clamp(900px, 80vw, 1050px)}}::-webkit-scrollbar{width:clamp(6px,.5vw,10px);height:clamp(6px,.5vw,10px)}::-webkit-scrollbar-track{background:#f0f2f5;border-radius:var(--radius-md)}::-webkit-scrollbar-thumb{background:#667eea;border-radius:var(--radius-md)}::-webkit-scrollbar-thumb:hover{background:#5568d3}@media (max-width:480px){body{-webkit-text-size-adjust:100%!important}.header{-webkit-transform:translateZ(0);transform:translateZ(0)}.main-area,.main-area .panel,.main-area .panel-content{-webkit-transform:translateZ(0);transform:translateZ(0)}}*{min-width:0}img{max-width:100%;height:auto}.hidden{display:none!important}.managed-user-item{display:flex;flex-direction:column;gap:var(--padding-md);padding:var(--padding-lg);background:linear-gradient(135deg,#fff 0,#f8f9fa 100%);border:2px solid #e8ecf1;border-radius:var(--radius-xl);margin-bottom:var(--gap-md);box-shadow:0 2px 8px rgba(0,0,0,.04);transition:all .3s cubic-bezier(.4, 0, .2, 1);position:relative;overflow:hidden}.managed-user-item::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,#007bff 0,#0056b3 100%);opacity:0;transition:opacity .3s ease}.managed-user-item:hover{box-shadow:0 8px 24px rgba(0,123,255,.15);transform:translateY(-2px);border-color:#007bff}.managed-user-item:hover::before{opacity:1}.user-info-wrapper{display:flex;flex-direction:column;gap:var(--padding-sm)}.user-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--gap-sm);padding-bottom:var(--padding-sm);border-bottom:1px solid #e8ecf1}.user-name-section{display:flex;align-items:center;gap:8px;flex:1}.user-name-section i{font-size:var(--font-xl);color:#007bff;line-height:1;display:flex;align-items:center}.user-name-section .user-name{font-size:var(--font-xl);font-weight:700;color:#1a1a1a;letter-spacing:.3px;line-height:1;display:flex;align-items:center}.user-badges{display:flex;gap:var(--gap-sm);flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:var(--radius-lg);font-size:var(--font-xs);font-weight:600;letter-spacing:.3px;transition:all .2s ease;white-space:nowrap}.badge i{font-size:.9em}.badge-role{border:1.5px solid transparent}.badge-admin{background:linear-gradient(135deg,gold 0,#ffed4e 100%);color:#8b6914;border-color:#ffc700;box-shadow:0 2px 8px rgba(255,215,0,.3)}.badge-user{background:linear-gradient(135deg,#e3f2fd 0,#bbdefb 100%);color:#1565c0;border-color:#90caf9}.badge-success{background:linear-gradient(135deg,#07c160 0,#00b956 100%);color:#fff;border:1.5px solid #00b956;box-shadow:0 2px 8px rgba(7,193,96,.25)}.badge-danger{background:linear-gradient(135deg,#ff4757 0,#ff3838 100%);color:#fff;border:1.5px solid #ff3838;box-shadow:0 2px 8px rgba(255,71,87,.25)}.badge-warning{background:linear-gradient(135deg,#ffc107 0,#ffb300 100%);color:#fff;border:1.5px solid #ffb300;box-shadow:0 2px 8px rgba(255,193,7,.3);text-shadow:0 1px 2px rgba(0,0,0,.1)}.badge-info{background:linear-gradient(135deg,#17a2b8 0,#138496 100%);color:#fff;border:1.5px solid #138496;box-shadow:0 2px 8px rgba(23,162,184,.25)}.badge-secondary{background:linear-gradient(135deg,#6c757d 0,#5a6268 100%);color:#fff;border:1.5px solid #5a6268;box-shadow:0 2px 8px rgba(108,117,125,.2)}.user-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--gap-md);padding:var(--padding-sm) 0}.stat-item{display:flex;align-items:center;gap:var(--gap-sm);padding:var(--padding-xs) var(--padding-sm);background:#f8f9fa;border-radius:var(--radius-md);transition:all .2s ease}.stat-item:hover{background:#e9ecef;transform:translateX(2px)}.stat-item i{color:#007bff;font-size:var(--font-lg);width:24px;text-align:center}.stat-item .stat-label{font-size:var(--font-xs);color:#6c757d;font-weight:500;margin-right:auto}.stat-item .stat-value{font-size:var(--font-sm);color:#212529;font-weight:600}.user-actions{display:flex;gap:var(--gap-sm);flex-wrap:wrap;padding-top:var(--padding-sm);border-top:1px solid #e8ecf1}.btn-action{flex:1;min-width:120px;display:flex;align-items:center;justify-content:center;gap:6px;font-weight:600;letter-spacing:.3px;position:relative;transition:all .3s cubic-bezier(.4, 0, .2, 1)}.btn-action i{font-size:1em;transition:transform .2s ease}.btn-action:hover i{transform:scale(1.1)}.btn-action span{font-size:var(--font-sm)}@media (max-width:768px){.managed-user-item{padding:var(--padding-md)}.user-header{flex-direction:column;align-items:flex-start}.user-name-section .user-name{font-size:var(--font-lg)}.user-stats{grid-template-columns:1fr;gap:var(--gap-sm)}.user-actions{flex-direction:column}.btn-action{width:100%;min-width:unset}}.managed-user-item .user-info{display:flex;justify-content:space-between;align-items:center;padding:var(--padding-md);background:#fff;border-radius:var(--radius-md);margin-bottom:var(--gap-sm);box-shadow:var(--shadow-sm);transition:all .3s ease}.managed-user-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.managed-user-item .user-info{flex:1}.managed-user-item .user-name{font-size:var(--font-lg);font-weight:600;color:#333;margin-bottom:0}.managed-user-item .user-details{display:flex;gap:12px;margin-bottom:5px}.managed-user-item .user-role{padding:2px 8px;border-radius:4px;font-size:var(--font-xs);background:#e3f2fd;color:#1976d2}.managed-user-item .user-status{padding:2px 8px;border-radius:4px;font-size:var(--font-xs)}.managed-user-item .user-status.active{background:#d4edda;color:#155724}.managed-user-item .user-status.inactive{background:#f8d7da;color:#721c24}.managed-user-item .phone-count{color:#666;font-size:var(--font-sm)}.managed-user-item .user-meta{color:#999;font-size:var(--font-sm);margin-top:5px}.managed-user-item .user-api-key{margin-top:8px;font-size:var(--font-sm);color:#666}.managed-user-item .user-api-key code{background:#f0f0f0;padding:2px 6px;border-radius:4px;font-family:'Courier New',monospace;font-size:.9em}.managed-user-item .user-actions{display:flex;gap:var(--gap-sm);flex-wrap:wrap}.managed-user-item .user-actions .btn{white-space:nowrap}.user-status{padding:4px 10px;border-radius:var(--radius-md);font-size:var(--font-xs);font-weight:600;display:inline-flex;align-items:center;gap:4px;text-align:center;line-height:1.2;border:1px solid transparent;transition:all .2s ease;white-space:nowrap}.user-status.active,.user-status.status-approved{background:linear-gradient(135deg,#07c160 0,#00b956 100%);color:#fff;border:1px solid #00b956;box-shadow:0 2px 8px rgba(7,193,96,.25);text-shadow:0 1px 2px rgba(0,0,0,.1)}.user-status.active::before,.user-status.status-approved::before{content:"✓";font-weight:700;font-size:.9em;margin-right:2px}.user-status.inactive,.user-status.status-rejected{background:linear-gradient(135deg,#ff6b6b 0,#ee5a52 100%);color:#fff;border:1px solid #ee5a52;box-shadow:0 2px 8px rgba(255,107,107,.25);text-shadow:0 1px 2px rgba(0,0,0,.1)}.user-status.inactive::before,.user-status.status-rejected::before{content:"✗";font-weight:700;font-size:.9em;margin-right:2px}.user-status.status-pending{background:linear-gradient(135deg,#ffb800 0,#ffa000 100%);color:#fff;border:1px solid #ffa000;box-shadow:0 2px 8px rgba(255,184,0,.25);text-shadow:0 1px 2px rgba(0,0,0,.1)}.user-status.status-pending::before{content:"⏳";font-size:.8em;margin-right:2px}.managed-user-item .user-status{padding:3px 8px;border-radius:4px;font-size:var(--font-xs);font-weight:500;box-shadow:none!important;text-shadow:none!important}.managed-user-item .user-status.active{background:#d4edda!important;color:#155724!important;border:1px solid #c3e6cb!important}.managed-user-item .user-status.active::before{display:none}.managed-user-item .user-status.inactive{background:#f8d7da!important;color:#721c24!important;border:1px solid #f5c6cb!important}.managed-user-item .user-status.inactive::before{display:none}.api-key-display{background:#f8f9fa;padding:var(--padding-md);border-radius:var(--radius-md)}.api-key-display>div{margin-bottom:15px}.api-key-display>div:last-child{margin-bottom:0}.api-key-display strong{display:block;margin-bottom:5px;color:#333}.api-key-value{display:flex;align-items:center;gap:var(--gap-sm);margin-top:5px}.api-key-value code{flex:1;background:#fff;padding:8px 12px;border-radius:4px;border:1px solid #ddd;font-family:'Courier New',monospace;font-size:var(--font-sm);word-break:break-all}.api-key-value .btn{flex-shrink:0;min-width:80px;padding:8px 12px;font-size:var(--font-sm);line-height:1.2}.info-box{background:#e3f2fd;border-left:4px solid #2196f3;padding:12px;border-radius:4px;color:#1565c0}.info-box i{display:none}.warning-box{background:#f8f9fa;border:1px solid #dee2e6;padding:var(--padding-sm);border-radius:var(--radius-md);color:#666;font-size:var(--font-sm);line-height:1.6}.warning-box i{display:none}.api-info-item{margin-bottom:var(--padding-xs);line-height:1.4;display:flex;align-items:center;gap:var(--gap-sm)}.api-info-item:last-child{margin-bottom:0}.api-info-item strong{color:#555;font-weight:600;min-width:80px;flex-shrink:0}.example-tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:2px solid #f0f0f0;overflow-x:auto;padding-bottom:8px}.example-tab{flex-shrink:0;padding:10px 16px;border:none;background:0 0;color:#666;font-size:var(--font-sm);font-weight:500;cursor:pointer;border-radius:var(--radius-md) var(--radius-md) 0 0;transition:all .2s ease;position:relative;border:1px solid transparent}.example-tab:hover{background:#f8f9fa;color:#333;border:1px solid #e9ecef}.example-tab.active{background:#007bff;color:#fff;font-weight:600;box-shadow:0 2px 4px rgba(0,123,255,.3);border:1px solid #007bff}.example-tab i{margin-right:6px}.example-container{border:2px solid #f0f0f0;border-radius:var(--radius-lg);overflow:hidden;background:#fff}.example-content{display:none}.example-content.active{display:block}.example-slides{position:relative}.example-slide{display:none;animation:fadeIn .3s ease}.example-slide.active{display:block}.slide-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#f8f9fa;border-bottom:1px solid #e9ecef}.slide-nav{display:flex;gap:var(--gap-sm)}.slide-indicator{padding:6px 12px;background:0 0;color:#666;font-size:var(--font-sm);font-weight:500;cursor:pointer;border-radius:var(--radius-sm);transition:all .2s ease;border:1px solid transparent}.slide-indicator:hover{background:#e9ecef;color:#333;border:1px solid #dee2e6}.slide-indicator.active{background:#007bff;color:#fff;font-weight:600;border:1px solid #007bff;box-shadow:0 1px 3px rgba(0,123,255,.3)}.slide-content{padding:20px}.slide-title{display:flex;align-items:center;gap:8px;margin-bottom:15px;font-weight:600;color:#333;font-size:var(--font-md)}.slide-title i{color:#007bff}.endpoint{background:#e7f3ff;color:#06c;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-sm);font-family:'Courier New',monospace;margin-left:auto}.code-block{background:#f8f9fa;border-radius:var(--radius-md);overflow:hidden;border:1px solid #e9ecef}.code-section{border-bottom:1px solid #e9ecef}.code-section:last-child{border-bottom:none}.code-section h5{margin:0;padding:10px 15px;background:#e9ecef;color:#495057;font-size:var(--font-sm);font-weight:600;border-bottom:1px solid #dee2e6}.code-section.success h5{background:#d4edda;color:#155724}.code-section.error h5{background:#f8d7da;color:#721c24}.code-section pre{margin:0;padding:15px;background:#fff;overflow-x:auto;font-family:'Courier New',Monaco,monospace;font-size:var(--font-sm);line-height:1.5;color:#333}.code-section pre code{background:0 0;padding:0;color:inherit;font-size:inherit}.param-docs{padding:20px;background:#f8f9fa;border-top:1px solid #e9ecef}.param-docs h5{margin:0 0 15px 0;color:#333;font-size:var(--font-md);font-weight:600}.param-docs h5 i{color:#007bff;margin-right:8px}.param-list{display:flex;flex-direction:column;gap:12px}.param-item{display:grid;grid-template-columns:auto auto 1fr;gap:12px;align-items:center;padding:10px 12px;background:#fff;border-radius:var(--radius-sm);border:1px solid #e9ecef}.param-item.required{border-left:3px solid #dc3545}.param-item.optional{border-left:3px solid #6c757d}.param-item code{font-family:'Courier New',Monaco,monospace;font-size:var(--font-sm);font-weight:600;color:#007bff;background:0 0;padding:0}.param-type{font-size:var(--font-xs);color:#666;background:#f1f3f4;padding:2px 6px;border-radius:var(--radius-sm);font-family:'Courier New',Monaco,monospace}.param-desc{font-size:var(--font-sm);color:#555}.status-docs{padding:20px;background:#f8f9fa;border-top:1px solid #e9ecef}.status-docs h5{margin:0 0 15px 0;color:#333;font-size:var(--font-md);font-weight:600}.status-docs h5 i{color:#007bff;margin-right:8px}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.status-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border-radius:var(--radius-sm);border:1px solid #e9ecef}.status-code{font-family:'Courier New',Monaco,monospace;font-size:var(--font-xs);font-weight:600;padding:3px 8px;border-radius:var(--radius-sm);min-width:80px;text-align:center}.status-code.success{background:#d4edda;color:#155724}.status-code.error{background:#f8d7da;color:#721c24}.status-code.warning{background:#fff3cd;color:#856404}.status-desc{font-size:var(--font-sm);color:#555}@media (max-width:768px){.example-tabs{flex-wrap:wrap}.example-tab{min-width:0;flex:1;text-align:center}.slide-header{flex-direction:column;gap:10px;align-items:stretch}.slide-nav{justify-content:center}.slide-content{padding:15px}.param-item{grid-template-columns:1fr;gap:6px}.status-grid{grid-template-columns:1fr}.code-section pre{font-size:var(--font-xs)}.endpoint{display:none}}@media (max-width:480px){.param-docs,.status-docs{padding:15px}.slide-indicator{padding:4px 8px;font-size:var(--font-xs)}}.template-list{min-height:200px}.template-list .sms-item{cursor:pointer}.phone-requests-list{min-height:200px}.phone-requests-list .sms-item{cursor:pointer}.users-list{min-height:200px}.send-mode-toggle{display:flex;gap:10px;margin-bottom:15px}.btn-mode{flex:1;padding:10px 20px;border:2px solid #ddd;background:#fff;border-radius:var(--radius-md);cursor:pointer;transition:all .3s ease;font-size:var(--font-base);font-weight:500}.btn-mode:hover{border-color:#667eea;background:#f8f9ff}.btn-mode.active{border-color:#667eea;background:#667eea;color:#fff}.hidden{display:none!important}.phone-list-container{max-height:clamp(400px,50vh,600px);overflow-y:auto;overflow-x:hidden;padding:var(--padding-xs) var(--padding-xs);margin:0 calc(-1 * var(--padding-xs)/ 2);scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.phone-list-item{background:#fff;border:clamp(1.5px,.15vw,2.5px) solid #e8ecf1;border-radius:var(--radius-lg);padding:calc(var(--padding-xs) * .8) var(--padding-sm);margin:calc(var(--space-unit) * .6) var(--padding-xs);font-size:var(--font-md);font-weight:600;color:#333;letter-spacing:clamp(.3px, .03vw, .6px);transition:all .3s cubic-bezier(.4, 0, .2, 1);cursor:pointer;user-select:none;display:flex;align-items:center;gap:var(--padding-xs);position:relative;overflow:hidden}.phone-list-item:hover{border-color:#667eea;background:linear-gradient(135deg,#f8f9ff 0,#fff 100%);transform:translateX(4px) scale(1.01);box-shadow:0 6px 20px rgba(102,126,234,.18),0 2px 8px rgba(102,126,234,.1)}.phone-list-item.selected{background:linear-gradient(135deg,rgba(102,126,234,.08) 0,rgba(102,126,234,.04) 100%);color:#667eea;border:clamp(1.5px,.15vw,2.5px) solid #667eea;font-weight:700;box-shadow:0 0 0 4px rgba(102,126,234,.12),0 4px 12px rgba(102,126,234,.2);transform:scale(1.02)}.phone-list-item:last-child{margin-bottom:0}.phone-list-empty{text-align:center;padding:clamp(40px,4vw,80px) var(--padding-md);color:#999}.phone-list-empty-icon{font-size:clamp(40px, 3vw, 56px);margin-bottom:var(--padding-sm);opacity:.5}.phone-count-summary{display:flex;align-items:center;justify-content:center;gap:calc(var(--space-unit) * .8);padding:calc(var(--padding-xs) * .9) var(--padding-sm);margin-bottom:var(--padding-xs);background:linear-gradient(135deg,#e8f4fd 0,#d4e9f7 100%);border-radius:var(--radius-xl);border:clamp(1.5px,.15vw,2.5px) solid #b3d9f2;font-size:var(--font-sm);font-weight:600;box-shadow:0 2px 8px rgba(25,118,210,.1)}.count-label{color:#1976d2}.count-value{font-size:var(--font-lg);color:#0d47a1;font-weight:700;padding:0 calc(var(--padding-xs) * .6)}.count-unit{color:#1976d2}.phone-index{display:inline-flex;align-items:center;justify-content:center;min-width:clamp(36px,3.5vw,46px);height:clamp(24px,2.5vh,28px);background:linear-gradient(135deg,#f0f2f5 0,#e4e7eb 100%);color:#555;font-size:var(--font-sm);font-weight:700;border-radius:var(--radius-md);flex-shrink:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;transition:all .3s cubic-bezier(.4, 0, .2, 1);box-shadow:0 2px 4px rgba(0,0,0,.06)}.phone-number{flex:1;font-family:'Courier New',Consolas,Monaco,monospace;letter-spacing:clamp(.5px, .06vw, 1.2px);font-size:var(--font-sm);display:flex;align-items:center;font-weight:600}.phone-list-item.selected .phone-index{background:#07c160;color:#fff;font-weight:700;box-shadow:0 4px 12px rgba(7,193,96,.4),0 2px 6px rgba(7,193,96,.3);transform:scale(1.05)}::selection{background:rgba(102,126,234,.3);color:#333}::-moz-selection{background:rgba(102,126,234,.3);color:#333}.send-mode-toggle{display:flex;gap:var(--gap-sm);margin-bottom:var(--padding-md)}.btn-mode{flex:1;background:#f8f9fa;color:#667eea}.btn-mode:hover{background:rgba(102,126,234,.1)}.btn-mode.active{background:#667eea;color:#fff}.recipients-area{display:none}.recipients-area.show{display:block;margin-bottom:var(--padding-md)}.recipients-textarea{width:100%;min-height:clamp(100px,12vh,160px);padding:var(--padding-sm);border:clamp(1.5px,.15vw,2.5px) solid #e8ecf1;border-radius:var(--radius-md);font-size:var(--font-base);font-family:'Courier New',Consolas,Monaco,monospace;resize:vertical;background:#f8f9fa;transition:all .3s ease}.recipients-textarea:focus{outline:0;border-color:#667eea;box-shadow:0 0 0 var(--padding-xs) rgba(102,126,234,.1);background:#fff}.recipients-hint{margin-top:var(--gap-sm);font-size:var(--font-sm);color:#666;display:flex;align-items:flex-start;gap:var(--gap-sm)}.recipients-hint::before{content:'💡';flex-shrink:0}.recipients-preview{margin-top:var(--padding-md);padding:var(--padding-sm);background:linear-gradient(135deg,#f8f9fa 0,#fff 100%);border:clamp(1.5px,.15vw,2.5px) solid #e8ecf1;border-radius:var(--radius-lg);max-height:clamp(200px,25vh,300px);overflow-y:auto}.recipients-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--padding-sm);padding-bottom:var(--padding-xs);border-bottom:clamp(1.5px,.15vw,2.5px) solid #f0f2f5}.recipients-preview-title{font-weight:700;color:#333;font-size:var(--font-base)}.recipients-count{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:#fff;padding:clamp(3px,.3vw,5px) var(--padding-sm);border-radius:var(--radius-3xl);font-size:var(--font-sm);font-weight:700}.recipients-list{display:flex;flex-wrap:wrap;gap:var(--gap-sm)}.recipient-item{background:#fff;padding:clamp(4px,.4vw,6px) var(--padding-sm);border:clamp(1.5px,.15vw,2.5px) solid #e8ecf1;border-radius:var(--radius-md);font-size:var(--font-sm);font-family:'Courier New',Consolas,Monaco,monospace;color:#333;display:flex;align-items:center;gap:var(--gap-sm);transition:all .3s ease}.recipient-item:hover{border-color:#667eea;background:rgba(102,126,234,.05)}.send-progress{display:none;margin-top:var(--padding-md);padding:var(--padding-md);background:linear-gradient(135deg,#f8f9fa 0,#fff 100%);border:clamp(1.5px,.15vw,2.5px) solid #e8ecf1;border-radius:var(--radius-lg)}.send-progress.show{display:block}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--padding-sm)}.progress-title{font-weight:700;color:#333;font-size:var(--font-base)}.progress-stats{font-size:var(--font-sm);color:#666}.progress-bar-container{width:100%;height:clamp(20px,2vh,28px);background:#e8ecf1;border-radius:var(--radius-3xl);overflow:hidden;margin-bottom:var(--padding-sm);position:relative}.progress-bar{height:100%;background:linear-gradient(135deg,#28a745 0,#20c997 100%);border-radius:var(--radius-3xl);transition:width .3s ease;position:relative;overflow:hidden}.progress-bar::after{content:'';position:absolute;top:0;left:0;bottom:0;right:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.progress-percentage{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--font-sm);font-weight:700;color:#333;text-shadow:0 1px 2px rgba(255,255,255,.8)}.progress-details{display:flex;justify-content:space-between;font-size:var(--font-sm);color:#666}.progress-success{color:#28a745;font-weight:600}.progress-failed{color:#dc3545;font-weight:600}.send-results{display:none;margin-top:var(--padding-md);padding:var(--padding-md);background:linear-gradient(135deg,#f8f9fa 0,#fff 100%);border:clamp(1.5px,.15vw,2.5px) solid #e8ecf1;border-radius:var(--radius-lg);max-height:clamp(300px,35vh,500px);overflow-y:auto}.send-results.show{display:block}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--padding-md);padding-bottom:var(--padding-sm);border-bottom:clamp(1.5px,.15vw,2.5px) solid #f0f2f5}.results-title{font-weight:700;color:#333;font-size:var(--font-lg)}.results-summary{display:flex;gap:var(--padding-md);font-size:var(--font-sm)}.result-item{padding:12px 16px;margin-bottom:8px;border-radius:8px;border-left:4px solid;background:#fff;display:flex;justify-content:space-between;align-items:center}.result-item:hover{background:#f8f9fa}.result-item.success{border-left-color:#28a745}.result-item.failed{border-left-color:#dc3545}.result-phone{font-weight:600;font-size:14px;color:#333}.result-status{font-size:13px;font-weight:500}.result-item.success .result-status{color:#28a745}.result-item.failed .result-status{color:#dc3545}.batch-actions{display:flex;gap:var(--gap-sm);margin-top:var(--padding-md)}.btn-export{background:linear-gradient(135deg,#17a2b8 0,#138496 100%);color:#fff;box-shadow:0 4px 15px rgba(23,162,184,.3)}.btn-export:hover{background:linear-gradient(135deg,#138496 0,#117a8b 100%);transform:translateY(-2px);box-shadow:0 6px 20px rgba(23,162,184,.4)}.btn-clear{background:#f0f2f5;color:#666}.btn-clear:hover{background:#e4e7eb;color:#333}.send-mode-indicator{display:inline-flex;align-items:center;gap:var(--gap-sm);padding:clamp(4px,.4vw,6px) var(--padding-sm);border-radius:var(--radius-3xl);font-size:var(--font-sm);font-weight:600;margin-bottom:var(--padding-sm)}.send-mode-indicator.single{background:linear-gradient(135deg,#e8f4fd 0,#d4e9f7 100%);color:#1976d2}.send-mode-indicator.batch{background:linear-gradient(135deg,#fff3e0 0,#ffe0b2 100%);color:#e65100}.info-box{padding:var(--padding-sm);margin-bottom:var(--padding-md);border-radius:var(--radius-md);background:linear-gradient(135deg,#e8f4fd 0,#d4e9f7 100%);border-left:clamp(3px,.3vw,5px) solid #1976d2;font-size:var(--font-sm);color:#0d47a1;display:flex;align-items:flex-start;gap:var(--gap-sm)}.info-box::before{content:'';display:none}.warning-box{padding:var(--padding-sm);margin-bottom:var(--padding-md);border-radius:var(--radius-md);background:linear-gradient(135deg,#fff3e0 0,#ffe0b2 100%);border-left:clamp(3px,.3vw,5px) solid #ff9800;font-size:var(--font-sm);color:#e65100;display:flex;align-items:flex-start;gap:var(--gap-sm)}.quota-panel{margin-bottom:var(--padding-md)}.quota-display{display:flex;gap:var(--gap-md);justify-content:space-around;align-items:stretch}.quota-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--padding-md);background:linear-gradient(135deg,#f0f9ff 0,#e0f2fe 100%);border-radius:var(--radius-lg);border:2px solid #0ea5e9;transition:all .3s ease}.quota-item:hover{transform:translateY(-4px);box-shadow:0 4px 12px rgba(14,165,233,.3)}.quota-label{font-size:var(--font-sm);color:#0369a1;margin-bottom:var(--padding-xs);font-weight:500}.quota-value{font-size:clamp(24px, 3vw, 32px);font-weight:700;color:#0c4a6e;margin-bottom:var(--padding-xs)}.quota-unit{font-size:var(--font-xs);color:#075985}@media (max-width:480px){.quota-display{flex-direction:column;gap:var(--gap-sm)}.quota-item{padding:var(--padding-sm)}.quota-value{font-size:clamp(20px, 5vw, 24px)}}.quota-rules{margin-top:15px;padding:15px;background:linear-gradient(135deg,#fff8dc 0,#fffaf0 100%);border-radius:8px;border-left:4px solid orange}.rules-title{font-size:.95rem;font-weight:600;color:#d97706;margin-bottom:10px;display:flex;align-items:center;gap:5px}.rules-list{display:flex;flex-direction:column;gap:8px}.rule-item{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#666}.rule-icon{font-size:1rem;min-width:20px}.rule-text{flex:1}.rule-text strong{color:#d97706;font-weight:600}@media (max-width:480px){.quota-rules{padding:12px}.rules-title{font-size:.9rem}.rule-item{font-size:.8rem}}.billing-info{margin-top:15px;padding:15px;background:linear-gradient(135deg,#e8f5e9 0,#f1f8f4 100%);border-radius:8px;border-left:4px solid #4caf50}.billing-title{font-size:.95rem;font-weight:600;color:#2e7d32;margin-bottom:12px;display:flex;align-items:center;gap:5px}.billing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.billing-item{display:flex;flex-direction:column;gap:4px;padding:8px;background:rgba(255,255,255,.6);border-radius:6px}.billing-label{font-size:.8rem;color:#666}.billing-value{font-size:.9rem;color:#333}.billing-value strong{font-size:1rem;font-weight:600;color:#2e7d32}.billing-balance{background:linear-gradient(135deg,#fff3e0 0,#ffe0b2 100%)}.billing-balance .billing-value.balance strong{font-size:1.2rem;color:#f57c00}.billing-balance.low-balance{background:linear-gradient(135deg,#ffebee 0,#ffcdd2 100%)}.billing-balance.low-balance .billing-value strong{color:#d32f2f}@media (max-width:480px){.billing-info{padding:12px}.billing-title{font-size:.9rem}.billing-grid{gap:8px}.billing-item{padding:6px}.billing-label{font-size:.75rem}.billing-value{font-size:.85rem}.billing-value strong{font-size:.9rem}}.users-list{display:flex;flex-direction:column;gap:var(--gap-md);min-height:clamp(300px,40vh,600px)}.user-item{background:linear-gradient(135deg,#fff 0,#f8f9fa 100%);border:clamp(1.5px,.15vw,2.5px) solid #e8ecf1;border-radius:var(--radius-2xl);padding:var(--padding-xs);transition:all .3s cubic-bezier(.4, 0, .2, 1);position:relative;overflow:hidden;cursor:pointer}.user-item:hover{border-color:#667eea;box-shadow:0 8px 30px rgba(102,126,234,.15);transform:translateY(-3px)}.user-info{display:flex;align-items:center;gap:var(--gap-md);flex-wrap:wrap}.user-name{font-size:var(--font-lg);font-weight:700;color:#333;letter-spacing:.3px}.user-role{font-size:var(--font-sm);padding:var(--padding-xs) var(--gap-sm);border-radius:var(--radius-3xl);font-weight:600}.user-item:has(.user-role:contains("普通")) .user-role,.user-role{background:linear-gradient(135deg,#e3f2fd 0,#bbdefb 100%);color:#1976d2}.user-item:has(.user-role:contains("管理员")) .user-role{background:linear-gradient(135deg,#fff3e0 0,#ffe0b2 100%);color:#e65100}.phone-count{font-size:var(--font-sm);color:#666;font-weight:600;margin-left:auto;padding:var(--padding-xs) var(--gap-sm);background:linear-gradient(135deg,#f8f9fa 0,#e8ecf1 100%);border-radius:var(--radius-md);display:inline-flex;align-items:center;gap:var(--gap-sm)}.phone-count::after{content:'查看';font-size:var(--font-xs);color:#667eea;font-weight:600}.user-search-bar{margin-bottom:var(--gap-md)}.user-phones-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.2vw,18px);max-height:clamp(400px,50vh,600px);overflow-y:auto;overflow-x:hidden;padding:var(--padding-md);background:#f8f9fa;border-radius:var(--radius-lg);margin:var(--gap-md) 0;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.phone-card{background:#fff;border:1px solid #e8ecf1;border-radius:var(--radius-lg);padding:8px 12px;transition:all .3s ease;cursor:pointer;display:flex;align-items:center;gap:6px;min-height:38px;min-width:210px;overflow:visible;position:relative}.phone-card:hover{border-color:#667eea;box-shadow:0 2px 8px rgba(102,126,234,.15);transform:translateY(-1px)}.phone-card-sequence{font-size:clamp(11px, .75vw, 14px);color:#667eea;font-weight:700;min-width:50px;padding:0 6px;text-align:center;opacity:.9;flex-shrink:0;white-space:nowrap}.phone-card-number{font-family:'Courier New',monospace;font-size:clamp(12px, .8vw, 15px);font-weight:600;color:#333;letter-spacing:.5px;white-space:nowrap;flex:1;max-width:160px;min-width:115px;overflow:visible}.users-list:empty::before{content:'暂无用户数据';display:block;text-align:center;padding:clamp(60px,5vw,100px);color:#999;font-size:var(--font-base)}@media (max-width:480px){.user-item{padding:var(--padding-sm)}.user-info{gap:var(--gap-sm);flex-direction:column;align-items:flex-start}.user-name{font-size:var(--font-base)}.phone-count{margin-left:0;align-self:flex-start}.user-phones-grid{grid-template-columns:repeat(1,1fr);gap:10px;padding:10px}.phone-card{padding:8px 10px;gap:6px;min-height:36px;min-width:0;max-width:100%}.phone-card-sequence{font-size:11px;min-width:44px;padding:0 4px}.phone-card-number{font-size:12px;max-width:none;min-width:110px;flex:1;overflow:visible}}@media (min-width:481px) and (max-width:1023px){.user-phones-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1680px){.user-phones-grid{grid-template-columns:repeat(4,1fr)}}.user-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;max-height:clamp(200px,30vh,400px);overflow-y:auto;background:#fff;border:clamp(1px,.1vw,2px) solid #e0e0e0;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;animation:dropdownSlideIn .2s ease-out}@keyframes dropdownSlideIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-item{padding:8px 12px;margin-bottom:2px;cursor:pointer;border-radius:var(--radius-sm);transition:all .2s ease}.user-dropdown-item:last-child{margin-bottom:0}.user-dropdown-item:hover{background:linear-gradient(135deg,#f0f7ff 0,#e3f2fd 100%);transform:translateX(4px)}.user-dropdown-info{display:flex;justify-content:space-between;align-items:center;gap:var(--gap-sm)}.user-dropdown-name{font-size:var(--font-base);font-weight:500;color:#333;flex:1}.user-dropdown-count{font-size:var(--font-sm);color:#666;background:linear-gradient(135deg,#e8f5e9 0,#c8e6c9 100%);padding:2px 8px;border-radius:var(--radius-sm);white-space:nowrap}.user-dropdown-empty{padding:var(--padding-md);text-align:center;color:#999;font-size:var(--font-sm)}#targetUsernameSearch:focus{border-color:#4a90e2;box-shadow:0 0 0 3px rgba(74,144,226,.1)}@media (max-width:480px){.user-dropdown{max-height:200px}.user-dropdown-item{padding:10px}.user-dropdown-name{font-size:.85rem}.user-dropdown-count{font-size:.75rem}}.batch-tools{display:flex;justify-content:space-between;align-items:center;padding:var(--padding-md);background:#e3f2fd;border-radius:var(--radius-md);margin-bottom:var(--gap-md);border:1px solid #bbdefb}.batch-tools-left{display:flex;align-items:center;gap:var(--gap-md)}.batch-tools-left input[type=checkbox]{cursor:pointer;width:18px;height:18px}.batch-tools-left label{cursor:pointer;font-size:var(--font-base);color:#333;margin:0}.selected-count{font-size:var(--font-sm);color:#1976d2;font-weight:600}.batch-tools-right{display:flex;gap:var(--gap-sm)}.phone-card.selected{background:linear-gradient(135deg,#e8f5ff 0,#e3f2fd 100%);border:2px solid #1976d2;border-left:4px solid #1976d2;box-shadow:inset 0 0 0 1px #1976d2,0 2px 8px rgba(25,118,210,.2)}.phone-card.selectable{cursor:pointer}.phone-card-checkbox{margin-left:auto;flex-shrink:0;cursor:pointer;width:18px;height:18px;opacity:.4;transition:opacity .2s ease,transform .2s ease;accent-color:#1976d2}.phone-card.selectable:hover .phone-card-checkbox{opacity:.7;transform:scale(1.05)}.phone-card.selected .phone-card-checkbox{opacity:1;transform:scale(1.1)}#selectAllPhones{width:18px;height:18px;cursor:pointer;accent-color:#1976d2;transform:scale(1.1);transition:transform .2s ease}#selectAllPhones:hover{transform:scale(1.2)}#selectAllPhones:checked{transform:scale(1.15)}.btn-danger{background:#dc3545;color:#fff;border:none}.btn-danger:hover{background:#c82333;box-shadow:var(--shadow-md)}.btn-danger:active{background:#bd2130}.api-credentials-section,.api-example-section,.api-info-section{margin-bottom:var(--padding-lg)}.api-credential-item,.api-info-item{margin-bottom:var(--padding-md)}.api-credential-item label{display:block;font-weight:600;color:#333;margin-bottom:8px;font-size:var(--font-sm)}.api-key-value{display:flex;align-items:center;gap:var(--gap-sm);flex-wrap:wrap}.api-key-value code{background:#f8f9fa;border:1px solid #e9ecef;padding:8px 12px;border-radius:var(--radius-md);font-family:Monaco,Menlo,'Courier New',monospace;font-size:var(--font-sm);color:#495057;flex:1;min-width:200px;word-break:break-all}.api-info-item{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid #f0f0f0}.api-info-item:last-child{border-bottom:none}.api-info-item strong{min-width:100px;color:#666;font-size:var(--font-sm)}.code-example{background:#f8f9fa;border:1px solid #e9ecef;border-radius:var(--radius-md);overflow:hidden;margin-top:var(--padding-sm)}.code-header{background:#e9ecef;padding:var(--padding-sm) var(--padding-md);display:flex;justify-content:space-between;align-items:center;font-size:var(--font-sm);font-weight:600;color:#495057}.code-example pre{margin:0;padding:var(--padding-md);background:0 0;border:none;font-size:var(--font-sm)}.code-example code{background:0 0!important;border:none!important;padding:0!important;color:#212529!important;font-family:Monaco,Menlo,'Courier New',monospace}.code-footer{background:#f8f9fa;padding:var(--padding-sm) var(--padding-md);border-top:1px solid #e9ecef;font-size:var(--font-xs);color:#6c757d}.success-box{background:linear-gradient(135deg,#d4edda 0,#c3e6cb 100%);border:1px solid #c3e6cb;color:#155724;padding:var(--padding-md);border-radius:var(--radius-md);display:flex;align-items:flex-start;gap:var(--gap-sm)}.success-box i{color:#28a745;margin-top:2px}.warning-box ul{font-size:var(--font-sm);color:#856404}@keyframes pulse{0%,100%{box-shadow:0 0 10px rgba(40,167,69,.3)}50%{box-shadow:0 0 20px rgba(40,167,69,.6)}}@media (max-width:768px){.api-key-value{flex-direction:column;align-items:stretch}.api-key-value code{min-width:auto;margin-bottom:var(--gap-sm)}.code-header{flex-direction:column;gap:var(--gap-sm);align-items:stretch}.api-info-item{flex-direction:column;align-items:flex-start;gap:4px}.api-info-item strong{min-width:auto}}#createReceiveTemplateModal .modal-content{max-width:clamp(800px,70vw,1000px)!important}#createReceiveTemplateModal .form-group{margin-bottom:var(--padding-sm)}#createReceiveTemplateModal input,#createReceiveTemplateModal select{height:44px!important;padding:10px 32px 10px 12px!important;font-size:var(--font-sm)!important;line-height:1.6!important}#createReceiveTemplateModal label{margin-bottom:6px!important;font-size:var(--font-sm)!important;font-weight:500!important}#createReceiveTemplateModal small{font-size:var(--font-xs)!important;margin-top:3px!important}@media (max-width:1024px){#createReceiveTemplateModal .modal-content [style*="grid-template-columns: 2fr 2fr 1.5fr 1fr"]{grid-template-columns:1fr 1fr!important;gap:var(--padding-md)!important}#createReceiveTemplateModal .modal-content [style*="grid-template-columns: 2fr 2fr 1.5fr 1fr"] .form-group:nth-child(3),#createReceiveTemplateModal .modal-content [style*="grid-template-columns: 2fr 2fr 1.5fr 1fr"] .form-group:nth-child(4){grid-column:span 1}}@media (max-width:768px){#createReceiveTemplateModal .modal-content [style*=grid-template-columns]{display:block!important}#createReceiveTemplateModal .modal-content{max-width:95vw!important;margin:10px}}@media (max-width:480px){#createReceiveTemplateModal .modal-content{max-width:98vw!important;margin:5px;border-radius:var(--radius-md)}#createReceiveTemplateModal .form-group{margin-bottom:var(--padding-xs)}#createReceiveTemplateModal input,#createReceiveTemplateModal select{height:44px!important;font-size:var(--font-base)!important}}@media (min-width:1025px){#createReceiveTemplateModal .modal-content{max-width:clamp(800px,70vw,1000px)!important}#createReceiveTemplateModal .modal-content [style*="grid-template-columns: 2fr 2fr 1.5fr 1fr"]{gap:var(--padding-lg)!important}}#createSendTemplateModal .modal-content{max-width:clamp(800px,70vw,1000px)!important}#createSendTemplateModal .form-group{margin-bottom:var(--padding-sm)}#createSendTemplateModal input,#createSendTemplateModal select,#createSendTemplateModal textarea{height:44px!important;padding:10px 32px 10px 12px!important;font-size:var(--font-sm)!important;line-height:1.6!important}#createSendTemplateModal textarea{height:auto!important;min-height:40px!important;resize:vertical}#createSendTemplateModal label{margin-bottom:6px!important;font-size:var(--font-sm)!important;font-weight:500!important}#createSendTemplateModal small{font-size:var(--font-xs)!important;margin-top:3px!important}@media (max-width:1024px){#createSendTemplateModal .modal-content [style*="grid-template-columns: 2fr 2fr 1.5fr 1fr"]{grid-template-columns:1fr 1fr!important;gap:var(--padding-md)!important}#createSendTemplateModal .modal-content [style*="grid-template-columns: 2fr 2fr 1.5fr 1fr"] .form-group:nth-child(3),#createSendTemplateModal .modal-content [style*="grid-template-columns: 2fr 2fr 1.5fr 1fr"] .form-group:nth-child(4){grid-column:span 1}}@media (max-width:768px){#createSendTemplateModal .modal-content [style*=grid-template-columns]{display:block!important}#createSendTemplateModal .modal-content{max-width:95vw!important;margin:10px}}@media (max-width:480px){#createSendTemplateModal .modal-content{max-width:98vw!important;margin:5px;border-radius:var(--radius-md)}#createSendTemplateModal .form-group{margin-bottom:var(--padding-xs)}#createSendTemplateModal input,#createSendTemplateModal select,#createSendTemplateModal textarea{height:44px!important;font-size:var(--font-base)!important}#createSendTemplateModal textarea{min-height:44px!important}}@media (min-width:1025px){#createSendTemplateModal .modal-content{max-width:clamp(800px,70vw,1000px)!important}#createSendTemplateModal .modal-content [style*="grid-template-columns: 2fr 2fr 1.5fr 1fr"]{gap:var(--padding-lg)!important}}#requestPhoneCount{font-size:var(--font-xl);font-weight:600;text-align:center;padding:var(--padding-md) var(--padding-lg);background:linear-gradient(135deg,#f8f9fa 0,#fff 100%);border:2px solid #e0e0e0;letter-spacing:2px;transition:all .3s ease}#requestPhoneCount:hover{border-color:#007bff;box-shadow:0 2px 8px rgba(0,123,255,.15)}#requestPhoneCount:focus{border-color:#007bff;box-shadow:0 4px 12px rgba(0,123,255,.25);transform:translateY(-1px)}#requestPhoneCount:invalid{border-color:#dc3545;background:linear-gradient(135deg,#fff5f5 0,#fff 100%)}#requestPhoneCount::-webkit-inner-spin-button,#requestPhoneCount::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}