.header-brand-wrap{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:10px}.header-brand-side-logo-wrap{position:relative;width:44px;height:44px;flex-shrink:0;align-self:flex-end;margin-bottom:2px}.header-brand-side-logo-shadow{position:absolute;top:-6px;left:-6px;right:-6px;bottom:-6px;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(33,150,243,.4) 0%,rgba(33,150,243,.2) 35%,rgba(33,150,243,.08) 60%,transparent 75%);z-index:0}.header-brand-side-logo{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}.header-brand{display:flex;flex-direction:column;align-items:center;gap:4px}.brand-row{display:flex;flex-wrap:wrap;justify-content:center;gap:3px}.brand-letter{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;font-size:.7rem;font-weight:800;color:#ffeb3b;text-shadow:0 0 2px rgba(0,0,0,.4);box-shadow:0 0 8px var(--brand-bg, #2196f3),0 1px 3px #0003}@media (min-width: 400px){.brand-letter{width:24px;height:24px;font-size:.8rem}}.header{background:#fff;padding:2px 16px;border-bottom:2px solid #eee}.header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;gap:8px;position:relative}.header-center{position:absolute;left:50%;transform:translate(-50%);display:flex;justify-content:center;align-items:center;min-width:0;max-width:100%}.header-center-url{width:100%;max-width:240px;font-size:.85rem;font-weight:900;color:#222;text-align:center;border:none;border-radius:4px;padding:4px 8px;background:transparent;font-family:inherit}.header-center-url:focus{outline:1px solid rgba(0,0,0,.2);background:#00000008}.logo{display:flex;align-items:center;gap:6px}.logo-icon-wrap{position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:6px;padding:2px}.logo-icon-wrap:hover{background:#0000000f}.logo-icon-wrap--empty{min-width:56px;min-height:36px;border:1px dashed rgba(0,0,0,.25);background:#0000000a}.logo-upload-hint{font-size:.7rem;color:#00000080;font-weight:600}.logo-file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.logo-icon{font-size:1.5rem;filter:grayscale(.2)}.logo-img{width:32px;height:32px;object-fit:contain;object-position:center;display:block;flex-shrink:0}.title-block{display:flex;align-items:center;justify-content:center;gap:8px}.main-title{font-size:.95rem;font-weight:700;color:#222;text-align:center}.ballot-icon{font-size:1.5rem}.banner{background:red;color:#fff;text-align:center;padding:4px 16px;font-weight:700;font-size:1.1rem}.banner-input{width:100%;background:transparent;border:none;color:#fff;font-weight:700;font-size:1.1rem;text-align:center;font-family:var(--font-nepali);outline:none;text-shadow:0 1px 2px rgba(0,0,0,.1)}.banner-input::placeholder{color:#ffffffb3}.banner-input:focus{outline:none}.candidate-card{border-radius:12px;padding:4px 4px 20px;position:relative;min-height:140px;display:flex;flex-direction:column;align-items:center;box-shadow:0 4px 15px #0000000d;border:1px solid rgba(255,255,255,.3)}.delete-card-btn{position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:50%;border:none;background:#fff;color:red;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;box-shadow:0 2px 6px #0003;padding:4px}.delete-card-btn svg{width:100%;height:100%}.delete-card-btn:hover{transform:scale(1.15);background:#fff;box-shadow:0 3px 8px #ff00004d}.gradient-blue{background:linear-gradient(135deg,#1e88e51a,#1e88e505);border-top:4px solid var(--blue-primary)}.gradient-green{background:linear-gradient(135deg,#43a0471a,#43a04705);border-top:4px solid var(--green-primary)}.gradient-red{background:linear-gradient(135deg,#e539351a,#e5393505);border-top:4px solid var(--red-primary)}.gradient-maroon{background:linear-gradient(135deg,#8e24aa1a,#8e24aa05);border-top:4px solid var(--maroon-primary)}.gradient-orange{background:linear-gradient(135deg,#fb8c001a,#fb8c0005);border-top:4px solid var(--orange-primary)}.gradient-pink{background:linear-gradient(135deg,#d81b601a,#d81b6005);border-top:4px solid var(--pink-primary)}.photo-wrap{position:relative;width:100%;max-width:60px;margin-bottom:2px}.photo-box{width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;background:#ffffff80;border:3px solid rgba(255,255,255,.9);box-shadow:0 2px 8px #00000026}.candidate-photo-div{width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;display:block}.photo-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#00000080;font-size:.7rem}.placeholder-icon{font-size:1.8rem}.placeholder-text{font-weight:600}.name-wrap{width:100%;display:flex;justify-content:center;align-items:center;margin-bottom:4px;margin-top:-2px;text-align:center}.candidate-name-input{font-size:.9rem;font-weight:800;text-align:center!important;color:#333;border:none;background:transparent;width:100%;padding:8px 4px;font-family:var(--font-nepali)}.candidate-name-input:focus{outline:1px solid rgba(0,0,0,.2);background:#fff}.candidate-name-capture{font-size:.85rem;font-weight:700;text-align:center;line-height:1.35;min-height:1.8em;text-shadow:0 1px 1px rgba(255,255,255,.5);border:none;border-radius:8px;padding:4px 8px;background:#ffffffd9;width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.votes-row{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;margin-top:4px}.votes-label{font-size:.8rem;font-weight:600}.votes-input{font-size:1.2rem;font-weight:900;width:100%;max-width:90px;text-align:center;border:none;border-radius:10px;padding:2px 4px;background:red;color:#fff;box-shadow:0 4px 10px #f003}.votes-input:focus{outline:none;border-color:#0006}.symbol-wrap{position:absolute;bottom:-14px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;background:#fff;width:36px;height:36px;border-radius:50%;box-shadow:0 4px 10px #00000040,inset 0 1px 1px #fffc,inset 0 -1px 2px #0000000d;border:1px solid rgba(0,0,0,.08);z-index:5}.symbol-img{width:30px;height:30px;object-fit:contain;object-position:center;display:block;flex-shrink:0;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}.symbol,.symbol-fallback{font-size:1.5rem;opacity:1;text-shadow:0 2px 4px rgba(0,0,0,.3)}@media (max-width: 360px){.candidate-card{min-height:160px;padding:4px 4px 20px}.candidate-name-input{font-size:.8rem;min-height:1.7em}.votes-input{min-width:64px;width:4.25em;font-size:.95rem}}.footer{margin-top:auto;padding:2px 16px;background:#f0f0f0;border-top:1px solid #e0e0e0;min-height:10px}.footer-images{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;min-height:20px}.footer-img{max-height:45px;max-width:150px;width:auto;height:auto;object-fit:contain;display:block}.app{min-height:100vh;display:flex;flex-direction:column}.capture-wrapper{background:#fff;width:600px;height:600px;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden;margin:0 auto;transform-origin:top center}@media (max-width: 600px){.capture-wrapper{transform:scale(calc(100vw / 600));margin-bottom:calc((600px * (1 - (100vw / 600)) * -1) + 20px)}}.candidate-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:8px;row-gap:20px;padding:10px 10px 40px;flex:1;align-content:center}.controls-section{display:flex;flex-direction:column;align-items:center}.logo-toggles{display:flex;gap:8px;margin:8px 12px 0;flex-wrap:wrap;justify-content:center}.logo-toggle-btn{padding:6px 12px;border-radius:8px;border:1px solid rgba(0,0,0,.2);background:#fff;color:#333;font-size:.8rem;cursor:pointer}.logo-toggle-btn:hover{background:#f5f5f5}.action-buttons{display:flex;gap:12px;margin:16px auto;justify-content:center}.add-button{padding:12px 32px;min-width:180px;border-radius:999px;border:2px dashed #0d47a1;background:transparent;color:#0d47a1;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease}.add-button:hover{background:#0d47a10d;border-color:#1565c0;transform:translateY(-2px)}.export-button{padding:12px 32px;min-width:180px;border-radius:999px;border:none;background:linear-gradient(90deg,#0d47a1,#c62828);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #0003;text-align:center;transition:all .2s ease}.export-button:hover{transform:translateY(-2px);box-shadow:0 6px 15px #0000004d}.export-button:active{transform:translateY(1px);box-shadow:0 2px 6px #0003}@media (max-width: 360px){.candidate-grid{gap:4px;padding:6px}.export-button{margin:12px auto;font-size:.9rem;padding:10px 20px}}.preview-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.preview-content{background:#fff;padding:24px;border-radius:20px;max-width:95%;max-height:90vh;overflow-y:auto;position:relative;text-align:center;box-shadow:0 10px 40px #00000080}.close-preview{position:absolute;top:12px;right:12px;background:#eee;border:none;width:32px;height:32px;border-radius:50%;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.preview-content h3{margin:0 0 10px;color:#333}.mobile-hint{font-size:.9rem;color:#666;margin-bottom:16px;line-height:1.4}.produced-image{width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px #0000001a;display:block}.modal-actions{margin-top:20px}.modal-btn{padding:10px 24px;background:#333;color:#fff;border:none;border-radius:999px;font-weight:600;cursor:pointer}*{box-sizing:border-box;margin:0;padding:0}:root{--header-red: #d32f2f;--banner-red: #ff0000;--banner-pink: #ff0000;--blue-primary: #1e88e5;--green-primary: #43a047;--red-primary: #e53935;--maroon-primary: #8e24aa;--orange-primary: #fb8c00;--pink-primary: #d81b60;--font-nepali: "Mukta Vaani", sans-serif}html{font-size:16px;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-nepali);background:#f5f5f5;min-height:100vh;color:#1a1a1a;overflow-x:hidden}#root{min-height:100vh;max-width:480px;margin:0 auto;background:#fff;box-shadow:0 0 24px #00000014}button,input,label{font-family:var(--font-nepali)}input[type=file].hidden-file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}
