*{font-family:Helvetica,Arial,sans-serif;box-sizing:border-box}*,html{margin:0;padding:0}body,html{overflow-x:hidden}:root{--color-green:#31a373;--color-white:#ffffff;--size-xs:12px;--size-s:14px;--size-m:18px;--size-l:28px;--size-xl:36px;--weight-normal:400;--weight-bold:700}.login-container{min-height:100vh;background:linear-gradient(90deg,#f0fdf6,#fefbed);display:flex;align-items:center;justify-content:center;padding:20px}.login-wrapper{background:white;border-radius:20px;width:100%;max-width:400px;box-shadow:0 20px 40px rgba(0,0,0,.1);text-align:center}.logo-section{padding:20px;display:flex;flex-direction:column;align-items:center}.main-title{font-size:var(--size-m)}.logo-container{gap:12px;margin-bottom:16px}.logo-container,.logo-icon{display:flex;align-items:center;justify-content:center}.logo-icon{font-size:32px;width:60px;height:60px;border-radius:15px}.logo-icon,.logo-text{background:linear-gradient(135deg,#667eea,#764ba2)}.logo-text{font-size:24px;font-weight:700;color:#333;margin:0;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.system-title h2{font-size:18px;font-weight:600;color:#333;margin:0 0 8px}.system-title p{font-size:14px;color:#666;margin:0}.login-form-section{margin-bottom:10px;padding:20px}.login-form{margin-bottom:10px}.input-group{margin-bottom:24px;text-align:left}.input-label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:8px}.login-input{width:100%;padding:16px;border:2px solid #e1e5e9;border-radius:12px;font-size:16px;transition:border-color .3s ease;box-sizing:border-box}.login-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.login-button{width:100%;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:white;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;display:flex;align-items:center;justify-content:center;min-height:56px}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px rgba(102,126,234,.3)}.login-button:disabled{opacity:.7;cursor:not-allowed}.loading-content{display:flex;align-items:center;gap:8px}.spinner{width:20px;height:20px;border:2px solid transparent;border-top-color:white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.login-info{display:flex;gap:16px}.info-card{flex:1;background:linear-gradient(135deg,#f8f9ff,#f0f2ff);border-radius:12px;padding:20px 16px;text-align:center;border:1px solid #e8eaff}.info-icon{font-size:24px;margin-bottom:8px}.info-text strong{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:4px}.info-text p{font-size:12px;color:#666;margin:0;line-height:1.4}.common-card{background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-radius:20px;padding:16px;box-shadow:0 8px 32px rgba(0,0,0,.06);border:1px solid rgba(49,163,115,.1);width:100%;max-width:24rem}.common-card h2{font-size:var(--size-m);color:var(--color-green);font-weight:var(--weight-bold);margin:0 0 1.5rem}.common-tab-content{max-width:28rem;min-width:18rem;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}label{display:block;font-size:var(--size-s);font-weight:var(--weight-semibold);color:var(--color-green);margin-bottom:8px;margin-top:1rem}label:first-of-type{margin-top:0}select,textarea{width:100%;padding:12px 16px;border:1px solid rgba(49,163,115,.2);border-radius:12px;font-size:var(--size-s);background:rgba(255,255,255,.9);backdrop-filter:blur(5px);transition:all .3s ease;font-family:inherit}select:focus,textarea:focus{outline:none;border-color:var(--color-green);box-shadow:0 0 0 3px rgba(49,163,115,.1)}textarea{min-height:100px;resize:vertical;line-height:1.5}@media (max-width:414px){.login-container{padding:16px}.login-wrapper{padding:30px 24px;border-radius:16px}.main-title{font-size:var(--size-s)}.logo-icon{width:50px;height:50px;font-size:28px}.logo-text{font-size:20px}.system-title h2{font-size:16px}.login-info{flex-direction:column;gap:12px}.info-card{padding:16px 12px}}