.error-boundary{align-items:center;background:linear-gradient(135deg,#f5f5f7,#e8e8ed);display:flex;justify-content:center;min-height:100vh;padding:20px}.error-boundary__container{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;max-width:500px;padding:40px;text-align:center}.error-boundary__icon{display:block;font-size:64px;margin-bottom:20px}.error-boundary__title{color:var(--text);font-size:24px;font-weight:600;margin:0 0 12px}.error-boundary__message{color:var(--text-light);font-size:16px;line-height:1.5;margin:0 0 24px}.error-boundary__details{background:#f5f5f7;border:1px solid var(--border);border-radius:8px;cursor:pointer;margin:20px 0;padding:12px}.error-boundary__details summary{color:var(--text);font-size:14px;font-weight:500;outline:none}.error-boundary__details[open] summary{margin-bottom:12px}.error-boundary__error-text{background:#fff;border:1px solid var(--border);border-radius:4px;color:#ff3b30;font-size:12px;margin:8px 0 0;overflow-x:auto;padding:12px;text-align:left;white-space:pre-wrap;word-break:break-word}.error-boundary__actions{display:flex;flex-direction:column;gap:12px;margin-top:24px}.error-boundary__button{background-color:var(--background);border:none;border-radius:8px;color:var(--text);cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:all .2s ease}.error-boundary__button:hover{background-color:#e0e0e0}.error-boundary__button:active{transform:scale(.98)}.error-boundary__button--primary{background-color:var(--primary);color:#fff}.error-boundary__button--primary:hover{background-color:var(--primary-dark)}.error-boundary__warning{background-color:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;font-size:14px;line-height:1.5;margin-top:20px;padding:12px}@media (max-width:640px){.error-boundary__container{margin:20px;padding:24px}.error-boundary__title{font-size:20px}.error-boundary__message{font-size:14px}.error-boundary__actions{flex-direction:column}.error-boundary__button{width:100%}}.error-alert{align-items:flex-start;animation:slideIn .3s ease-out;background-color:#fff5f5;border-left:4px solid var(--error);border-radius:8px;box-shadow:0 2px 8px #ff3b301a;display:flex;margin-bottom:16px;padding:16px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.error-alert__content{display:flex;flex:1 1;gap:12px;min-width:0}.error-alert__icon{flex-shrink:0;font-size:20px;margin-top:2px}.error-alert__message{flex:1 1;min-width:0}.error-alert__main{color:var(--error);font-size:14px;font-weight:500;line-height:1.5;margin:0 0 4px}.error-alert__detail{color:#c3392f;font-size:12px;line-height:1.4;margin:0;word-break:break-word}.error-alert__actions{display:flex;flex-shrink:0;gap:8px;margin-left:16px}.error-alert__button{background-color:#ffe6e6;border:none;border-radius:4px;color:var(--error);cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s ease;white-space:nowrap}.error-alert__button:hover{background-color:#ffd0d0}.error-alert__button:active{transform:scale(.98)}.error-alert__button--retry{background-color:var(--error);color:#fff}.error-alert__button--retry:hover{background-color:#e8332a}.error-alert__button--dismiss{background-color:initial;color:var(--text-light);min-width:auto;padding:6px 8px}.error-alert__button--dismiss:hover{background-color:#ffe6e6;color:var(--error)}@media (max-width:640px){.error-alert{flex-direction:column;padding:12px}.error-alert__content{width:100%}.error-alert__actions{margin-left:32px;margin-top:12px;width:auto}.error-alert__button{font-size:12px;padding:6px 10px}}@media (prefers-color-scheme:dark){.error-alert{background-color:#4a2a2a;border-left-color:#ff6b5b}.error-alert__main{color:#ff8878}.error-alert__detail{color:#ff6b5b}.error-alert__button{background-color:#662c2c;color:#ff8878}.error-alert__button:hover{background-color:#7a3a3a}.error-alert__button--retry{background-color:#ff6b5b;color:#fff}.error-alert__button--retry:hover{background-color:#ff8878}.error-alert__button--dismiss{background-color:initial;color:#999}.error-alert__button--dismiss:hover{background-color:#662c2c;color:#ff8878}}.login-container{align-items:center;background:linear-gradient(180deg,var(--primary-light) 0,var(--paper) 60%);display:flex;justify-content:center;min-height:100vh;padding:var(--space-4)}.login-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-width:400px;padding:var(--space-6);width:100%}.language-toggle{background-color:var(--primary-light);border-radius:var(--radius-pill);display:inline-flex;gap:var(--space-1);justify-content:center;margin-bottom:var(--space-6);padding:var(--space-1);width:100%}.lang-btn{background-color:initial;border:none;border-radius:var(--radius-pill);color:var(--ink-soft);cursor:pointer;flex:1 1;font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-2) var(--space-3);transition:all var(--transition-base)}.lang-btn:hover:not(.active){background-color:#5580cc14}.lang-btn.active{background-color:var(--primary-dark);color:#fff}.lang-btn:disabled{cursor:not-allowed;opacity:.6}.login-header{margin-bottom:var(--space-6);text-align:center}.logo{align-items:center;background:linear-gradient(135deg,var(--secondary) 0,var(--secondary-dark) 100%);border-radius:var(--radius-lg);box-shadow:var(--shadow-base);display:flex;font-size:36px;height:72px;justify-content:center;margin:0 auto var(--space-4);width:72px}.login-header h1{color:var(--ink);font-size:var(--text-3xl);font-weight:var(--font-bold);letter-spacing:-.3px;margin-bottom:var(--space-2)}.login-header p{color:var(--ink-soft);font-size:var(--text-base);line-height:var(--line-height-normal);margin:0}.login-form{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-4)}.form-group input{background-color:#fff;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);font-family:var(--font-family);font-size:var(--text-base);outline:none;padding:var(--space-3) var(--space-4);transition:all var(--transition-base)}.form-group input::placeholder{color:var(--ink-soft)}.form-group input:focus{background-color:#92b3e605;border-color:var(--primary);box-shadow:0 0 0 3px #5580cc1a}.form-group input:disabled{background-color:var(--paper);color:var(--ink-soft);cursor:not-allowed;opacity:.6}.form-group input[aria-invalid=true]{background-color:var(--error-light);border-color:var(--error)}.form-group input[aria-invalid=true]:focus{border-color:var(--error);box-shadow:0 0 0 3px #c832321a}.error-message{border-radius:var(--radius-md);color:var(--error);font-size:var(--text-base);margin-bottom:var(--space-4)}.error-message,.login-button{padding:var(--space-3) var(--space-4)}.login-button{align-items:center;background-color:var(--primary);border:none;border-radius:var(--radius-2xl);color:#fff;cursor:pointer;display:flex;font-family:var(--font-family);font-size:var(--text-lg);font-weight:var(--font-semibold);gap:var(--space-2);justify-content:center;transition:all var(--transition-base);width:100%}.login-button:hover:not(:disabled){background-color:var(--primary-dark);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.login-button:active:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(0)}.login-button:disabled{background-color:var(--line);cursor:not-allowed;opacity:.6}.login-info{background-color:var(--secondary-light);border:1px solid var(--secondary);border-radius:var(--radius-md);color:var(--secondary-dark);font-size:var(--text-sm);line-height:var(--line-height-normal);margin-top:var(--space-4);padding:var(--space-3) var(--space-4)}.confirmation-header{margin-bottom:var(--space-6);text-align:center}.confirmation-icon{align-items:center;background-color:var(--success-light);border-radius:50%;color:var(--success);display:flex;font-size:32px;height:64px;justify-content:center;margin:0 auto var(--space-4);width:64px}.confirmation-title{color:var(--ink);font-size:var(--text-2xl);font-weight:var(--font-bold);margin-bottom:var(--space-2)}.confirmation-message{color:var(--ink-soft);font-size:var(--text-base);line-height:var(--line-height-normal);margin-bottom:var(--space-2)}.confirmation-subtext{color:var(--ink-soft);font-size:var(--text-sm);line-height:var(--line-height-snug)}.confirmation-subtext strong{color:var(--ink);font-weight:var(--font-semibold)}.login-footer{color:var(--ink-soft);font-size:var(--text-xs);line-height:var(--line-height-normal);margin-top:var(--space-4);text-align:center}@media (max-width:640px){.login-container{padding:var(--space-3)}.login-card{padding:var(--space-5) var(--space-4)}.login-header h1{font-size:var(--text-2xl)}.logo{font-size:28px;height:60px;width:60px}.lang-btn{font-size:var(--text-xs);padding:var(--space-1) var(--space-2)}.confirmation-icon{font-size:28px;height:56px;width:56px}.confirmation-title{font-size:var(--text-xl)}}.header{background-color:#fff;border-bottom:1px solid var(--border);padding:12px 20px;position:sticky;top:0;z-index:100}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px}.logo{color:var(--primary);font-size:28px;font-weight:600}.header-spacer{flex:1 1}.logout-btn{background-color:var(--background);border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.logout-btn:hover{background-color:var(--border)}@media (max-width:640px){.header{padding:12px 16px}.logo{font-size:24px}.logout-btn{font-size:12px;padding:6px 12px}}.call-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:var(--space-4);position:fixed;right:0;top:0;z-index:1000}.call-modal{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:400px;padding:var(--space-6);width:100%}.call-header{margin-bottom:var(--space-5)}.call-header h2{font-size:var(--text-xl);font-weight:var(--font-bold)}.call-contact{background-color:var(--paper-soft);border-radius:var(--radius-md);margin-bottom:var(--space-5);padding:var(--space-4);text-align:center}.contact-name{font-size:var(--text-lg);margin-bottom:var(--space-1)}.contact-phone{font-family:monospace;font-size:var(--text-base);margin-bottom:var(--space-2)}.contact-language{font-size:var(--text-sm)}.call-status{margin-bottom:var(--space-5);text-align:center}.status-ready{background-color:var(--paper-soft);color:var(--ink-soft)}.status-active,.status-ready{border-radius:var(--radius-sm);font-size:var(--text-sm);padding:var(--space-3)}.status-active{align-items:center;background-color:var(--success-light);color:var(--success);display:flex;gap:var(--space-2);justify-content:center}.status-indicator{animation:pulse 2s infinite;background-color:var(--success);border-radius:50%;height:8px;width:8px}.call-timer{color:var(--primary);font-family:monospace;font-size:var(--text-4xl);font-weight:var(--font-bold);margin-bottom:var(--space-6)}.call-error{background-color:var(--error-light);border:1px solid var(--error);border-radius:var(--radius-sm);color:var(--error);font-size:var(--text-sm);margin-bottom:var(--space-4);padding:var(--space-3)}.call-controls{justify-content:center;margin-bottom:var(--space-5)}.btn-call{background-color:var(--success);border:none;border-radius:var(--radius-2xl);color:#fff;cursor:pointer;flex:1 1;font-size:var(--text-base);font-weight:var(--font-semibold);max-width:200px;padding:var(--space-3) var(--space-5);transition:all var(--transition-base)}.btn-call:hover:not(:disabled){background-color:var(--success-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-call:disabled{background-color:var(--line);cursor:not-allowed}.btn-icon{align-items:center;background-color:var(--paper-soft);border:2px solid var(--line);border-radius:50%;cursor:pointer;display:flex;font-size:var(--text-xl);height:48px;justify-content:center;padding:0;transition:all var(--transition-base);width:48px}.btn-icon:hover{background-color:var(--primary-light);border-color:var(--primary)}.btn-icon.muted{background-color:var(--warning-light);border-color:var(--warning)}.btn-hangup{background-color:var(--error);border:none;border-radius:var(--radius-2xl);color:#fff;cursor:pointer;flex:1 1;font-size:var(--text-base);font-weight:var(--font-semibold);max-width:200px;padding:var(--space-3) var(--space-5);transition:all var(--transition-base)}.btn-hangup:hover{background-color:var(--error-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.call-notes{margin-bottom:0}.notes-label{color:var(--ink-soft);display:block;font-size:var(--text-xs);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.notes-input{border:1px solid var(--line);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-sm);padding:var(--space-3);resize:vertical;width:100%}.notes-input:focus{background-color:var(--primary-light);border-color:var(--primary);outline:none}@media (max-width:640px){.call-modal{border-radius:var(--radius-md);padding:var(--space-5)}.call-header h2{font-size:var(--text-lg)}.call-timer{font-size:var(--text-3xl)}}.disposition-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:var(--space-4);position:fixed;right:0;top:0;z-index:1000}.disposition-modal{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin:auto;max-width:500px;padding:var(--space-6);width:100%}.disposition-header{margin-bottom:var(--space-5);text-align:center}.disposition-header h2{color:var(--ink);font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0 0 var(--space-2) 0}.duration{font-feature-settings:"tnum";color:var(--ink-soft);font-size:var(--text-base);font-variant-numeric:tabular-nums;margin:0}.disposition-contact{align-items:center;background-color:#fff;border:1px solid var(--line);border-radius:var(--radius-md);display:flex;gap:var(--space-3);margin-bottom:var(--space-5);padding:var(--space-4)}.disposition-contact .contact-name{color:var(--ink);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0 0 var(--space-1) 0}.disposition-contact .contact-phone{color:var(--ink-soft);font-family:monospace;font-size:var(--text-sm);margin:0}.disposition-options{margin-bottom:var(--space-5)}.disposition-label{color:var(--ink);font-size:var(--text-base);font-weight:var(--font-semibold);margin:0 0 var(--space-3) 0}.options-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(2,1fr)}.option-btn{align-items:center;background-color:#fff;border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;font-family:var(--font-family);gap:var(--space-3);justify-content:center;min-height:120px;padding:var(--space-4) var(--space-3);position:relative;transition:all var(--transition-base)}.option-btn:hover{border-color:var(--primary);box-shadow:var(--shadow-base)}.option-btn.selected{background-color:var(--primary-light);border:2px solid var(--primary);box-shadow:0 0 0 4px var(--primary-light)}.option-icon{flex-shrink:0;font-size:var(--text-4xl)}.option-label{color:var(--ink);font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:var(--line-height-snug);text-align:center}.option-btn.selected:after{align-items:center;background-color:var(--primary);border-radius:50%;color:#fff;content:"✓";display:flex;font-size:var(--text-sm);font-weight:var(--font-bold);height:24px;justify-content:center;position:absolute;right:var(--space-2);top:var(--space-2);width:24px}.follow-up-date{margin-bottom:var(--space-4)}.follow-up-date label{color:var(--ink);display:block;font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.follow-up-date input{border:1px solid var(--line);border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--text-base);padding:var(--space-3) var(--space-4);transition:all var(--transition-base);width:100%}.follow-up-date input:focus{background-color:#92b3e605;border-color:var(--primary);box-shadow:0 0 0 3px #5580cc1a;outline:none}.disposition-notes{margin-bottom:var(--space-4)}.disposition-notes label{color:var(--ink);display:block;font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.disposition-notes .notes-input{border:1px solid var(--line);border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--text-base);padding:var(--space-3) var(--space-4);resize:vertical;transition:all var(--transition-base);width:100%}.disposition-notes .notes-input:focus{background-color:#92b3e605;border-color:var(--primary);box-shadow:0 0 0 3px #5580cc1a;outline:none}.disposition-error{background-color:var(--error-light);border:1px solid var(--error);border-radius:var(--radius-md);color:var(--error);font-size:var(--text-base);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4)}.disposition-actions{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:1fr 1.4fr}.disposition-actions .btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;font-family:var(--font-family);font-size:var(--text-base);font-weight:var(--font-semibold);justify-content:center;padding:var(--space-3) var(--space-4);transition:all var(--transition-base)}.disposition-actions .btn-secondary{background-color:#fff;border:1.5px solid var(--primary);color:var(--primary)}.disposition-actions .btn-secondary:hover:not(:disabled){background-color:var(--primary-light);box-shadow:var(--shadow-sm)}.disposition-actions .btn-secondary:disabled{border-color:var(--line);color:var(--ink-soft);cursor:not-allowed;opacity:.6}.disposition-actions .btn-primary{background-color:var(--primary);box-shadow:var(--shadow-base);color:#fff}.disposition-actions .btn-primary:hover:not(:disabled){background-color:var(--primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.disposition-actions .btn-primary:active:not(:disabled){box-shadow:var(--shadow-base);transform:translateY(0)}.disposition-actions .btn-primary:disabled{background-color:var(--line);cursor:not-allowed;opacity:.6}@media (max-width:640px){.disposition-modal{border-radius:var(--radius-md);padding:var(--space-5) var(--space-4)}.disposition-header h2{font-size:var(--text-xl)}.options-grid{gap:var(--space-2);grid-template-columns:repeat(2,1fr)}.option-btn{gap:var(--space-2);min-height:110px;padding:var(--space-3) var(--space-2)}.option-icon{font-size:var(--text-2xl)}.option-label{font-size:var(--text-xs)}.disposition-actions{gap:var(--space-2);grid-template-columns:1fr 1fr}.disposition-actions .btn{font-size:var(--text-sm);padding:var(--space-3) var(--space-3)}}.call-panel{background:#fff;border-left:1px solid var(--line);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-top:2px solid var(--primary);bottom:0;box-shadow:var(--shadow-lg);font-family:var(--font-family);max-width:400px;padding:var(--space-5);position:fixed;right:0;width:100%;z-index:1000}@media (max-width:768px){.call-panel{bottom:60px;max-width:100%}}.call-header{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-2)}.call-header h2{color:var(--ink);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0}.close-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--ink-soft);cursor:pointer;display:flex;font-size:var(--text-2xl);height:30px;justify-content:center;padding:0;transition:all var(--transition-base);width:30px}.close-btn:hover{background:var(--paper-soft);color:var(--ink)}.contact-info{margin-bottom:var(--space-5)}.contact-name{font-size:var(--text-xl);margin-bottom:var(--space-2)}.international-warning{align-items:center;background:var(--warning-light);border-left:4px solid var(--warning);border-radius:var(--radius-sm);color:var(--warning);display:flex;font-size:var(--text-base);font-weight:var(--font-medium);justify-content:space-between;margin-bottom:var(--space-2);padding:var(--space-2) var(--space-3)}.warning-badge{background:var(--warning);border-radius:var(--radius-pill);color:#fff;font-size:var(--text-xs);font-weight:var(--font-semibold);padding:var(--space-1) var(--space-2)}.contact-language,.contact-phone{align-items:center;display:flex;font-size:var(--text-base);justify-content:space-between;margin-bottom:var(--space-2)}.contact-language .label,.contact-phone .label{color:var(--ink-soft);font-weight:var(--font-medium)}.phone-number{color:var(--ink);font-family:monospace;font-weight:var(--font-semibold)}.language-badge{background:var(--primary-light);border-radius:var(--radius-pill);color:var(--primary);font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--space-1) var(--space-2)}.call-status{background:var(--paper-soft);border:1px solid var(--line);border-radius:var(--radius-md);justify-content:space-between;margin:var(--space-5) 0;padding:var(--space-4)}.call-status,.status-indicator{align-items:center;display:flex}.status-indicator{gap:var(--space-2)}.status-dot{animation:pulse 2s infinite;border-radius:50%;height:12px;width:12px}.status-dot.initializing{background:var(--warning)}.status-dot.ringing{background:var(--primary)}.status-dot.connected{background:var(--success)}.status-dot.ended{background:var(--error)}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.status-text{color:var(--ink);font-size:var(--text-base);font-weight:var(--font-medium)}.call-timer{text-align:center}.timer-display{font-feature-settings:"tnum";color:var(--primary);font-family:monospace;font-size:var(--text-4xl);font-variant-numeric:tabular-nums;font-weight:var(--font-bold);line-height:1}.timer-label{color:var(--ink-soft);font-size:var(--text-xs);margin-top:var(--space-1)}.call-controls{display:flex;gap:var(--space-3);margin:var(--space-5) 0}.btn-end-call{background:var(--error);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;flex:1 1;font-family:var(--font-family);font-size:var(--text-base);font-weight:var(--font-semibold);padding:var(--space-3) var(--space-4);transition:all var(--transition-base)}.btn-end-call:hover{box-shadow:var(--shadow-md);filter:brightness(.9);transform:translateY(-2px)}.btn-end-call:active{transform:translateY(0)}.call-notes{background:var(--primary-light);border-left:3px solid var(--primary);border-radius:var(--radius-sm);color:var(--primary);font-size:var(--text-sm);margin-top:var(--space-4);padding:var(--space-3)}.call-notes p{line-height:var(--line-height-normal);margin:0}.call-stats{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);font-family:var(--font-family);margin-bottom:var(--space-5);padding:var(--space-5)}.call-stats h3{color:var(--ink);font-size:var(--text-2xl);font-weight:var(--font-semibold);margin:0 0 var(--space-4) 0}.call-stats.loading{align-items:center;color:var(--ink-soft);display:flex;font-size:var(--text-base);justify-content:center;min-height:200px}.call-stats.error{background:var(--error-light);border:1px solid var(--error);color:var(--error);padding:var(--space-5);text-align:center}.call-stats.error p{margin:0 0 var(--space-4) 0}.btn-refresh{background:var(--primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-family:var(--font-family);font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-2) var(--space-4);transition:all var(--transition-base)}.btn-refresh:hover{background:var(--primary-dark);box-shadow:var(--shadow-base);transform:translateY(-1px)}.btn-refresh:active{transform:translateY(0)}.stats-section{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr;margin-bottom:var(--space-5)}@media (max-width:768px){.stats-section{grid-template-columns:1fr}}.stat-card{background:var(--paper-soft);padding:var(--space-4)}.stat-title{color:var(--ink-soft);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.5px;margin-bottom:var(--space-2);text-transform:uppercase}.stat-value{font-size:var(--text-2xl);margin-bottom:var(--space-3)}.stat-progress{background:var(--line);border-radius:var(--radius-md);height:8px;margin-bottom:var(--space-2);overflow:hidden}.stat-progress.warning{background:var(--warning-light)}.stat-progress.critical{background:var(--error-light)}.stat-progress .progress-bar{background:var(--success);border-radius:var(--radius-md);height:100%;transition:width var(--transition-base)}.stat-progress.warning .progress-bar{background:var(--warning)}.stat-progress.critical .progress-bar{background:var(--error)}.stat-detail{color:var(--ink-soft);font-size:var(--text-xs);line-height:var(--line-height-normal)}.warning-text{color:var(--warning);display:block;font-weight:var(--font-medium);margin-top:var(--space-1)}.stats-breakdown{border-top:1px solid var(--line);margin-bottom:var(--space-5);padding-top:var(--space-4)}.breakdown-item{align-items:center;display:flex;font-size:var(--text-base);justify-content:space-between;padding:var(--space-2) 0}.breakdown-item .label{color:var(--ink-soft);font-weight:var(--font-medium)}.breakdown-item .value{color:var(--ink);font-weight:var(--font-semibold)}.stats-monthly{background:var(--primary-light);border:1px solid var(--primary);border-radius:var(--radius-md);margin-bottom:var(--space-4);padding:var(--space-3)}.stats-monthly h4{font-weight:var(--font-semibold);margin:0 0 var(--space-2) 0;text-transform:uppercase}.monthly-details,.stats-monthly h4{color:var(--primary);font-size:var(--text-xs)}.monthly-details{display:flex;justify-content:space-between}.alert{gap:var(--space-3);line-height:var(--line-height-normal);margin-bottom:var(--space-4)}.alert-warning{background:var(--warning-light);border:1px solid var(--warning);color:var(--warning)}.alert-critical{background:var(--error-light);border:1px solid var(--error);font-weight:var(--font-medium)}@media (max-width:480px){.call-stats{padding:var(--space-4)}.call-stats h3{font-size:var(--text-xl)}.stat-card{padding:var(--space-3)}.stat-value{font-size:var(--text-xl)}}.page{background-color:var(--paper-soft);display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;margin:0 auto;max-width:1200px;padding:var(--space-6) var(--space-5);width:100%}.welcome-section{margin-bottom:var(--space-8)}.welcome-header{padding:0}.welcome-section h1{color:var(--ink);font-size:var(--text-5xl);font-weight:var(--font-bold);letter-spacing:-.3px;margin:0 0 var(--space-2) 0}.campus-label{color:var(--ink-soft);font-size:var(--text-lg);margin:0 0 var(--space-1) 0}.campaign-label{color:var(--ink-soft);margin:0}.alert,.campaign-label{font-size:var(--text-base)}.alert{align-items:center;border:1px solid #0000;border-radius:var(--radius-md);display:flex;justify-content:space-between;margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4)}.alert-critical,.alert-error{background-color:var(--error-light);border-color:var(--error);color:var(--error)}.error-content{display:flex;flex:1 1;flex-direction:column;gap:var(--space-2)}.error-message{font-weight:var(--font-semibold)}.error-detail{font-size:var(--text-sm);opacity:.9}.retry-info{font-size:var(--text-sm);opacity:.85}.btn-dismiss{background:#0000;border:none;color:currentColor;cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-semibold);margin-left:var(--space-3);padding:var(--space-2);text-decoration:underline;white-space:nowrap}.btn-dismiss:hover{opacity:.8}.commitment-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-base);margin-bottom:var(--space-7);padding:var(--space-6)}.commitment-info h2{color:var(--ink);font-size:var(--text-2xl);font-weight:var(--font-semibold);margin:0 0 var(--space-3) 0}.commitment-text{color:var(--ink-soft);font-size:var(--text-lg);margin:0 0 var(--space-5) 0}.commitment-text strong{color:var(--ink);font-weight:var(--font-semibold)}.progress-container{margin-bottom:var(--space-6)}.progress-bar{background-color:var(--line);border-radius:var(--radius-md);height:10px;margin-bottom:var(--space-2);overflow:hidden}.progress-fill{background-color:var(--primary);height:100%;transition:width var(--transition-base)}.progress-percent{color:var(--ink-soft);display:block;font-size:var(--text-sm);text-align:right}.progress-stats{grid-gap:var(--space-4);border-top:1px solid var(--line);display:grid;gap:var(--space-4);grid-template-columns:repeat(3,1fr);padding-top:var(--space-5)}.stat{align-items:center;display:flex;flex-direction:column;text-align:center}.stat-label{color:var(--ink-soft);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.5px;margin-bottom:var(--space-2);text-transform:uppercase}.stat-value{color:var(--ink);font-size:var(--text-4xl);font-weight:var(--font-bold);letter-spacing:-.4px}.today-progress{border-top:1px solid var(--line);color:var(--ink-soft);font-size:var(--text-base);margin:var(--space-5) 0 0 0;padding-top:var(--space-5)}.call-metrics{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-base);margin-bottom:var(--space-7);padding:var(--space-6)}.call-metrics h3{color:var(--ink);font-size:var(--text-2xl);font-weight:var(--font-semibold);margin:0 0 var(--space-4) 0}.metrics-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(2,1fr)}.metric-card{align-items:center;background-color:var(--paper-soft);border:1px solid var(--line);border-radius:var(--radius-md);display:flex;gap:var(--space-3);padding:var(--space-4);transition:all var(--transition-base)}.metric-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.metric-icon{flex-shrink:0;font-size:var(--text-2xl);min-width:32px;text-align:center}.metric-content{display:flex;flex-direction:column;gap:var(--space-1)}.metric-label{color:var(--ink-soft);font-size:var(--text-sm)}.metric-value{color:var(--ink);font-size:var(--text-2xl);font-weight:var(--font-bold)}.action-buttons{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-7)}.btn{align-items:center;border-radius:var(--radius-2xl);display:flex;gap:var(--space-2);justify-content:center}.btn-primary:active:not(:disabled){box-shadow:var(--shadow-md)}.btn-secondary{background-color:#fff;box-shadow:var(--shadow-sm);color:var(--primary)}.btn-secondary:hover:not(:disabled){background-color:var(--paper-soft);border-color:var(--primary);box-shadow:var(--shadow-base);transform:translateY(-1px)}.btn-secondary:disabled{cursor:not-allowed;opacity:.6}.quick-links{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-base);padding:var(--space-6)}.quick-links h3{color:var(--ink);font-size:var(--text-2xl);font-weight:var(--font-semibold);margin:0 0 var(--space-4) 0}.quick-links-grid{display:flex;flex-direction:column;gap:var(--space-3)}.quick-link{border:1px solid #0000;border-radius:var(--radius-md);color:var(--primary);display:block;font-size:var(--text-base);font-weight:var(--font-medium);padding:var(--space-3) var(--space-4);text-decoration:none;transition:all var(--transition-base)}.quick-link:hover{background-color:var(--primary-light);border-color:var(--primary);color:var(--primary-dark);transform:translateX(2px)}.loading{font-size:var(--text-lg);min-height:400px}.error{font-size:var(--text-base);padding:var(--space-4);text-align:center}.stats-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(2,1fr);margin-bottom:var(--space-6)}.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-base);padding:var(--space-5);text-align:center}.stat-card h3{color:var(--primary);font-size:var(--text-4xl);font-weight:var(--font-bold);margin:0 0 var(--space-2) 0}.stat-card p{color:var(--ink-soft);font-size:var(--text-sm);margin:0}.volunteers-section{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-base);padding:var(--space-6)}.volunteers-section h2{color:var(--ink);font-size:var(--text-2xl);font-weight:var(--font-semibold);margin:0 0 var(--space-4) 0}.volunteers-list{display:flex;flex-direction:column;gap:var(--space-3)}.volunteer-item{align-items:center;border:1px solid var(--line);border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:var(--space-3) var(--space-4);transition:all var(--transition-base)}.volunteer-item:hover{background-color:var(--primary-light);border-color:var(--primary);box-shadow:var(--shadow-sm)}.volunteer-info h4{color:var(--ink);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0 0 var(--space-1) 0}.volunteer-info p{color:var(--ink-soft);font-size:var(--text-xs);margin:0}.volunteer-badge{background-color:var(--primary);border-radius:var(--radius-sm);color:#fff;font-size:var(--text-xs);font-weight:var(--font-semibold);padding:var(--space-1) var(--space-2);white-space:nowrap}@media (max-width:768px){.main-content{padding:var(--space-5) var(--space-4)}.welcome-section h1{font-size:var(--text-4xl)}.commitment-card{padding:var(--space-5)}.metrics-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.main-content{padding:var(--space-4) var(--space-3)}.welcome-section{margin-bottom:var(--space-6)}.welcome-section h1{font-size:var(--text-2xl);margin-bottom:var(--space-1)}.campaign-label,.campus-label{font-size:var(--text-sm)}.commitment-card{margin-bottom:var(--space-5);padding:var(--space-4)}.commitment-info h2{font-size:var(--text-xl);margin-bottom:var(--space-3)}.commitment-text{font-size:var(--text-base);margin-bottom:var(--space-4)}.progress-stats{gap:var(--space-3);grid-template-columns:1fr;padding-top:var(--space-4)}.stat-value{font-size:var(--text-2xl)}.today-progress{font-size:var(--text-sm);margin-top:var(--space-4);padding-top:var(--space-4)}.call-metrics{margin-bottom:var(--space-5);padding:var(--space-4)}.call-metrics h3{font-size:var(--text-xl);margin-bottom:var(--space-3)}.metrics-grid{gap:var(--space-2);grid-template-columns:1fr}.metric-card{padding:var(--space-3)}.metric-icon{font-size:var(--text-2xl)}.metric-label{font-size:var(--text-xs)}.metric-value{font-size:var(--text-xl)}.action-buttons{gap:var(--space-2);margin-bottom:var(--space-5)}.btn{font-size:var(--text-base);padding:var(--space-3) var(--space-4)}.quick-links{padding:var(--space-4)}.quick-links h3{font-size:var(--text-xl);margin-bottom:var(--space-3)}.quick-link{font-size:var(--text-sm);padding:var(--space-2) var(--space-3)}.quick-link:hover{transform:translateX(1px)}.stats-grid{grid-template-columns:1fr}.stat-card{padding:var(--space-4)}.stat-card h3{font-size:var(--text-3xl)}.stat-card p{font-size:var(--text-xs)}.volunteer-item{align-items:flex-start;flex-direction:column;gap:var(--space-3)}.volunteer-info{width:100%}.volunteer-badge{align-self:flex-start}}@media (max-width:480px){.main-content{padding:var(--space-3) var(--space-2)}.welcome-section h1{font-size:var(--text-xl)}.welcome-section{margin-bottom:var(--space-5)}.commitment-card{margin-bottom:var(--space-4);padding:var(--space-3)}.commitment-text{font-size:var(--text-sm)}.stat-value{font-size:var(--text-2xl)}.btn{font-size:var(--text-sm);padding:var(--space-2) var(--space-3)}.metric-card{gap:var(--space-2);padding:var(--space-2)}.metric-icon{font-size:var(--text-xl)}.metric-value{font-size:var(--text-lg)}}.resources-header{margin-bottom:var(--space-8)}.resources-header h1{color:var(--ink);font-size:var(--text-5xl);font-weight:var(--font-bold);letter-spacing:-.3px;margin:0 0 var(--space-2) 0}.resources-subtitle{color:var(--ink-soft);font-size:var(--text-lg);margin:0}.resources-grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:var(--space-8)}.resource-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-base);display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);transition:all var(--transition-base)}.resource-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.resource-icon{align-items:center;background-color:var(--primary-light);border-radius:var(--radius-md);display:flex;flex-shrink:0;font-size:var(--text-4xl);height:60px;justify-content:center;width:60px}.resource-title{color:var(--ink);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0}.resource-description{color:var(--ink-soft);flex-grow:1;font-size:var(--text-base);line-height:var(--line-height-normal);margin:0}.resource-link{align-items:center;background-color:var(--primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:inline-flex;font-family:var(--font-family);font-size:var(--text-base);font-weight:var(--font-semibold);gap:var(--space-2);justify-content:center;padding:var(--space-3) var(--space-4);text-align:center;text-decoration:none;transition:all var(--transition-base)}.resource-link:hover{background-color:var(--primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.resource-link:active{box-shadow:var(--shadow-base);transform:translateY(0)}.resource-unavailable{background-color:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink-soft);display:inline-block;font-size:var(--text-base);font-style:italic;padding:var(--space-3) var(--space-4);text-align:center}@media (max-width:768px){.resources-header h1{font-size:var(--text-4xl)}.resources-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.resource-card{padding:var(--space-5)}.resource-icon{font-size:var(--text-3xl);height:50px;width:50px}.resource-title{font-size:var(--text-lg)}.resource-description{font-size:var(--text-sm)}}@media (max-width:640px){.resources-header h1{font-size:var(--text-2xl);margin-bottom:var(--space-2)}.resources-subtitle{font-size:var(--text-base)}.resources-grid{gap:var(--space-3);grid-template-columns:1fr}.resource-card{gap:var(--space-3);padding:var(--space-4)}.resource-icon{font-size:var(--text-2xl);height:45px;width:45px}.resource-title{font-size:var(--text-lg)}.resource-description{font-size:var(--text-sm)}.resource-link,.resource-unavailable{font-size:var(--text-sm);padding:var(--space-2) var(--space-3)}}@media (max-width:480px){.resources-header h1{font-size:var(--text-xl)}.resource-icon{font-size:var(--text-2xl);height:40px;width:40px}.resource-title{font-size:var(--text-base)}}.report-issue-container{align-items:center;background-color:var(--paper-soft);display:flex;justify-content:center;min-height:100vh;padding:var(--space-6) var(--space-4)}.report-issue-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-width:500px;padding:var(--space-8);width:100%}.report-issue-header{margin-bottom:var(--space-8);text-align:center}.report-issue-header h1{color:var(--ink);font-size:var(--text-3xl);font-weight:var(--font-bold);letter-spacing:-.3px;margin:0 0 var(--space-2) 0}.report-issue-subtitle{color:var(--ink-soft);font-size:var(--text-base);line-height:var(--line-height-normal);margin:0}.success-message{border-radius:var(--radius-md);text-align:center}.success-title{color:var(--success);font-size:var(--text-lg);font-weight:var(--font-semibold);margin-bottom:var(--space-1)}.success-text{color:var(--success);font-size:var(--text-base)}.report-issue-form{gap:var(--space-5)}.form-group,.report-issue-form{display:flex;flex-direction:column}.form-group{gap:var(--space-2)}.form-group label{color:var(--ink);font-size:var(--text-sm);font-weight:var(--font-semibold)}.required{color:var(--error);margin-left:var(--space-1)}.form-input-readonly{background-color:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);cursor:not-allowed;font-family:var(--font-family);font-size:var(--text-base);padding:var(--space-3) var(--space-4);transition:all var(--transition-base)}.form-input-readonly:focus{background-color:var(--paper);border-color:var(--line);outline:none}.form-textarea{background-color:#fff;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);font-family:var(--font-family);font-size:var(--text-base);min-height:120px;padding:var(--space-3) var(--space-4);resize:vertical;transition:all var(--transition-base)}.form-textarea:focus{background-color:#92b3e605;border-color:var(--primary);box-shadow:0 0 0 3px #5580cc1a;outline:none}.form-textarea:disabled{background-color:var(--paper);color:var(--ink-soft);cursor:not-allowed;opacity:.6}.form-textarea[aria-invalid=true]{background-color:var(--error-light);border-color:var(--error)}.form-textarea[aria-invalid=true]:focus{border-color:var(--error);box-shadow:0 0 0 3px #c832321a}.form-error{color:var(--error);font-size:var(--text-sm);font-weight:var(--font-medium);margin:0}.submit-button{background-color:var(--primary);border:none;border-radius:var(--radius-2xl);color:#fff;cursor:pointer;font-family:var(--font-family);font-size:var(--text-lg);font-weight:var(--font-semibold);margin-top:var(--space-4);padding:var(--space-3) var(--space-4);transition:all var(--transition-base);width:100%}.submit-button:hover:not(:disabled){background-color:var(--primary-dark);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.submit-button:active:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(0)}.submit-button:disabled{background-color:var(--line);cursor:not-allowed;opacity:.6}@media (max-width:768px){.report-issue-card{padding:var(--space-6) var(--space-5)}.report-issue-header h1{font-size:var(--text-2xl)}.report-issue-subtitle{font-size:var(--text-sm)}.form-textarea,.submit-button{font-size:var(--text-base)}.submit-button{padding:var(--space-3) var(--space-4)}}@media (max-width:640px){.report-issue-container{padding:var(--space-4) var(--space-3)}.report-issue-card{border-radius:var(--radius-md);padding:var(--space-5) var(--space-4)}.report-issue-header h1{font-size:var(--text-2xl);margin-bottom:var(--space-2)}.report-issue-subtitle{font-size:var(--text-sm)}.form-group{gap:var(--space-1)}.form-group label{font-size:var(--text-xs)}.form-input-readonly,.form-textarea{border-radius:var(--radius-sm);font-size:var(--text-sm);padding:var(--space-2) var(--space-3)}.form-textarea{min-height:100px}.submit-button{font-size:var(--text-base);margin-top:var(--space-4);padding:var(--space-3) var(--space-3)}.success-message{margin-bottom:var(--space-4);padding:var(--space-3)}.success-title{font-size:var(--text-base)}.success-text{font-size:var(--text-sm)}}@media (max-width:480px){.report-issue-card{padding:var(--space-4) var(--space-3)}.report-issue-header h1{font-size:var(--text-xl)}.form-input-readonly,.form-textarea{font-size:var(--text-sm)}.submit-button{font-size:var(--text-base);padding:var(--space-2) var(--space-3)}}.contact-assignment-container{margin:0 auto;max-width:1400px;padding:var(--space-6) var(--space-4)}.assignment-header{margin-bottom:var(--space-8);text-align:center}.assignment-header h1{color:var(--ink);font-size:var(--text-3xl);font-weight:var(--font-bold);margin:0 0 var(--space-3) 0}.assignment-subtitle{color:var(--ink-soft);font-size:var(--text-sm);line-height:var(--line-height-normal);margin:0}.success-message{align-items:flex-start;background-color:var(--success-light);border:1px solid var(--success);border-radius:var(--radius-sm);display:flex;gap:var(--space-3);margin-bottom:var(--space-6);padding:var(--space-4)}.success-icon{color:var(--success-dark);flex-shrink:0;font-size:var(--text-xl);font-weight:var(--font-bold)}.success-text{color:var(--success-dark);font-size:var(--text-sm);line-height:var(--line-height-normal);margin:0}.error-message{align-items:flex-start;background-color:var(--error-light);border:1px solid var(--error);border-radius:var(--radius-sm);display:flex;gap:var(--space-3);margin-bottom:var(--space-6);padding:var(--space-4)}.error-icon{color:var(--error-dark);flex-shrink:0;font-size:var(--text-xl);font-weight:var(--font-bold)}.error-text{color:var(--error-dark);flex:1 1;font-size:var(--text-sm);line-height:var(--line-height-normal);margin:0}.dismiss-btn{background:#0000;border:none;color:var(--error-dark);cursor:pointer;flex-shrink:0;font-size:var(--text-xs);font-weight:var(--font-medium);padding:0}.dismiss-btn:hover{text-decoration:underline}.assignment-layout{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:2fr 1fr;margin-top:var(--space-6)}.assignment-left,.assignment-right{display:flex;flex-direction:column}.assignment-right{gap:var(--space-6)}.contact-assignment-list{display:flex;flex-direction:column;gap:var(--space-4)}.search-section{display:flex;flex-direction:column;gap:var(--space-2)}.search-input{background-color:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);font-size:var(--text-sm);padding:var(--space-3);transition:border-color var(--transition-base);width:100%}.search-input:focus{background-color:var(--primary-light);border-color:var(--primary);outline:none}.search-input::placeholder{color:var(--ink-soft)}.selection-controls{display:flex;flex-wrap:wrap;gap:var(--space-2)}.control-button{background-color:var(--paper-soft);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--space-2) var(--space-4);transition:background-color var(--transition-base)}.control-button:hover:not(:disabled){background-color:var(--paper);border-color:var(--primary)}.control-button:disabled{cursor:not-allowed;opacity:.5}.count-display{color:var(--ink-soft);font-size:var(--text-xs);margin:0}.count-display p{margin:0}.contacts-list{background-color:#fff;border:1px solid var(--line);border-radius:var(--radius-md);max-height:500px;overflow-y:auto}.contact-item{align-items:flex-start;border-bottom:1px solid var(--line);cursor:pointer;display:flex;gap:var(--space-3);padding:var(--space-3);transition:background-color var(--transition-base)}.contact-item:last-child{border-bottom:none}.contact-item:hover{background-color:var(--paper-soft)}.contact-item input[type=checkbox]{cursor:pointer;flex-shrink:0;height:20px;margin-top:2px;width:20px}.contact-info{display:flex;flex:1 1;flex-direction:column;gap:var(--space-1)}.contact-name{color:var(--ink);font-size:var(--text-sm);font-weight:var(--font-semibold)}.contact-email,.contact-language,.contact-phone{color:var(--ink-soft);font-size:var(--text-xs)}.contact-language{background-color:var(--paper-soft);border-radius:var(--radius-sm);padding:2px 6px;width:fit-content}.loading-state{align-items:center;color:var(--ink-soft);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-8) var(--space-5)}.spinner{animation:spin .8s linear infinite;border:2px solid var(--line);border-radius:50%;border-top-color:var(--primary);height:24px;width:24px}@keyframes spin{to{transform:rotate(1turn)}}.error-state{color:var(--ink-soft);padding:var(--space-8) var(--space-5);text-align:center}.retry-button{background-color:var(--primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-medium);margin-top:var(--space-3);padding:var(--space-2) var(--space-4)}.retry-button:hover{background-color:var(--primary-dark)}.empty-state{color:var(--ink-soft);font-size:var(--text-sm);padding:var(--space-8) var(--space-5);text-align:center}.volunteer-selector{background-color:var(--paper-soft);border:1px solid var(--line);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-6)}.volunteer-label{font-weight:var(--font-semibold)}.volunteer-dropdown,.volunteer-label{color:var(--ink);font-size:var(--text-sm)}.volunteer-dropdown{background-color:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;padding:var(--space-3);transition:border-color var(--transition-base);width:100%}.volunteer-dropdown:focus{background-color:var(--primary-light);border-color:var(--primary);outline:none}.volunteer-dropdown:disabled{cursor:not-allowed;opacity:.5}.assignment-info{color:var(--ink-soft);font-size:var(--text-xs);margin:0;padding:0 var(--space-6)}.assignment-info p{margin:0}.assign-button{background-color:var(--primary);border:none;border-radius:var(--radius-2xl);box-sizing:border-box;color:#fff;cursor:pointer;display:block;font-size:var(--text-base);font-weight:var(--font-semibold);margin:0 var(--space-6);min-width:160px;padding:var(--space-3) var(--space-8);transition:all var(--transition-base);width:100%}.assign-button:hover:not(:disabled){background-color:var(--primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.assign-button:disabled{background-color:var(--line);cursor:not-allowed;transform:none}.assign-button:active:not(:disabled){transform:translateY(0)}@media (max-width:1023px){.assignment-layout{gap:var(--space-5);grid-template-columns:1.5fr 1fr}.contact-assignment-container{padding:var(--space-5) var(--space-3)}.assignment-header h1{font-size:var(--text-2xl)}.assignment-subtitle{font-size:var(--text-xs)}}@media (max-width:767px){.assignment-layout{gap:var(--space-5);grid-template-columns:1fr}.contact-assignment-container{padding:var(--space-4) var(--space-3)}.assignment-header{margin-bottom:var(--space-6)}.assignment-header h1{font-size:var(--text-2xl);margin-bottom:var(--space-3)}.assignment-subtitle{font-size:var(--text-xs)}.search-input{font-size:var(--text-sm);padding:var(--space-3) var(--space-3)}.control-button{font-size:var(--text-xs);padding:var(--space-2) var(--space-3)}.contact-item{gap:var(--space-3);padding:var(--space-3)}.contact-item input[type=checkbox]{height:18px;width:18px}.contact-email,.contact-name,.contact-phone{font-size:var(--text-xs)}.volunteer-selector{padding:var(--space-4)}.volunteer-dropdown,.volunteer-label{font-size:var(--text-xs)}.volunteer-dropdown{padding:var(--space-3) var(--space-3)}.assign-button{font-size:var(--text-sm);margin:0 var(--space-4);min-width:140px;padding:var(--space-3) var(--space-6)}.assignment-info{font-size:var(--text-xs);padding:0 var(--space-4)}.error-message,.success-message{gap:var(--space-2);margin-bottom:var(--space-4)}}@media (max-width:639px){.contact-assignment-container{padding:var(--space-3) var(--space-2)}.assignment-header{margin-bottom:var(--space-5)}.assignment-header h1{font-size:var(--text-2xl);margin-bottom:var(--space-2)}.assignment-subtitle,.search-input{font-size:var(--text-xs)}.search-input{padding:var(--space-2) var(--space-3)}.control-button{padding:var(--space-1) var(--space-3)}.control-button,.count-display{font-size:var(--text-xs)}.contact-item{gap:var(--space-2);padding:var(--space-2)}.contact-item input[type=checkbox]{height:18px;width:18px}.contact-email,.contact-name,.contact-phone{font-size:var(--text-xs)}.volunteer-selector{gap:var(--space-2);padding:var(--space-3)}.volunteer-dropdown,.volunteer-label{font-size:var(--text-xs)}.volunteer-dropdown{padding:var(--space-2) var(--space-3)}.assign-button{font-size:var(--text-xs);margin:0 var(--space-3);min-width:120px;padding:var(--space-3) var(--space-4)}.assignment-info{font-size:var(--text-xs);padding:0 var(--space-3)}.error-icon,.success-icon{font-size:var(--text-lg)}.error-text,.success-text{font-size:var(--text-xs)}.empty-state,.error-state,.loading-state{padding:var(--space-8) var(--space-4)}.contacts-list{max-height:400px}}.contacts-list::-webkit-scrollbar{width:6px}.contacts-list::-webkit-scrollbar-track{background:var(--paper)}.contacts-list::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}.contacts-list::-webkit-scrollbar-thumb:hover{background:var(--ink-soft)}*{box-sizing:border-box;margin:0;padding:0}:root{--primary:oklch(0.55 0.18 260);--primary-dark:oklch(0.38 0.16 260);--primary-light:oklch(0.92 0.04 260);--secondary:oklch(0.72 0.17 55);--secondary-dark:oklch(0.62 0.18 45);--secondary-light:oklch(0.96 0.04 65);--success:oklch(0.62 0.16 150);--success-light:oklch(0.94 0.06 150);--warning:oklch(0.78 0.16 75);--warning-light:oklch(0.96 0.05 75);--error:oklch(0.58 0.20 25);--error-light:oklch(0.96 0.04 25);--ink:oklch(0.22 0.02 260);--ink-soft:oklch(0.45 0.02 260);--paper:oklch(0.99 0.005 80);--paper-soft:oklch(0.97 0.005 80);--line:oklch(0.92 0.01 260);--text:var(--ink);--text-light:var(--ink-soft);--background:var(--paper-soft);--surface:var(--paper);--border:var(--line);--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue","Inter",sans-serif;--text-xs:11px;--text-sm:13px;--text-base:14px;--text-lg:15px;--text-xl:16px;--text-2xl:18px;--text-3xl:20px;--text-4xl:24px;--text-5xl:28px;--text-6xl:32px;--font-regular:400;--font-medium:500;--font-semibold:600;--font-bold:700;--line-height-tight:1.15;--line-height-snug:1.25;--line-height-normal:1.45;--line-height-relaxed:1.6;--letter-spacing-tight:-0.2px;--letter-spacing-normal:0px;--letter-spacing-wide:0.4px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-9:36px;--space-10:40px;--space-12:48px;--space-14:56px;--space-16:64px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-base:0 1px 0 #00000014,0 2px 8px -4px #0000001f;--shadow-md:0 4px 12px -4px #00000026;--shadow-lg:0 8px 20px -8px #0000002e;--shadow-xl:0 12px 32px -16px #0003;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-3xl:24px;--radius-pill:999px;--transition-fast:0.15s ease;--transition-base:0.2s ease;--transition-slow:0.3s ease}html{scroll-behavior:smooth}body{background-color:oklch(.97 .005 80);background-color:var(--paper-soft);color:oklch(.22 .02 260);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Inter,sans-serif;font-family:var(--font-family);font-size:14px;font-size:var(--text-base);line-height:1.45;line-height:var(--line-height-normal)}.loading{align-items:center;color:oklch(.45 .02 260);color:var(--ink-soft);display:flex;font-size:18px;font-size:var(--text-2xl);height:100vh;justify-content:center}.error{background-color:oklch(.96 .04 25);background-color:var(--error-light);border:1px solid oklch(.58 .2 25);border:1px solid var(--error);border-radius:8px;border-radius:var(--radius-md);color:oklch(.58 .2 25);color:var(--error);margin-bottom:16px;margin-bottom:var(--space-4)}.btn,.error{padding:12px 16px;padding:var(--space-3) var(--space-4)}.btn{border:none;border-radius:12px;border-radius:var(--radius-lg);cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Inter,sans-serif;font-family:var(--font-family);font-size:15px;font-size:var(--text-lg);font-weight:600;font-weight:var(--font-semibold);transition:all .2s ease;transition:all var(--transition-base);width:100%}.btn-primary{background-color:oklch(.55 .18 260);background-color:var(--primary);box-shadow:0 4px 12px -4px #00000026;box-shadow:var(--shadow-md);color:#fff}.btn-primary:hover:not(:disabled){background-color:oklch(.38 .16 260);background-color:var(--primary-dark);box-shadow:0 8px 20px -8px #0000002e;box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{background-color:oklch(.92 .01 260);background-color:var(--line);cursor:not-allowed;opacity:.6}.btn-secondary{background-color:initial;border:1px solid oklch(.92 .01 260);border:1px solid var(--line);color:oklch(.22 .02 260);color:var(--ink)}.btn-secondary:hover{background-color:oklch(.97 .005 80);background-color:var(--paper-soft);border-color:oklch(.55 .18 260);border-color:var(--primary)}.btn-text{background-color:initial;color:oklch(.55 .18 260);color:var(--primary);padding:8px 12px;padding:var(--space-2) var(--space-3)}.btn-text:hover{background-color:oklch(.92 .04 260);background-color:var(--primary-light);color:oklch(.38 .16 260);color:var(--primary-dark)}@media (max-width:640px){body{font-size:13px;font-size:var(--text-sm)}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*# sourceMappingURL=main.de35d3b4.css.map*/