@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700&family=Instrument+Serif:ital@0;1&family=Sora:wght@400;500;600;700;800&display=swap";.tickets-page{min-height:calc(100vh - 80px)}.tickets-container{max-width:100%;margin:0 auto;padding:0}.tickets-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:40px}.tickets-header-content h1{font-size:32px;font-weight:700;color:var(--gray-900);margin-bottom:8px}.tickets-header-content p{color:var(--gray-500);font-size:15px}.tickets-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}.stat-box{background:#fff;border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);transition:all var(--duration-normal) var(--ease-out-expo)}.stat-box:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-box-icon{width:44px;height:44px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.stat-box-icon.total{background:var(--gray-100);color:var(--gray-600)}.stat-box-icon.open{background:var(--success-light);color:var(--success)}.stat-box-icon.progress{background:#dbeafe;color:#2563eb}.stat-box-icon.resolved{background:#cffafe;color:#0891b2}.stat-box-value{font-size:28px;font-weight:700;color:var(--gray-900);line-height:1;margin-bottom:4px}.stat-box-label{font-size:13px;color:var(--gray-500);font-weight:500}.tickets-filters{display:flex;gap:8px;margin-bottom:24px;padding:4px;background:var(--gray-100);border-radius:var(--radius);width:fit-content}.filter-btn{padding:10px 20px;font-size:14px;font-weight:500;color:var(--gray-600);border-radius:var(--radius-sm);transition:all var(--duration-fast)}.filter-btn:hover{color:var(--gray-800)}.filter-btn.active{background:#fff;color:var(--gray-900);box-shadow:var(--shadow-sm)}.tickets-list{display:flex;flex-direction:column;gap:12px}.ticket-card{display:flex;align-items:center;gap:20px;padding:20px 24px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);transition:all var(--duration-normal) var(--ease-out-expo);text-decoration:none;color:inherit}.ticket-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary);transform:translateY(-2px)}.ticket-card-main{flex:1;min-width:0}.ticket-card-meta{display:flex;align-items:center;gap:10px;margin-bottom:8px}.ticket-number{font-family:DM Sans,monospace;font-size:12px;font-weight:600;color:var(--gray-400);background:var(--gray-100);padding:4px 10px;border-radius:6px}.ticket-status{font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.03em}.status-open{background:var(--success-light);color:var(--success)}.status-progress{background:#dbeafe;color:#2563eb}.status-waiting{background:var(--warning-light);color:var(--warning)}.status-staff{background:#ede9fe;color:#7c3aed}.status-resolved{background:#cffafe;color:#0891b2}.status-closed{background:var(--gray-100);color:var(--gray-500)}.ticket-priority{font-size:11px;font-weight:600;padding:4px 8px;border-radius:4px}.priority-low{color:var(--gray-500)}.priority-normal{color:var(--primary)}.priority-high{color:var(--warning)}.priority-urgent{background:var(--danger-light);color:var(--danger)}.ticket-card-title{font-size:16px;font-weight:600;color:var(--gray-900);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticket-card-subtitle{font-size:13px;color:var(--gray-500);display:flex;align-items:center;gap:8px}.ticket-card-subtitle svg{width:14px;height:14px}.ticket-card-side{display:flex;align-items:center;gap:16px;flex-shrink:0}.ticket-assignee{display:flex;align-items:center;gap:10px}.assignee-avatar{width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.assignee-name{font-size:13px;color:var(--gray-600);font-weight:500}.ticket-date{font-size:12px;color:var(--gray-400);text-align:right;min-width:100px}.ticket-arrow{color:var(--gray-300);transition:all var(--duration-fast)}.ticket-card:hover .ticket-arrow{color:var(--primary);transform:translate(4px)}.tickets-empty{text-align:center;padding:80px 40px;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--gray-100)}.tickets-empty-icon{width:80px;height:80px;background:var(--gray-100);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:var(--gray-400)}.tickets-empty h3{font-size:20px;font-weight:600;color:var(--gray-900);margin-bottom:8px}.tickets-empty p{color:var(--gray-500);margin-bottom:24px;max-width:300px;margin-left:auto;margin-right:auto}@media (max-width: 768px){.tickets-header{flex-direction:column;align-items:stretch}.tickets-stats{grid-template-columns:repeat(2,1fr)}.ticket-card{flex-direction:column;align-items:flex-start}.ticket-card-side{width:100%;justify-content:space-between;padding-top:16px;border-top:1px solid var(--gray-100);margin-top:16px}.assignee-name{display:none}}.new-ticket-page{min-height:calc(100vh - 80px);padding:40px 0}.new-ticket-container{max-width:720px;margin:0 auto;padding:0 24px}.new-ticket-header{display:flex;align-items:center;gap:16px;margin-bottom:32px}.back-button{width:44px;height:44px;border-radius:var(--radius);background:#fff;border:1px solid var(--gray-200);display:flex;align-items:center;justify-content:center;color:var(--gray-500);transition:all var(--duration-fast)}.back-button:hover{background:var(--gray-50);color:var(--gray-700);border-color:var(--gray-300)}.new-ticket-header-content h1{font-size:24px;font-weight:700;color:var(--gray-900);margin-bottom:4px}.new-ticket-header-content p{font-size:14px;color:var(--gray-500)}.new-ticket-form{display:flex;flex-direction:column;gap:24px}.form-section{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);padding:24px}.form-section-title{font-size:13px;font-weight:600;color:var(--gray-700);text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px}.form-section-title span{color:var(--danger)}.project-list{display:flex;flex-direction:column;gap:10px}.project-option{display:flex;align-items:center;gap:14px;padding:16px;background:var(--gray-50);border:2px solid transparent;border-radius:var(--radius);cursor:pointer;transition:all var(--duration-fast)}.project-option:hover{background:var(--cream-dark)}.project-option.selected{background:var(--primary-glow);border-color:var(--primary)}.project-option input{display:none}.project-radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--gray-300);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--duration-fast)}.project-option.selected .project-radio{border-color:var(--primary);background:var(--primary)}.project-radio-dot{width:8px;height:8px;border-radius:50%;background:#fff;opacity:0;transform:scale(0);transition:all var(--duration-fast)}.project-option.selected .project-radio-dot{opacity:1;transform:scale(1)}.project-info h4{font-size:15px;font-weight:600;color:var(--gray-800);margin-bottom:2px}.project-info span{font-size:12px;color:var(--gray-500)}.no-projects-warning{padding:16px;background:var(--warning-light);border-radius:var(--radius);color:var(--warning);font-size:14px}.no-projects-info{padding:16px;background:var(--primary-light, #e8f4fd);border-radius:var(--radius);color:var(--primary);font-size:14px}.form-row{display:flex;flex-direction:column;gap:8px}.form-row+.form-row{margin-top:20px}.form-row label{font-size:13px;font-weight:600;color:var(--gray-700)}.form-row label span{color:var(--danger)}.form-row input,.form-row textarea{padding:14px 16px;border:2px solid var(--gray-200);border-radius:var(--radius);font-size:15px;color:var(--gray-900);background:#fff;transition:all var(--duration-fast)}.form-row input:focus,.form-row textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-glow)}.form-row input::placeholder,.form-row textarea::placeholder{color:var(--gray-400)}.form-row textarea{resize:none;min-height:140px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.category-btn{padding:12px 16px;border:2px solid var(--gray-200);border-radius:var(--radius);font-size:13px;font-weight:500;color:var(--gray-600);background:#fff;transition:all var(--duration-fast);text-align:left}.category-btn:hover{border-color:var(--gray-300);background:var(--gray-50)}.category-btn.active{border-color:var(--primary);background:var(--primary-glow);color:var(--primary)}.priority-list{display:flex;flex-direction:column;gap:8px}.priority-btn{display:flex;align-items:center;gap:12px;padding:12px 16px;border:2px solid var(--gray-200);border-radius:var(--radius);font-size:14px;font-weight:500;color:var(--gray-700);background:#fff;transition:all var(--duration-fast)}.priority-btn:hover{border-color:var(--gray-300)}.priority-btn.active{border-color:var(--primary);background:var(--primary-glow)}.priority-dot{width:10px;height:10px;border-radius:50%}.priority-dot.low{background:var(--gray-400)}.priority-dot.normal{background:var(--primary)}.priority-dot.high{background:var(--warning)}.priority-dot.urgent{background:var(--danger)}.file-dropzone{border:2px dashed var(--gray-300);border-radius:var(--radius);padding:32px;text-align:center;cursor:pointer;transition:all var(--duration-fast)}.file-dropzone:hover,.file-dropzone.dragover{border-color:var(--primary);background:var(--primary-glow)}.file-dropzone-icon{width:48px;height:48px;background:var(--gray-100);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;color:var(--gray-400)}.file-dropzone h4{font-size:15px;font-weight:600;color:var(--gray-700);margin-bottom:4px}.file-dropzone p{font-size:13px;color:var(--gray-500)}.file-list{margin-top:16px;display:flex;flex-direction:column;gap:8px}.file-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--gray-50);border-radius:var(--radius)}.file-item-icon{width:40px;height:40px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--gray-400)}.file-item-info{flex:1;min-width:0}.file-item-info h5{font-size:14px;font-weight:500;color:var(--gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-item-info span{font-size:12px;color:var(--gray-500)}.file-item-remove{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--gray-400);transition:all var(--duration-fast)}.file-item-remove:hover{background:var(--danger-light);color:var(--danger)}.form-actions{display:flex;gap:16px;margin-top:8px}.form-actions .btn{flex:1;padding:16px 24px;font-size:15px}.form-error{padding:16px;background:var(--danger-light);border-radius:var(--radius);color:var(--danger);font-size:14px;display:flex;align-items:center;gap:10px}@media (max-width: 640px){.form-grid,.category-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}}.ticket-detail-page{min-height:calc(100vh - 80px)}.ticket-detail-container{max-width:100%;margin:0 auto;padding:0}.ticket-detail-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:32px}.ticket-detail-header-content{flex:1}.ticket-detail-badges{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}.ticket-detail-badges .ticket-number{font-family:DM Sans,monospace;font-size:12px;font-weight:600;color:var(--gray-500);background:var(--gray-100);padding:6px 12px;border-radius:6px}.ticket-detail-badges .ticket-status{font-size:11px;font-weight:600;padding:5px 12px;border-radius:20px;text-transform:uppercase;letter-spacing:.03em}.ticket-detail-badges .ticket-priority{font-size:11px;font-weight:600;padding:5px 10px;border-radius:6px}.ticket-detail-header-content h1{font-size:24px;font-weight:700;color:var(--gray-900);margin-bottom:8px}.ticket-detail-header-content .ticket-meta{font-size:14px;color:var(--gray-500)}.ticket-detail-layout{display:grid;grid-template-columns:1fr 320px;gap:32px}.ticket-messages-section{display:flex;flex-direction:column;gap:16px}.ticket-msg{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);padding:20px}.ticket-msg.customer{border-left:3px solid var(--primary)}.ticket-msg.staff{border-left:3px solid var(--accent);background:var(--gray-50)}.ticket-msg-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.ticket-msg-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;color:#fff;flex-shrink:0}.ticket-msg-avatar.customer{background:var(--primary)}.ticket-msg-avatar.staff{background:var(--accent)}.ticket-msg-info h4{font-size:14px;font-weight:600;color:var(--gray-800)}.ticket-msg-info span{font-size:12px;color:var(--gray-400)}.ticket-msg-content{font-size:15px;color:var(--gray-700);line-height:1.7;white-space:pre-wrap}.ticket-msg-attachments{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}.ticket-msg-attachments a{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius);font-size:13px;color:var(--gray-700);transition:all var(--duration-fast)}.ticket-msg-attachments a:hover{background:var(--primary-glow);border-color:var(--primary);color:var(--primary)}.ticket-rating-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);padding:24px;text-align:center}.ticket-rating-card h3{font-size:16px;font-weight:600;color:var(--gray-800);margin-bottom:8px}.ticket-rating-card>p{font-size:13px;color:var(--gray-500);margin-bottom:20px}.rating-stars{display:flex;justify-content:center;gap:8px;margin-bottom:16px}.rating-star{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);transition:all var(--duration-fast);color:var(--gray-300)}.rating-star:hover,.rating-star.active{color:#f59e0b;transform:scale(1.1)}.rating-comment{width:100%;padding:12px;border:2px solid var(--gray-200);border-radius:var(--radius);font-size:14px;resize:none;margin-bottom:16px}.rating-comment:focus{outline:none;border-color:var(--primary)}.ticket-reply-section{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);padding:20px}.ticket-reply-section h4{font-size:14px;font-weight:600;color:var(--gray-700);margin-bottom:12px}.ticket-reply-textarea{width:100%;padding:14px;border:2px solid var(--gray-200);border-radius:var(--radius);font-size:15px;resize:none;min-height:100px;margin-bottom:12px}.ticket-reply-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-glow)}.ticket-reply-actions{display:flex;justify-content:space-between;align-items:center}.ticket-closed-notice{background:var(--gray-50);border-radius:var(--radius-lg);padding:24px;text-align:center}.ticket-closed-notice svg{color:var(--gray-400);margin-bottom:12px}.ticket-closed-notice p{font-size:14px;color:var(--gray-500);margin-bottom:16px}.ticket-sidebar{display:flex;flex-direction:column;gap:20px}.ticket-info-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);padding:20px}.ticket-info-card h3{font-size:13px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px}.ticket-info-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--gray-100)}.ticket-info-row:last-child{border-bottom:none}.ticket-info-row dt{font-size:13px;color:var(--gray-500)}.ticket-info-row dd{font-size:13px;font-weight:500;color:var(--gray-800)}.ticket-assignee-card{display:flex;align-items:center;gap:12px;margin-top:16px;padding:14px;background:var(--gray-50);border-radius:var(--radius)}.ticket-assignee-avatar{width:44px;height:44px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.ticket-assignee-info h4{font-size:14px;font-weight:600;color:var(--gray-800)}.ticket-assignee-info span{font-size:12px;color:var(--gray-500)}.ticket-your-rating{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);padding:20px}.ticket-your-rating h3{font-size:13px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.ticket-your-rating .stars{display:flex;gap:4px;margin-bottom:8px}.ticket-your-rating .comment{font-size:14px;color:var(--gray-600);font-style:italic}.ticket-not-found{text-align:center;padding:80px 40px}.ticket-not-found svg{color:var(--gray-300);margin-bottom:16px}.ticket-not-found h2{font-size:20px;font-weight:600;color:var(--gray-800);margin-bottom:8px}.ticket-not-found p{color:var(--gray-500);margin-bottom:20px}@media (max-width: 900px){.ticket-detail-layout{grid-template-columns:1fr}.ticket-sidebar{order:-1}}:root{--ink: #0a0a0f;--ink-light: #12121a;--ink-muted: #1e1e2d;--primary: #0340af;--primary-light: #1a5cd6;--primary-dark: #022d7a;--primary-glow: rgba(3, 64, 175, .15);--accent: #06b6d4;--accent-light: #22d3ee;--cream: #fafbfc;--cream-dark: #f1f5f9;--sand: #e2e8f0;--gray-50: #fafaf9;--gray-100: #f5f5f4;--gray-200: #e7e5e4;--gray-300: #d6d3d1;--gray-400: #a8a29e;--gray-500: #78716c;--gray-600: #57534e;--gray-700: #44403c;--gray-800: #292524;--gray-900: #1c1917;--success: #059669;--success-light: #d1fae5;--warning: #d97706;--warning-light: #fef3c7;--danger: #dc2626;--danger-light: #fee2e2;--glass: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .3);--shadow-color: 220 3% 15%;--shadow-sm: 0 1px 2px hsl(var(--shadow-color) / .04);--shadow-md: 0 2px 4px hsl(var(--shadow-color) / .03), 0 6px 12px hsl(var(--shadow-color) / .06);--shadow-lg: 0 4px 8px hsl(var(--shadow-color) / .03), 0 12px 24px hsl(var(--shadow-color) / .08), 0 24px 48px hsl(var(--shadow-color) / .06);--shadow-xl: 0 8px 16px hsl(var(--shadow-color) / .04), 0 24px 48px hsl(var(--shadow-color) / .1), 0 48px 96px hsl(var(--shadow-color) / .08);--shadow-glow: 0 0 60px -12px var(--primary);--radius-sm: 8px;--radius: 12px;--radius-lg: 20px;--radius-xl: 28px;--radius-2xl: 36px;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .3s;--duration-slow: .5s}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;background:var(--cream);color:var(--gray-800);line-height:1.6;min-height:100vh;position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.025;pointer-events:none;z-index:9999}#root{min-height:100vh;position:relative}h1,h2,h3,h4,h5,h6{font-family:Sora,sans-serif;font-weight:700;letter-spacing:-.02em;line-height:1.2}.display-text{font-family:"Instrument Serif",serif;font-weight:400;font-style:italic}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;outline:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}img{max-width:100%;height:auto}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:100px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--gray-400);border:2px solid transparent;background-clip:padding-box}::selection{background:var(--primary);color:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;font-size:14px;font-weight:600;border-radius:var(--radius);transition:all var(--duration-normal) var(--ease-out-expo);position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.1) 0%,transparent 100%);opacity:0;transition:opacity var(--duration-fast)}.btn:hover:before{opacity:1}.btn-primary{background:var(--ink);color:#fff;box-shadow:0 2px 4px #0000001a,0 8px 16px #0000001a,inset 0 1px #ffffff1a}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001f,0 16px 32px #00000026,inset 0 1px #ffffff1a}.btn-primary:active{transform:translateY(0)}.btn-primary-gradient{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;box-shadow:0 2px 4px #2563eb33,0 8px 16px #2563eb33}.btn-primary-gradient:hover{background:linear-gradient(135deg,var(--primary-light),var(--primary));transform:translateY(-2px);box-shadow:0 4px 8px #2563eb40,0 16px 32px #2563eb40}.btn-secondary{background:#fff;color:var(--gray-800);border:1.5px solid var(--gray-200);box-shadow:var(--shadow-sm)}.btn-secondary:hover{border-color:var(--gray-300);background:var(--gray-50);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-ghost{background:transparent;color:var(--gray-600)}.btn-ghost:hover{background:var(--gray-100);color:var(--gray-800)}.btn-sm{padding:10px 18px;font-size:13px;border-radius:var(--radius-sm)}.btn-lg{padding:18px 36px;font-size:16px;border-radius:var(--radius-lg)}.form-group{margin-bottom:24px}.form-label{display:block;font-size:13px;font-weight:600;color:var(--gray-700);margin-bottom:10px;text-transform:uppercase;letter-spacing:.05em}.form-input{width:100%;padding:16px 20px;font-size:15px;border:2px solid var(--gray-200);border-radius:var(--radius);background:#fff;color:var(--gray-900);transition:all var(--duration-normal) var(--ease-out-expo)}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-glow);outline:none}.form-input::placeholder{color:var(--gray-400)}.card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;border:1px solid rgba(0,0,0,.04)}.card-glass{background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border)}.loading-spinner{width:44px;height:44px;border:3px solid var(--sand);border-top-color:var(--primary);border-radius:50%;animation:spinner .8s linear infinite}@keyframes spinner{to{transform:rotate(360deg)}}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:20px;color:var(--gray-500);font-weight:500}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 0 var(--primary-glow)}50%{box-shadow:0 0 0 20px transparent}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-fade-up{animation:fadeUp .6s var(--ease-out-expo) forwards;opacity:0}.animate-fade-in{animation:fadeIn .5s var(--ease-out-expo) forwards;opacity:0}.animate-slide-in{animation:slideIn .5s var(--ease-out-expo) forwards;opacity:0}.animate-scale-in{animation:scaleIn .4s var(--ease-out-back) forwards;opacity:0}.stagger-children>*{opacity:0;animation:fadeUp .5s var(--ease-out-expo) forwards}.stagger-children>*:nth-child(1){animation-delay:.05s}.stagger-children>*:nth-child(2){animation-delay:.1s}.stagger-children>*:nth-child(3){animation-delay:.15s}.stagger-children>*:nth-child(4){animation-delay:.2s}.stagger-children>*:nth-child(5){animation-delay:.25s}.stagger-children>*:nth-child(6){animation-delay:.3s}.stagger-children>*:nth-child(7){animation-delay:.35s}.stagger-children>*:nth-child(8){animation-delay:.4s}.container{max-width:1400px;margin:0 auto;padding:0 32px}.text-gradient{background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.bg-gradient-mesh{background:radial-gradient(at 40% 20%,rgba(37,99,235,.08) 0px,transparent 50%),radial-gradient(at 80% 0%,rgba(6,182,212,.05) 0px,transparent 50%),radial-gradient(at 0% 50%,rgba(37,99,235,.05) 0px,transparent 50%),radial-gradient(at 80% 80%,rgba(6,182,212,.08) 0px,transparent 50%),var(--cream)}.test-mode-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease}.test-mode-popup{background:#fff;border-radius:20px;padding:40px;text-align:center;max-width:400px;width:90%;box-shadow:0 25px 50px -12px #00000040;animation:popupSlide .4s cubic-bezier(.34,1.56,.64,1)}@keyframes popupSlide{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.test-popup-icon{width:72px;height:72px;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#fff;box-shadow:0 10px 30px #f59e0b4d}.test-mode-popup h3{font-family:Sora,sans-serif;font-size:24px;font-weight:700;color:#1e293b;margin-bottom:8px}.test-mode-popup p{font-size:15px;color:#64748b;margin-bottom:24px}.test-code-display{display:flex;justify-content:center;gap:8px;margin-bottom:28px}.test-digit{width:48px;height:56px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:DM Sans,monospace;font-size:28px;font-weight:700;color:#1e293b}.test-popup-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 24px;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:12px;color:#fff;font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;margin-bottom:12px}.test-popup-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #f59e0b59}.test-popup-close{width:100%;padding:12px 24px;background:transparent;border:1px solid #e2e8f0;border-radius:10px;color:#64748b;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.test-popup-close:hover{background:#f8fafc;border-color:#cbd5e1}
