body{background-color:#fff;color:#000;margin:0;padding:0;font-family:sans-serif}body,html{overflow:visible}.font-bold{font-weight:700}.full-width-hr-absolute{position:absolute;top:90px;left:0;width:100vw;border:none;border-top:1px solid rgba(255,255,255,.4)}.font-white{color:#fff;color:#fffc}.font-red{color:red}.font-size-12{font-size:12px}.top-30{margin-top:30px!important}.bottom-30{margin-bottom:30px!important}.width-90{width:90%!important}.brown-page{min-height:100vh;width:100%;background-color:#322b24;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:40px 0;box-sizing:border-box}.login-title{font-family:Palatino Roman,serif;font-style:normal;font-weight:100;font-size:30px;line-height:140%;text-align:center;letter-spacing:.05em;text-transform:capitalize;color:#a18c77;margin:0 0 10px}.login-logo{width:230px;height:auto;margin-bottom:10px}.login-input{width:100%;padding:12px 20px;background-color:#322b24;border:1px solid rgba(255,255,255,.4);box-sizing:border-box;min-width:300px;margin:0;color:#fff9;font-size:16px}.login-input:focus{outline:none;border-color:#64bf4d}.pass-reset-input{width:100%;padding:12px 20px;background-color:#fff;border:1px solid #000;box-sizing:border-box;min-width:300px;margin:20px 0;color:#000;font-size:16px}.pass-reset-input:focus{outline:none;border-color:#64bf4d}.apply-wrap{width:80%;max-width:500px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.apply-title{font-family:Palatino Roman,serif;font-weight:100;font-size:32px;line-height:140%;letter-spacing:.05em;text-transform:capitalize;color:#a18c77;margin:0 0 10px;align-self:flex-start}.apply-subtitle{font-size:16px;color:#fffc;padding:0 10px}.apply-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;border:none;border-bottom:1px solid rgba(255,255,255,.4);box-shadow:none;outline:none;padding:12px 20px;background-color:#ffffff14;box-sizing:border-box;min-width:265px;margin:0;color:#fff9;font-size:16px}.apply-input:focus{outline:none;border-bottom:1px solid #64BF4D}.apply-input[readonly]{background-color:#322b24;color:#fff9;border-bottom:1px solid rgba(255,255,255,.4);cursor:default}.input-with-icon{display:flex;align-items:center;gap:15px;margin:20px 0}.apply-icon{width:20px;height:20px;object-fit:contain}.email-font{align-self:flex-start;color:#fff;color:#fffc;line-height:1;margin-top:2px;margin-bottom:2px}.old-email{align-self:flex-start;line-height:1;margin-top:2px;margin-bottom:2px;background-color:#322b24;color:#fff9;border-bottom:1px solid rgba(255,255,255,.4);cursor:default;min-width:265px}.old-email-with-icon{display:flex;align-items:center;gap:15px;margin:20px 0 40px}.back-button{display:inline-flex;align-items:center;gap:6px;font-size:14px;background:none;border:none;cursor:pointer;padding:4px 8px;color:#fff;margin:15px auto}.back-button img{width:14px;height:14px;object-fit:contain}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper .apply-input{width:100%;padding-right:40px}.eye-toggle{position:absolute;right:10px;background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.eye-toggle img{width:22px;height:22px;object-fit:contain}.diagonally-icon{width:16px;height:16px;object-fit:contain;margin-left:10px}.loading-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;width:100vw;height:100vh;background-color:#00000080;z-index:9999}.loading-inline{display:flex;justify-content:center;align-items:center;width:100%;padding:2rem 0}.loading-content{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#374151;gap:1.5rem}.loading-spinner{animation:spin 1s linear infinite}.loading-icon{width:80px;height:80px;color:#64bf4d}.loading-text{font-size:1.25rem;font-weight:500}@keyframes spin{to{transform:rotate(360deg)}}.card-container{display:flex;justify-content:center;align-items:flex-start;min-height:100vh;padding-top:20px;background-color:#fff}.card{width:100%;max-width:400px;padding:24px;border-radius:4px;background-color:#322b241a;display:flex;flex-direction:column;gap:16px;box-sizing:border-box;margin:0 auto}.card form{display:flex;flex-direction:column;gap:12px;width:100%}.modal-notification-text{white-space:pre-line;word-break:break-word;font-size:14px;color:#333;margin-bottom:20px}.modal-notification-date{font-size:12px;color:#666;margin-bottom:10px}.modal-overlay{position:fixed;inset:0;background:#0006;display:grid;place-items:center;z-index:1000;padding:20px;box-sizing:border-box}.modal-content{position:fixed;width:90%;max-width:420px;background:#fff;color:#111;border-radius:12px;padding:40px 20px;box-shadow:0 10px 30px #00000040;box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word}.modal-close{position:absolute;top:12px;right:14px;width:24px;height:24px;border:none;border-radius:50%;background-color:#004539;color:#fff;font-size:18px;font-weight:700;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;transition:background-color .2s,transform .2s}.modal-close:hover{background-color:#64bf4d;transform:scale(1.1)}.modal-title{margin-top:0;margin-bottom:16px;font-size:20px;word-break:break-word;overflow-wrap:break-word}.modal-item{padding:20px;width:100%;margin-bottom:20px;box-sizing:border-box}.modal-loading-center{display:flex;justify-content:center;align-items:center;height:200px}.btn{padding:10px 16px;border-radius:4px;font-weight:500;cursor:pointer;border:none;margin:15px 0;box-sizing:border-box;width:100%;text-align:center}.full-width-button{width:100%;max-width:300px!important;margin-top:30px}.btn-primary{background-color:#004539;color:#f8f8f8;border:1px solid #64BF4D;max-width:300px;margin-bottom:0;font-size:16px}.btn-primary:hover{background-color:#64bf4d}.btn-secondary{background-color:#322b24;color:#fff;border:1px solid #FFFFFFFF}.btn-secondary:hover{background-color:#000}.btn-tertiary{background-color:#64bf4d;color:#f8f8f8;border:1px solid #64BF4D;max-width:300px;margin-bottom:0;font-size:16px}.btn-tertiary:hover{background-color:#81bd72}.btn-small{max-width:100px!important}.text-link{cursor:pointer;color:#fff6;text-decoration:none}.text-link:hover{text-decoration:underline}.msg{margin-top:12px;font-size:14px;color:#333}.modal-btn-wrapper{display:flex;justify-content:center;align-items:center;gap:14px}.modal-btn-wrapper .btn{width:100px}.cleaning-button{display:inline-flex;align-items:center;gap:6px;font-size:16px;background:none;border:none;cursor:pointer;padding:4px 8px;color:#000;margin:10px auto 20px}.cleaning-button img{width:14px;height:14px;object-fit:contain}.btn-full{max-width:100%!important}.app-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background-color:#000}.header-left{cursor:pointer}.logo{height:20px;width:auto}.header-right{display:flex;align-items:center;gap:16px}.icon{height:22px;width:22px;cursor:pointer}.icon-key{width:26px;height:26px}.dropdown{position:relative;display:flex}.dropdown-menu{position:absolute;right:0;top:100%;margin-top:4px;background-color:#f8f8f8;border:1px solid #ccc;border-radius:6px;box-shadow:0 2px 6px #0000001a;display:flex;flex-direction:column;min-width:140px;z-index:10}.dropdown-menu button{padding:8px 12px;border:none;background:none;text-align:left;cursor:pointer}.dropdown-menu button:hover{background-color:#f0f0f0}.logout{color:red}.status-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0 0 20px;background-color:#000;max-width:100%;margin:0}.status-badge{display:flex;justify-content:center;align-items:center;padding:12px 30px;border-radius:4px;border:1px solid;box-sizing:border-box;font-size:16px;font-weight:500;text-align:center;max-width:400px;width:90%;margin:0 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-preEntry,.status-preTable,.status-postTable{background-color:#322b24;border-color:#64bf4d;color:#f8f8f8}.status-content{display:flex;align-items:center;justify-content:center}.status-icon{width:20px;height:auto;margin-right:15px}.status-bar-icon{width:300px;height:auto;margin-top:20px}.entry-button{border:none;padding:0;background:none;width:90%;max-width:400px;display:block}.entry-button img{width:100%;height:auto;border-radius:4px;display:block}.select-table-wrap{display:flex;justify-content:center;align-items:center;max-width:100%;margin:0}.primary-wrap{display:flex;justify-content:center;align-items:center;padding:15px 0;max-width:100%;margin:0}.square-button-wrap{display:flex;justify-content:center;gap:16px;margin:5px auto 10px;width:90%;max-width:400px}.square-button{flex:1 1 0;aspect-ratio:1 / 1;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#322b241a;border-radius:4px;border:1px solid rgba(50,43,36,.4);cursor:pointer;transition:opacity .2s ease}.square-button:hover{opacity:.8}.button-icon{width:48px;height:48px}.button-label{color:#000;font-size:14px;font-weight:700;display:inline-flex;align-items:center;margin-top:8px}.next-icon{width:12px;height:12px;margin-left:5px}.setting-button-wrap{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;padding:40px 20px;box-sizing:border-box;width:100%;background-color:#000}.setting-button{flex:1 1 calc(50% - 8px);max-width:400px;height:60px;display:flex;justify-content:flex-start;align-items:center;background-color:#000;border-radius:2px;border:1px solid rgba(248,248,248,.4);cursor:pointer;transition:opacity .2s ease;box-sizing:border-box;padding-left:15px}.setting-button:hover{opacity:.8}.setting-button-icon{width:24px;height:24px;margin-right:10px}.setting-button-label{color:#f8f8f8;font-size:12px;text-align:center}.page-container{display:flex;flex-direction:column;min-height:100vh}.content-wrap{flex:1}.footer-wrap{display:flex;justify-content:flex-start;align-items:center;padding:10px 10px 60px;background-color:#322b24;max-width:100%;margin:0}.footer-icon{height:133px;width:auto}.line-contact-button{position:fixed;bottom:50px;right:0;background-color:#64bf4d;color:#000;padding:20px 16px;border-radius:4px 0 0 4px;display:flex;align-items:center;gap:4px;font-weight:700;font-size:14px;cursor:pointer;box-shadow:0 4px 12px #0003;z-index:1000;transition:transform .2s ease}.line-contact-button:hover{transform:scale(1.05)}.line-contact-icon{width:30px;height:30px;object-fit:contain;margin-left:10px}.line-contact-label{text-align:left;font-size:12px;margin-left:10px;margin-right:10px;white-space:pre-line}.notification-section{width:80%;max-width:500px;margin:0 auto 40px;box-sizing:border-box}.notification-title{font-size:24px;font-weight:100;font-family:Palatino Roman,serif;display:flex;align-items:baseline;gap:8px;padding:15px 20px 0;margin:10px auto}.notification-subtitle{font-size:12px;color:#000;font-weight:400;padding:0 10px}.notification-text{white-space:pre-wrap;word-wrap:break-word}.notification-list-wrapper{position:relative;max-height:240px;overflow:hidden;padding:5px 20px}.notification-list-wrapper.show-all{max-height:none}.notification-table{border-collapse:collapse;width:100%}.notification-table th{border:1px solid #ccc;padding:8px;text-align:left;background-color:#f5f5f5}.notification-table td{border:1px solid #004539;padding:12px;vertical-align:top}.notification-table td{border-left:2px solid #FFFFFF}.notification-cell div{margin-bottom:4px}.notification-cell div:last-child{margin-bottom:0}.notification-row{cursor:pointer}.notification-date{display:flex;align-items:center;gap:6px}.notification-icon{width:12px;height:12px;margin:0 5px}.check-font{color:#004539;border:1px solid #004539;border-radius:20px;padding:0 5px;display:inline-block;font-size:10px;font-weight:700}.fade-overlay{position:relative;height:60px;display:flex;justify-content:center;align-items:flex-end;margin-top:-40px;pointer-events:none}.notification-list-wrapper:not(.show-all) .fade-overlay:before{content:"";position:absolute;bottom:0;width:100%;height:100%;background:linear-gradient(#f8f8f880,#f8f8f8,#f8f8f8);pointer-events:none;z-index:0}.see-more-button{pointer-events:auto;z-index:1;background:none;color:#000;border:none;border-radius:4px;padding:4px 12px;cursor:pointer}.notification-list-wrapper.show-all .fade-overlay:before{display:none}.session-wrap{display:flex;flex-direction:column;align-items:center;width:100%;padding:0 30px;margin-top:10px;box-sizing:border-box}.session-title{font-size:20px;font-weight:700;margin:20px 0 10px;width:100%;padding-left:20px;box-sizing:border-box}.session-year{text-align:center!important;margin:0;font-weight:700;font-size:16px}.session-item{padding:20px;background-color:#322b241a;border-radius:4px;width:100%;margin-bottom:20px;box-sizing:border-box}.session-date{font-weight:700;margin-bottom:10px;font-size:18px;color:#004539}.session-row{display:flex;justify-content:space-between;margin:0}.paid{color:#000;border-radius:20px;font-size:10px;background-color:#fff;margin:10px;padding:5px 15px}.unpaid{color:red;border-radius:20px;font-size:10px;background-color:#fff;margin:10px;padding:5px 15px}.font-green{color:#004539;font-weight:700}.receipt-link{font-size:12px;text-decoration:underline;cursor:pointer;color:#322b24;margin:5px 0 0}.month-scroll{display:flex;overflow-x:auto;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none;padding:0}.month-scroll::-webkit-scrollbar{display:none}.month-item{display:inline-flex;justify-content:center;align-items:center;width:20%;height:30px;margin:0 0 20px;cursor:pointer;flex-shrink:0;font-weight:400;color:#000;border-bottom:1px solid #000000;transition:all .2s;font-size:16px}.month-item.selected{font-weight:700;color:#004539;border-bottom:1px solid #64BF4D}.real-session-title{font-size:22px;font-family:Palatino Roman,serif;color:#004539;letter-spacing:.05em;gap:8px;margin:10px auto}.real-session-wrap{width:100%;text-align:left;padding:8px 0}.real-total-place{color:#004539;font-size:30px;margin-left:10px}.terms-container{min-height:100vh;background-color:#f7f5f2;display:flex;justify-content:center;padding:40px 16px;box-sizing:border-box}.terms-wrap{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.terms-title{font-size:28px;font-weight:700;text-align:center;margin-bottom:24px;color:#322b24}.terms-intro{font-size:14px;color:#555;margin-bottom:24px;line-height:1.6}.terms-section{margin-bottom:24px}.terms-section-title{font-size:16px;font-weight:600;color:#322b24;margin-bottom:8px}.terms-section-content{font-size:14px;color:#555;line-height:1.6}.terms-section-content ol{padding-left:20px;list-style:decimal;margin:8px 0}.terms-section-content li{margin-bottom:6px}.terms-footer{margin-top:32px;font-size:12px;color:#888;text-align:right;line-height:1.4}.terms-scroll{width:100%;height:60vh;overflow-y:auto;padding:16px;background-color:#fff;box-sizing:border-box}.terms-list{counter-reset:section-counter;padding-left:20px;list-style:none}.terms-list li{counter-increment:section-counter;position:relative;margin-bottom:8px;padding-left:25px}.terms-list li:before{content:counter(section-counter) ".";position:absolute;left:0}.agree-label{display:flex;align-items:center;margin:30px 0 10px;font-size:14px;color:#fff;cursor:pointer}.agree-checkbox{width:16px;height:16px;margin-right:10px;accent-color:#64BF4D;cursor:pointer}.scan-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center}.scan-title-container{align-self:flex-start;display:flex;flex-direction:column;margin-bottom:20px;width:100%;padding-left:30px}.scan-title{font-family:Palatino Roman,serif;font-weight:100;font-size:32px;line-height:140%;letter-spacing:.05em;text-transform:capitalize;color:#a18c77;margin-bottom:10px;align-self:flex-start}.scan-subtitle{font-size:16px;color:#000;padding:0 10px}.full-width-hr-black{position:absolute;top:110px;left:0;width:100vw;border:none;border-top:1px solid #000;margin:20px 0}.scan-qr-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;text-align:center;gap:20px}.scan-back-button{display:inline-flex;align-items:center;font-size:14px;background:none;border:none;cursor:pointer;padding:4px 8px;color:#000;margin:30px auto}.payment-options{display:flex;flex-direction:column;gap:12px;margin-top:30px}.payment-option{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:16px}.payment-option input[type=radio]{width:18px;height:18px;accent-color:#64BF4D;cursor:pointer}.payment-next{margin-top:30px;text-align:center}.payment-page{min-height:100vh;display:grid;place-items:center;background:#322b24}.payment-card{width:80%;max-width:440px;background:#fff;border-radius:16px;box-shadow:0 10px 25px #00000040;padding:24px}.payment-title{font-size:22px;font-weight:800;margin:0 0 16px;color:#111827}.payment-label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:8px}.payment-field{border:1px solid #d1d5db;border-radius:10px;padding:10px 12px;background:#fff}.payment-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.payment-button{width:100%;margin-top:16px;padding:12px 16px;border-radius:10px;border:none;background:#10b981;color:#fff;font-weight:700;cursor:pointer;transition:opacity .2s}.payment-button.disabled{opacity:.6;pointer-events:none}.payment-msg-ok{margin-top:12px;color:#059669;font-size:13px}.payment-msg-ng{margin-top:12px;color:#dc2626;font-size:13px}@media screen and (max-width: 600px){.logo{height:16px}.icon{width:20px;height:20px}.icon-key{width:24px;height:24px}.header-right{gap:14px}.card{padding:16px}.btn{max-width:100%}.card-container{padding:16px}.card form>div{flex-direction:column!important;gap:12px}.square-button-wrap{width:90%;gap:12px}.square-button{flex:1}.button-icon{width:40px;height:40px}.button-label{font-size:14px}.status-badge{padding:8px 20px;font-size:12px}.notification-section{width:100%}.notification-badge,.notification-table td,.notification-table th{font-size:12px}.line-contact-button{padding:20px 12px;font-size:12px;display:flex!important}.line-contact-icon{width:20px;height:20px}}.btn-green-light{background-color:#64bf4d;color:#fff;border:1px solid #64BF4D;width:120px;height:44px;border-radius:6px;font-weight:700}.btn-green-dark{background-color:#004539;color:#fff;border:1px solid #64BF4D;width:120px;height:44px;border-radius:6px;font-weight:700}.btn-green-light:hover,.btn-green-dark:hover{opacity:1}.payment-current{background-color:#fff;border-radius:6px;padding:20px}.gender-field{display:flex;justify-content:flex-start;align-items:center;width:100%;padding:12px;transition:border-color .2s ease}.gender-field:hover{border-color:#64bf4d}.gender-option{display:flex;align-items:center;margin-right:10px;font-size:14px;color:#fff9;cursor:pointer}.gender-option input[type=radio]{appearance:none;width:16px;height:16px;border:2px solid #8b5a2b;border-radius:50%;position:relative;cursor:pointer;transition:background-color .2s ease}.gender-option input[type=radio]:checked{background-color:#8b5a2b}.gender-option input[type=radio]:focus{outline:2px solid #c9a574;outline-offset:2px}
