:root{--color-canvas: #F0EEE9;--color-surface: #B7D0EA;--color-text: #496275;--color-text-light: #756F6B;--color-accent: #487AB7;--color-accent-light: #AAAAC4;--color-accent-gold: #E3CC81;--color-success: #CAD3C1;--color-error: #EBD8DC;--shadow-sm: 0 2px 8px rgba(72, 122, 183, .08);--shadow-md: 0 4px 16px rgba(72, 122, 183, .12);--shadow-lg: 0 8px 32px rgba(72, 122, 183, .16)}.invite-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-canvas);padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.invite-card{background:#fff;border-radius:20px;padding:50px 40px;max-width:500px;width:100%;box-shadow:var(--shadow-lg);text-align:center;animation:slideUp .5s ease-out;border:1px solid rgba(183,208,234,.3)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.invite-icon{font-size:4rem;margin-bottom:24px;animation:bounce 2s infinite;filter:drop-shadow(0 4px 8px rgba(72,122,183,.15))}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.invite-card h1{font-size:2rem;color:var(--color-text);margin-bottom:24px;font-weight:600;letter-spacing:-.02em}.organization-badge{display:inline-block;background:var(--color-accent);color:#fff;padding:12px 30px;border-radius:25px;font-size:1.3rem;font-weight:600;margin-bottom:24px;box-shadow:var(--shadow-md);letter-spacing:.01em}.organization-desc{color:var(--color-text-light);margin-bottom:32px;line-height:1.6;font-size:1rem}.invite-form{margin-top:32px}.form-group{margin-bottom:24px;text-align:left}.form-group label{display:block;font-size:.95rem;color:var(--color-text);margin-bottom:10px;font-weight:600}.form-group input{width:100%;padding:14px 18px;border:2px solid rgba(183,208,234,.4);border-radius:12px;font-size:1rem;transition:all .3s ease;font-family:inherit;background:#fff;color:var(--color-text);box-sizing:border-box}.form-group input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 4px #487ab71a;background:var(--color-canvas)}.form-group input:disabled{background:var(--color-canvas);cursor:not-allowed;opacity:.6}.submit-button{width:100%;padding:16px;background:var(--color-accent);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:var(--shadow-sm);letter-spacing:.01em}.submit-button:hover:not(:disabled){background:#3d6a9a;transform:translateY(-2px);box-shadow:var(--shadow-md)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.spinner{width:16px;height:16px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.error-message{background:#ebd8dc4d;color:#80565b;padding:12px 16px;border-radius:10px;margin-top:16px;font-size:.95rem;border:1px solid rgba(235,216,220,.5)}.info-text{margin-top:28px;font-size:.9rem;color:var(--color-text-light);line-height:1.6}.expiry-notice{color:var(--color-text-light);font-size:.85rem;margin-top:12px}.error-icon{font-size:5rem;margin-bottom:24px;filter:drop-shadow(0 4px 8px rgba(128,86,91,.2))}.success-card{animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.success-icon{width:80px;height:80px;background:var(--color-accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;margin:0 auto 24px;animation:checkmark .5s ease-out;box-shadow:var(--shadow-md)}@keyframes checkmark{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.success-card p{color:var(--color-text);margin-bottom:16px;font-size:1.05rem}.hint{color:var(--color-accent);font-weight:600;font-size:1.1rem;margin-top:24px}.info-box{background:var(--color-canvas);border-left:4px solid var(--color-accent);padding:20px;margin-top:28px;text-align:left;border-radius:10px}.info-box p{font-weight:600;margin-bottom:12px;color:var(--color-text)}.info-box ul{list-style:none;padding:0;margin:0}.info-box li{padding:6px 0;color:var(--color-text-light);font-size:.95rem}.info-box li:before{content:"•";color:var(--color-accent);font-weight:700;display:inline-block;width:1em;margin-left:-1em;margin-right:.5em}.success-tips{background:var(--color-canvas);padding:24px;margin-top:32px;text-align:left;border-radius:12px;border:1px solid rgba(183,208,234,.3)}.tips-title{font-weight:600;margin-bottom:16px;color:var(--color-text);font-size:1rem}.tips-list{list-style:none;padding:0;margin:0}.tips-list li{color:var(--color-text-light);font-size:.95rem;line-height:1.6;position:relative;padding:8px 0 8px 24px}.tips-list li:before{content:"✓";color:var(--color-accent);font-weight:700;position:absolute;left:0;top:8px;font-size:.9rem}.loading-spinner{width:50px;height:50px;border:4px solid var(--color-canvas);border-top:4px solid var(--color-accent);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 24px}@media (max-width: 600px){.invite-card{padding:40px 25px}.invite-card h1{font-size:1.6rem}.organization-badge{font-size:1.1rem;padding:10px 20px}.invite-icon{font-size:3rem}}:root{--color-canvas: #F0EEE9;--color-surface: #B7D0EA;--color-text: #496275;--color-text-light: #756F6B;--color-accent: #487AB7;--color-accent-light: #AAAAC4;--color-accent-gold: #E3CC81;--color-success: #CAD3C1;--color-success-text: #496275;--color-error: #EBD8DC;--color-error-text: #80565B;--color-warning: #E3CC81;--shadow-sm: 0 2px 8px rgba(72, 122, 183, .08);--shadow-md: 0 4px 16px rgba(72, 122, 183, .12);--shadow-lg: 0 8px 32px rgba(72, 122, 183, .16)}.admin-container{min-height:100vh;background:var(--color-canvas);padding:30px 20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.admin-header{text-align:center;color:var(--color-text);margin-bottom:40px}.admin-header h1{font-size:2.5rem;font-weight:600;margin-bottom:10px;color:var(--color-text);letter-spacing:-.02em}.admin-content{max-width:1200px;margin:0 auto}.card{background:#fff;border-radius:16px;padding:32px;margin-bottom:24px;box-shadow:var(--shadow-md);border:1px solid rgba(183,208,234,.3);transition:all .3s ease}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card h2{font-size:1.5rem;color:var(--color-text);margin-bottom:24px;font-weight:600;letter-spacing:-.01em}.card-header-with-action{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.card-header-with-action h2{margin-bottom:0}.invite-form{display:flex;flex-direction:column;gap:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group{display:flex;flex-direction:column}.form-group label{font-size:.9rem;color:var(--color-text);margin-bottom:8px;font-weight:500}.form-group input,.form-group select{padding:12px 16px;border:2px solid rgba(183,208,234,.4);border-radius:10px;font-size:1rem;transition:all .3s ease;font-family:inherit;background:#fff;color:var(--color-text)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 4px #487ab71a;background:var(--color-canvas)}.btn{padding:12px 24px;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:inherit;letter-spacing:.01em}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:#3d6a9a;transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--color-accent-light);color:#fff}.btn-secondary:hover{background:#9595b0}.btn-danger{background:#80565b;color:#fff}.btn-danger:hover{background:#6d474c}.btn-success{background:var(--color-success);color:var(--color-success-text)}.btn-success:hover{background:#b8c4a8}.btn-small{padding:6px 12px;font-size:.85rem}.table-container{overflow-x:auto;border-radius:12px;border:1px solid rgba(183,208,234,.3)}.invite-table{width:100%;border-collapse:collapse;background:#fff}.invite-table th{background:var(--color-surface);padding:14px 16px;text-align:left;font-weight:600;color:var(--color-text);border-bottom:2px solid rgba(72,122,183,.2);font-size:.9rem;letter-spacing:.01em}.invite-table td{padding:14px 16px;border-bottom:1px solid rgba(183,208,234,.2);color:var(--color-text)}.invite-table tbody tr:hover{background:var(--color-canvas)}.invite-table tbody tr:last-child td{border-bottom:none}.code{background:var(--color-canvas);padding:4px 10px;border-radius:6px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.9rem;color:var(--color-accent);border:1px solid rgba(72,122,183,.2);font-weight:500}.status-badge{display:inline-block;padding:6px 14px;border-radius:12px;font-size:.85rem;font-weight:600}.status-active{background:#cad3c14d;color:#496275;border:1px solid rgba(202,211,193,.5)}.status-disabled{background:#ebd8dc4d;color:#80565b;border:1px solid rgba(235,216,220,.5)}.status-expired{background:#b7d0ea33;color:var(--color-text-light);border:1px solid rgba(183,208,234,.4)}.action-buttons{display:flex;gap:8px;flex-wrap:wrap}.text-center{text-align:center;color:var(--color-text-light);padding:40px}.message{padding:16px 20px;border-radius:12px;margin-bottom:24px;font-weight:500;animation:slideIn .3s ease-out;border:1px solid}.message-success{background:#cad3c133;color:#496275;border-color:#cad3c180}.message-error{background:#ebd8dc33;color:#80565b;border-color:#ebd8dc80}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:24px;border-top:1px solid rgba(183,208,234,.3);flex-wrap:wrap;gap:16px}.pagination-info{color:var(--color-text-light);font-size:.9rem}.pagination-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pagination-page{display:flex;gap:4px}.pagination-page .btn{min-width:36px;padding:8px 12px}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.admin-header h1{font-size:2rem}.card{padding:24px}.table-container{font-size:.85rem}.action-buttons{flex-direction:column}.invite-table th,.invite-table td{padding:10px 12px}.pagination{flex-direction:column;align-items:stretch}.pagination-info{text-align:center}.pagination-controls{justify-content:center}.pagination-page{flex-wrap:wrap;justify-content:center}.card-header-with-action{flex-direction:column;align-items:stretch}.card-header-with-action h2{margin-bottom:16px}.card-header-with-action .btn{width:100%}}:root{--color-canvas: #F0EEE9;--color-surface: #B7D0EA;--color-text: #496275;--color-text-light: #756F6B;--color-accent: #487AB7;--color-accent-light: #AAAAC4;--color-success: #CAD3C1;--color-error: #EBD8DC;--shadow-sm: 0 2px 8px rgba(72, 122, 183, .08);--shadow-md: 0 4px 16px rgba(72, 122, 183, .12);--shadow-lg: 0 8px 32px rgba(72, 122, 183, .16)}.landing-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-canvas);padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.landing-card{background:#fff;border-radius:20px;padding:60px 50px;max-width:550px;width:100%;box-shadow:var(--shadow-lg);text-align:center;animation:fadeIn .5s ease-out;border:1px solid rgba(183,208,234,.3)}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.landing-card h2{font-size:1.8rem;color:var(--color-text);margin-bottom:16px;font-weight:600;letter-spacing:-.02em}.hint{color:var(--color-text-light);font-size:1rem;margin-top:12px}.spinner-large{width:70px;height:70px;border:6px solid var(--color-canvas);border-top:6px solid var(--color-accent);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 30px}@keyframes spin{to{transform:rotate(360deg)}}.error-icon-large{font-size:5rem;margin-bottom:28px;animation:shake .5s ease-in-out;filter:drop-shadow(0 4px 8px rgba(128,86,91,.2))}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.error-text{color:#80565b;font-size:1.05rem;margin:24px 0;line-height:1.6}.error-hints{background:var(--color-canvas);border-left:4px solid #80565B;padding:25px;margin-top:32px;text-align:left;border-radius:12px}.error-hints>p:first-child{font-weight:600;color:var(--color-text);margin-bottom:14px;font-size:1rem}.error-hints ul{list-style:none;padding:0;margin:0 0 20px}.error-hints li{color:var(--color-text-light);font-size:.95rem;position:relative;padding:8px 0 8px 24px}.error-hints li:before{content:"×";color:#80565b;font-weight:700;font-size:1.3rem;position:absolute;left:0;top:3px}.contact-hint{color:var(--color-accent);font-weight:500;font-size:.95rem;border-top:1px solid rgba(183,208,234,.3);padding-top:16px;margin-top:16px}.success-icon-large{width:90px;height:90px;background:var(--color-accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3.5rem;margin:0 auto 28px;animation:successPop .6s ease-out;box-shadow:var(--shadow-md)}@keyframes successPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.success-text{color:#496275;font-size:1.1rem;font-weight:600;margin-top:16px}.retry-button{margin-top:32px;padding:14px 30px;background:var(--color-accent);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-sm);letter-spacing:.01em}.retry-button:hover{background:#3d6a9a;transform:translateY(-2px);box-shadow:var(--shadow-md)}@media (max-width: 600px){.landing-card{padding:40px 30px}.landing-card h2{font-size:1.5rem}.spinner-large{width:50px;height:50px;border-width:5px}.error-icon-large,.success-icon-large{font-size:4rem;width:70px;height:70px}}
