*,:before,:after{box-sizing:border-box;margin:0;padding:0}button,input,textarea,select{font:inherit}button{cursor:pointer;background:0 0;border:none}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}:root{--bg:#f7f3eb;--surface:#fff;--border:#18181b;--text:#18181b;--muted:#666;--primary:#ffd54a;--success:#57e389;--warning:#f6d32d;--danger:#f87171;--radius:22px;--shadow:8px 8px 0 var(--border);--shadow-small:5px 5px 0 var(--border);--transition:.18s ease}html{font-size:16px}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:Inter,Segoe UI,Roboto,sans-serif}#app{min-height:100vh}h1,h2,h3,h4{font-weight:900;line-height:1.1}p{line-height:1.6}.ov-title{letter-spacing:-.04em;font-size:clamp(2.2rem,5vw,3.2rem);font-weight:900}.ov-subtitle{color:var(--muted);font-size:.95rem}.ov-page{justify-content:center;align-items:center;width:100%;min-height:100vh;padding:32px;display:flex}.ov-container{width:100%;max-width:520px}.ov-stack{flex-direction:column;gap:24px;display:flex}.ov-center{text-align:center}.w-full{width:100%}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mb-24{margin-bottom:24px}.text-center{text-align:center}@media (width<=640px){.ov-button-group{grid-template-columns:1fr}.ov-otp{letter-spacing:.08em;white-space:nowrap;text-overflow:clip;font-size:clamp(2.6rem,11vw,3rem);font-weight:900;line-height:1;overflow:hidden}.ov-card{padding:24px}}.ov-card{background:var(--surface);border:4px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px;position:relative}.ov-card:before{content:"";background:var(--border);width:14px;height:14px;box-shadow:-24px 0 0 var(--border), -48px 0 0 var(--border);border-radius:50%;position:absolute;top:18px;right:18px}.ov-brand{flex-direction:column;align-items:center;gap:18px;margin-bottom:36px;display:flex}.ov-logo{color:var(--border);background:var(--primary);border:4px solid var(--border);box-shadow:var(--shadow-small);border-radius:22px;justify-content:center;align-items:center;transition:all .18s;display:flex}.ov-logo svg{width:70%;height:70%}.ov-logo:hover{transform:rotate(-6deg)}.ov-title{text-align:center}.ov-subtitle{text-align:center;margin-top:8px}.ov-field{flex-direction:column;gap:10px;display:flex}.ov-label{font-size:.9rem;font-weight:700}.ov-input{border:4px solid var(--border);width:100%;height:60px;transition:var(--transition);background:#fff;border-radius:18px;outline:none;padding:0 18px}.ov-input:focus{background:#fff9dd;transform:translateY(-2px)}.ov-input:disabled{color:#777;cursor:not-allowed;background:#f3f3f3}.ov-btn{border:4px solid var(--border);background:var(--primary);width:100%;height:62px;transition:var(--transition);box-shadow:var(--shadow-small);border-radius:18px;justify-content:center;align-items:center;gap:12px;font-weight:800;display:flex}.ov-btn:hover{box-shadow:8px 8px 0 var(--border);transform:translate(-2px,-2px)}.ov-btn:active{box-shadow:none;transform:translate(5px,5px)}.ov-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:var(--shadow-small);transform:none}.ov-btn-secondary{background:#fff}.ov-btn-success{background:var(--success)}.ov-btn-danger{color:#fff;background:#ef4444;border:3px solid #111;transition:all .15s;box-shadow:4px 4px #111}.ov-badge{border:3px solid var(--border);box-shadow:var(--shadow-small);background:#fff;border-radius:14px;align-items:center;gap:8px;padding:8px 16px;font-size:.9rem;font-weight:700;display:inline-flex}.ov-info{border:3px dashed var(--border);color:var(--muted);background:#fff;border-radius:18px;align-items:flex-start;gap:12px;padding:16px;font-size:.9rem;display:flex}.ov-error{min-height:24px;color:var(--danger);font-size:.9rem;font-weight:700}.ov-success{color:var(--success)}.ov-warning{color:var(--warning)}.ov-otp-card{flex-direction:column;gap:24px;display:flex}.ov-otp-header{flex-direction:column;align-items:center;gap:18px;display:flex}.ov-otp-box{border:4px solid var(--border);min-height:180px;box-shadow:var(--shadow-small);background:#fff;border-radius:24px;justify-content:center;align-items:center;transition:transform .15s;display:flex}.ov-otp-box.flash{transform:scale(.97)}.ov-otp{letter-spacing:.14em;-webkit-user-select:all;user-select:all;font-size:clamp(3.5rem,10vw,5rem);font-weight:900;line-height:1}.ov-progress{border:3px solid var(--border);background:#fff;border-radius:999px;width:100%;height:22px;overflow:hidden}.ov-progress-fill{background:var(--success);-o-transition:width .2s linear, background .2s linear;width:100%;height:100%;transition:width .2s linear,background .2s linear}.ov-progress-fill.warning{background:var(--warning)}.ov-progress-fill.danger{background:var(--danger)}.ov-countdown{justify-content:space-between;align-items:center;font-size:.95rem;font-weight:700;display:flex}.ov-button-group{grid-template-columns:1fr 1fr;gap:18px;display:grid}.ov-copy-success{background:var(--success)!important}.ov-lock{background:#fff}.ov-divider{background:var(--border);opacity:.12;width:100%;height:2px}.ov-footer{color:var(--muted);text-align:center;font-size:.88rem;line-height:1.6}.ov-bg{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.ov-bg-logo{color:var(--border);-webkit-user-select:none;user-select:none;will-change:transform;position:absolute}.ov-page{z-index:1;position:relative}.admin-layout{background:#0b1016;width:100%;height:100vh;display:flex;position:relative;overflow:hidden}.admin-main{z-index:2;flex-direction:column;flex:1;display:flex;position:relative}.admin-content{flex:1;padding:32px;overflow:auto}.admin-sidebar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:5;background:#111822e6;border-right:1px solid #ffffff0f;flex-direction:column;flex-shrink:0;width:280px;padding:28px;display:flex}.admin-sidebar__logo{background:#1e293b;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;display:flex}.admin-sidebar__title{color:#fff;font-size:18px;font-weight:700}.admin-sidebar__subtitle{color:#94a3b8;margin-top:2px;font-size:13px}.admin-nav-item{color:#cbd5e1;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:14px;width:100%;height:46px;padding:0 16px;font-size:15px;font-weight:600;transition:all .18s}.admin-nav-item:hover{color:#fff;background:#ffffff0d}.admin-nav-item.active{color:#08120b;background:#22c55e}.admin-nav-item.danger{color:#f87171}.admin-nav-item.danger:hover{background:#f871711f}.admin-topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;height:72px;padding:0 32px;display:flex}.admin-topbar__user{color:#cbd5e1;font-size:15px;font-weight:600}.dashboard-placeholder{justify-content:center;align-items:center;height:100%;display:flex}.dashboard-placeholder__card{color:#fff;text-align:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#171f2b;border:1px solid #ffffff0f;border-radius:24px;width:420px;padding:36px}.dashboard-placeholder__card h2{margin:0 0 12px;font-size:28px}.dashboard-placeholder__card p{color:#94a3b8;margin:0}.admin-login{background:#0f1117;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:40px;display:flex}.admin-login__card{background:#1b2230;border:3px solid #000;border-radius:24px;width:460px;padding:36px;box-shadow:8px 8px #000}.admin-login__card .ov-title{color:#fff}.admin-login__card .ov-subtitle{color:#9ca3af}.admin-login__card .ov-input{color:#fff;background:#2a3446}.admin-login__card .ov-logo{color:#38d66b}.admin-login__brand{text-align:center;margin-bottom:28px}.admin-login__form{flex-direction:column;gap:14px;display:flex}.admin-loading{justify-content:center;align-items:center;width:100%;height:100vh;display:flex}.admin-loading__card{text-align:center;background:#1b2230;border:3px solid #000;border-radius:24px;width:380px;padding:36px;box-shadow:8px 8px #000}.admin-loading__logo{color:#3ddc6d;margin-bottom:18px;font-size:30px;font-weight:700}.admin-loading h2{color:#fff;margin-bottom:12px}.admin-loading p{color:#a8b2c4}.admin-login .ov-logo{color:#38d66b;margin:0 auto 20px}.admin-login button:disabled{opacity:.7;cursor:not-allowed}.admin-login__error{animation:.18s adminFade}.admin-login input::placeholder{color:#8a97ab}.admin-login input:focus{transform:translate(-2px,-2px);box-shadow:6px 6px #000}.admin-login__error{color:#111;background:#ff6b6b;border:3px solid #000;border-radius:14px;margin-top:18px;padding:14px;font-weight:600;box-shadow:4px 4px #000}.hidden{display:none}@keyframes adminFade{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.admin-layout{background:#111827;width:100%;min-height:100vh;display:flex}.admin-layout__sidebar{flex-shrink:0;width:280px}.admin-layout__main{flex-direction:column;flex:1;min-width:0;display:flex}.admin-layout__topbar{flex-shrink:0}.admin-layout__content{flex:1;padding:32px;overflow:auto}.admin-sidebar{background:#1b2230;border-right:4px solid #000;flex-direction:column;height:100%;padding:28px;display:flex}.admin-sidebar__brand{align-items:center;gap:16px;margin-bottom:36px;display:flex}.admin-sidebar__title-group h2{color:#fff;font-size:20px;font-weight:800}.admin-sidebar__title-group p{color:#94a3b8;font-size:13px}.admin-sidebar__nav{flex-direction:column;flex:1;gap:10px;display:flex}.admin-sidebar__item{color:#d1d5db;background:0 0;border-radius:18px;width:100%;height:52px;font-weight:700;transition:all .18s}.admin-sidebar__item:hover{background:#2a3446}.admin-sidebar__item.active{color:#111827;background:#57e389}.admin-sidebar__footer{padding-top:24px}.admin-sidebar__logout{color:#fff;background:#ef4444;border-radius:18px;width:100%;height:52px;font-weight:700}.admin-topbar{background:#1b2230;border-bottom:4px solid #000;justify-content:space-between;align-items:center;height:76px;padding:0 28px;display:flex}.admin-topbar__left{align-items:center;display:flex}.admin-topbar__right{align-items:center;gap:12px;display:flex}.admin-topbar__title{color:#fff;font-size:26px;font-weight:900}.ov-table{background:#1b2230;border:4px solid #000;border-radius:24px;overflow:hidden}.ov-table table{border-collapse:collapse;width:100%}.ov-table thead{background:#2a3446}.ov-table th{text-align:left;color:#fff;padding:18px 22px;font-weight:800}.ov-table td{color:#e5e7eb;border-top:2px solid #2a3446;padding:18px 22px}.ov-table tr:hover{background:#232d40}.ov-table__empty{text-align:center;color:#9ca3af;padding:48px}.ov-admin-page{flex-direction:column;display:flex}.ov-page-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.ov-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.ov-toolbar .ov-input{flex:1}.ov-table-container{margin-top:12px}.ov-footer{color:#9ca3af;justify-content:space-between;align-items:center;margin-top:20px;font-size:14px;display:flex}.ov-search{background:#fff;border:4px solid #111;border-radius:18px;flex:1;align-items:center;gap:12px;height:56px;padding:0 16px;display:flex}.ov-search input{background:0 0;border:none;outline:none;flex:1;font-size:16px}.ov-toolbar-actions{gap:12px;display:flex}.ov-icon-btn{cursor:pointer;background:#fff;border:4px solid #111;border-radius:18px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.ov-icon-btn:hover{transform:translateY(-2px)}.ov-modal{opacity:0;pointer-events:none;z-index:9999;background:#000000a6;justify-content:center;align-items:center;transition:all .2s;display:flex;position:fixed;inset:0}.ov-modal.show{opacity:1;pointer-events:auto}.ov-modal-window{background:#1d2433;border:4px solid #111;border-radius:24px;width:min(560px,90vw);transition:all .2s;overflow:hidden;transform:translateY(18px);box-shadow:8px 8px #000}.ov-modal.show .ov-modal-window{transform:translateY(0)}.ov-modal-header{border-bottom:3px solid #111;padding:24px}.ov-modal-header h3{color:#fff;margin:0;font-size:24px;font-weight:800}.ov-modal-body{padding:24px}.ov-modal-footer{border-top:3px solid #111;justify-content:flex-end;gap:12px;padding:24px;display:flex}.otp-form{flex-direction:column;gap:20px;display:flex}.otp-field{flex-direction:column;gap:8px;display:flex}.otp-field label{color:#fff;font-weight:700}.otp-field input,.otp-field textarea{color:#fff;background:#2d3648;border:3px solid #111;border-radius:16px;padding:14px;font-size:15px}.otp-field textarea{resize:vertical;min-height:120px}.otp-modal-footer{justify-content:flex-end;gap:12px;display:flex}.otp-field-error{color:#ef4444;min-height:18px;margin-top:6px;font-size:13px}.otp-input-error{border-color:#ef4444!important}.otp-input-success{border-color:#22c55e!important}.ov-action-btn{justify-content:center;align-items:center;width:42px;height:42px;display:flex}.ov-action-menu{z-index:9999;background:#1d2433;border:3px solid #111;border-radius:16px;flex-direction:column;min-width:140px;display:flex;position:fixed;overflow:hidden;box-shadow:6px 6px #000}.ov-action-item{color:#fff;text-align:left;cursor:pointer;background:0 0;border:none;padding:12px 16px}.ov-action-item:hover{background:#2f3a50}.ov-notice{border:3px solid #111;border-radius:18px;margin-bottom:20px;padding:16px 20px;font-weight:700;display:none}.ov-notice.show{display:block}.ov-notice.success{color:#065f46;background:#d1fae5}.ov-notice.error{color:#991b1b;background:#fee2e2}.ov-notice.info{color:#1d4ed8;background:#dbeafe}.otp-delete{flex-direction:column;gap:16px;display:flex}.otp-delete-label{color:#fff;word-break:break-word;background:#1e293b;border:3px solid #111;border-radius:16px;align-items:center;gap:12px;padding:18px;font-size:16px;font-weight:700;display:flex;box-shadow:4px 4px #111}.otp-delete-warning{color:#92400e;background:#fef3c7;border:3px dashed #eab308;border-radius:16px;align-items:flex-start;gap:12px;padding:14px 16px;font-size:14px;font-weight:600;line-height:1.5;display:flex}.otp-delete-content{flex-direction:column;gap:18px;display:flex}.otp-delete-text{color:#94a3b8;margin:0;font-size:15px;line-height:1.6}.otp-modal-footer{gap:12px;display:flex}.ov-btn-danger:hover{transform:translate(2px,2px);box-shadow:2px 2px #111}.ov-btn-danger:active{box-shadow:none;transform:translate(4px,4px)}.otp-modal-footer{gap:14px;margin-top:8px;display:flex}.otp-modal-footer .ov-btn{flex:1}
