*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-black:#1a1a1a;--color-gray-dark:#4a4a4a;--color-gray:#888;--color-gray-light:#c8c8c8;--color-gray-lighter:#e5e5e5;--color-white:#fff;--color-cream:#f5ede4;--color-pink-cream:#f0e0d6;--font-serif:"Libre Baskerville","Georgia",serif;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}html,body{height:100%;font-family:var(--font-sans);color:var(--color-black);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}.split-layout{width:100%;height:100vh;display:flex;overflow:hidden}.split-left{background:linear-gradient(#fff 0%,#f7ede3 50%,#f0ddd0 100%);flex-direction:column;flex:0 0 55%;max-width:55%;padding:3vh 4vw;display:flex;position:relative;overflow:hidden}.split-right{background:linear-gradient(#fff 0%,#f7ede3 50%,#f0ddd0 100%);flex:0 0 45%;align-items:stretch;max-width:45%;padding:16px 16px 16px 0;display:flex}.split-right img{object-fit:cover;border-radius:24px;width:100%;height:100%}.logo{flex-shrink:0;align-items:center;gap:8px;margin-bottom:4vh;display:flex}.logo img{width:auto;height:clamp(20px,2.5vh,28px)}.content{flex-direction:column;flex:1;max-width:420px;min-height:0;display:flex}.content>.btn{align-self:flex-start;width:fit-content}.heading{font-family:var(--font-serif);color:var(--color-black);letter-spacing:-.5px;margin-bottom:2vh;font-size:clamp(32px,4.5vw,48px);font-weight:400;line-height:1.15}.subtext{font-family:var(--font-sans);color:var(--color-gray-dark);max-width:380px;margin-bottom:2.5vh;font-size:clamp(13px,1.2vw,15px);font-weight:400;line-height:1.6}.btn{font-family:var(--font-sans);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:fit-content;padding:10px 24px;font-size:14px;font-weight:500;text-decoration:none;transition:opacity .15s;display:inline-flex}.btn:hover{opacity:.85}.btn-black{background-color:var(--color-black);color:var(--color-white)}.btn-gray{color:var(--color-white);background-color:#555}.btn-disabled{opacity:.4;pointer-events:none}.note{color:var(--color-gray-dark);flex-shrink:0;max-width:360px;margin-top:auto;padding-bottom:2vh;font-size:clamp(11px,1vw,13px);line-height:1.5}.note strong{color:var(--color-black);font-weight:700}.field-header{flex-shrink:0;justify-content:space-between;align-items:baseline;max-width:420px;margin-bottom:1.2vh;display:flex}.field-label{font-family:var(--font-sans);color:var(--color-black);font-size:14px;font-weight:600}.field-required{font-family:var(--font-sans);color:var(--color-gray);font-size:13px;font-weight:400}.input-text{border:1px solid var(--color-gray-lighter);width:100%;max-width:420px;font-family:var(--font-sans);color:var(--color-black);background:var(--color-white);border-radius:12px;outline:none;padding:12px 18px;font-size:14px;transition:border-color .15s}.input-text::placeholder{color:var(--color-gray-light)}.input-text:focus,.input-text.has-value{border-color:var(--color-black)}.textarea{border:1px solid var(--color-gray-lighter);width:100%;max-width:420px;font-family:var(--font-sans);color:var(--color-black);background:var(--color-white);resize:none;border-radius:12px;outline:none;flex:1;min-height:100px;max-height:25vh;padding:12px 18px;font-size:14px;transition:border-color .15s}.textarea::placeholder{color:var(--color-gray-light)}.textarea:focus{border-color:var(--color-black)}.radio-group{flex-direction:column;gap:clamp(4px,.8vh,8px);max-width:420px;display:flex}.radio-card{border:1px solid var(--color-gray-lighter);cursor:pointer;background:var(--color-white);border-radius:12px;align-items:center;gap:12px;padding:clamp(10px,1.4vh,14px) 16px;transition:border-color .15s;display:flex}.radio-card:hover,.radio-card.selected{border-color:var(--color-gray-light)}.radio-card input[type=radio]{display:none}.radio-icon{border:1.5px solid var(--color-gray-light);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:all .15s;display:flex}.radio-card.selected .radio-icon{background-color:var(--color-black);border-color:var(--color-black)}.radio-icon-inner{background:0 0;border-radius:2px;width:10px;height:10px;transition:background .15s}.radio-card.selected .radio-icon-inner{background:var(--color-white)}.radio-label{font-family:var(--font-sans);color:var(--color-black);font-size:clamp(12px,1.1vw,14px);font-weight:400}.radio-card.selected .radio-label{font-weight:500}.progress-bars{flex-shrink:0;justify-content:center;align-items:center;gap:6px;margin-top:auto;padding:2vh 0;display:flex}.progress-bar{background-color:var(--color-gray-lighter);border-radius:2px;height:3px;transition:all .3s}.progress-bar.inactive{background-color:var(--color-gray-lighter);width:40px}.progress-bar.active{background-color:var(--color-black);width:60px}.progress-bar.completed{background-color:var(--color-gray-light);width:40px}.progress-bar.clickable{cursor:pointer}.progress-bar.clickable:hover{background-color:var(--color-gray);transform:scaleY(1.5)}.screen-content{flex-direction:column;flex:1;min-height:0;display:flex}.screen-content.screen-visible{opacity:1;transition:opacity .28s,transform .28s;transform:translate(0)}.screen-content.screen-exit-left{opacity:0;transition:opacity .22s,transform .22s;transform:translate(-30px)}.screen-content.screen-exit-right{opacity:0;transition:opacity .22s,transform .22s;transform:translate(30px)}.screen-content.screen-enter-from-right{opacity:0;transition:none;transform:translate(30px)}.screen-content.screen-enter-from-left{opacity:0;transition:none;transform:translate(-30px)}.right-image{animation:.5s fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.form-step{flex-direction:column;flex:1;min-height:0;display:flex}.form-step .btn{align-self:flex-start;margin-top:2vh}.error-container{flex-direction:column;flex:1;justify-content:center;max-width:420px;display:flex}.error-heading{font-family:var(--font-serif);color:var(--color-black);margin-bottom:16px;font-size:clamp(28px,3.5vw,40px);font-weight:400;line-height:1.15}.error-text{font-family:var(--font-sans);color:var(--color-gray-dark);font-size:15px;line-height:1.6}.admin-container{max-width:1100px;font-family:var(--font-sans);margin:0 auto;padding:40px 20px}.admin-container h1{font-family:var(--font-serif);margin-bottom:0;font-size:32px;font-weight:400}.admin-section{margin-bottom:40px}.admin-section h2{margin-bottom:16px;font-size:18px;font-weight:600}.admin-form{align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.admin-form label{flex-direction:column;flex:1;gap:6px;font-size:14px;font-weight:500;display:flex}.admin-form input{border:1px solid var(--color-gray-lighter);border-radius:8px;outline:none;padding:10px 14px;font-size:14px}.admin-form input:focus{border-color:var(--color-black)}.admin-form button{background:var(--color-black);color:var(--color-white);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:10px 20px;font-size:14px}.admin-form button:hover{opacity:.85}.generated-link{word-break:break-all;background:#f0f7f0;border:1px solid #c0d8c0;border-radius:8px;align-items:center;gap:12px;margin-top:12px;padding:12px 16px;font-size:13px;display:flex}.generated-link button{background:var(--color-black);color:var(--color-white);cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:6px 14px;font-size:12px}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th{text-align:left;border-bottom:2px solid var(--color-gray-lighter);color:var(--color-gray-dark);padding:10px 12px;font-size:13px;font-weight:600}.admin-table td{border-bottom:1px solid var(--color-gray-lighter);padding:10px 12px}.status-used{color:var(--color-gray)}.status-available{color:#2d7a2d;font-weight:500}.admin-login{text-align:center;max-width:400px;margin:120px auto;padding:40px}.admin-login h1{font-family:var(--font-serif);margin-bottom:24px;font-size:28px;font-weight:400}.admin-login form{flex-direction:column;gap:16px;display:flex}.admin-login input{border:1px solid var(--color-gray-lighter);text-align:center;border-radius:8px;outline:none;padding:12px 16px;font-size:14px}.admin-login input:focus{border-color:var(--color-black)}.admin-login button{background:var(--color-black);color:var(--color-white);cursor:pointer;border:none;border-radius:8px;padding:12px;font-size:14px}.admin-login .error-message{color:#c00;font-size:13px}.admin-header{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.admin-header-actions{align-items:center;gap:8px;display:flex}.admin-stats{border-bottom:1px solid var(--color-gray-lighter);gap:40px;margin-bottom:40px;padding:24px 0;display:flex}.admin-stat{flex-direction:column;gap:4px;display:flex}.admin-stat-value{font-family:var(--font-serif);color:var(--color-black);font-size:28px;font-weight:400;line-height:1}.admin-stat-label{color:var(--color-gray);font-size:12px}.btn-outline{border:1px solid var(--color-gray-lighter);cursor:pointer;color:var(--color-black);font-size:13px;font-family:var(--font-sans);background:0 0;border-radius:999px;padding:8px 16px;transition:border-color .15s}.btn-outline:hover{border-color:var(--color-gray)}.admin-row-unused td{color:var(--color-gray)}.admin-email-sub{color:var(--color-gray);margin-top:2px;font-size:12px}.admin-badge{background:var(--color-gray-lighter);color:var(--color-gray-dark);vertical-align:middle;border-radius:999px;justify-content:center;align-items:center;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-flex}.status-pending{color:var(--color-gray);font-style:italic}.admin-table .cell-truncate{white-space:nowrap;text-overflow:ellipsis;max-width:160px;overflow:hidden}.admin-pending-table{width:auto}.admin-empty{color:var(--color-gray);padding:24px 0;font-size:14px}.admin-message{color:var(--color-gray-dark);margin-top:12px;font-size:13px}.loading{height:100vh;font-family:var(--font-sans);color:var(--color-gray);justify-content:center;align-items:center;font-size:14px;display:flex}.root-page{text-align:center;height:100vh;font-family:var(--font-sans);flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex}.root-page .logo{margin-bottom:40px}.root-page h1{font-family:var(--font-serif);margin-bottom:16px;font-size:36px;font-weight:400}.root-page p{color:var(--color-gray-dark);font-size:15px;line-height:1.6}@media (max-height:700px){.split-left{padding:2vh 3vw}.logo{margin-bottom:2vh}.heading{margin-bottom:1.5vh;font-size:clamp(28px,4vw,40px)}.subtext{margin-bottom:1.5vh}.radio-card{padding:8px 14px}.textarea{min-height:80px}}@media (max-width:900px){.split-layout{flex-direction:column;height:auto;min-height:100dvh}html,body{overflow:auto}.split-left{flex:none;max-width:100%;min-height:100dvh;padding:32px}.split-right{display:none}.content{max-width:500px}.heading{font-size:36px}.subtext{max-width:440px;font-size:15px}.field-header,.input-text,.textarea,.radio-group{max-width:500px}.note{max-width:440px}.radio-label{font-size:14px}}@media (max-width:600px){.split-left{min-height:100dvh;padding:24px 20px}.logo{margin-bottom:24px}.logo img{height:24px}.heading{margin-bottom:12px;font-size:32px}.subtext{max-width:100%;margin-bottom:20px;font-size:14px}.content{max-width:100%}.btn{-webkit-tap-highlight-color:transparent;padding:12px 28px;font-size:15px}.note{max-width:100%;padding-bottom:16px;font-size:12px}.field-header{max-width:100%;margin-bottom:10px}.field-label{font-size:14px}.field-required{font-size:12px}.input-text{border-radius:10px;max-width:100%;padding:14px 16px;font-size:16px}.textarea{border-radius:10px;max-width:100%;min-height:120px;max-height:35vh;padding:14px 16px;font-size:16px}.radio-group{gap:8px;max-width:100%}.radio-card{-webkit-tap-highlight-color:transparent;border-radius:10px;padding:14px}.radio-icon{width:22px;height:22px}.radio-icon-inner{width:12px;height:12px}.radio-label{font-size:14px;line-height:1.4}.progress-bars{gap:8px;padding:16px 0 20px}.progress-bar{height:4px}.progress-bar.clickable{background-clip:content-box;margin:-8px 0;padding:8px 0}.form-step .btn{margin-top:16px}.error-heading{font-size:28px}.error-text{font-size:14px}.admin-container{padding:24px 16px}.admin-container h1{font-size:24px}.admin-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:24px}.admin-stats{flex-wrap:wrap;gap:20px}.admin-stat{min-width:calc(50% - 20px)}.admin-stat-value{font-size:24px}.admin-form{flex-direction:column;gap:12px}.admin-form button{width:100%;padding:12px}.generated-link{flex-direction:column;gap:8px}.generated-link button{width:100%;padding:10px}.admin-table-wrap{margin:0 -16px;padding:0 16px;overflow-x:auto}.admin-table{min-width:700px;font-size:13px}.admin-table th,.admin-table td{padding:8px}.admin-login{margin:60px auto;padding:24px}.admin-login h1{font-size:24px}}
