:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--ad-accent: #b8860b;--ad-accent-soft: rgba(184, 134, 11, .25);--ad-bg-dark: #0c0c0e;--ad-bg-card: #16161a;--ad-border: rgba(255, 255, 255, .09);--ad-text: #f4f4f5;--ad-text-muted: rgba(255, 255, 255, .55);--ad-error: #e07c7c}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#0c0c0e,#1a1a1f,#141418)}.login-card{width:100%;max-width:360px;padding:2.5rem;background:var(--ad-bg-card);border:1px solid var(--ad-border);border-radius:16px;box-shadow:0 24px 48px #00000080}.login-card h1{margin:0 0 .25rem;font-size:1.5rem;font-weight:600;color:var(--ad-text);letter-spacing:-.02em}.login-sub{margin:0 0 .5rem;font-size:.9rem;color:var(--ad-text-muted)}.login-admin-only{margin:0 0 1.75rem;font-size:.8rem;color:var(--ad-text-muted);opacity:.9}.login-card form{display:flex;flex-direction:column;gap:1rem}.login-card input{padding:.85rem 1rem;font-size:.95rem;border:1px solid var(--ad-border);border-radius:10px;background:#ffffff0d;color:var(--ad-text);outline:none;transition:border-color .2s,box-shadow .2s}.login-card input::placeholder{color:#ffffff59}.login-card input:focus{border-color:var(--ad-accent);box-shadow:0 0 0 3px var(--ad-accent-soft)}.login-error{margin:0;font-size:.85rem;color:var(--ad-error)}.login-card button{padding:.9rem;font-size:.95rem;font-weight:500;color:#1a1a1a;background:linear-gradient(135deg,#c9a227,#b8860b);border:none;border-radius:10px;cursor:pointer;transition:opacity .2s,transform .1s,box-shadow .2s;box-shadow:0 2px 8px #b8860b4d}.login-card button:hover:not(:disabled){opacity:.95;transform:translateY(-1px);box-shadow:0 4px 12px #b8860b66}.login-card button:disabled{opacity:.6;cursor:not-allowed}.dashboard{width:100%;min-width:100%;min-height:100vh;height:100vh;display:flex;flex-direction:column;background:linear-gradient(160deg,#0c0c0e,#1a1a1f,#141418);color:#e4e4e7}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:1rem clamp(1rem,3vw,1.5rem);border-bottom:1px solid rgba(255,255,255,.09);flex-wrap:wrap;gap:.75rem;background:#16161a99}.dashboard-header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.btn-api-docs{display:inline-flex;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;font-family:inherit;color:#e0f2fe;background:#3b82f659;border:1px solid rgba(96,165,250,.6);border-radius:8px;text-decoration:none;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .2s,color .2s,border-color .2s}.btn-api-docs:hover{background:#3b82f680;color:#fff;border-color:#60a5fae6}.dashboard-header h1{margin:0;font-size:clamp(1rem,2vw,1.15rem);font-weight:600;color:#f4f4f5;letter-spacing:-.02em}.btn-logout{padding:.5rem 1rem;font-size:.875rem;color:#ffffffd9;background:transparent;border:1px solid rgba(184,134,11,.4);border-radius:8px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.btn-logout:hover{background:#b8860b26;color:#c9a227;border-color:#b8860b99}.dashboard-section-tabs{display:flex;gap:.25rem;padding:.75rem clamp(1rem,3vw,1.5rem) 0;border-bottom:1px solid rgba(255,255,255,.08);background:#16161a66}.dashboard-section-tabs button{padding:.5rem 1rem;font-size:.9rem;font-family:inherit;color:#ffffffa6;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:background .2s,color .2s}.dashboard-section-tabs button:hover{color:#ffffffe6;background:#ffffff0f}.dashboard-section-tabs button.active{color:#c9a227;background:#b8860b26;border-color:#b8860b59}.dashboard-main{flex:1;width:100%;min-width:0;min-height:0;padding:1.5rem clamp(1rem,3vw,2rem);display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:clamp(1.5rem,4vw,2.5rem);align-items:stretch}[dir=rtl] .dashboard-main,.dashboard-main-banners{grid-template-columns:minmax(280px,380px) 1fr}@media (max-width: 900px){.dashboard-main{grid-template-columns:1fr}}.banners-list-wrap{min-height:120px}.banner-item{background:#1e1e2499;border:1px solid rgba(255,255,255,.08);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.banner-preview{aspect-ratio:2 / 1;background:#0f0f12;display:flex;align-items:center;justify-content:center;overflow:hidden}.banner-preview img{width:100%;height:100%;object-fit:contain}.banner-text{padding:.5rem .75rem;font-size:.85rem;color:#fffc;line-height:1.4;flex:1}.banner-actions{padding:.5rem .75rem;border-top:1px solid rgba(255,255,255,.06)}.banner-actions button{padding:.35rem .75rem;font-size:.8rem;font-family:inherit;color:#e07c7c;background:transparent;border:1px solid rgba(224,124,124,.3);border-radius:6px;cursor:pointer}.banner-actions button:hover{background:#e07c7c1a}.form-section{background:#16161a;border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:1.5rem;box-shadow:0 4px 20px #0003;position:relative;overflow:hidden}.form-section-kind-strip{position:absolute;top:0;left:0;right:0;padding:.5rem 1rem;font-size:.85rem;font-weight:600;text-align:right;color:#c9a227;background:#b8860b33;border-bottom:1px solid rgba(184,134,11,.4)}.form-section-kind-strip-2{color:#60a5fa;background:#3b82f633;border-bottom-color:#3b82f666}.form-section-kind2{border-color:#3b82f64d;box-shadow:0 4px 20px #0003,0 0 0 1px #3b82f626}.form-section-kind-strip-3{color:#34d399;background:#34d39933;border-bottom-color:#34d39966}.form-section-kind3{border-color:#34d3994d;box-shadow:0 4px 20px #0003,0 0 0 1px #34d39926}.list-section{background:#16161a;border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:1.5rem;display:flex;flex-direction:column;min-height:0;overflow:hidden;box-shadow:0 4px 20px #0003}.list-section-kind-strip{padding:.5rem 0;margin-bottom:.75rem;font-size:.9rem;font-weight:600;text-align:right;color:#c9a227;border-bottom:1px solid rgba(184,134,11,.3)}.list-section-kind-strip-2{color:#60a5fa;border-bottom-color:#3b82f659}.list-section-kind-strip-3{color:#34d399;border-bottom-color:#34d39959}.list-section-kind-strip-all{color:#ffffffb3;border-bottom-color:#ffffff1f}.form-section h2,.list-section h2{margin:0 0 1.25rem;font-size:1rem;font-weight:600;color:#f4f4f5;flex-shrink:0;padding-bottom:.5rem;border-bottom:1px solid rgba(184,134,11,.25)}.form-section>h2{margin-top:2.25rem}.list-kind-tabs{display:flex;gap:.5rem;margin-bottom:1rem;flex-shrink:0}.list-kind-tabs button{padding:.5rem 1rem;font-size:.85rem;color:#ffffffb3;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.list-kind-tabs button:hover{background:#ffffff1a;color:#f4f4f5}.list-kind-tabs button.active{background:#b8860b40;border-color:#b8860b80;color:#c9a227}.ad-kind-badge{display:inline-block;padding:.2rem .5rem;font-size:.75rem;border-radius:6px;font-weight:500;margin-left:.5rem}.ad-kind-badge[data-kind="1"]{background:#b8860b33;color:#c9a227}.ad-kind-badge[data-kind="2"]{background:#3b82f633;color:#60a5fa}.ad-kind-badge[data-kind="3"]{background:#34d39933;color:#34d399}.list-section .ad-list-wrap{flex:1;min-height:0;overflow:auto}.ad-form{display:flex;flex-direction:column;gap:1.1rem}.form-row{display:flex;flex-direction:column;gap:.4rem}.form-row-kind{margin-bottom:.15rem}.form-row-kind label{color:#ffffffbf;font-weight:600}.form-row label{font-size:.8rem;color:#ffffff8c;font-weight:500}.form-row input[type=number],.form-row input[type=text],.form-row input[type=datetime-local],.form-row select,.form-row textarea{padding:.65rem .85rem;font-size:.9rem;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#1e1e24;color:#f4f4f5;outline:none;transition:border-color .2s,box-shadow .2s}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:#b8860b80;box-shadow:0 0 0 2px #b8860b26}.form-row select.form-select-type,.form-row select.form-select-unit{background-color:#1e1e24;color:#f4f4f5;cursor:pointer}.form-row select option{background:#1e1e24;color:#e4e4e7}.form-row-duration .duration-inputs{display:flex;gap:.5rem;align-items:center}.form-row-duration .duration-inputs input{width:6rem;flex-shrink:0}.form-row-duration .duration-inputs select{flex:1;min-width:0}.form-row input[type=file]{padding:.5rem 0;font-size:.85rem;color:#fffc}.file-name{font-size:.8rem;color:#ffffff80}.form-row textarea{resize:vertical;min-height:80px}.form-error{margin:0;font-size:.85rem;color:#e07c7c}.ad-form button[type=submit]{padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;color:#1a1a1a;background:linear-gradient(135deg,#c9a227,#b8860b);border:none;border-radius:8px;cursor:pointer;align-self:flex-start;transition:opacity .2s,box-shadow .2s;box-shadow:0 2px 8px #b8860b4d}.ad-form button[type=submit]:hover:not(:disabled){opacity:.95;box-shadow:0 4px 12px #b8860b66}.ad-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.muted{margin:0;color:#fff6;font-size:.9rem}.ad-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:1rem;align-content:start}.ad-item{background:#1e1e24;border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden;transition:border-color .2s,box-shadow .2s}.ad-item:hover{border-color:#b8860b4d;box-shadow:0 2px 12px #0003}.ad-item.inactive{opacity:.65}.ad-preview{aspect-ratio:16/10;background:#0000004d;display:flex;align-items:center;justify-content:center;overflow:hidden}.ad-preview img,.ad-preview video{width:100%;height:100%;object-fit:cover}.preview-text{padding:.75rem;font-size:.8rem;color:#ffffffe6;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.ad-meta{padding:.5rem .75rem;display:flex;gap:.5rem;font-size:.75rem;color:#ffffff80}.ad-schedule{padding:0 .75rem .5rem;font-size:.7rem;color:#ffffff73}.ad-type{text-transform:capitalize}.ad-actions{padding:.5rem .75rem;display:flex;gap:.5rem;border-top:1px solid rgba(255,255,255,.06)}.ad-actions button{padding:.35rem .65rem;font-size:.75rem;color:#fffc;background:#ffffff14;border:none;border-radius:6px;cursor:pointer;transition:background .2s}.ad-actions button:hover{background:#ffffff24}.ad-actions button:first-child{color:#7dd3a8}.ad-item.inactive .ad-actions button:first-child{color:#e07c7c}.api-doc{min-height:100vh;background:linear-gradient(160deg,#0c0c0e,#1a1a1f,#141418);color:#e4e4e7;display:flex;flex-direction:column}.api-doc-header{padding:1rem clamp(1rem,3vw,1.5rem);border-bottom:1px solid rgba(255,255,255,.09);background:#16161a99}.api-doc-back{padding:.5rem 1rem;font-size:.875rem;color:#ffffffd9;background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:8px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.api-doc-back:hover{background:#ffffff14;color:#f4f4f5;border-color:#ffffff40}.api-doc-main{flex:1;max-width:52rem;margin:0 auto;padding:2rem clamp(1rem,4vw,2rem);width:100%}.api-doc-title{margin:0 0 .5rem;font-size:1.75rem;font-weight:700;color:#f4f4f5;letter-spacing:-.02em}.api-doc-subtitle{margin:0 0 2.5rem;font-size:1rem;color:#fff9;line-height:1.5}.api-doc-section{margin-bottom:2.5rem}.api-doc-section-title{margin:0 0 1.25rem;font-size:1.25rem;font-weight:600;color:#e4e4e7;letter-spacing:-.01em}.api-doc-info-grid{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.api-doc-info-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}.api-doc-info-label{font-size:.9rem;color:#ffffff8c;font-weight:500;min-width:7rem}.api-doc-info-value{font-size:.9rem;padding:.25rem .5rem;background:#1e1e24e6;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#93c5fd;font-family:ui-monospace,monospace}.api-doc-note{margin:1rem 0 0;font-size:.9rem;color:#ffffffb3;line-height:1.6}.api-doc-note strong{color:#ffffffe6}.api-doc-endpoint{margin-bottom:2rem;padding:1.25rem;background:#16161a99;border:1px solid rgba(255,255,255,.08);border-radius:12px}.api-doc-endpoint-title{margin:0 0 .75rem;font-size:1.05rem;font-weight:600;color:#e4e4e7}.api-doc-method-path{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.api-doc-method{display:inline-block;padding:.25rem .6rem;font-size:.8rem;font-weight:600;background:#22c55e33;color:#86efac;border-radius:6px}.api-doc-path{font-size:.95rem;font-family:ui-monospace,monospace;color:#c4b5fd}.api-doc-desc{margin:0 0 1rem;font-size:.9rem;color:#ffffffa6;line-height:1.5}.api-doc-block{margin-bottom:1rem}.api-doc-block:last-child{margin-bottom:0}.api-doc-block-label{display:block;font-size:.85rem;font-weight:500;color:#ffffff80;margin-bottom:.4rem}.api-doc-code{display:block;margin:0;padding:1rem;font-size:.85rem;font-family:ui-monospace,monospace;line-height:1.5;background:#0f0f12e6;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#e4e4e7;overflow-x:auto;white-space:pre}.api-doc-params{margin:0;padding-right:1.25rem;list-style:disc;font-size:.9rem;color:#ffffffbf;line-height:1.65}.api-doc-params li{margin-bottom:.35rem}.api-doc-params code{font-size:.85em;padding:.1rem .35rem;background:#1e1e24cc;border-radius:4px;color:#c4b5fd}.api-doc-usage{margin:1rem 0 0;font-size:.9rem;color:#ffffffa6;line-height:1.5}.api-doc-usage code.api-doc-inline{display:inline-block;margin-top:.25rem;padding:.25rem .5rem;font-size:.85rem;background:#1e1e24e6;border-radius:4px;color:#93c5fd}.api-doc-inline{font-family:ui-monospace,monospace}*{box-sizing:border-box}html,body{margin:0;height:100%;direction:rtl;font-family:Vazirmatn,Tahoma,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased}#root{min-height:100%;height:100%;width:100%}.app-wrap{width:100%;min-height:100%;height:100%}
