:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;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{--bg: #f4f7fb;--card: #ffffff;--text: #0f172a;--muted: #64748b;--primary: #178ac1;--primary-dark: #03569e;--male: #2563eb;--female: #ec4899;--success: #10b981;--warning: #d8031f;--radius: 10px}@font-face{font-family:IranSans;src:url(/assets/IRANSansX-Regular-Mi8zy5jZ.woff2) format("woff2"),url(/assets/IRANSansX-Regular-872jLp0U.woff) format("woff");font-weight:400}@font-face{font-family:IranSans;src:url(/assets/IRANSansX-Bold-XwnOoujv.woff2) format("woff2"),url(/assets/IRANSansX-Bold-DoggCLO3.woff) format("woff");font-weight:700}*{box-sizing:border-box;font-family:IranSans,-apple-system,BlinkMacSystemFont,Vazirmatn,Segoe UI,sans-serif}body{margin:0;background:var(--bg);color:var(--text)}#root{width:100%}.app-container{display:flex;flex-direction:column;min-height:100vh;max-width:420px;margin:0 auto}.main-content{flex:1;padding:12px}.app-header{position:sticky;padding:20px 25px;top:0;background:#03569e;color:#fff;display:flex;z-index:100}.app-header .titles h1{margin:0;font-size:24px}.typing-container{margin-top:6px;font-size:14px;font-weight:500;color:#e0f2fe;min-height:22px;text-align:right}.cursor{animation:blink 1s infinite;font-weight:700}@keyframes blink{0%,50%,to{opacity:1}25%,75%{opacity:0}}.bottom-nav{position:fixed;bottom:0;margin:0 auto;display:flex;background:#fff;border-top:1px solid #e5e7eb;box-shadow:0 -2px 8px #00000014;justify-content:space-around;padding:6px 0;z-index:10}@media screen and (max-width:420px){.bottom-nav{width:100%}}@media screen and (min-width:420px){.bottom-nav{width:420px}}.bottom-nav .nav-item{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--muted);font-size:12px;flex:1;transition:color .2s ease}.bottom-nav .nav-item .nav-icon{width:24px;height:24px;margin-bottom:2px;fill:currentColor}.bottom-nav .nav-item.active,.bottom-nav .nav-item:hover{color:var(--primary-dark)}.bottom-nav .nav-label{font-size:12px}@media(min-width:768px){body{background:#e5e7eb}.app-container{background:var(--bg);box-shadow:0 0 0 1px #e5e7eb}}.cards{display:flex;flex-direction:column;gap:12px;margin:20px 0 100px}.card{background:var(--card);border-radius:var(--radius);box-shadow:0 10px 25px #0f172a14,0 4px 10px #0f172a0a;border:1px solid rgb(211,208,208);position:relative;overflow:hidden;margin:10px 15px 0}.card .card-body{padding:10px 20px 20px}.event-title{font-size:18px;font-weight:700;margin-bottom:10px;margin-top:0}.card .card-banner{width:100%;height:120px;position:relative;overflow:hidden;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.card-banner img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.85)}.banner-text{position:absolute;bottom:10px;right:15px;color:#fff;font-size:16px;font-weight:700;text-shadow:0 0 5px rgba(0,0,0,.6)}.banner-status{position:absolute;bottom:10px;right:10px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:12px;color:#fff;text-shadow:0 0 3px rgba(0,0,0,.5)}.banner-status.open{background-color:#10b981}.banner-status.full{background-color:#ef4444}.slots-label{font-weight:600;margin-top:10px}.slot{aspect-ratio:1/1;border-radius:10px;display:flex;align-items:center;justify-content:center;position:relative}.slot.empty{border:2px dashed #cbd5e1;background:#f8fafc}.status-badge{position:absolute;top:10px;left:10px;font-size:11px;padding:5px 10px;border-radius:20px}.event-title{font-size:18px;font-weight:700;margin-bottom:10px}.event-meta{font-size:14px;display:flex;flex-direction:column;gap:4px}.slots-section{display:flex;flex-direction:column}.slots-label{font-size:14px;font-weight:600;margin-top:10px;margin-bottom:4px}.slots-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.slot{aspect-ratio:1 / 1;width:100%;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4px;font-size:12px;cursor:pointer;position:relative;transition:transform .15s ease,box-shadow .15s ease}.slot:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.slot-badge{width:32px;height:32px;border-radius:50%;background:#d1fae5;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.slot-check{color:#10b981;font-size:18px;font-weight:700}.slot-info{font-size:12px;font-weight:500;color:#0f172a}.slot.empty{border:2px dashed #cbd5e1;color:#94a3b8;background:#f8fafc}.slot.empty:hover{background:#e2e8f0}.slot.filled{border:1px solid #e5e7eb;overflow:hidden}.slot.coordinator{background:#dbeafe;border:1px solid #3b82f6;font-size:11px;font-weight:600}.status-badge{position:absolute;top:10px;left:10px;font-size:11px;font-weight:600;padding:5px 10px;border-radius:20px;z-index:2}.status-badge.open{background:#dcfce7;color:#166534;border:1px solid #22c55e}.status-badge.full{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.slot.disabled{cursor:not-allowed;opacity:.6}.skeleton-card{border-radius:var(--radius);background:#fff;box-shadow:0 10px 25px #0f172a14,0 4px 10px #0f172a0a;display:flex;flex-direction:column;gap:12px;overflow:hidden;height:400px;margin:20px}.skeleton-card .card-banner{width:100%;height:120px;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);background:linear-gradient(90deg,#f0f0f0 25%,#e6e6e6 37%,#f0f0f0 63%);background-size:400% 100%;animation:shimmer 1.4s infinite;position:relative}.skeleton-card .banner-status{position:absolute;bottom:10px;right:15px;width:60px;height:16px;border-radius:12px;background:linear-gradient(90deg,#f0f0f0 25%,#e6e6e6 37%,#f0f0f0 63%);background-size:400% 100%;animation:shimmer 1.4s infinite}.skeleton-card .card-body{padding:10px 20px 20px;display:flex;flex-direction:column;gap:8px}.skeleton-card .skeleton-line{height:14px;border-radius:6px;background:linear-gradient(90deg,#f0f0f0 25%,#e6e6e6 37%,#f0f0f0 63%);background-size:400% 100%;animation:shimmer 1.4s infinite}.skeleton-card .skeleton-line.title{width:50%;height:18px;margin-bottom:4px}.skeleton-card .skeleton-line.meta{width:70%}.skeleton-card .skeleton-line.topic{width:60%}.skeleton-card .slots-section{display:flex;flex-direction:column;gap:6px;margin-top:10px}.skeleton-card .slots-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.skeleton-card .slot-skeleton{aspect-ratio:1 / 1;width:100%;border-radius:12px;background:linear-gradient(90deg,#f0f0f0 25%,#e6e6e6 37%,#f0f0f0 63%);background-size:400% 100%;animation:shimmer 1.4s infinite}.profile-container{padding:20px;display:flex;justify-content:center}.profile-card{width:100%;max-width:420px;background:#fff;border-radius:20px;padding:30px 25px;box-shadow:0 10px 30px #0000000d;text-align:center;transition:.3s ease}.profile-card:hover{transform:translateY(-4px)}.avatar{width:90px;height:90px;margin:0 auto 15px;border-radius:50%;background:linear-gradient(135deg,#6a11cb,#2575fc);color:#fff;font-size:36px;font-weight:700;display:flex;align-items:center;justify-content:center}.profile-name{margin:10px 0 25px;font-size:22px;font-weight:600}.profile-info{margin-bottom:25px}.info-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f0f0f0}.label{color:#777;font-size:14px}.value{font-weight:500}.logout-btn{width:100%;padding:12px;border-radius:12px;border:none;background:#ff4d4f;color:#fff;font-size:15px;cursor:pointer;transition:.2s ease}.logout-btn:hover{background:#e63946}.skeleton{height:250px;border-radius:20px;background:linear-gradient(90deg,#f0f0f0 25%,#e6e6e6 37%,#f0f0f0 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.login-form{background:var(--card);border-radius:var(--radius);padding:25px 20px;margin:30px 12px;box-shadow:0 10px 25px #0f172a14,0 4px 10px #0f172a0a;display:flex;flex-direction:column}.login-form h3{margin:0 0 15px;font-size:20px;font-weight:700;color:var(--text);text-align:center}.login-form input,.login-form select{padding:12px 15px;border:1px solid #d3d0d0;border-radius:var(--radius);font-size:14px;outline:none;width:100%;transition:border .2s ease,box-shadow .2s ease}.login-form input:focus,.login-form select:focus{border-color:var(--primary);box-shadow:0 0 0 2px #0b5ed733}.login-form .btn{background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius);padding:12px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s ease,transform .15s ease,box-shadow .15s ease;box-shadow:0 2px 6px #0f172a26;margin-top:15px;outline:none}.login-form .btn:hover{background-color:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 10px #0f172a33}.login-form .btn:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed;box-shadow:none}@media(min-width:768px){.login-form{margin:40px auto;max-width:400px}}.info-text{text-align:center;margin-bottom:8px;font-size:14px}.timer{text-align:center;margin-bottom:16px;font-size:14px;color:#666}.timer.expired{color:#e53935}.btn.secondary{background:transparent;color:#555;border:1px solid #ccc}.floating-input{position:relative;margin:10px 0}.floating-input input,.floating-input select{width:100%;padding:14px 12px;font-size:14px;border:1px solid #d3d0d0;border-radius:var(--radius);outline:none;background:transparent;transition:border .2s ease}.floating-input label{position:absolute;right:12px;top:14px;color:#64748b;font-size:14px;pointer-events:none;transition:all .2s ease;background:var(--card);padding:0 4px}.floating-input input:focus+label,.floating-input input:not(:placeholder-shown)+label,.floating-input select:focus+label,.floating-input select:not([value=""])+label{top:-8px;right:8px;font-size:12px;color:var(--primary)}.floating-input.error input,.floating-input.error select{border:1.5px solid var(--warning)}.error-text{color:var(--warning);font-size:.85rem;margin:0;text-align:center}
