@font-face{font-family:Vazirmatn;src:url(Vazirmatn-Regular.woff2) format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Vazirmatn;src:url(Vazirmatn-Bold.woff2) format('woff2');font-weight:700;font-display:swap}
:root{--navy:#021651;--gold:#f4b740;--teal:#009292;--bg:#f5f7fb;--ink:#172744;--muted:#67758c;--line:#e3e9f2;--white:#fff;--red:#ad3445;--green:#147c5c;--shadow:0 5px 24px #02165108}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.9 Vazirmatn,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,.btn{border:0;border-radius:10px;padding:11px 18px;cursor:pointer;background:#eaf0f8;color:var(--navy);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;text-decoration:none;transition:background .15s,transform .15s}button:hover,.btn:hover{filter:brightness(.97)}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button.primary,.btn.primary{background:var(--gold);color:#102044}button.teal{background:var(--teal);color:white}button.danger{color:var(--red);background:#fff0f2}button.ghost{background:transparent;border:1px solid var(--line)}button.small{padding:6px 10px;font-size:12px}.icon{width:21px;height:21px;flex-shrink:0;vertical-align:middle;fill:none}h1,h2,h3,p{margin:0}h1{font-size:25px}h2{font-size:18px}h3{font-size:16px}a{color:var(--teal)}.muted{color:var(--muted)}.small-text{font-size:12px}.loading{padding:20vh 20px;text-align:center}.sidebar{position:fixed;right:0;top:0;bottom:0;width:235px;background:white;border-left:1px solid var(--line);padding:30px 18px;z-index:10;display:flex;flex-direction:column}.brand{text-align:center;padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:22px}.brand img{width:150px;height:91px;object-fit:contain}.brand p{font-size:12px;color:var(--muted);margin-top:5px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.nav-item{display:flex;gap:12px;align-items:center;border-radius:10px;color:#586780;text-decoration:none;padding:11px 14px;font-weight:700}.nav-item.active{background:var(--navy);color:#fff;box-shadow:0 4px 12px #02165122}.nav-item:not(.active):hover{background:var(--bg)}.sidebar-bottom{margin-top:auto;padding-top:22px;font-size:11px;color:var(--muted)}.workspace{margin-right:235px;padding:0 36px 40px;max-width:1900px}.topbar{height:94px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:14px;margin-bottom:28px}.topbar-actions{display:flex;gap:8px;align-items:center}.avatar{background:#e8f1f2;color:var(--teal);height:40px;width:40px;border-radius:50%;display:grid;place-items:center;font-weight:700}.welcome{display:flex;gap:12px;align-items:center}.welcome strong{display:block}.page-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}.page-title p{color:var(--muted);font-size:13px}.hero{background:var(--navy);border-radius:20px;color:white;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px;overflow:hidden;position:relative;min-height:190px}.hero h1{font-size:30px;margin-bottom:7px}.hero p{color:#d7e0f7;max-width:520px;margin-bottom:18px}.hero-art{width:155px;height:140px;display:grid;place-items:center;background:#0a3f68;border-radius:50% 35% 50% 30%;transform:rotate(-10deg);flex-shrink:0}.hero-art .icon{width:85px;height:85px;color:var(--gold);transform:rotate(10deg);stroke-width:1.2}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:26px}.stat{border:1px solid var(--line);background:white;border-radius:14px;padding:19px 17px;display:flex;gap:14px;align-items:center;box-shadow:var(--shadow)}.stat-icon{display:grid;place-items:center;background:#fff6df;color:#b47713;border-radius:13px;width:46px;height:46px;flex-shrink:0}.stat:nth-child(2) .stat-icon{color:var(--teal);background:#e5f6f6}.stat:nth-child(3) .stat-icon{color:var(--green);background:#e4f5ed}.stat:nth-child(4) .stat-icon{color:#487cd1;background:#edf3ff}.stat strong{display:block;font-size:25px;color:var(--navy);line-height:1.5}.stat span{font-size:12px;color:var(--muted)}.section{background:white;border:1px solid var(--line);padding:24px;border-radius:16px;box-shadow:var(--shadow);margin-bottom:24px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.section-heading h2{border-right:4px solid var(--gold);padding-right:10px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.course,.reward{border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:white}.course .icon{color:var(--teal);width:32px;height:32px}.course .points,.reward .points{font-size:20px;font-weight:700;color:var(--teal)}.course p,.reward p{color:var(--muted);font-size:12px}.course button{align-self:stretch;margin-top:5px}.reward-grid{grid-template-columns:repeat(4,1fr)}.reward .reward-icon{width:60px;height:60px;display:grid;place-items:center;background:#fff6df;border-radius:16px;color:#ba831b;margin-bottom:5px}.reward-icon .icon{height:31px;width:31px}.reward p{flex:1;white-space:pre-line}.reward button{width:100%;margin-top:8px}.reward .points small{font-size:12px;font-weight:400}.badge{font-size:11px;padding:3px 10px;border-radius:20px;white-space:nowrap;background:#eef1f6;color:var(--muted);display:inline-block}.badge.pending{background:#fff2d4;color:#88600f}.badge.approved,.badge.fulfilled{background:#e0f5eb;color:#126548}.badge.rejected{background:#ffebee;color:#a22b40}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:right;font-size:12px}th{font-size:11px;color:var(--muted);background:#f5f7fb;font-weight:700}td,th{padding:13px 15px;border-bottom:1px solid var(--line)}tr:last-child td{border:0}td.reason{white-space:normal;min-width:180px;max-width:300px}.empty{padding:40px 16px;text-align:center;color:var(--muted)}.empty .icon{display:block;margin:0 auto 12px;width:32px;height:32px}.positive{color:var(--green);font-weight:700}.negative{color:var(--red);font-weight:700}.notice{padding:14px 18px;background:#eaf4fa;border-radius:10px;font-size:12px;margin:15px 0;line-height:2;color:#37576f}.error{padding:12px 15px;background:#fff0f2;color:var(--red);border-radius:10px;margin:14px 0}.note-row{padding:15px 0;display:flex;gap:15px;border-bottom:1px solid var(--line)}.note-row:last-child{border:0}.note-row.unread .stat-icon{background:#fff1d4}.note-row p{margin-bottom:3px}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:20px}.toolbar input{max-width:300px}.split{display:grid;grid-template-columns:1fr 1fr;gap:22px}.bar-row{display:grid;grid-template-columns:100px 1fr 55px;align-items:center;gap:10px;margin:15px 0}.bar-track{height:12px;border-radius:8px;background:#edf4f4;overflow:hidden}.bar-fill{height:100%;background:var(--teal)}.bar-fill.level-1{width:10%}.bar-fill.level-2{width:20%}.bar-fill.level-3{width:30%}.bar-fill.level-4{width:40%}.bar-fill.level-5{width:50%}.bar-fill.level-6{width:60%}.bar-fill.level-7{width:70%}.bar-fill.level-8{width:80%}.bar-fill.level-9{width:90%}.bar-fill.level-10{width:100%}.mobile-nav,.menu-toggle{display:none}.pill-count{background:#eaa728;color:var(--navy);border-radius:50%;min-width:17px;height:17px;display:inline-grid;place-items:center;font-size:10px}.footer{color:var(--muted);font-size:11px;text-align:center;padding:15px}label{display:block;font-size:12px;font-weight:700;margin-bottom:16px}input,select,textarea{display:block;width:100%;padding:11px 13px;border:1px solid #cfd9e6;border-radius:9px;background:white;color:var(--ink);outline:none;margin-top:6px;min-height:45px;font-size:14px}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #00929212}textarea{resize:vertical;min-height:95px}input[type=checkbox]{display:inline-block;width:18px;min-height:18px;vertical-align:middle}fieldset{border:0;margin:0;padding:0}input[dir=ltr]{text-align:left}dialog{width:min(520px,calc(100% - 28px));border:1px solid var(--line);border-radius:18px;padding:27px;color:var(--ink);background:white;max-height:90vh;overflow:auto;box-shadow:0 25px 80px #02165133}dialog::backdrop{background:#06132e99;backdrop-filter:blur(3px)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-head h2{font-size:18px}.modal-actions{display:flex;gap:10px;margin-top:20px}.modal-actions button{flex:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}#toast{position:fixed;bottom:28px;left:28px;max-width:min(450px,90vw);padding:14px 22px;background:var(--navy);color:white;border-radius:12px;z-index:100;box-shadow:0 5px 25px #02165133;display:none}#toast.visible{display:block}#toast.bad{background:#9f3044}.auth-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:white}.auth-visual{background:var(--navy);color:white;padding:70px;display:flex;flex-direction:column;justify-content:center;gap:22px;position:relative;overflow:hidden}.auth-visual h1{font-size:40px}.auth-visual p{color:#cdd8f1;max-width:390px;line-height:2.3}.auth-visual .hero-art{width:210px;height:190px;margin-bottom:25px}.auth-visual .hero-art .icon{width:110px;height:110px}.auth-form-wrap{display:flex;align-items:center;justify-content:center;padding:45px 28px}.auth-card{width:100%;max-width:440px;margin:auto}.auth-logo{width:185px;height:115px;object-fit:contain;display:block;margin:0 auto 25px}.auth-card h1{font-size:24px;margin-bottom:8px}.auth-card>p{color:var(--muted);margin-bottom:25px;font-size:13px}.auth-card form{margin-top:25px}.auth-card button.primary{width:100%}.auth-note{padding:17px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted);margin-top:25px}.setup{display:grid;place-items:center;min-height:100vh;padding:35px}.setup .auth-card{padding:30px;border:1px solid var(--line);background:white;border-radius:18px;max-width:500px}.secret{display:block;background:#f0f4fa;overflow-wrap:anywhere;padding:16px;margin-bottom:20px;letter-spacing:2px}.login-error:empty{display:none}.rank{color:#ae7b17;background:#fff4d9;border-radius:50%;height:28px;width:28px;display:inline-grid;place-items:center;margin-left:8px}.badge-space{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.member-identity{display:flex;align-items:center;gap:12px}.nowrap{white-space:nowrap}:focus-visible{outline:3px solid #00929277;outline-offset:3px}.full-width{width:100%}.spaced{margin-top:20px}
@media(min-width:1600px){.workspace{padding-right:55px;padding-left:55px}.hero{padding:38px 45px;min-height:220px}.hero h1{font-size:36px}.section{padding:30px}}
@media(max-width:1200px){.sidebar{width:205px;padding:24px 12px}.workspace{margin-right:205px;padding:0 22px 30px}.stats{grid-template-columns:repeat(2,1fr)}.reward-grid{grid-template-columns:repeat(2,1fr)}.cards{gap:12px}.course{padding:17px}.auth-visual{padding:40px}}
@media(max-width:800px){.sidebar{transform:translateX(100%);transition:transform .2s;width:235px;box-shadow:-15px 0 60px #02165122}.sidebar.open{transform:translateX(0)}.workspace{margin-right:0;padding:0 17px 95px}.topbar{height:78px;margin-bottom:20px}.topbar .welcome .avatar{display:none}.welcome strong{font-size:12px}.topbar-actions .desktop-label{display:none}.menu-toggle{display:inline-flex}.page-title{align-items:flex-start}.page-title h1{font-size:22px}.hero{padding:24px;min-height:200px}.hero h1{font-size:24px}.hero p{font-size:12px}.hero-art{width:90px;height:95px}.hero-art .icon{width:58px;height:58px}.stats{gap:10px;margin-bottom:20px}.stat{padding:15px 12px;gap:10px}.stat-icon{width:36px;height:36px;border-radius:10px}.stat strong{font-size:22px}.stat span{font-size:10px}.section{padding:18px;margin-bottom:18px}.section-heading h2{font-size:16px}.cards{grid-template-columns:1fr}.course{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:6px 12px}.course h3{font-size:14px}.course>.icon{grid-row:span 2}.course p{grid-column:2}.course .points{font-size:16px;grid-column:3;grid-row:1}.course button{grid-column:3;grid-row:2;padding:6px 10px;font-size:11px}.reward-grid{grid-template-columns:repeat(2,1fr)}.reward{padding:16px;gap:8px}.reward h3{font-size:13px}.reward .points{font-size:18px}.reward .reward-icon{width:47px;height:47px}.reward button{font-size:11px;padding:10px 8px}.split{grid-template-columns:1fr;gap:0}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--line);z-index:9;padding:9px 6px max(9px,env(safe-area-inset-bottom));justify-content:space-around;box-shadow:0 -5px 20px #02165108}.mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;text-decoration:none;color:var(--muted);min-width:50px}.mobile-nav a.active{color:var(--navy);font-weight:700}.mobile-nav a.active .icon{color:var(--teal)}.auth-page{display:block;background:var(--bg);min-height:100vh}.auth-visual{display:none}.auth-form-wrap{padding:40px 24px;min-height:100vh}.auth-card{background:white;border:1px solid var(--line);border-radius:18px;padding:25px}.auth-card h1{font-size:22px}.form-grid{grid-template-columns:1fr}.toolbar input{max-width:100%}#toast{left:15px;right:15px;bottom:90px;max-width:none}.setup{padding:20px 10px}.hero .hero-art{display:none}.page-title .btn{font-size:11px;padding:10px}.badge{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.sidebar .brand,.sidebar-bottom{flex-shrink:0}.sidebar nav{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin}
body{overflow-x:hidden}@media(max-width:800px){.topbar .welcome>div:last-child{display:none}.topbar{gap:8px}.topbar-actions{gap:6px}.topbar-actions .small,.menu-toggle{padding:9px 10px}}

.auth-step{display:flex;gap:10px;align-items:center;color:var(--teal);font-size:12px;margin-bottom:20px}.mfa-card{border-top:4px solid var(--teal)}.otp-qr{width:230px;max-width:100%;margin:16px auto;background:white;border:1px solid var(--line);border-radius:12px;padding:10px;line-height:0}.otp-qr svg{display:block;width:100%;height:auto}.mfa-card input[name=code]{font-size:25px;letter-spacing:8px;text-align:center}
