*,*:before,*:after{box-sizing:border-box}:root{--font-family-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "Fira Code", "SF Mono", "Monaco", "Cascadia Code", monospace;--font-size-xs: clamp(.75rem, .7rem + .25vw, .875rem);--font-size-sm: clamp(.875rem, .8rem + .375vw, 1rem);--font-size-base: clamp(1rem, .9rem + .5vw, 1.125rem);--font-size-lg: clamp(1.125rem, 1rem + .625vw, 1.25rem);--font-size-xl: clamp(1.25rem, 1.1rem + .75vw, 1.5rem);--font-size-2xl: clamp(1.5rem, 1.3rem + 1vw, 2rem);--font-size-3xl: clamp(2rem, 1.7rem + 1.5vw, 3rem);--font-size-4xl: clamp(2.5rem, 2rem + 2.5vw, 4rem);--color-primary-50: #f0f9ff;--color-primary-100: #e0f2fe;--color-primary-200: #bae6fd;--color-primary-300: #7dd3fc;--color-primary-400: #38bdf8;--color-primary-500: #0ea5e9;--color-primary-600: #0284c7;--color-primary-700: #0369a1;--color-primary-800: #075985;--color-primary-900: #0c4a6e;--color-neutral-50: #fafafa;--color-neutral-100: #f5f5f5;--color-neutral-200: #e5e5e5;--color-neutral-300: #d4d4d4;--color-neutral-400: #a3a3a3;--color-neutral-500: #737373;--color-neutral-600: #525252;--color-neutral-700: #404040;--color-neutral-800: #262626;--color-neutral-900: #171717;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{margin:0;padding:0;font-family:var(--font-family-primary);font-size:var(--font-size-base);line-height:1.6;color:var(--color-neutral-900);background-color:var(--color-neutral-50);min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0;font-weight:700;line-height:1.2;color:var(--color-neutral-900)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin:0;color:var(--color-neutral-600)}a{color:var(--color-primary-600);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-700)}a:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}button{margin:0;padding:0;border:none;background:none;font-family:inherit;cursor:pointer;transition:all var(--transition-fast)}button:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.container{width:100%;max-width:var(--container-xl);margin:0 auto;padding:0 var(--space-4)}@media (min-width: 640px){.container{padding:0 var(--space-6)}}@media (min-width: 768px){.container{padding:0 var(--space-8)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}.homepage-nav .nav-user{color:#475569;font-weight:500;padding:.5rem 1rem;background:#667eea1a;border-radius:.5rem;transition:all .2s ease;cursor:pointer}.homepage-nav .nav-user:hover{background:#667eea33;color:#667eea;transform:translateY(-1px);box-shadow:0 2px 8px #667eea33}.nav-user-section{display:flex;align-items:center;gap:.5rem}.hero{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6rem 0 8rem;text-align:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.15) 0%,transparent 50%),radial-gradient(circle at 70% 80%,rgba(255,255,255,.1) 0%,transparent 50%);pointer-events:none}.hero-container{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:0 2rem}.hero-content{max-width:900px;margin:0 auto}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:#fff3;border:2px solid rgba(255,255,255,.3);border-radius:50px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;margin-bottom:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;color:#fff}.hero-badge:hover{background:#ffffff40;transform:translateY(-2px);border-color:#ffffff80}.hero-title{font-size:3.5rem;font-weight:900;margin-bottom:1.5rem;line-height:1.1;letter-spacing:-.02em;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.hero-description{font-size:1.25rem;margin-bottom:2.5rem;max-width:700px;margin-left:auto;margin-right:auto;line-height:1.7;font-weight:400;color:#fffffff2;text-shadow:0 1px 2px rgba(0,0,0,.2)}.hero-actions{display:flex;gap:1rem;align-items:center;justify-content:center;flex-wrap:wrap}.hero-actions .btn-primary,.hero-actions .btn-secondary{padding:1rem 2rem;border-radius:.75rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.hero-actions .btn-primary{background:#ffffff40;color:#fff;border-color:#fff6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 12px #0003}.hero-actions .btn-primary:hover{background:#ffffff59;border-color:#fff9;transform:translateY(-2px);box-shadow:0 6px 16px #00000040}.hero-actions .btn-secondary{background:transparent;color:#fff;border-color:#fff9}.hero-actions .btn-secondary:hover{background:#ffffff26;border-color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stats{padding:5rem 0;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.stats-container{max-width:1280px;margin:0 auto;padding:0 2rem}.stats-header{text-align:center;margin-bottom:3rem}.stats-title{font-size:2.5rem;font-weight:700;color:#1e293b;margin:0 0 1rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stats-description{font-size:1.125rem;color:#64748b;max-width:600px;margin:0 auto;line-height:1.7}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.stat-card{background:#fff;padding:2rem;border-radius:1rem;text-align:center;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}.stat-icon{font-size:3rem;margin-bottom:1rem}.stat-number{font-size:3rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem;line-height:1}.stat-label{color:#64748b;font-weight:500;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.features{padding:5rem 0;background:#fff}.features-container{max-width:1280px;margin:0 auto;padding:0 2rem}.features-header{text-align:center;margin-bottom:3rem}.features-title{font-size:2.5rem;font-weight:700;color:#1e293b;margin:0 0 1rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.features-description{font-size:1.125rem;color:#64748b;max-width:600px;margin:0 auto;line-height:1.7}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.feature-card{background:#fff;padding:2rem;border-radius:1rem;border:1px solid #e2e8f0;transition:all .3s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001a;border-color:#667eea}.contests-section{padding:5rem 0;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.contests-container{max-width:1280px;margin:0 auto;padding:0 2rem}.contests-header{text-align:center;margin-bottom:3rem}.contests-title{font-size:2.5rem;font-weight:700;color:#1e293b;margin:0 0 1rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.contests-description{font-size:1.125rem;color:#64748b;max-width:600px;margin:0 auto 2rem;line-height:1.7}.contests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem}.contest-card{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 2px 8px #0000001a;transition:all .3s ease;cursor:pointer}.contest-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}.contest-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.contest-title{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0;flex:1}.contest-description{color:#64748b;line-height:1.6;margin:0 0 1.5rem}.contest-meta{display:flex;flex-direction:column;gap:.75rem;padding-top:1rem;border-top:1px solid #e2e8f0}@media (max-width: 768px){.hero-title{font-size:2rem}.hero-description{font-size:1rem}.hero-actions{flex-direction:column}.hero-actions .btn-primary,.hero-actions .btn-secondary{width:100%}.stats-title,.features-title,.contests-title{font-size:1.75rem}.stats-grid,.features-grid,.contests-grid{grid-template-columns:1fr}}.app-header{background:#fffffffa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(229,231,235,.8);padding:.75rem 0;box-shadow:0 1px 3px #0000001a;position:sticky;top:0;z-index:50}.header-container{display:flex;justify-content:space-between;align-items:center;max-width:1280px;margin:0 auto;padding:0 2rem}.header-logo{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;cursor:pointer;transition:transform .2s ease}.header-logo:hover{transform:scale(1.05)}.header-menu{display:flex;align-items:center;gap:2rem}.header-menu a{color:#64748b;text-decoration:none;font-weight:500;transition:color .2s ease;position:relative}.header-menu a:hover{color:#667eea}.header-menu a:after{content:"";position:absolute;bottom:-.25rem;left:0;width:0;height:2px;background:#667eea;transition:width .2s ease}.header-menu a:hover:after{width:100%}.header-btn-login{padding:.625rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #667eea4d}.header-btn-login:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.header-user-section{display:flex;align-items:center;gap:.75rem}.header-user{color:#475569;font-weight:500;padding:.5rem 1rem;background:#667eea1a;border-radius:.5rem;transition:all .2s ease;cursor:pointer}.header-user:hover{background:#667eea33;color:#667eea;transform:translateY(-1px);box-shadow:0 2px 8px #667eea33}.header-btn-logout{padding:.5rem 1rem;background:#fff;color:#64748b;border:1px solid #e2e8f0;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s ease}.header-btn-logout:hover{background:#fee2e2;color:#dc2626;border-color:#fecaca}.header-management-link{color:#667eea!important;font-weight:600!important}@media (max-width: 768px){.header-container{padding:0 1rem}.header-menu{gap:1rem;font-size:.875rem}.header-logo{font-size:1.25rem}}.app-footer{background:linear-gradient(135deg,#1e293b,#334155);color:#fff;padding:3rem 0 1.5rem;margin-top:auto}.footer-container{max-width:1280px;margin:0 auto;padding:0 2rem}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:2rem}.footer-section{display:flex;flex-direction:column;gap:1rem}.footer-title{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.footer-description{color:#cbd5e1;line-height:1.6;margin:0}.footer-subtitle{font-size:1.125rem;font-weight:600;color:#fff;margin:0}.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.footer-links li{color:#cbd5e1;font-size:.9375rem}.footer-links a{color:#cbd5e1;text-decoration:none;transition:color .2s ease}.footer-links a:hover{color:#667eea}.footer-bottom{padding-top:2rem;border-top:1px solid rgba(203,213,225,.2);text-align:center}.footer-bottom p{color:#94a3b8;font-size:.875rem;margin:0}@media (max-width: 768px){.footer-content{grid-template-columns:1fr;gap:1.5rem}.footer-container{padding:0 1rem}}.app-layout{display:flex;flex-direction:column;min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.app-main{flex:1;width:100%}.telegram-login-container{text-align:center;padding:1rem}.telegram-widget-container{min-height:60px;display:flex;justify-content:center;align-items:center}.telegram-loading{padding:2rem;color:#64748b}.telegram-error{padding:1rem}.error-message{color:#ef4444;margin-bottom:1rem;font-weight:500}.error-reasons{text-align:left;color:#6b7280;font-size:.875rem;margin:1rem 0;padding-left:1rem}.error-reasons li{margin:.25rem 0}.test-mode-section{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:1.5rem;margin:1.5rem 0;text-align:center}.test-mode-section h4{margin:0 0 .5rem;color:#1e40af;font-size:1.1rem}.user-selector{width:100%;max-width:300px;padding:.75rem;border:2px solid #d1d5db;border-radius:8px;font-size:1rem;margin:1rem 0;background:#fff;transition:border-color .2s}.user-selector:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.test-login-btn{display:inline-block;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #10b9814d;margin:1rem 0;width:100%;max-width:300px}.test-login-btn:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.test-login-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.test-note{font-size:.875rem;color:#f59e0b;margin-top:.5rem;line-height:1.4;font-weight:500}.demo-section{border-top:1px solid #e5e7eb;padding-top:1rem;margin-top:1rem}.demo-auth-btn{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#229ed9,#08c);color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #229ed94d;margin:1rem 0}.demo-auth-btn:hover{background:linear-gradient(135deg,#08c,#069);transform:translateY(-2px);box-shadow:0 6px 20px #229ed966}.demo-auth-btn:active{transform:translateY(0);box-shadow:0 2px 8px #229ed94d}.demo-auth-btn svg{width:20px;height:20px}.demo-note{font-size:.875rem;color:#94a3b8;margin-top:.5rem;line-height:1.4}.telegram-login-info{color:#64748b;font-size:.875rem;margin-top:1rem}.telegram-widget-container iframe{border-radius:8px!important;box-shadow:0 4px 12px #0000001a!important}.auth-frame-backdrop{position:fixed;inset:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-frame{background:#fff;border-radius:16px;box-shadow:0 8px 40px #00000040;padding:2rem;min-width:400px;max-width:90vw;position:relative;text-align:center;animation:fadeInScale .3s ease-out}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.auth-frame h2{margin:0 0 1rem;color:#1e40af;font-size:1.5rem;font-weight:600}.auth-frame p{color:#64748b;margin:0 0 1.5rem;line-height:1.5}.auth-frame-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:#94a3b8;cursor:pointer;line-height:1;width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s}.auth-frame-close:hover{background:#f1f5f9;color:#475569}.auth-content{margin:2rem 0}.auth-note{font-size:.875rem!important;color:#94a3b8!important;margin-top:1.5rem!important;line-height:1.4!important}@media (max-width: 768px){.auth-frame{min-width:320px;margin:1rem;padding:1.5rem}.auth-frame h2{font-size:1.25rem}}.phone-input-wrapper{width:100%}.phone-input{width:100%;padding:12px 16px;font-size:16px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#1f2937;transition:all .2s ease}.phone-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.phone-input::placeholder{color:#9ca3af}.phone-input:hover{border-color:#9ca3af}.phone-input:disabled{background:#f3f4f6;cursor:not-allowed;color:#6b7280}.phone-input:invalid{border-color:#ef4444}.phone-input:invalid:focus{box-shadow:0 0 0 3px #ef44441a}.confirm-dialog-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-in-out}.confirm-dialog{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:500px;width:90%;animation:slideUp .3s ease-out}.confirm-dialog-header{padding:1.5rem 1.5rem 1rem;display:flex;align-items:center;gap:.75rem;border-bottom:1px solid #e9ecef}.confirm-dialog-icon{font-size:2rem;line-height:1}.confirm-dialog-title{margin:0;font-size:1.25rem;font-weight:600;color:#212529;flex:1}.confirm-dialog-warning .confirm-dialog-title{color:#f39c12}.confirm-dialog-danger .confirm-dialog-title{color:#dc3545}.confirm-dialog-info .confirm-dialog-title{color:#007bff}.confirm-dialog-body{padding:1.5rem}.confirm-dialog-message{margin:0;font-size:1rem;line-height:1.6;color:#495057;white-space:pre-line}.confirm-dialog-footer{padding:1rem 1.5rem 1.5rem;display:flex;gap:.75rem;justify-content:flex-end;border-top:1px solid #e9ecef}.confirm-dialog-footer .btn{min-width:100px;padding:.625rem 1.25rem;font-size:.95rem;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.confirm-dialog-footer .btn-primary{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff}.confirm-dialog-footer .btn-primary:hover{background:linear-gradient(135deg,#0056b3,#004085);transform:translateY(-1px);box-shadow:0 4px 12px #007bff4d}.confirm-dialog-footer .btn-danger{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.confirm-dialog-footer .btn-danger:hover{background:linear-gradient(135deg,#c82333,#bd2130);transform:translateY(-1px);box-shadow:0 4px 12px #dc35454d}.confirm-dialog-footer .btn-secondary{background:#6c757d;color:#fff}.confirm-dialog-footer .btn-secondary:hover{background:#5a6268;transform:translateY(-1px);box-shadow:0 4px 12px #6c757d4d}.confirm-dialog-footer .btn:active{transform:translateY(0)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.select-contest-modal{max-width:800px;max-height:80vh;overflow-y:auto}.select-contest-modal .modal-body{padding:20px}.select-contest-modal .help-text{color:#666;font-size:14px;margin-bottom:20px;line-height:1.5}.select-contest-modal .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center}.select-contest-modal .spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.select-contest-modal .empty-state{text-align:center;padding:40px 20px;color:#666}.select-contest-modal .empty-state p{margin:10px 0;font-size:16px}.select-contest-modal .contests-list{display:flex;flex-direction:column;gap:16px}.contest-card{border:2px solid #e0e0e0;border-radius:12px;padding:20px;cursor:pointer;transition:all .3s ease;background:#fff}.contest-card:hover{border-color:#007bff;box-shadow:0 4px 12px #007bff26;transform:translateY(-2px)}.contest-card.selected{border-color:#007bff;background:#f0f7ff;box-shadow:0 4px 12px #007bff33}.contest-card-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.contest-radio{margin-top:4px;width:20px;height:20px;cursor:pointer;accent-color:#007bff}.contest-info{flex:1}.contest-info h3{margin:0 0 8px;color:#333;font-size:18px;font-weight:600}.contest-organizer{margin:0;color:#666;font-size:14px}.contest-description{color:#555;font-size:14px;line-height:1.5;margin:12px 0;padding-left:32px}.contest-details{display:flex;flex-direction:column;gap:8px;padding-left:32px;margin-top:12px;padding-top:12px;border-top:1px solid #e0e0e0}.detail-row{display:flex;justify-content:space-between;align-items:center;font-size:14px}.detail-label{color:#666;font-weight:500}.detail-value{color:#333;font-weight:600}.select-contest-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px;border-top:1px solid #e0e0e0;background:#f9f9f9}.select-contest-modal .btn{padding:10px 24px;border:none;border-radius:6px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease}.select-contest-modal .btn:disabled{opacity:.5;cursor:not-allowed}.select-contest-modal .btn-primary{background:#007bff;color:#fff}.select-contest-modal .btn-primary:hover:not(:disabled){background:#0056b3;transform:translateY(-1px);box-shadow:0 2px 8px #007bff4d}.select-contest-modal .btn-secondary{background:#6c757d;color:#fff}.select-contest-modal .btn-secondary:hover{background:#5a6268}@media (max-width: 768px){.select-contest-modal{max-width:95%;margin:10px}.contest-card{padding:16px}.contest-card-header{flex-direction:column;align-items:flex-start}.contest-description,.contest-details{padding-left:0}.detail-row{flex-direction:column;align-items:flex-start;gap:4px}}.cabinet{min-height:60vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding:3rem 0}.cabinet-container{max-width:1200px;margin:0 auto;padding:0 2rem}.cabinet-loading,.cabinet-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}.loading-spinner{width:50px;height:50px;border:4px solid #e2e8f0;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1.5rem}.cabinet-loading p{color:#718096;font-size:1.1rem}.cabinet-error h2{color:#e53e3e;margin-bottom:1rem}.cabinet-error p{color:#4a5568;margin-bottom:2rem}.cabinet-header{text-align:center;margin-bottom:3rem}.cabinet-header h1{font-size:2.5rem;margin-bottom:.75rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.cabinet-header p{font-size:1.125rem;color:#64748b;margin:0}.action-btn{padding:1rem 2rem;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.75rem;box-shadow:0 4px 12px #0000001a}.cabinet-actions{display:flex;gap:1.5rem;justify-content:center;margin-bottom:3rem;flex-wrap:wrap}.action-btn{padding:1rem 2rem;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.75rem;box-shadow:0 4px 12px #0000001a;text-decoration:none}.action-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000026}.action-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.action-btn.primary:hover{box-shadow:0 8px 20px #667eea66}.action-btn.secondary{background:#fff;color:#667eea;border:2px solid #667eea}.action-btn.secondary:hover{background:#667eea;color:#fff}.action-btn.tertiary{background:#fff;color:#64748b;border:2px solid #e2e8f0}.action-btn.tertiary:hover{border-color:#667eea;color:#667eea}.cabinet-section{background:#fff;border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 12px #00000014;transition:all .3s ease}.cabinet-section:hover{box-shadow:0 8px 20px #0000001f}.cabinet-section h2{font-size:1.75rem;margin-bottom:1.5rem;color:#2d3748;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.edit-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.75rem;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.edit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.profile-form{display:grid;gap:1.5rem}.auth-info{background:linear-gradient(135deg,#f0f4ff,#e8f0fe);padding:1.5rem;border-radius:12px;border-left:4px solid #667eea}.auth-detail{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.auth-detail:last-child{margin-bottom:0}.auth-label{font-weight:700;color:#667eea;text-transform:uppercase;font-size:.875rem;letter-spacing:.05em}.auth-value{font-family:monospace;background:#fff;padding:.5rem .75rem;border-radius:.5rem;font-size:.95rem;color:#2d3748;border:2px solid #e2e8f0}.auth-value.role{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;border:none}.profile-photo-section{display:flex;justify-content:center;margin:20px 0}.profile-photo{width:120px;height:120px;border-radius:50%;border:4px solid #e2e8f0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);cursor:pointer;transition:all .3s ease}.profile-photo:hover{border-color:#667eea;transform:scale(1.05);box-shadow:0 8px 20px #667eea4d}.profile-photo img{width:100%;height:100%;object-fit:cover}.photo-placeholder{text-align:center;color:#9ca3af}.photo-placeholder span{font-size:2rem;display:block;margin-bottom:5px}.photo-placeholder p{font-size:.8rem;margin:0}.profile-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.field-group{display:flex;flex-direction:column;gap:8px}.field-group label{font-weight:700;color:#2d3748;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.field-group input{padding:.875rem;border:2px solid #e2e8f0;border-radius:.75rem;font-size:1rem;transition:all .3s ease;background:#fff}.field-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.field-value{padding:.875rem;background:#f8fafc;border-radius:.75rem;color:#2d3748;border:2px solid #e2e8f0;font-weight:500}.profile-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:20px}.save-btn,.cancel-btn{padding:.875rem 1.75rem;border:none;border-radius:.75rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem}.save-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.save-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.cancel-btn{background:#fff;color:#64748b;border:2px solid #e2e8f0}.cancel-btn:hover{border-color:#667eea;color:#667eea}.applications-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.application-card{background:#fff;border-radius:16px;padding:1.75rem;box-shadow:0 4px 12px #00000014;transition:all .3s ease;border:2px solid #e2e8f0}.application-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #667eea26;border-color:#667eea}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.card-header h3{font-size:1.25rem;margin:0;color:#2d3748;font-weight:700;flex:1}.status-badge{color:#fff;padding:.5rem 1rem;border-radius:2rem;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 2px 8px #00000026;margin-left:15px;white-space:nowrap}.card-description{color:#6b7280;margin-bottom:20px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-details{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.detail-item{display:flex;justify-content:space-between;align-items:center}.detail-label{color:#6b7280;font-size:.9rem}.detail-value{font-weight:600;color:#1f2937}.card-actions{display:flex;gap:10px;justify-content:flex-end}.details-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.625rem 1.25rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #667eea33}.details-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea59}.edit-btn{background:transparent;color:#667eea;border:2px solid #667eea;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:500;font-size:.875rem;transition:all .3s ease}.edit-btn:hover{background:#667eea;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #667eea40}.delete-btn{background:transparent;color:#ef4444;border:2px solid #ef4444;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:500;font-size:.875rem;transition:all .3s ease}.delete-btn:hover{background:#ef4444;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #ef444440}.empty-state{text-align:center;padding:60px 20px;color:#6b7280}.empty-icon{font-size:4rem;margin-bottom:20px}.empty-state h3{font-size:1.5rem;margin-bottom:10px;color:#374151}.empty-state p{font-size:1rem;margin-bottom:30px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:25px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px;border-radius:16px;text-align:center;box-shadow:0 4px 20px #667eea4d;transition:all .3s ease}.stat-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #667eea66}.stat-number{font-size:3rem;font-weight:700;margin-bottom:10px;text-shadow:0 2px 4px rgba(0,0,0,.2)}.stat-label{font-size:.9rem;opacity:.9;text-transform:uppercase;letter-spacing:1px}@media (max-width: 768px){.cabinet-container{padding:0 15px}.cabinet-header h1{font-size:2rem}.cabinet-actions{flex-direction:column;align-items:center}.action-btn{width:100%;max-width:300px;justify-content:center}.cabinet-section{padding:20px}.profile-fields,.applications-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.section-header{flex-direction:column;gap:15px;align-items:flex-start}.auth-detail{flex-direction:column;align-items:flex-start;gap:5px}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}.profile-actions{flex-direction:column}.save-btn,.cancel-btn{width:100%}}.contest-links{display:flex;flex-direction:column;gap:8px;margin-top:5px}.contest-link{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#ffffff1a;border-radius:6px;font-size:.9rem}.contest-title{font-weight:500;color:#333}.contest-status{font-size:.8rem;padding:2px 8px;border-radius:4px;font-weight:600;text-transform:uppercase}.contest-status.active{background:#667eea;color:#fff}.contest-status.completed{background:#6b7280;color:#fff}.contest-status.canceled{background:#ef4444;color:#fff}.submit-btn{padding:.625rem 1rem;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.375rem}.submit-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 8px #667eea40}.submit-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea59}.submit-btn.primary:active{transform:translateY(0)}.card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.card-actions button{flex:1 1 auto;min-width:120px}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{background:#fff;border-radius:1rem;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0003;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{padding:2rem 2rem 1rem;border-bottom:1px solid #e2e8f0;position:relative}.modal-header h2{font-size:1.5rem;font-weight:700;color:#2d3748;margin:0 0 .5rem}.modal-header p{color:#718096;margin:0;font-size:.9rem}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:#a0aec0;cursor:pointer;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.5rem;transition:all .2s ease}.modal-close:hover{background:#f7fafc;color:#4a5568}.modal-close:disabled{opacity:.5;cursor:not-allowed}.contest-form{padding:1.5rem 2rem 2rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group label{display:block;font-weight:600;color:#2d3748;margin-bottom:.5rem;font-size:.9rem}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:2px solid #e2e8f0;border-radius:.5rem;font-size:.9rem;transition:border-color .2s ease,box-shadow .2s ease;background:#fff;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input.error,.form-group textarea.error{border-color:#e53e3e}.form-group input:disabled,.form-group textarea:disabled{background:#f7fafc;opacity:.7;cursor:not-allowed}.form-group textarea{resize:vertical;min-height:100px}.error-message{display:block;color:#e53e3e;font-size:.8rem;margin-top:.25rem;font-weight:500}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem;border-top:1px solid #e2e8f0}.btn-cancel,.btn-create{padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;border:none;min-width:100px}.btn-cancel{background:#e2e8f0;color:#4a5568}.btn-cancel:hover:not(:disabled){background:#cbd5e0;transform:translateY(-1px)}.btn-create{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.btn-create:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-cancel:disabled,.btn-create:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.modal-overlay{padding:.5rem}.modal-content{border-radius:.75rem;max-height:95vh}.modal-header{padding:1.5rem 1.5rem 1rem}.modal-header h2{font-size:1.3rem}.contest-form{padding:1rem 1.5rem 1.5rem}.form-row{grid-template-columns:1fr;gap:0}.form-actions{flex-direction:column-reverse}.btn-cancel,.btn-create{width:100%}}.btn-create:disabled{position:relative}.btn-create:disabled:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:1rem;height:1rem;border:2px solid transparent;border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.confirm-dialog{max-width:400px;width:100%}.confirm-dialog .modal-header{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #e2e8f0}.confirm-dialog .modal-header h3{font-size:1.2rem;font-weight:700;color:#e53e3e;margin:0 0 .5rem}.confirm-dialog .modal-header p{color:#4a5568;margin:0;font-size:.9rem;line-height:1.5}.confirm-dialog .form-actions{padding:1.5rem;margin:0;border:none;justify-content:space-between}.confirm-dialog .btn-cancel{background:#e2e8f0;color:#4a5568;flex:1;margin-right:.5rem}.confirm-dialog .btn-create{background:#e53e3e;color:#fff;flex:1;margin-left:.5rem;box-shadow:0 4px 12px #e53e3e4d}.confirm-dialog .btn-create:hover:not(:disabled){background:#c53030;transform:translateY(-1px);box-shadow:0 6px 16px #e53e3e66}@media (max-width: 768px){.confirm-dialog .form-actions{flex-direction:row}.confirm-dialog .btn-cancel,.confirm-dialog .btn-create{width:auto;margin:0}.confirm-dialog .btn-cancel{margin-right:.5rem}.confirm-dialog .btn-create{margin-left:.5rem}}.save-btn,.cancel-btn{padding:12px 24px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem;min-width:120px}.save-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.save-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.cancel-btn{background:#e5e7eb;color:#374151}.cancel-btn:hover:not(:disabled){background:#d1d5db;transform:translateY(-1px)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;padding:12px 24px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem;min-width:120px}.btn-danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}@media (max-width: 768px){.save-btn,.cancel-btn,.btn-danger{padding:10px 18px;font-size:.85rem;min-width:100px}}.voting-interface{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;box-shadow:0 4px 6px #0000001a}.voting-interface.loading{min-height:150px;justify-content:center}.votes-count{text-align:center}.count-number{font-size:3rem;font-weight:700;line-height:1;text-shadow:0 2px 4px rgba(0,0,0,.2)}.count-label{font-size:1rem;opacity:.9;margin-top:.5rem}.voting-actions{width:100%;display:flex;flex-direction:column;align-items:center;gap:.75rem}.voted-state{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%}.voted-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff3;border-radius:20px;font-weight:500;font-size:.95rem}.vote-btn{width:100%;max-width:250px;padding:.75rem 1.5rem;font-size:1.1rem;font-weight:600;background:#fff;color:#667eea;border:none;border-radius:25px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #0000001a;display:flex;align-items:center;justify-content:center;gap:.5rem}.vote-btn:hover:not(:disabled){background:#f8f9fa;transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.vote-btn:active:not(:disabled){transform:translateY(0)}.vote-btn:disabled{opacity:.6;cursor:not-allowed}.cancel-vote-btn{width:100%;max-width:250px;padding:.5rem 1rem;background:#fff3;border:2px solid rgba(255,255,255,.5);color:#fff;border-radius:20px;font-size:.9rem;cursor:pointer;transition:all .3s ease}.cancel-vote-btn:hover:not(:disabled){background:#ffffff4d;border-color:#fffc}.cancel-vote-btn:disabled{opacity:.5;cursor:not-allowed}.auth-hint{text-align:center;opacity:.8;font-size:.85rem}.spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}.spinner-small{display:inline-block;width:14px;height:14px;border:2px solid rgba(102,126,234,.3);border-top:2px solid #667eea;border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 768px){.voting-interface{padding:1rem}.count-number{font-size:2.5rem}.vote-btn{font-size:1rem;padding:.65rem 1.25rem}}@media (max-width: 480px){.count-number{font-size:2rem}.vote-btn,.cancel-vote-btn{max-width:100%}}.voting-application-list{width:100%}.voting-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e2e8f0}.voting-list-header h3{margin:0;color:#1e293b;font-size:1.5rem}.sort-controls{display:flex;align-items:center;gap:.5rem}.sort-controls label{font-size:.875rem;color:#64748b;font-weight:500}.sort-controls select{padding:.5rem 1rem;border:1px solid #cbd5e1;border-radius:.5rem;font-size:.875rem;background:#fff;cursor:pointer;transition:all .2s}.sort-controls select:hover{border-color:#94a3b8}.sort-controls select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.voting-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.voting-application-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:all .3s ease;display:flex;flex-direction:column;box-shadow:0 1px 3px #0000001a}.voting-application-card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-2px);border-color:#667eea}.voting-card-header{padding:1.25rem;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:1px solid #e2e8f0}.voting-card-title{margin:0 0 .75rem;font-size:1.1rem;font-weight:600;color:#1e293b;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.voting-card-author{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#64748b}.author-icon{font-size:1rem}.voting-card-body{padding:1.25rem;flex:1;display:flex;flex-direction:column;gap:1rem}.voting-card-description{font-size:.95rem;line-height:1.6;color:#475569;margin:0}.btn-link{background:none;border:none;color:#667eea;font-size:.875rem;font-weight:500;cursor:pointer;padding:0;text-align:left;transition:color .2s}.btn-link:hover{color:#5568d3;text-decoration:underline}.voting-card-meta{display:flex;flex-direction:column;gap:.5rem;padding-top:.75rem;border-top:1px solid #f1f5f9}.meta-item{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.meta-label{color:#64748b;font-weight:500}.meta-value{color:#1e293b;font-weight:600}.voting-card-footer{padding:1rem 1.25rem;background:#f8fafc;border-top:1px solid #e2e8f0}.voting-list-loading,.voting-list-error,.voting-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;background:#fff;border:2px dashed #cbd5e1;border-radius:12px;min-height:200px}.voting-list-loading .spinner{width:48px;height:48px;border:4px solid #f1f5f9;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.voting-list-error p,.voting-list-empty p{margin:0 0 1rem;font-size:1.1rem;color:#475569}.voting-list-empty small{color:#94a3b8;font-size:.875rem}@media (max-width: 768px){.voting-list-grid{grid-template-columns:1fr;gap:1rem}.voting-list-header{flex-direction:column;align-items:flex-start;gap:1rem}.voting-list-header h3{font-size:1.25rem}.sort-controls{width:100%}.sort-controls select{flex:1}.voting-card-header,.voting-card-body{padding:1rem}.voting-card-footer{padding:.75rem 1rem}}@media (max-width: 480px){.voting-list-header h3{font-size:1.1rem}.voting-card-title{font-size:1rem}}.contest-details-modal{max-width:700px;width:100%;max-height:90vh}.contest-details-modal .modal-body{padding:0}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.loading-state p{color:#718096;margin:0}.error-state h3{color:#e53e3e;margin-bottom:.5rem}.error-state p{color:#4a5568;margin-bottom:1.5rem}.btn-retry{background:#667eea;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-retry:hover{background:#5a67d8;transform:translateY(-1px)}.contest-details{padding:1.5rem 2rem 2rem}.contest-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.contest-header h3{margin:0;color:#2d3748;font-size:1.5rem;font-weight:700;line-height:1.3;flex:1;margin-right:1rem}.status-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:1rem;font-size:.875rem;font-weight:600;white-space:nowrap}.status-completed{background:#edf2f7;color:#2d3748;border:1px solid #cbd5e0}.published-indicator{color:#38a169;font-size:.75rem}.info-section h4{margin:0 0 1rem;color:#2d3748;font-size:1.1rem;font-weight:600}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-item label{font-size:.875rem;font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:.05em}.info-item span{font-size:1rem;color:#2d3748;font-weight:500}.budget-amount{font-size:1.125rem;font-weight:700;color:#38a169}.contest-id{font-family:Courier New,monospace;font-size:.875rem;background:#f7fafc;padding:.25rem .5rem;border-radius:.25rem;border:1px solid #e2e8f0;color:#4a5568}.description-content{background:#f7fafc;padding:1.5rem;border-radius:.75rem;border:1px solid #e2e8f0;line-height:1.6;color:#2d3748;white-space:pre-wrap}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.status-workflow h4{margin:0 0 1rem;color:#2d3748;font-size:1rem;font-weight:600}.workflow-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.workflow-btn{padding:.5rem 1rem;border:none;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;color:#fff;min-width:120px;position:relative}.workflow-btn-published{background:#10b981}.workflow-btn-published:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.workflow-btn-voting{background:#3b82f6}.workflow-btn-voting:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.workflow-btn-validation{background:#f59e0b}.workflow-btn-validation:hover:not(:disabled){background:#d97706;transform:translateY(-1px)}.workflow-btn-completed{background:#059669}.workflow-btn-completed:hover:not(:disabled){background:#047857;transform:translateY(-1px)}.workflow-btn-cancelled{background:#ef4444}.workflow-btn-cancelled:hover:not(:disabled){background:#dc2626;transform:translateY(-1px)}.workflow-btn-draft{background:#6b7280}.workflow-btn-draft:hover:not(:disabled){background:#4b5563;transform:translateY(-1px)}.workflow-info{color:#6b7280;font-style:italic;font-size:.875rem}.btn-close,.btn-edit{padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;border:none;min-width:100px}.btn-close{background:#e2e8f0;color:#4a5568}.btn-close:hover{background:#cbd5e0;transform:translateY(-1px)}.btn-edit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.btn-edit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-edit:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 768px){.contest-details-modal{margin:.5rem;max-height:95vh}.contest-details{padding:1rem 1.5rem 1.5rem}.contest-header{flex-direction:column;gap:1rem;align-items:stretch}.contest-header h3{margin-right:0;margin-bottom:0}.status-badge{align-self:flex-start}.info-grid{grid-template-columns:1fr;gap:1rem}.modal-actions{flex-direction:column-reverse}.btn-close,.btn-edit{width:100%}}@media (max-width: 480px){.contest-details-modal{margin:.25rem;border-radius:.75rem}.contest-details{padding:1rem}.contest-header h3{font-size:1.25rem}.info-section h4{font-size:1rem}}.voting-section-contest{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:24px;border-radius:12px;box-shadow:0 8px 20px #667eea40}.voting-section-contest h4{color:#fff;margin-bottom:12px;font-size:1.3rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.voting-description{font-size:.95rem;line-height:1.6;margin-bottom:16px;opacity:.95}.voting-deadline{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ffffff26;border-radius:8px;margin-bottom:20px;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.deadline-icon{font-size:1.2rem;animation:pulse-icon 2s ease-in-out infinite}.management-container{max-width:1200px;margin:0 auto;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.management-navigation{margin-bottom:2rem}.back-to-home-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.back-to-home-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.management-nav{display:flex;gap:1rem;margin-bottom:2rem;justify-content:center}.nav-btn{background:#fff;color:#495057;border:2px solid #dee2e6;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}.nav-btn:hover:not(.disabled){background:#f8f9fa;border-color:#007bff;color:#007bff;transform:translateY(-1px)}.nav-btn.active{background:#007bff;color:#fff;border-color:#007bff}.nav-btn.disabled{opacity:.6;cursor:not-allowed}.nav-btn.disabled:hover{transform:none;background:#fff;border-color:#dee2e6;color:#495057}.management-nav{display:flex;gap:1rem;margin-bottom:2rem;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:1rem;padding:1rem;border:1px solid rgba(255,255,255,.2)}.nav-btn{flex:1;padding:1rem 1.5rem;border:none;border-radius:.75rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;background:transparent;color:#fffc}.nav-btn:hover:not(.disabled){background:#fff3;color:#fff;transform:translateY(-1px)}.nav-btn.active{background:#fff;color:#667eea;box-shadow:0 4px 12px #00000026}.nav-btn.disabled{opacity:.5;cursor:not-allowed}.management-header{text-align:center;margin-bottom:3rem;color:#fff}.management-header h1{font-size:3rem;font-weight:800;margin-bottom:.5rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.management-header p{font-size:1.2rem;opacity:.9;font-weight:400}.stats-section{margin-bottom:3rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:1rem;padding:2rem;display:flex;align-items:center;gap:1rem;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);transition:transform .3s ease,box-shadow .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026}.stat-card-pending{background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff}.stat-card-pending .stat-content h3,.stat-card-pending .stat-content p{color:#fff}.stat-icon{font-size:3rem;opacity:.8}.stat-content h3{font-size:2.5rem;font-weight:700;color:#2d3748;margin:0 0 .5rem}.stat-content p{font-size:1rem;color:#4a5568;margin:0;font-weight:500}.stat-note{font-size:.8rem;opacity:.8;font-style:italic}.contests-section,.reports-section{background:#fff;border-radius:1rem;padding:2rem;margin-bottom:2rem;box-shadow:0 8px 32px #0000001a}.contests-section h2,.reports-section h2{font-size:1.8rem;font-weight:700;color:#2d3748;margin-bottom:1.5rem;border-bottom:3px solid #667eea;padding-bottom:.5rem}.filters-panel{background:#f7fafc;border-radius:.75rem;padding:1.5rem;margin-bottom:2rem;border:1px solid #e2e8f0}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-weight:600;color:#4a5568;font-size:.9rem}.filter-group input,.filter-group select{padding:.75rem;border:2px solid #e2e8f0;border-radius:.5rem;font-size:.9rem;transition:border-color .2s ease,box-shadow .2s ease;background:#fff}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.filters-actions{display:flex;gap:1rem;justify-content:flex-end;flex-wrap:wrap}.clear-filters-btn{padding:.75rem 1.5rem;background:#e2e8f0;color:#4a5568;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease}.clear-filters-btn:hover{background:#cbd5e0;transform:translateY(-1px)}.create-contest-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #667eea4d}.create-contest-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.contest-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:1rem;transition:all .2s ease}.contest-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea1a;transform:translateY(-1px)}.contest-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.contest-header h3{font-size:1.1rem;font-weight:600;color:#2d3748;margin:0}.status-active{background:#c6f6d5;color:#22543d}.status-draft{background:#fed7d7;color:#742a2a}.status-completed{background:#bee3f8;color:#2a4365}.status-cancelled{background:#e2e8f0;color:#4a5568}.contest-info{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}.contest-details p{margin:.25rem 0;color:#4a5568;font-size:.9rem}.contest-details strong{color:#2d3748}.contest-actions{display:flex;gap:.5rem;flex-shrink:0;flex-direction:column;align-items:stretch}.quick-status-actions{display:flex;gap:.25rem;margin-top:.5rem}.quick-status-btn{padding:.375rem .75rem;border:none;border-radius:.375rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;color:#fff;white-space:nowrap;text-transform:uppercase;letter-spacing:.025em}.quick-status-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.quick-status-btn.status-published{background:#10b981}.quick-status-btn.status-published:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.quick-status-btn.status-voting{background:#3b82f6}.quick-status-btn.status-voting:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.quick-status-btn.status-validation{background:#f59e0b}.quick-status-btn.status-validation:hover:not(:disabled){background:#d97706;transform:translateY(-1px)}.quick-status-btn.status-completed{background:#059669}.quick-status-btn.status-completed:hover:not(:disabled){background:#047857;transform:translateY(-1px)}.quick-status-btn.status-cancelled{background:#ef4444}.quick-status-btn.status-cancelled:hover:not(:disabled){background:#dc2626;transform:translateY(-1px)}.quick-status-btn.status-draft{background:#6b7280}.quick-status-btn.status-draft:hover:not(:disabled){background:#4b5563;transform:translateY(-1px)}.empty-state,.empty-placeholder{text-align:center;padding:3rem;color:#4a5568}.empty-placeholder{background:#f7fafc;border-radius:.75rem;border:2px dashed #e2e8f0}.empty-placeholder p{font-size:1.1rem;margin-bottom:.5rem}.empty-placeholder small{color:#718096}.clear-filters-link{background:none;border:none;color:#667eea;text-decoration:underline;cursor:pointer;font-size:.9rem;margin-top:.5rem}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#fff}.spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-left:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.error-message{background:#fff;border-radius:1rem;padding:2rem;text-align:center;border-left:4px solid #e53e3e}.error-message h3{color:#e53e3e;margin-bottom:1rem}.retry-button{padding:.75rem 1.5rem;background:#e53e3e;color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;margin-top:1rem;transition:all .2s ease}.retry-button:hover{background:#c53030;transform:translateY(-1px)}@media (max-width: 768px){.management-container{padding:1rem}.management-header h1{font-size:2rem}.stats-grid,.filters-grid{grid-template-columns:1fr}.filters-actions{justify-content:stretch}.clear-filters-btn,.create-contest-btn{flex:1}.contest-info{flex-direction:column;align-items:stretch}.contest-actions{justify-content:stretch}.action-btn{flex:1}}.status-badge{padding:.25rem .75rem;border-radius:1rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-draft{background:#f7fafc;color:#4a5568;border:1px solid #e2e8f0}.status-published{background:#e6fffa;color:#234e52;border:1px solid #81e6d9}.status-voting{background:#fef5e7;color:#744210;border:1px solid #f6ad55}.status-validation{background:#fff5f5;color:#742a2a;border:1px solid #feb2b2}.status-completed{background:#f0fff4;color:#22543d;border:1px solid #9ae6b4}.status-cancelled{background:#fed7d7;color:#742a2a;border:1px solid #feb2b2}.status-unknown{background:#edf2f7;color:#2d3748;border:1px solid #cbd5e0}.contest-info{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.contest-details{flex:1}.contest-details p{margin:0 0 .5rem;font-size:.85rem;color:#4a5568;line-height:1.4}.contest-details p strong{color:#2d3748;font-weight:600}.contest-actions{display:flex;gap:.5rem;flex-shrink:0}.action-btn{padding:.5rem .75rem;border:none;border-radius:.4rem;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.view-btn{background:#e2e8f0;color:#4a5568}.view-btn:hover{background:#cbd5e0;transform:translateY(-1px)}.edit-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.edit-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #667eea4d}.automation-indicator{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-left:4px solid #f59e0b;border-radius:.5rem;margin-top:.75rem;animation:pulse-glow 2s ease-in-out infinite}.cron-icon{font-size:1.25rem;animation:rotate-icon 3s linear infinite}.cron-text{color:#78350f;font-size:.875rem;font-weight:500;line-height:1.4}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #f59e0b4d}50%{box-shadow:0 0 15px #f59e0b99}}@keyframes rotate-icon{0%{transform:rotate(0)}10%{transform:rotate(15deg)}20%{transform:rotate(-15deg)}30%{transform:rotate(0)}to{transform:rotate(0)}}.application-details-modal{max-width:900px;width:95vw;max-height:90vh;overflow-y:auto}.application-content{display:grid;grid-template-columns:2fr 1fr;gap:2rem;margin:1rem 0}@media (max-width: 768px){.application-content{grid-template-columns:1fr;gap:1rem}}.application-main-info{background:#f8f9fa;padding:1.5rem;border-radius:8px;border:1px solid #e9ecef}.application-title{margin:0 0 1rem;color:#2c3e50;font-size:1.5rem;font-weight:600;line-height:1.4}.application-meta{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.status-badge{padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.application-id{color:#6c757d;font-size:.875rem;font-family:Courier New,monospace;background:#e9ecef;padding:.25rem .5rem;border-radius:4px}.application-description{margin-bottom:1.5rem}.application-description h4{margin:0 0 .75rem;color:#495057;font-size:1rem;font-weight:600}.application-description p{margin:0;line-height:1.6;color:#212529;white-space:pre-wrap}.application-amounts{display:flex;flex-direction:column;gap:1rem}.amount-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#fff;border:1px solid #dee2e6;border-radius:6px}.amount-item label{font-weight:500;color:#495057}.amount-value{font-size:1.125rem;font-weight:600;color:#2c3e50}.amount-value.approved{color:#28a745}.application-sidebar{display:flex;flex-direction:column;gap:1.5rem}.info-section{background:#fff;padding:1.5rem;border-radius:8px;border:1px solid #e9ecef}.info-section h4{margin:0 0 1rem;color:#495057;font-size:1rem;font-weight:600;border-bottom:1px solid #e9ecef;padding-bottom:.5rem}.info-item{display:flex;flex-direction:column;margin-bottom:.75rem}.info-item:last-child{margin-bottom:0}.info-item label{font-size:.875rem;color:#6c757d;font-weight:500;margin-bottom:.25rem}.info-item span{color:#212529;font-weight:500}.contest-link{padding:.75rem;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef;margin-bottom:.75rem}.contest-link:last-child{margin-bottom:0}.contest-name{font-weight:600;color:#2c3e50;margin-bottom:.25rem}.contest-status{font-size:.875rem;color:#6c757d}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#495057}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid #ced4da;border-radius:6px;font-size:1rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.form-group input.error,.form-group textarea.error{border-color:#dc3545}.form-group input.error:focus,.form-group textarea.error:focus{box-shadow:0 0 0 .2rem #dc354540}.char-counter{text-align:right;font-size:.875rem;color:#6c757d;margin-top:.25rem}.amount-preview{margin-top:.5rem;font-size:1.125rem;font-weight:600;color:#28a745}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1rem;border-top:1px solid #e9ecef}@media (max-width: 576px){.modal-actions{flex-direction:column}}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover:not(:disabled){background-color:#c82333;transform:translateY(-1px)}.confirm-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000}.confirm-dialog{background:#fff;padding:2rem;border-radius:12px;max-width:400px;width:90vw;text-align:center;box-shadow:0 10px 30px #0000004d}.confirm-dialog h3{margin:0 0 1rem;color:#dc3545}.confirm-dialog p{margin:0 0 1rem;color:#495057}.confirm-dialog .warning{color:#dc3545;font-weight:500;font-size:.875rem}.confirm-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.moderation-section{border:2px solid #ffc107;background:linear-gradient(135deg,#fff9c4,#fff8e1)}.moderation-section h4{color:#f57c00;border-bottom-color:#ffc107}.moderation-content{display:flex;flex-direction:column;gap:1rem}.current-status{display:flex;align-items:center;gap:.75rem}.current-status label{font-weight:600;color:#495057;margin:0}.status-transitions label{display:block;font-weight:600;color:#495057;margin-bottom:.5rem}.transition-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.status-transition-btn{border:2px solid transparent;font-weight:600;text-transform:uppercase;letter-spacing:.5px;transition:all .2s ease}.status-transition-btn.under_review{background:#fff3e0;color:#f57c00;border-color:#ffcc02}.status-transition-btn.under_review:hover:not(:disabled){background:#f57c00;color:#fff}.status-transition-btn.needs_revision{background:#ffebee;color:#d32f2f;border-color:#ffcdd2}.status-transition-btn.needs_revision:hover:not(:disabled){background:#d32f2f;color:#fff}.status-transition-btn.selected{background:#e8f5e8;color:#388e3c;border-color:#c8e6c9}.status-transition-btn.selected:hover:not(:disabled){background:#388e3c;color:#fff}.status-transition-btn.voting{background:#f3e5f5;color:#7b1fa2;border-color:#e1bee7}.status-transition-btn.voting:hover:not(:disabled){background:#7b1fa2;color:#fff}.status-transition-btn.rejected{background:#ffebee;color:#c62828;border-color:#ffcdd2}.status-transition-btn.rejected:hover:not(:disabled){background:#c62828;color:#fff}.status-transition-btn.approved{background:#e8f5e8;color:#2e7d32;border-color:#c8e6c9}.status-transition-btn.approved:hover:not(:disabled){background:#2e7d32;color:#fff}.status-transition-btn.draft{background:#e3f2fd;color:#1976d2;border-color:#bbdefb}.status-transition-btn.draft:hover:not(:disabled){background:#1976d2;color:#fff}.status-change-dialog{max-width:500px}.comment-section{margin:1.5rem 0;text-align:left}.comment-section label{display:block;font-weight:600;color:#495057;margin-bottom:.5rem}.comment-section textarea{width:100%;padding:.75rem;border:1px solid #ced4da;border-radius:6px;font-size:1rem;font-family:inherit;resize:vertical;min-height:80px}.comment-section textarea:focus{outline:none;border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.comment-section textarea.error{border-color:#dc3545}.comment-section textarea.error:focus{box-shadow:0 0 0 .2rem #dc354540}.error-message{display:block;color:#dc3545;font-size:.875rem;margin-top:.25rem}.submit-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;padding:.75rem;margin:1rem 0;text-align:center}.application-section{margin:1.5rem 0;padding:1rem;background:#fff;border-radius:6px;border:1px solid #e9ecef}.application-section h4{margin:0 0 1rem;color:#495057;font-size:1.1rem;font-weight:600;border-bottom:2px solid #007bff;padding-bottom:.5rem}.application-info-row{display:flex;gap:.5rem;margin:.75rem 0;padding:.5rem;background:#fff;border-radius:4px}.application-info-row strong{color:#495057;min-width:150px}.tasks-list{margin:0;padding-left:1.5rem;line-height:1.8}.tasks-list li{margin:.5rem 0;color:#495057}.details-table{width:100%;border-collapse:collapse;font-size:.95rem}.details-table thead{background:#f8f9fa}.details-table th{padding:.75rem .5rem;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6}.details-table td{padding:.75rem .5rem;border-bottom:1px solid #e9ecef;color:#212529}.details-table tbody tr:last-child td{border-bottom:none}.details-table tbody tr:hover{background:#f8f9fa}.details-table th:first-child,.details-table td:first-child{width:3rem;text-align:center;color:#6c757d}.details-table th:last-child,.details-table td:last-child{text-align:right}.details-table.budget-table th:nth-child(3),.details-table.budget-table td:nth-child(3),.details-table.budget-table th:nth-child(4),.details-table.budget-table td:nth-child(4),.details-table.budget-table th:nth-child(5),.details-table.budget-table td:nth-child(5){text-align:right}.total-row{background:#e7f3ff!important;font-weight:600}.total-row td{border-top:2px solid #007bff!important;padding-top:1rem!important;padding-bottom:1rem!important}.voting-section{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #0ea5e9;border-radius:12px;padding:1.5rem;margin-top:2rem}.voting-section h4{color:#0c4a6e;margin-top:0;margin-bottom:1rem;font-size:1.25rem}.voting-description{color:#475569;font-size:.95rem;margin-bottom:1.5rem;line-height:1.6}.voting-section .voting-interface{margin:0}@media (max-width: 768px){.voting-section{padding:1rem}.voting-section h4{font-size:1.1rem}}.application-management-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.management-header{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 20px #0000001a}.header-top{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.back-button{background:#6c757d;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s ease}.back-button:hover{background:#545b62;transform:translateY(-1px)}.management-header h1{margin:0;color:#2c3e50;font-size:2rem;font-weight:700}.stats-summary{display:flex;gap:2rem;flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;align-items:center;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef;min-width:120px}.stat-value{font-size:1.75rem;font-weight:700;color:#007bff;margin-bottom:.25rem}.stat-label{font-size:.875rem;color:#6c757d;text-align:center;font-weight:500}.filters-section{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 20px #0000001a}.filters-section h3{margin:0 0 1.5rem;color:#2c3e50;font-size:1.25rem;font-weight:600}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;align-items:end}.filter-group{display:flex;flex-direction:column}.filter-group label{font-weight:500;color:#495057;margin-bottom:.5rem;font-size:.875rem}.filter-group input,.filter-group select{padding:.75rem;border:1px solid #ced4da;border-radius:6px;font-size:1rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.filter-actions{display:flex;align-items:end}.applications-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 20px #0000001a}.applications-section h3{margin:0 0 1.5rem;color:#2c3e50;font-size:1.25rem;font-weight:600}.applications-table{display:flex;flex-direction:column;gap:1px;background:#e9ecef;border-radius:8px;overflow:hidden}.table-header{display:grid;grid-template-columns:2fr 1.5fr 1fr 1.5fr 1.5fr 1fr;background:#495057;color:#fff;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.table-header>div{padding:1rem}.table-row{display:grid;grid-template-columns:2fr 1.5fr 1fr 1.5fr 1.5fr 1fr;background:#fff;transition:background-color .2s ease}.table-row:hover{background:#f8f9fa}.table-row>div{padding:1rem;display:flex;flex-direction:column;justify-content:center;border-right:1px solid #e9ecef}.table-row>div:last-child{border-right:none}.col-title .application-title{font-weight:600;color:#2c3e50;margin-bottom:.25rem;line-height:1.4}.col-title .application-id{font-size:.75rem;color:#6c757d;font-family:Courier New,monospace}.col-author .author-name{font-weight:500;color:#2c3e50;margin-bottom:.25rem}.col-author .author-email{font-size:.75rem;color:#6c757d}.col-amount .requested-amount{font-weight:600;color:#2c3e50;margin-bottom:.25rem}.col-amount .approved-amount{font-size:.75rem;color:#28a745;font-weight:500}.col-status{gap:.5rem}.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;text-align:center;white-space:nowrap}.status-draft{background:#e3f2fd;color:#1976d2;border:1px solid #bbdefb}.status-under-review{background:#fff3e0;color:#f57c00;border:1px solid #ffcc02}.status-needs-revision{background:#ffebee;color:#d32f2f;border:1px solid #ffcdd2}.status-selected{background:#e8f5e8;color:#388e3c;border:1px solid #c8e6c9}.status-voting{background:#f3e5f5;color:#7b1fa2;border:1px solid #e1bee7}.status-rejected{background:#ffebee;color:#c62828;border:1px solid #ffcdd2}.status-approved{background:#e8f5e8;color:#2e7d32;border:1px solid #c8e6c9}.contest-links{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem}.contest-badge{background:#e3f2fd;color:#1976d2;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;text-align:center;border:1px solid #bbdefb}.contest-badge.more{background:#f8f9fa;color:#6c757d;border-color:#dee2e6}.col-date .created-date{font-size:.875rem;color:#2c3e50;margin-bottom:.25rem}.col-date .updated-date{font-size:.75rem;color:#6c757d}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .15s ease-in-out;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn:disabled{opacity:.65;cursor:not-allowed}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background-color:#0056b3;transform:translateY(-1px)}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#545b62;transform:translateY(-1px)}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.loading-state{text-align:center;padding:3rem}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.empty-state{text-align:center;padding:3rem;color:#6c757d}.empty-state h4{color:#495057;margin-bottom:1rem}.empty-state p{margin:0}.error-state{text-align:center;padding:3rem}.error-state h3{color:#dc3545;margin-bottom:1rem}.error-state p{color:#6c757d;margin-bottom:2rem}.retry-button{background:#007bff;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;cursor:pointer;transition:background-color .2s ease}.retry-button:hover{background:#0056b3}.back-to-home-btn{background:#6c757d;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;cursor:pointer;transition:background-color .2s ease}.back-to-home-btn:hover{background:#545b62}@media (max-width: 1200px){.table-header,.table-row{grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr}}@media (max-width: 768px){.application-management-container{padding:1rem}.management-header,.filters-section,.applications-section{padding:1.5rem}.stats-summary{gap:1rem}.stat-item{min-width:100px;padding:.75rem}.filters-grid{grid-template-columns:1fr;gap:1rem}.table-header,.table-row{display:none}.applications-table{display:flex;flex-direction:column;gap:1rem;background:transparent}.table-row{display:block;background:#fff;border-radius:8px;padding:1rem;box-shadow:0 2px 8px #0000001a}.table-row>div{padding:.5rem 0;border-right:none;border-bottom:1px solid #e9ecef}.table-row>div:last-child{border-bottom:none}}.action-buttons{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.action-buttons .btn{padding:.375rem .75rem;font-size:.75rem;min-width:120px;text-align:left;transition:all .2s ease;border:none;border-radius:4px;cursor:pointer;font-weight:500}.action-buttons .btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.action-buttons .btn-primary{background:#007bff;color:#fff}.action-buttons .btn-primary:hover{background:#0056b3}.action-buttons .btn-success{background:#28a745;color:#fff}.action-buttons .btn-success:hover{background:#1e7e34}.action-buttons .btn-warning{background:#ffc107;color:#212529}.action-buttons .btn-warning:hover{background:#e0a800}.action-buttons .btn-danger{background:#dc3545;color:#fff}.action-buttons .btn-danger:hover{background:#c82333}.action-buttons .btn-info{background:#17a2b8;color:#fff}.action-buttons .btn-info:hover{background:#138496}@media (max-width: 768px){.action-buttons{flex-direction:row;flex-wrap:wrap;gap:.25rem}.action-buttons .btn{min-width:auto;padding:.25rem .5rem;font-size:.7rem}}.contests-nav .nav-user{color:#475569;font-weight:500;padding:.5rem 1rem;background:#667eea1a;border-radius:.5rem;transition:all .2s ease}.contests-nav .nav-user:hover{background:#667eea33;color:#667eea;transform:translateY(-1px);box-shadow:0 2px 8px #667eea33}.contests-content{padding:3rem 0}.contests-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-item{background:#fff;padding:1.5rem;border-radius:12px;text-align:center;box-shadow:0 4px 6px #0000000d;transition:transform .2s ease,box-shadow .2s ease}.stat-item:hover{transform:translateY(-2px);box-shadow:0 8px 12px #0000001a}.stat-number{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.stat-label{font-size:.875rem;color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.contests-filters{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e2e8f0}.filter-btn{padding:.75rem 1.5rem;border:2px solid #e2e8f0;background:#fff;color:#64748b;border-radius:9999px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.875rem}.filter-btn:hover{border-color:#667eea;color:#667eea;transform:translateY(-1px)}.filter-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff;box-shadow:0 4px 12px #667eea4d}.contests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem;margin-bottom:3rem}.contest-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 6px #0000000d;transition:all .3s ease;display:flex;flex-direction:column}.contest-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a}.contest-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.contest-card-title{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0;flex:1;line-height:1.4}.contest-card-description{color:#64748b;font-size:.9375rem;line-height:1.6;margin:0 0 1.5rem;flex:1;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.contest-card-meta{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding-top:1rem;border-top:1px solid #f1f5f9}.meta-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.meta-text{color:#475569;font-weight:500}.contest-card-btn{width:100%;padding:.875rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #667eea4d}.contest-card-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}@media (max-width: 768px){.contests-grid{grid-template-columns:1fr;gap:1.5rem}.contests-filters{gap:.5rem}.filter-btn{padding:.625rem 1.25rem;font-size:.8125rem}.stat-number{font-size:2rem}}.common-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.common-page .container{max-width:1280px;margin:0 auto;padding:0 2rem}.page-content{padding:3rem 0}.page-header{text-align:center;margin-bottom:3rem}.page-header h1{font-size:2.5rem;font-weight:700;color:#1e293b;margin:0 0 1rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-header .page-description{font-size:1.125rem;color:#64748b;max-width:600px;margin:0 auto;line-height:1.6}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;min-height:200px}.loading-state p{color:#64748b;font-weight:500;margin:0}.empty-state{text-align:center;padding:4rem 2rem}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.empty-state p{color:#64748b;font-size:1rem;line-height:1.6}.btn{padding:.875rem 1.5rem;border-radius:8px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s ease;border:none;display:inline-flex;align-items:center;gap:.5rem}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-secondary{background:#fff;color:#667eea;border:2px solid #667eea}.btn-secondary:hover{background:#f8fafc;transform:translateY(-2px)}.card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 6px #0000000d;transition:all .3s ease}.card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a}.status-badge{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;white-space:nowrap}.status-draft{background:#f1f5f9;color:#475569}.status-published{background:#dcfce7;color:#166534}.status-voting{background:#fef3c7;color:#92400e}.status-validation{background:#fee2e2;color:#991b1b}.status-completed{background:#e0e7ff;color:#3730a3}.status-cancelled{background:#fecaca;color:#991b1b}@media (max-width: 768px){.common-page .container{padding:0 1rem}.page-content{padding:2rem 0}.page-header h1{font-size:2rem}.page-header .page-description{font-size:1rem}}.voting-page{min-height:100vh}.voting-contests{display:flex;flex-direction:column;gap:2rem}.voting-contest-card{background:#fff;border-radius:16px;box-shadow:0 4px 6px #0000000d;overflow:hidden;transition:all .3s ease}.voting-contest-card:hover{box-shadow:0 12px 24px #0000001a}.contest-header-expandable{padding:1.5rem 2rem;cursor:pointer;transition:background .2s ease;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}.contest-header-expandable:hover{background:#f8fafc}.contest-header-info{flex:1}.contest-title{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 .5rem;display:flex;align-items:center;gap:.75rem}.expand-icon{color:#667eea;font-size:1rem;transition:transform .3s ease}.contest-description{color:#64748b;font-size:.9375rem;margin:0;line-height:1.6}.contest-meta-compact{display:flex;flex-direction:column;gap:.75rem;min-width:250px}.meta-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#475569}.meta-icon{font-size:1.125rem}.meta-text{font-weight:500}.contest-applications{padding:2rem;background:#f8fafc}.applications-header{margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center}.btn-view-contest{padding:.75rem 1.25rem;background:#fff;border:2px solid #667eea;color:#667eea;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-view-contest:hover{background:#667eea;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.applications-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.application-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000000d;transition:all .3s ease;display:flex;flex-direction:column;gap:1rem}.application-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001a}.application-header{display:flex;flex-direction:column;gap:.5rem}.application-title{font-size:1.125rem;font-weight:700;color:#1e293b;margin:0;line-height:1.4}.application-author{font-size:.8125rem;color:#64748b;font-weight:500}.application-description{color:#475569;font-size:.9375rem;line-height:1.6;margin:0;flex:1}.application-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid #e2e8f0}.application-amount{display:flex;flex-direction:column;gap:.25rem}.amount-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.amount-value{font-size:1.125rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.application-votes{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#f1f5f9;border-radius:9999px}.votes-icon{font-size:1.125rem}.votes-count{font-size:1rem;font-weight:700;color:#475569}.application-actions{display:flex;gap:.75rem}.btn-view-application{flex:1;padding:.75rem 1rem;background:#fff;border:2px solid #e2e8f0;color:#475569;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease}.btn-view-application:hover{border-color:#667eea;color:#667eea;transform:translateY(-2px)}.btn-vote{flex:1;padding:.75rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #667eea4d;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-vote:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-vote:disabled{opacity:.6;cursor:not-allowed}.btn-voted{flex:1;padding:.75rem 1rem;background:#10b981;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.875rem;cursor:not-allowed;opacity:.8}.btn-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.no-applications{text-align:center;padding:3rem 2rem;color:#64748b;font-size:.9375rem}@media (max-width: 768px){.contest-header-expandable{flex-direction:column;padding:1.25rem 1.5rem}.contest-meta-compact{width:100%;min-width:unset}.contest-title{font-size:1.25rem}.applications-grid{grid-template-columns:1fr}.contest-applications{padding:1.5rem 1rem}.application-actions{flex-direction:column}.btn-view-application,.btn-vote,.btn-voted{width:100%}}@media (max-width: 480px){.application-footer{flex-direction:column;align-items:flex-start;gap:.75rem}.application-votes{align-self:flex-start}}.about-nav .nav-user{color:#475569;font-weight:500;padding:.5rem 1rem;background:#667eea1a;border-radius:.5rem;transition:all .2s ease;cursor:pointer}.about-nav .nav-user:hover{background:#667eea33;color:#667eea;transform:translateY(-1px);box-shadow:0 2px 8px #667eea33}.about-hero{padding:4rem 0;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.about-title{font-size:3rem;font-weight:700;margin:0 0 1rem}.about-subtitle{font-size:1.25rem;opacity:.95;max-width:700px;margin:0 auto;line-height:1.7}.about-content{max-width:1280px;margin:0 auto;padding:4rem 2rem}.about-section{margin-bottom:4rem}.section-title{font-size:2rem;font-weight:700;color:#1e293b;margin:0 0 1rem;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-description{font-size:1.125rem;color:#64748b;text-align:center;max-width:800px;margin:0 auto 2.5rem;line-height:1.7}.process-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem}.process-step{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 2px 8px #0000001a;text-align:center;transition:all .3s ease}.process-step:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}.step-number{width:60px;height:60px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin:0 auto 1rem}.step-title{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.step-description{color:#64748b;line-height:1.6}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:2rem}.feature-card{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}.feature-icon{font-size:2.5rem;margin-bottom:1rem}.feature-title{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 .75rem}.feature-description{color:#64748b;line-height:1.6}.roles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem}.role-card{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 2px 8px #0000001a;text-align:center;transition:all .3s ease}.role-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}.role-icon{font-size:3rem;margin-bottom:1rem}.role-title{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.role-description{color:#64748b;line-height:1.6;margin-bottom:1rem}.role-permissions{list-style:none;padding:0;margin:0}.role-permissions li{color:#475569;font-size:.9375rem;padding:.375rem 0;border-top:1px solid #f1f5f9}.role-permissions li:first-child{border-top:none}.tech-list{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2rem}.tech-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#fff;border-radius:9999px;box-shadow:0 2px 8px #0000001a;font-weight:600;color:#1e293b;transition:all .2s ease}.tech-badge:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.tech-icon{font-size:1.25rem}.cta-section{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4rem 2rem;border-radius:1.5rem;text-align:center;margin-top:4rem}.cta-title{font-size:2rem;font-weight:700;margin:0 0 1rem}.cta-description{font-size:1.125rem;opacity:.95;margin:0 0 2rem;max-width:600px;margin-left:auto;margin-right:auto}.cta-button{display:inline-block;padding:1rem 2.5rem;background:#fff;color:#667eea;border-radius:.75rem;font-weight:600;text-decoration:none;transition:all .2s ease;box-shadow:0 4px 12px #0003}.cta-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000004d}@media (max-width: 768px){.about-title{font-size:2rem}.about-subtitle{font-size:1rem}.section-title{font-size:1.5rem}.section-description{font-size:1rem}.process-steps,.features-grid,.roles-grid{grid-template-columns:1fr}.about-content{padding:2rem 1rem}.cta-title{font-size:1.5rem}.cta-description{font-size:1rem}}.contest-details-page{min-height:60vh;padding:2rem 0;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;min-height:400px}.loading-state .spinner{width:50px;height:50px;border:4px solid #e2e8f0;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1.5rem}.loading-state p{color:#718096;font-size:1.1rem}.error-state h3{color:#e53e3e;margin-bottom:1rem;font-size:1.5rem}.error-state p{color:#4a5568;margin-bottom:2rem;font-size:1.1rem}.error-state button{margin:0 .5rem}.contest-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1.5rem}.contest-header h1{margin:0;color:#2d3748;font-size:2rem;font-weight:700;line-height:1.3;flex:1;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.contest-actions{margin-top:1.5rem;margin-bottom:1rem}.btn-submit-application{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem 2rem;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d;display:inline-flex;align-items:center;gap:.75rem}.btn-submit-application:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66;background:linear-gradient(135deg,#764ba2,#667eea)}.btn-submit-application:active{transform:translateY(0)}.status-badge{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:2rem;font-size:.95rem;font-weight:600;white-space:nowrap;box-shadow:0 2px 8px #0000001a}.status-draft{background:#f7fafc;color:#4a5568;border:2px solid #e2e8f0}.status-published{background:linear-gradient(135deg,#e6fffa,#b2f5ea);color:#234e52;border:2px solid #81e6d9}.status-voting{background:linear-gradient(135deg,#fef5e7,#fde68a);color:#744210;border:2px solid #f6ad55}.status-validation{background:linear-gradient(135deg,#fff5f5,#fed7e2);color:#742a2a;border:2px solid #feb2b2}.status-completed{background:linear-gradient(135deg,#edf2f7,#cbd5e0);color:#2d3748;border:2px solid #a0aec0}.status-cancelled{background:linear-gradient(135deg,#fed7d7,#fc8181);color:#742a2a;border:2px solid #f56565}.published-indicator{color:#38a169;font-size:.85rem;font-weight:700}.contest-info{display:flex;flex-direction:column;gap:2rem}.info-section{padding:2rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.budget-amount{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#38a169,#48bb78);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.contest-id{font-family:Courier New,monospace;font-size:.95rem;background:#f7fafc;padding:.5rem .75rem;border-radius:.5rem;border:2px solid #e2e8f0;color:#4a5568;font-weight:600;display:inline-block}.voting-section-contest{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:2.5rem;border-radius:1rem;box-shadow:0 10px 25px #667eea4d}.voting-section-contest h2{color:#fff;margin-bottom:1rem;font-size:1.8rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.voting-description{font-size:1.05rem;line-height:1.7;margin-bottom:1.5rem;opacity:.95}.voting-deadline{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#ffffff26;border-radius:.75rem;margin-bottom:2rem;font-weight:600;font-size:1.05rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.2)}.deadline-icon{font-size:1.5rem;animation:pulse-icon 2s ease-in-out infinite}@keyframes pulse-icon{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.8}}.status-workflow{margin-top:1rem}.status-workflow h4{margin:0 0 1.5rem;color:#2d3748;font-size:1.3rem;font-weight:700}.workflow-buttons{display:flex;gap:1rem;flex-wrap:wrap}.workflow-btn{padding:.875rem 1.5rem;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;color:#fff;min-width:140px;box-shadow:0 4px 12px #00000026}.workflow-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #00000040}.workflow-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.workflow-btn-published{background:linear-gradient(135deg,#10b981,#059669)}.workflow-btn-voting{background:linear-gradient(135deg,#3b82f6,#2563eb)}.workflow-btn-validation{background:linear-gradient(135deg,#f59e0b,#d97706)}.workflow-btn-completed{background:linear-gradient(135deg,#059669,#047857)}.workflow-btn-cancelled{background:linear-gradient(135deg,#ef4444,#dc2626)}.workflow-btn-draft{background:linear-gradient(135deg,#6b7280,#4b5563)}.btn-spinner{display:inline-block;animation:spin 1s linear infinite}.workflow-info{color:#6b7280;font-style:italic;font-size:1rem;padding:1rem;background:#f7fafc;border-radius:.5rem;border:2px solid #e2e8f0}@media (max-width: 768px){.contest-details-page{padding:1rem 0}.contest-header{flex-direction:column;gap:1rem}.contest-header h1{font-size:1.5rem}.status-badge{align-self:flex-start;padding:.625rem 1rem;font-size:.875rem}.info-section{padding:1.5rem}.info-section h2{font-size:1.25rem}.info-grid{grid-template-columns:1fr;gap:1.25rem}.voting-section-contest{padding:1.5rem}.workflow-buttons{flex-direction:column}.workflow-btn{width:100%}}@media (max-width: 480px){.contest-header h1{font-size:1.25rem}.info-section{padding:1rem}.description-content{padding:1rem;font-size:1rem}.budget-amount{font-size:1.25rem}}.application-details-page{min-height:60vh;padding:2rem 0;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.btn-back{background:none;border:none;color:#667eea;font-weight:600;font-size:.95rem;cursor:pointer;padding:.5rem 0;margin-bottom:1rem;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-back:hover{color:#764ba2;transform:translate(-4px)}.application-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1.5rem}.application-header h1{margin:0;color:#2d3748;font-size:2rem;font-weight:700;line-height:1.3;flex:1;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.info-section{padding:2rem;margin-bottom:2rem}.info-section h2{margin:0 0 1.5rem;color:#2d3748;font-size:1.5rem;font-weight:700}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-item label{font-size:.875rem;font-weight:700;color:#718096;text-transform:uppercase;letter-spacing:.05em}.info-item span{font-size:1.1rem;color:#2d3748;font-weight:600}.amount-value{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#f59e0b,#d97706);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.amount-value.approved{background:linear-gradient(135deg,#38a169,#48bb78);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.description-content{background:#f7fafc;padding:1.5rem;border-radius:.75rem;border:2px solid #e2e8f0;line-height:1.8;color:#2d3748;white-space:pre-wrap;font-size:1.05rem}.tasks-list{margin:0;padding-left:2rem;color:#2d3748}.tasks-list li{margin-bottom:.75rem;font-size:1.05rem;line-height:1.6}.table-responsive{overflow-x:auto;margin-top:1rem}.data-table{width:100%;border-collapse:collapse;background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 2px 8px #0000000d}.data-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.data-table th{padding:1rem;text-align:left;font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:.05em}.data-table td{padding:1rem;border-bottom:1px solid #e2e8f0;color:#2d3748;font-size:1rem}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#f8fafc}.data-table tfoot{background:#f7fafc;font-weight:700}.amount-cell{font-weight:600;color:#38a169}.amount-cell.total{font-size:1.2rem;color:#667eea}.contests-list{display:flex;flex-direction:column;gap:1rem}.contest-item{padding:1.5rem;background:#f7fafc;border:2px solid #e2e8f0;border-radius:.75rem;transition:all .2s ease}.contest-item:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.contest-item h3{margin:0 0 .75rem;color:#2d3748;font-size:1.25rem}.contest-meta{display:flex;gap:.75rem;align-items:center}.link-status{padding:.375rem .875rem;border-radius:1rem;font-size:.85rem;font-weight:600}.link-status.status-active{background:#d1fae5;color:#065f46}.link-status.status-canceled{background:#fee2e2;color:#991b1b}.link-status.status-completed{background:#e0e7ff;color:#3730a3}.voting-section{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;box-shadow:0 10px 25px #667eea4d}.voting-section h2{color:#fff}.actions-section{display:flex;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:2px solid #e2e8f0}.actions-section button{flex:1;max-width:250px}@media (max-width: 768px){.application-header{flex-direction:column}.application-header h1{font-size:1.5rem}.info-section{padding:1.5rem}.info-grid{grid-template-columns:1fr}.data-table{font-size:.875rem}.data-table th,.data-table td{padding:.75rem .5rem}.actions-section{flex-direction:column}.actions-section button{max-width:100%}}._container_1ffhy_1{margin-bottom:1.5rem}._label_1ffhy_9{display:block;font-weight:600;margin-bottom:.5rem;color:#333}._required_1ffhy_23{color:#dc3545;margin-left:.25rem}._list_1ffhy_33{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}._row_1ffhy_47{display:flex;align-items:center;gap:.5rem}._number_1ffhy_59{min-width:2rem;font-weight:500;color:#666}._input_1ffhy_71{flex:1;padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem;transition:border-color .15s}._input_1ffhy_71:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40}._input_1ffhy_71:invalid{border-color:#dc3545}._btnRemove_1ffhy_109{min-width:2.5rem;height:2.5rem;padding:0;background-color:#dc3545;color:#fff;border:none;border-radius:4px;font-size:1.5rem;font-weight:700;cursor:pointer;transition:background-color .15s,opacity .15s}._btnRemove_1ffhy_109:hover:not(:disabled){background-color:#c82333}._btnRemove_1ffhy_109:disabled{opacity:.5;cursor:not-allowed}._btnAdd_1ffhy_155{padding:.5rem 1rem;background-color:#28a745;color:#fff;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .15s;display:inline-flex;align-items:center;gap:.25rem}._btnAdd_1ffhy_155:hover{background-color:#218838}._btnAdd_1ffhy_155:active{transform:translateY(1px)}._container_u1sdk_1{margin-bottom:1.5rem}._label_u1sdk_9{display:block;font-weight:600;margin-bottom:.5rem;color:#333}._required_u1sdk_23{color:#dc3545;margin-left:.25rem}._tableWrapper_u1sdk_33{overflow-x:auto;border:1px solid #dee2e6;border-radius:4px;margin-bottom:.75rem}._table_u1sdk_33{width:100%;border-collapse:collapse;min-width:900px}._table_u1sdk_33 thead{background-color:#f8f9fa}._table_u1sdk_33 th{padding:.75rem .5rem;text-align:left;font-weight:600;border-bottom:2px solid #dee2e6;font-size:.9rem}._table_u1sdk_33 td{padding:.5rem;border-bottom:1px solid #dee2e6;vertical-align:top}._table_u1sdk_33 tbody tr:last-child td{border-bottom:none}._colNum_u1sdk_103{width:3rem;text-align:center!important;color:#666}._colDate_u1sdk_115{width:10rem}._colEvent_u1sdk_123{width:12rem}._colDesc_u1sdk_131,._colResult_u1sdk_139{width:15rem}._colAction_u1sdk_147{width:3.5rem;text-align:center!important}._input_u1sdk_157,._inputDate_u1sdk_159{width:100%;padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:.9rem;transition:border-color .15s}._textarea_u1sdk_177{width:100%;padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:.9rem;font-family:inherit;resize:vertical;transition:border-color .15s}._input_u1sdk_157:focus,._inputDate_u1sdk_159:focus,._textarea_u1sdk_177:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40}._input_u1sdk_157:invalid,._inputDate_u1sdk_159:invalid,._textarea_u1sdk_177:invalid{border-color:#dc3545}._btnRemove_u1sdk_227{min-width:2.5rem;height:2.5rem;padding:0;background-color:#dc3545;color:#fff;border:none;border-radius:4px;font-size:1.5rem;font-weight:700;cursor:pointer;transition:background-color .15s,opacity .15s}._btnRemove_u1sdk_227:hover:not(:disabled){background-color:#c82333}._btnRemove_u1sdk_227:disabled{opacity:.5;cursor:not-allowed}._btnAdd_u1sdk_273{padding:.5rem 1rem;background-color:#28a745;color:#fff;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .15s;display:inline-flex;align-items:center;gap:.25rem}._btnAdd_u1sdk_273:hover{background-color:#218838}._btnAdd_u1sdk_273:active{transform:translateY(1px)}._errorRow_u1sdk_319{background-color:#fff5f5}._inputError_u1sdk_327{border-color:#dc3545!important;background-color:#fff5f5}._inputError_u1sdk_327:focus{box-shadow:0 0 0 .2rem #dc354540!important}._errorMessage_u1sdk_345{margin-top:.25rem;font-size:.8rem;color:#dc3545;line-height:1.3}._container_1m2cp_1{margin-bottom:1.5rem}._label_1m2cp_9{display:block;font-weight:600;margin-bottom:.5rem;color:#333}._required_1m2cp_23{color:#dc3545;margin-left:.25rem}._table_1m2cp_33{border:1px solid #dee2e6;border-radius:4px;overflow:hidden;margin-bottom:.75rem}._header_1m2cp_47,._row_1m2cp_49,._footer_1m2cp_51{display:grid;grid-template-columns:3rem 1fr 8rem 3.5rem;align-items:center;gap:.5rem;padding:.5rem}._header_1m2cp_47{background-color:#f8f9fa;font-weight:600;border-bottom:2px solid #dee2e6}._row_1m2cp_49{border-bottom:1px solid #dee2e6}._row_1m2cp_49:last-of-type{border-bottom:none}._footer_1m2cp_51{background-color:#f8f9fa;border-top:2px solid #dee2e6;font-weight:600}._colNum_1m2cp_107{text-align:center;color:#666}._colName_1m2cp_117{flex:1}._colQty_1m2cp_125{text-align:center}._colAction_1m2cp_133{display:flex;justify-content:center}._input_1m2cp_143,._inputNum_1m2cp_145{width:100%;padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:.9rem;transition:border-color .15s}._input_1m2cp_143:focus,._inputNum_1m2cp_145:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40}._input_1m2cp_143:invalid,._inputNum_1m2cp_145:invalid{border-color:#dc3545}._inputNum_1m2cp_145{text-align:center}._btnRemove_1m2cp_195{min-width:2.5rem;height:2.5rem;padding:0;background-color:#dc3545;color:#fff;border:none;border-radius:4px;font-size:1.5rem;font-weight:700;cursor:pointer;transition:background-color .15s,opacity .15s}._btnRemove_1m2cp_195:hover:not(:disabled){background-color:#c82333}._btnRemove_1m2cp_195:disabled{opacity:.5;cursor:not-allowed}._btnAdd_1m2cp_241{padding:.5rem 1rem;background-color:#28a745;color:#fff;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .15s;display:inline-flex;align-items:center;gap:.25rem}._btnAdd_1m2cp_241:hover{background-color:#218838}._btnAdd_1m2cp_241:active{transform:translateY(1px)}._container_17w49_1{margin-bottom:1.5rem}._label_17w49_9{display:block;font-weight:600;margin-bottom:.5rem;color:#333}._required_17w49_23{color:#dc3545;margin-left:.25rem}._table_17w49_33{border:1px solid #dee2e6;border-radius:4px;overflow:hidden;margin-bottom:.75rem}._header_17w49_47,._row_17w49_49{display:grid;grid-template-columns:3rem 1fr 8rem 3.5rem;align-items:center;gap:.5rem;padding:.5rem}._header_17w49_47{background-color:#f8f9fa;font-weight:600;border-bottom:2px solid #dee2e6}._row_17w49_49{border-bottom:1px solid #dee2e6}._row_17w49_49:last-of-type{border-bottom:none}._colNum_17w49_93{text-align:center;color:#666}._colName_17w49_103{flex:1}._colQty_17w49_111{text-align:center}._colAction_17w49_119{display:flex;justify-content:center}._input_17w49_129,._inputNum_17w49_131{width:100%;padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:.9rem;transition:border-color .15s}._input_17w49_129:focus,._inputNum_17w49_131:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40}._input_17w49_129:invalid,._inputNum_17w49_131:invalid{border-color:#dc3545}._inputNum_17w49_131{text-align:center}._btnRemove_17w49_181{min-width:2.5rem;height:2.5rem;padding:0;background-color:#dc3545;color:#fff;border:none;border-radius:4px;font-size:1.5rem;font-weight:700;cursor:pointer;transition:background-color .15s,opacity .15s}._btnRemove_17w49_181:hover:not(:disabled){background-color:#c82333}._btnRemove_17w49_181:disabled{opacity:.5;cursor:not-allowed}._btnAdd_17w49_227{padding:.5rem 1rem;background-color:#28a745;color:#fff;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .15s;display:inline-flex;align-items:center;gap:.25rem}._btnAdd_17w49_227:hover{background-color:#218838}._btnAdd_17w49_227:active{transform:translateY(1px)}._container_c6dhc_1{margin-bottom:1.5rem}._label_c6dhc_9{display:block;font-weight:600;margin-bottom:.5rem;color:#333}._required_c6dhc_23{color:#dc3545;margin-left:.25rem}._tableWrapper_c6dhc_33{overflow-x:auto;border:1px solid #dee2e6;border-radius:4px;margin-bottom:.75rem}._table_c6dhc_33{width:100%;border-collapse:collapse;min-width:700px}._table_c6dhc_33 thead{background-color:#f8f9fa}._table_c6dhc_33 th{padding:.75rem .5rem;text-align:left;font-weight:600;border-bottom:2px solid #dee2e6;font-size:.9rem}._table_c6dhc_33 td{padding:.5rem;border-bottom:1px solid #dee2e6;vertical-align:middle}._table_c6dhc_33 tbody tr:last-child td{border-bottom:none}._table_c6dhc_33 tfoot{background-color:#f8f9fa;border-top:2px solid #dee2e6;font-weight:600}._table_c6dhc_33 tfoot td{padding:.75rem .5rem;border-bottom:none}._colNum_c6dhc_125{width:3rem;text-align:center!important;color:#666}._colName_c6dhc_137{width:auto;min-width:15rem}._colPrice_c6dhc_147{width:9rem}._colQty_c6dhc_155{width:7rem}._colTotal_c6dhc_163{width:10rem;text-align:right!important}._colAction_c6dhc_173{width:3.5rem;text-align:center!important}._input_c6dhc_183,._inputNum_c6dhc_185{width:100%;padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:.9rem;transition:border-color .15s}._inputNum_c6dhc_185{text-align:right}._input_c6dhc_183:focus,._inputNum_c6dhc_185:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40}._input_c6dhc_183:invalid,._inputNum_c6dhc_185:invalid{border-color:#dc3545}._totalValue_c6dhc_235{text-align:right;padding:.5rem;font-weight:500;color:#495057}._footerLabel_c6dhc_249{text-align:right!important;padding-right:1rem!important}._grandTotal_c6dhc_259{text-align:right;padding:.5rem;font-size:1.1rem;font-weight:700;color:#28a745}._btnRemove_c6dhc_275{min-width:2.5rem;height:2.5rem;padding:0;background-color:#dc3545;color:#fff;border:none;border-radius:4px;font-size:1.5rem;font-weight:700;cursor:pointer;transition:background-color .15s,opacity .15s}._btnRemove_c6dhc_275:hover:not(:disabled){background-color:#c82333}._btnRemove_c6dhc_275:disabled{opacity:.5;cursor:not-allowed}._btnAdd_c6dhc_321{padding:.5rem 1rem;background-color:#28a745;color:#fff;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .15s;display:inline-flex;align-items:center;gap:.25rem}._btnAdd_c6dhc_321:hover{background-color:#218838}._btnAdd_c6dhc_321:active{transform:translateY(1px)}.create-application-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding:2rem 0}.create-application-page .page-header{max-width:900px;margin:0 auto 2rem;padding:0 1.5rem}.create-application-page .page-header h1{font-size:2.5rem;font-weight:700;margin:1rem 0;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.create-application-page .back-button{background:transparent;border:2px solid #667eea;color:#667eea;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-weight:500;font-size:.875rem;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.create-application-page .back-button:hover{background:#667eea;color:#fff;transform:translate(-4px)}.application-form{max-width:900px;margin:0 auto;background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 20px #667eea1a}.form-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e2e8f0}.form-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section h3{margin:0 0 1.25rem;color:#2d3748;font-size:1.25rem;font-weight:600}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#2d3748;font-weight:500;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.form-hint{display:block;font-weight:400;color:#6b7280;font-size:.75rem;margin-top:.25rem;text-transform:none;letter-spacing:normal}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.875rem;transition:all .2s ease;background-color:#fff;font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input.error,.form-group textarea.error{border-color:#ef4444;background-color:#fef2f2}.form-group textarea{resize:vertical;min-height:120px;line-height:1.6}.char-counter{text-align:right;font-size:.75rem;color:#6b7280;margin-top:.25rem}.error-message{display:block;color:#ef4444;font-size:.75rem;margin-top:.25rem;font-weight:500}.submit-error{background-color:#fef2f2;border:2px solid #fecaca;border-radius:8px;padding:.75rem 1rem;margin-bottom:1.25rem;font-size:.875rem;color:#991b1b}.contest-info{background:linear-gradient(135deg,#667eea0d,#764ba20d);border:2px solid #667eea;border-radius:12px;padding:1.25rem;margin-top:1rem}.contest-details h4{margin:0 0 .75rem;color:#2d3748;font-size:1.125rem;font-weight:600}.contest-details p{margin:0 0 1rem;color:#4a5568;line-height:1.6}.contest-meta{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.875rem;color:#667eea;font-weight:500}.info-message{background:#eff6ff;border:2px solid #93c5fd;border-radius:8px;padding:.75rem 1rem;margin-top:.5rem;font-size:.875rem;color:#1e40af}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.form-actions .btn{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .3s ease;border:none}.form-actions .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.form-actions .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.form-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed}.form-actions .btn-secondary{background:transparent;color:#667eea;border:2px solid #667eea}.form-actions .btn-secondary:hover{background:#667eea;color:#fff}.confirmation-content{max-width:900px;margin:0 auto;padding:0 1.5rem}.confirmation-details{background:#fff;border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 20px #667eea1a}.confirmation-details h3{margin:0 0 1.5rem;color:#2d3748;font-size:1.25rem;font-weight:600}.confirmation-details .detail-item{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem;border-bottom:1px solid #e2e8f0;gap:1rem}.confirmation-details .detail-item:last-child{border-bottom:none}.confirmation-details .detail-item strong{color:#4a5568;font-weight:600;min-width:150px}.confirmation-details .detail-item span{color:#2d3748;text-align:right;flex:1}.status-draft{display:inline-block;padding:.25rem .75rem;background:#f3f4f6;color:#4b5563;border-radius:1rem;font-size:.875rem;font-weight:600}.confirmation-info{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 20px #667eea1a}.info-box{background:linear-gradient(135deg,#667eea0d,#764ba20d);border-left:4px solid #667eea;border-radius:8px;padding:1.25rem}.info-box h4{margin:0 0 .75rem;color:#2d3748;font-size:1rem;font-weight:600}.info-box ul{margin:0;padding-left:1.25rem;color:#4a5568;line-height:1.8}.info-box li{margin-bottom:.5rem}.success-content{max-width:600px;margin:0 auto;text-align:center;padding:3rem 1.5rem}.success-icon{font-size:5rem;margin-bottom:1.5rem;animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.success-content h3{font-size:1.75rem;font-weight:700;color:#2d3748;margin:0 0 1rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.success-content p{font-size:1rem;color:#4a5568;line-height:1.6;margin-bottom:2rem}.success-actions{display:flex;justify-content:center;gap:1rem}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-state p{color:#4a5568;font-size:1rem}@media (max-width: 768px){.create-application-page{padding:1rem 0}.create-application-page .page-header h1{font-size:1.75rem}.application-form{padding:1.5rem;border-radius:12px}.confirmation-details,.confirmation-info{padding:1.5rem}.confirmation-details .detail-item{flex-direction:column;align-items:flex-start}.confirmation-details .detail-item strong{min-width:auto}.confirmation-details .detail-item span{text-align:left}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.success-actions{flex-direction:column}.success-actions .btn{width:100%}.contest-meta{flex-direction:column;gap:.5rem}}.toast{position:fixed;top:20px;right:20px;min-width:300px;max-width:500px;padding:16px 20px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:10000;animation:slideIn .3s ease-out;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.toast:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0003}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast-content{display:flex;align-items:center;gap:12px;flex:1}.toast-icon{font-size:20px;line-height:1}.toast-message{color:#333;font-size:14px;line-height:1.5;flex:1}.toast-close{background:none;border:none;font-size:24px;line-height:1;color:#999;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.toast-close:hover{color:#333}.toast-success{border-left:4px solid #10b981}.toast-error{border-left:4px solid #ef4444}.toast-info{border-left:4px solid #3b82f6}.toast-warning{border-left:4px solid #f59e0b}@media (max-width: 768px){.toast{top:10px;right:10px;left:10px;min-width:auto;max-width:none}}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast-container>*{pointer-events:all}@media (max-width: 768px){.toast-container{top:10px;right:10px;left:10px}}
