.field_with_errors label{color:red !important}#errorExplanation{border:2px solid rgba(1,0,0,0.2);padding:7px;padding-bottom:0;margin-bottom:20px;background-color:#f0f0f0}#errorExplanation h2{text-align:left;font-weight:bold;padding:5px 5px 5px 15px;margin:-7px;margin-bottom:0px;background-color:#c00;color:#fff}#errorExplanation ul{list-style-type:none}.error,.notice{color:black;display:block;height:auto;margin:0 0 10px 0;padding:10px 8px 10px 30px;font-weight:bold}.error a,.notice a{font-weight:bold;color:#CFC;text-decoration:underline}.error{background:#de0000}.notice{background:#a9d24c}.notice a,.notice a:visited{color:#235537}.hidden{display:none}.clear{clear:both}html button{text-shadow:none}.flash,.error,.notice{display:block;max-width:860px;margin:20px auto 0;padding:12px 16px;border-radius:8px;font-size:14px}.error{background:#fdecea;color:#b3261e;border:1px solid #f5c6c2}.notice{background:#eaf4dc;color:#3f6b1e;border:1px solid #d3e8b8}#error_explanation{background:#fdecea;color:#b3261e;border:1px solid #f5c6c2;border-radius:8px;padding:12px 16px;margin:0 0 16px}#error_explanation h2{font-size:13px;font-weight:700;margin:0 0 6px;text-transform:none}#error_explanation ul{margin:0;padding:0 0 0 18px}#error_explanation li{font-size:13px}.signin{display:flex;width:860px;max-width:100%;margin:30px auto 40px;border-radius:16px;overflow:hidden;border:1px solid #e4e7eb;box-shadow:0 1px 3px rgba(0,0,0,0.05);font-family:'PT Sans', Arial, sans-serif}.signin__brand{flex:0 0 320px;position:relative;overflow:hidden;background:linear-gradient(165deg, #f1f9e6 0%, #e5f2d2 55%, #d9ecb9 100%);display:flex;flex-direction:column;justify-content:center;padding:40px}.signin__decor{position:absolute;right:-180px;top:-140px;width:460px;height:460px;opacity:0.6}.signin__decor svg{width:100%;height:100%}.signin__glow{position:absolute;left:-120px;bottom:-140px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle, rgba(111,168,47,0.24) 0%,rgba(111,168,47,0) 70%)}.signin__headline{position:relative}.signin__headline h1{font-size:32px;line-height:1.18;font-weight:800;color:#1f2328;margin:0 0 14px}.signin__headline p{font-size:15px;line-height:1.55;color:#55654a;margin:0;font-weight:400}.signin__panel{flex:1;display:flex;align-items:center;justify-content:center;background:#fff;padding:40px}.signin__card{width:100%;max-width:360px}.signin__card h2{font-size:24px;font-weight:800;color:#1f2328;text-align:left;text-transform:none;margin:0 0 8px}.signin__subtitle{font-size:14px;color:#6b7280;margin:0 0 24px}@media (max-width: 700px){.signin{flex-direction:column}.signin__brand{padding:32px}}.signin-single{width:420px;max-width:100%;margin:30px auto 40px;font-family:'PT Sans', Arial, sans-serif}.signin-single .signin__card{max-width:none;background:#fff;border:1px solid #e4e7eb;border-radius:16px;padding:32px;box-shadow:0 1px 3px rgba(0,0,0,0.05)}.signin__divider{display:flex;align-items:center;gap:12px;margin:4px 0 16px}.signin__divider::before,.signin__divider::after{content:'';flex:1;height:1px;background:#e4e7eb}.signin__divider span{font-size:12px;color:#9aa1aa;font-weight:600;text-transform:uppercase;letter-spacing:0.04em}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:13px;font-weight:600;color:#374151;width:auto;padding:0;white-space:normal}.field-row{display:flex;gap:10px}.field-row .field{flex:1;margin-bottom:16px}.field__control{position:relative;display:flex;align-items:center}.field__icon{position:absolute;left:14px;pointer-events:none;z-index:1}.input,.input-select{width:100%;height:44px;padding:0 14px;border:1.5px solid #e4e7eb;border-radius:10px;font-size:14px;font-style:normal;color:#1f2328;background:#fbfbfc;line-height:normal}.input:focus,.input-select:focus{outline:none;border-color:#a9d24c;box-shadow:0 0 0 3px rgba(169,210,76,0.28)}.field__control>.input{padding-left:40px}.input--icon-right{padding-right:44px}.input--code{height:52px;font-size:20px;font-weight:700;letter-spacing:0.14em;text-align:center;text-transform:uppercase}.input-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}.password-toggle{position:absolute;right:10px;width:26px;height:26px;border:none;background:transparent;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1}.btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;height:46px;border:none;border-radius:10px;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;box-sizing:border-box;margin-bottom:12px}.btn--primary,input[type="submit"].btn--primary{background:#5d9b00;color:#fff;font-size:15px;box-shadow:0 1px 2px rgba(0,0,0,0.08)}.btn--primary:hover,input[type="submit"].btn--primary:hover{background:#4b7c00}.btn--google{border:1.5px solid #e4e7eb;background:#fff;color:#374151}.btn--google:hover{background:#f9fafb}.btn--access-code{border:1.5px dashed #c9d3b8;background:#f6faf0;color:#4a7a20;margin-bottom:0}.btn--access-code:hover{background:#eef7e0}.btn.full,input[type="submit"].full{margin-bottom:0}.link-button{border:none;background:transparent;padding:0;font:inherit;font-weight:600;color:#5d9b00;cursor:pointer;text-decoration:underline}.devise_links.devise_links{list-style:none;width:auto;margin:6px 0 20px;padding:0;border-top:none;text-align:right}.devise_links.devise_links li{display:inline;float:none;margin:0}.devise_links.devise_links a{font-size:13px;font-weight:600;color:#5d9b00;text-decoration:none}.devise_links.devise_links a:hover{text-decoration:underline}.devise_links.devise_links .devise_links__back{display:inline-flex;align-items:center;gap:6px}.access-modal{display:none;position:fixed;inset:0;align-items:center;justify-content:center;z-index:1000}.access-modal.is-open{display:flex}.access-modal__overlay{position:absolute;inset:0;background:rgba(17,19,20,0.55)}.access-modal__card{position:relative;width:420px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);overflow-y:auto;background:#fff;border-radius:16px;padding:32px;box-shadow:0 20px 60px rgba(0,0,0,0.35)}.access-modal__close{position:absolute;top:18px;right:18px;width:30px;height:30px;border:none;background:#f3f4f6;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer}.access-modal__close svg{width:14px;height:14px}svg{flex-shrink:0}.access-modal__icon{width:52px;height:52px;border-radius:14px;background:#eaf4dc;display:flex;align-items:center;justify-content:center;margin:4px auto 16px}.access-modal__badge{text-align:center;margin-bottom:22px}.access-modal__badge span{font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#5c9328;background:#eaf4dc;padding:4px 10px;border-radius:999px}.access-modal__title{font-size:19px;font-weight:800;color:#1f2328;text-align:center;text-transform:none;margin:0 0 8px}.access-modal__subtitle{font-size:14px;color:#6b7280;line-height:1.5;text-align:center;margin:0 0 20px}.access-modal__section{margin-bottom:4px}.access-modal__accepted{display:flex;align-items:center;gap:10px;background:#f6faf0;border:1px solid #e1edd1;border-radius:10px;padding:12px 14px;margin-bottom:20px}.access-modal__accepted-label{font-size:12px;color:#5c9328;font-weight:700;letter-spacing:0.02em;text-transform:uppercase}.access-modal__accepted-name{font-size:14px;color:#1f2328;font-weight:700}.access-modal__hint{text-align:center;font-size:13px;color:#9aa1aa;margin:0}
