body{display:flex;flex-direction:column}.header{background:var(--white);border-bottom:1px solid var(--gray-200);padding:0 32px;height:64px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.logo>img{height:50px;display:flex;align-items:center;justify-content:center}.logo svg{width:20px;height:20px}.brand{font-size:18px;font-weight:600;letter-spacing:-.3px;color:var(--gray-900)}.brand span{color:var(--red)}.main{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:48px 24px 80px}.footer{text-align:center;padding:24px;font-size:12px;color:var(--gray-400)}.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-md);width:100%;max-width:620px;overflow:hidden}.card-header{background:var(--red);padding:28px 32px 24px;position:relative;overflow:hidden}.card-header:after{content:"";position:absolute;right:-40px;bottom:-40px;width:160px;height:160px;border-radius:50%;background:#ffffff12}.card-title{font-size:22px;font-weight:600;color:var(--white);letter-spacing:-.4px;position:relative;z-index:1}.card-subtitle{font-size:14px;color:#fffc;margin-top:4px;position:relative;z-index:1}.card-body{padding:32px}.field{margin-bottom:20px}.field label{display:block;font-size:13px;font-weight:500;color:var(--gray-700);margin-bottom:6px;letter-spacing:.2px}.required-dot{display:inline-block;width:5px;height:5px;background:var(--red);border-radius:50%;margin-left:4px;vertical-align:middle;transform:translateY(-1px)}input[type=text],input[type=email],textarea{width:100%;font-family:var(--font);font-size:14px;color:var(--gray-900);background:var(--white);border:1.5px solid var(--gray-300);border-radius:var(--radius-sm);padding:10px 14px;outline:none;transition:border-color var(--tr),box-shadow var(--tr);resize:vertical}input:focus,textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px #d32f2f1f}input::placeholder,textarea::placeholder{color:var(--gray-400)}textarea{min-height:96px;line-height:1.5}.field-error{font-size:12px;color:var(--red);margin-top:5px;display:none}.field.has-error input,.field.has-error textarea{border-color:var(--red-mid)}.field.has-error .field-error{display:block}.divider{border:none;border-top:1px solid var(--gray-200);margin:24px 0}.turnstile-field{display:flex;flex-direction:column;align-items:flex-start}.turnstile-widget{min-height:65px}.dropzone{border:2px dashed var(--gray-300);border-radius:var(--radius);padding:36px 24px;text-align:center;cursor:pointer;transition:border-color var(--tr),background var(--tr),transform var(--tr);margin-bottom:20px;background:var(--gray-50);-webkit-user-select:none;user-select:none}.dropzone:hover,.dropzone.drag-over{border-color:var(--red);background:var(--red-light);transform:scale(1.005)}.drop-icon{width:48px;height:48px;background:var(--gray-200);border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;transition:background var(--tr)}.dropzone:hover .drop-icon,.dropzone.drag-over .drop-icon{background:#d32f2f26}.drop-icon svg{width:24px;height:24px}.drop-title{font-size:15px;font-weight:500;color:var(--gray-700);margin-bottom:4px}.drop-sub{font-size:12px;color:var(--gray-500)}.drop-sub strong{color:var(--red);font-weight:500}.file-list{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.file-item{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:10px 12px;animation:slideIn .2s ease}.file-icon{width:32px;height:32px;background:var(--red-light);border-radius:6px;display:flex;align-items:center;justify-content:center}.file-icon svg{width:16px;height:16px}.file-info{min-width:0}.file-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:11px;color:var(--gray-500);font-family:var(--font-mono)}.file-progress-wrap{width:100%;margin-top:6px;height:3px;background:var(--gray-200);border-radius:2px}.file-progress-bar{height:3px;background:var(--red);border-radius:2px;transition:width .3s ease}.remove-btn{background:none;border:none;cursor:pointer;color:var(--gray-400);padding:4px;border-radius:4px;display:flex;align-items:center;transition:color var(--tr),background var(--tr)}.remove-btn:hover{color:var(--red);background:var(--red-light)}.remove-btn:disabled{opacity:.4;cursor:not-allowed}.remove-btn svg{width:16px;height:16px}.btn-submit{width:100%;background:var(--red);color:#fff;border:none;border-radius:var(--radius-sm);padding:13px 24px;font-family:var(--font);font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background var(--tr),transform var(--tr),box-shadow var(--tr);box-shadow:0 2px 8px #d32f2f4d}.btn-submit:hover:not(:disabled){background:var(--red-dark);box-shadow:0 4px 16px #d32f2f66;transform:translateY(-1px)}.btn-submit:active:not(:disabled){transform:translateY(0)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.banner{border-radius:var(--radius-sm);padding:14px 16px;font-size:14px;font-weight:500;margin-bottom:20px;display:flex;align-items:flex-start;gap:10px;animation:fadeIn .3s ease}.banner.error{background:var(--red-light);color:var(--red-dark);border:1px solid #FFCDD2}.banner svg{width:18px;height:18px;flex-shrink:0;margin-top:1px}.banner-title{font-weight:600;display:block}.banner-sub{font-weight:400;font-size:13px;opacity:.85;display:block;margin-top:2px}.success-view{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 32px;gap:16px}.success-icon{width:72px;height:72px;background:#e8f5e9;border-radius:50%;display:flex;align-items:center;justify-content:center}.success-icon svg{width:36px;height:36px}.success-title{font-size:22px;font-weight:600}.success-sub{font-size:14px;color:var(--gray-500);max-width:360px;line-height:1.6}.btn-new{margin-top:8px;background:none;border:1.5px solid var(--red);color:var(--red);border-radius:var(--radius-sm);padding:10px 24px;font-family:var(--font);font-size:14px;font-weight:600;cursor:pointer;transition:background var(--tr),color var(--tr)}.btn-new:hover{background:var(--red);color:#fff}@media (max-width: 500px){.header{padding:0 16px}.card-header,.card-body{padding:20px}.main{padding:20px 12px 60px}}.success-msg{background:#d1fae5;color:#065f46;border:1px solid #A7F3D0;border-radius:var(--radius-sm);padding:10px 14px;font-size:13px;margin:15px 0 0}:root{--white: #FFFFFF;--red: #D32F2F;--red-dark: #B71C1C;--red-light: #FFEBEE;--red-mid: #EF5350;--gray-50: #FAFAFA;--gray-100: #F5F5F5;--gray-200: #EEEEEE;--gray-300: #E0E0E0;--gray-400: #BDBDBD;--gray-500: #9E9E9E;--gray-700: #616161;--gray-900: #212121;--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 16px rgba(0,0,0,.1), 0 2px 6px rgba(0,0,0,.06);--shadow-lg: 0 12px 40px rgba(0,0,0,.13);--radius: 12px;--radius-sm: 8px;--font: "DM Sans", sans-serif;--font-mono: "DM Mono", monospace;--tr: .18s cubic-bezier(.4,0,.2,1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:var(--font);background:var(--gray-100);color:var(--gray-900);min-height:100vh}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
