html,body,#root{margin:0;padding:0;min-height:100%}.wos{--charcoal: #1B1712;--charcoal-soft: #4A4038;--ivory: #FAF6EF;--ivory-dim: #E8E2D6;--card: #FFFFFF;--gold: #B8874A;--gold-soft: #E0CAAF;--gold-wash: #F4ECE2;--taupe: #6B645A;--taupe-on-dark: #A39C91;--gold-text: #82592A;--taupe-line: #C9C2B4;--success: #4B5D3A;--success-wash: #E2E5E0;--warning: #B8874A;--warning-wash: #F4ECE2;--danger: #A6432B;--danger-wash: #F1E1DD;font-family:IBM Plex Sans,sans-serif;color:var(--charcoal);background:var(--ivory);min-height:100vh}.wos .serif{font-family:Fraunces,serif}.wos .mono{font-family:IBM Plex Mono,monospace}.wos .monogram{width:34px;height:34px;border-radius:999px;border:1px solid var(--gold-soft);display:flex;align-items:center;justify-content:center;color:var(--gold-soft);font-family:Fraunces,serif;font-size:13px;letter-spacing:1px;flex-shrink:0}.wos .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.wos :focus-visible{outline:2px solid var(--gold-text);outline-offset:2px}@media(prefers-reduced-motion:reduce){.wos *,.wos *:before,.wos *:after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.wos .btn-gold{background:var(--charcoal);color:var(--gold-wash);border:1px solid var(--charcoal);padding:9px 16px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:7px;transition:all .15s ease}.wos .btn-gold:hover{background:#13100c}.wos .btn-gold:disabled,.wos .btn-outline:disabled{opacity:.55;cursor:default}.wos .btn-outline{background:transparent;color:var(--charcoal);border:1px solid var(--taupe-line);padding:8px 14px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px}.wos .btn-outline:hover{border-color:var(--gold);color:var(--gold-text)}.wos .btn-text{background:none;border:none;color:var(--gold-text);font-weight:600;font-size:13px;cursor:pointer;padding:4px}.wos .field{margin-bottom:14px}.wos .field label{font-size:11.5px;font-weight:600;color:var(--charcoal-soft);display:block;margin-bottom:5px}.wos .field input,.wos .field select,.wos .field textarea{width:100%;border:1px solid var(--taupe-line);background:var(--card);border-radius:9px;padding:9px 11px;font-size:13px;font-weight:500;color:var(--charcoal);box-sizing:border-box}.wos .field input:focus,.wos .field select:focus,.wos .field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #b8874a47}.wos .field .req{color:var(--danger);font-weight:700}.wos .field-error{color:var(--danger);font-size:12px;font-weight:600;margin-top:5px;line-height:1.4}.wos .field [aria-invalid=true]{border-color:var(--danger)}.wos .field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wos .login-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(900px circle at 82% -20%,rgba(184,135,74,.18),transparent 55%),linear-gradient(150deg,#1b1712,#282520);padding:24px}.wos .login-card{background:linear-gradient(145deg,#fdfaf3,#f2ebdc);border-radius:28px;padding:38px 34px;width:380px;max-width:100%;box-sizing:border-box;border:none;box-shadow:18px 18px 36px #0000006b,-5px -5px 14px #ffffff0d,inset 1px 1px 2px #ffffffa6,inset -2px -2px 6px #1b171212}.wos .login-logo{display:block;width:300px;max-width:100%;height:auto;margin:0 auto 22px}.wos .login-error{background:var(--danger-wash);color:var(--danger);font-size:12.5px;padding:9px 12px;border-radius:9px;margin-bottom:14px}.wos .login-hint{margin-top:18px;padding:12px 14px;background:var(--ivory-dim);border-radius:10px;font-size:11.5px;color:var(--taupe);line-height:1.6}.wos .login-hint a,.wos .login-link{color:var(--gold-text);font-weight:600;text-decoration:underline;text-underline-offset:2px}.wos .login-link{font-size:12.5px}.wos .legal-links{font-size:12px}.wos .legal-links a{color:inherit;text-decoration:underline;text-underline-offset:2px}.wos .loading-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(900px circle at 82% -20%,rgba(184,135,74,.18),transparent 55%),linear-gradient(150deg,#1b1712,#282520)}.wos .loading-heart{position:relative;display:inline-flex;align-items:center;justify-content:center}.wos .loading-heart-path{fill:none;stroke:var(--gold);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:640;stroke-dashoffset:640;animation:loadingHeartDraw 1.6s ease-in-out forwards}.wos .loading-heart-pct{position:absolute;top:54%;left:50%;transform:translate(-50%,-50%);font-family:IBM Plex Mono,monospace;font-size:22px;font-weight:700;color:var(--gold-text);letter-spacing:.3px;opacity:0;animation:loadingHeartFadeIn .4s ease-out .15s forwards}@keyframes loadingHeartDraw{0%{stroke-dashoffset:640;opacity:0}15%{opacity:1}to{stroke-dashoffset:0;opacity:1}}@keyframes loadingHeartFadeIn{to{opacity:1}}.wos .powered-by{display:flex;align-items:center;gap:18px;background:var(--charcoal);border:1px solid rgba(184,135,74,.28);border-radius:14px;padding:16px 20px}.wos .powered-by-logo{display:block;height:22px;width:auto;max-width:100%;margin:8px auto 7px}.wos .powered-by-eyebrow{font-size:9.5px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-soft);margin-bottom:4px}.wos .powered-by-tag{font-size:11px;color:var(--taupe-on-dark);margin-top:2px;line-height:1.4}.wos .powered-by-text{flex:1;min-width:0;text-align:center}.wos .login-wrap .powered-by{gap:16px;padding:20px 24px;border-radius:28px;background:linear-gradient(145deg,#2c2822,#211d18);border:none;box-shadow:9px 9px 20px #00000080,-7px -7px 16px #ffffff0b,inset 1px 1px 2px #ffffff0f,inset -2px -2px 5px #0006}.wos .login-wrap .powered-by-logo{height:30px;margin:11px auto 9px}.wos .login-wrap .powered-by-eyebrow{font-size:11px;letter-spacing:3.5px}.wos .login-wrap .powered-by-tag{font-size:13px;margin-top:3px}@media(max-width:420px){.wos .login-wrap .powered-by{padding:16px;gap:12px}.wos .login-wrap .powered-by-logo{height:24px;margin:9px auto 7px}.wos .login-wrap .powered-by-tag{font-size:11.5px}}@media(max-width:780px){.wos .field-row{grid-template-columns:1fr}.wos .btn-gold,.wos .btn-outline{min-height:44px}.wos .btn-text{min-height:40px;padding:8px}.wos input:not([type=checkbox]):not([type=radio]),.wos select,.wos textarea{font-size:16px}}@media print{body *{visibility:hidden}}
