@font-face{font-family:tajarib;src:url(../media/Tajarib_Regular-s.p.d24e3ba3.otf)format("opentype");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:tajarib;src:url(../media/Tajarib_Medium-s.p.2ec0e963.otf)format("opentype");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:tajarib;src:url(../media/Tajarib_Bold-s.p.bdbcb554.otf)format("opentype");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:tajarib Fallback;src:local(Arial);ascent-override:106.34%;descent-override:26.58%;line-gap-override:0.0%;size-adjust:94.04%}.tajarib_d65df7c-module__MjNrRa__className{font-family:tajarib,tajarib Fallback}.tajarib_d65df7c-module__MjNrRa__variable{--font-tajarib:"tajarib","tajarib Fallback"}
:root{--ink:#2d2731;--muted:#746e79;--brand:#765987;--brand-strong:#60446f;--brand-soft:#eee8f1;--silver:#aeb1b5;--surface:#ffffffe6;--canvas:#faf8fb;--danger:#a43e4b;--success:#277257;--border:#48374f1f;--shadow:0 18px 55px #3f2e4617}*{box-sizing:border-box}html{background:var(--canvas);color:var(--ink);-webkit-text-size-adjust:100%}body{isolation:isolate;min-height:100dvh;font-family:var(--font-tajarib),system-ui,sans-serif;background:0 0;margin:0;font-size:1rem;position:relative;overflow-x:clip}body:before,body:after{content:"";z-index:-1;pointer-events:none;will-change:transform,opacity;position:fixed;inset:-18vmax}body:before{opacity:.72;background:radial-gradient(circle at 76% 18%,#9a77ae33 0,#9a77ae14 18%,transparent 42%),radial-gradient(circle at 16% 72%,#c1becb33 0,#c1becb12 21%,transparent 45%),var(--canvas);animation:34s ease-in-out infinite alternate ambient-drift-primary}body:after{opacity:.52;background:radial-gradient(circle at 22% 18%,#7659871f 0,#0000 32%),radial-gradient(circle at 82% 76%,#ae8fbe21 0,#0000 35%);animation:42s ease-in-out infinite alternate ambient-drift-secondary}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:wait;opacity:.58}input{border:1px solid var(--border);width:100%;min-height:48px;color:var(--ink);background:#fff;border-radius:14px;outline:none;padding:0 14px;transition:border-color .14s,box-shadow .14s}input:focus{border-color:#765987b3;box-shadow:0 0 0 3px #7659871a}input::placeholder{color:#a09aa4}.display-type{font-feature-settings:"ss01" 1,"swsh" 1,"dlig" 1,"liga" 1,"rlig" 1}.login-page{min-height:100dvh;padding:max(24px,env(safe-area-inset-top))18px max(24px,env(safe-area-inset-bottom));place-items:center;display:grid;position:relative;overflow:hidden}.ambient{filter:blur(18px);opacity:.3;pointer-events:none;border-radius:50%;width:260px;height:260px;animation:16s ease-in-out infinite alternate drift;position:fixed}.ambient-one{background:#d9c7e1;top:-120px;right:-90px}.ambient-two{background:#d9dae0;animation-delay:-8s;bottom:-150px;left:-80px}.login-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);width:min(100%,410px);box-shadow:var(--shadow);background:#ffffffe0;border:1px solid #76598721;border-radius:30px;padding:22px 24px 20px;position:relative}.logo-wrap{justify-content:center;height:132px;display:flex;overflow:hidden}.logo-wrap img{object-fit:contain;transform:translateY(-17px)}.login-heading{text-align:center;margin:4px 0 22px}.login-heading span{color:var(--muted);font-size:1rem}.login-heading h1{color:var(--brand);margin:-2px 0 0;font-size:clamp(2rem,9vw,2.65rem);line-height:1.1}.form-stack{gap:14px;display:grid}.form-stack label{color:#4f4853;gap:7px;font-weight:500;display:grid}.primary-button,.secondary-button,.danger-button{border:0;border-radius:14px;min-height:48px;padding:0 18px;font-weight:700;transition:transform 90ms,background .14s,opacity .14s}.primary-button{background:var(--brand);color:#fff;box-shadow:0 8px 18px #60446f2e}.primary-button:hover{background:var(--brand-strong)}.secondary-button{background:var(--brand-soft);color:var(--brand-strong)}.danger-button{color:#fff;background:var(--danger)}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled),.danger-button:active:not(:disabled),.icon-button:active,.action-card:active{transform:scale(.975)}.form-error{color:#8d2f3b;background:#fae9ec;border-radius:12px;margin:0;padding:10px 12px;font-size:.92rem}.form-success{color:#1e664c;background:#e7f5ef;border-radius:12px;margin:0;padding:10px 12px;font-size:.92rem}.demo-note{text-align:center;color:var(--muted);margin:16px 0 0;font-size:.8rem}.app-shell{min-height:100dvh;padding-bottom:calc(92px + env(safe-area-inset-bottom))}.app-header{max-width:1060px;height:76px;padding:max(8px,env(safe-area-inset-top))18px 0;grid-template-columns:1fr auto 1fr;align-items:center;margin:0 auto;display:grid}.brand{place-items:center;width:68px;height:62px;display:grid;overflow:hidden}.brand img{object-fit:contain;transform:translateY(-4px)}.header-side{align-items:center;gap:6px;display:flex}.header-end{justify-content:flex-end}.icon-button,.account-link{border:1px solid var(--border);color:var(--brand-strong);background:#ffffffb3;border-radius:13px;justify-content:center;align-items:center;height:44px;transition:transform 90ms,background .14s;display:inline-flex}.icon-button{width:44px;padding:0}.account-link{gap:7px;padding:0 12px;font-size:.9rem}.page-shell{width:min(100% - 28px,920px);margin:0 auto}.home-page{align-content:center;gap:clamp(32px,4.8vh,42px);min-height:calc(100dvh - 190px);padding-bottom:20px;display:grid}.welcome{text-align:center}.welcome p{color:#4e4752;margin:0;font-size:clamp(1.82rem,8vw,3.05rem);font-weight:600;line-height:1.12}.welcome h1{color:var(--brand);margin:.08em 0 0;font-size:clamp(2rem,8.8vw,3.35rem);line-height:1.08}.main-actions{gap:12px;display:grid}.action-card{background:var(--surface);border:1px solid var(--border);border-radius:22px;align-items:center;gap:15px;min-height:104px;padding:16px;transition:transform .1s,border-color .14s,box-shadow .14s;display:flex;box-shadow:0 9px 30px #3f2e460d}.action-card:hover{border-color:#76598747;box-shadow:0 13px 35px #3f2e4617}.action-card.featured{color:#fff;background:linear-gradient(135deg,#765987fa,#9070a0f2)}.action-icon{background:var(--brand-soft);width:54px;height:54px;color:var(--brand);transform-origin:50%;border-radius:17px;flex:none;place-items:center;display:grid}.coin-action:active .action-icon{animation:.22s cubic-bezier(.2,.8,.25,1) coin-press}.students-action:active .action-icon{animation:.21s cubic-bezier(.2,.8,.25,1) students-press}.statistics-action:active .action-icon{animation:.24s cubic-bezier(.2,.8,.25,1) chart-press}.featured .action-icon{color:#fff;background:#ffffff2e}.action-card strong{font-size:1.22rem;display:block}.action-card small{color:var(--muted);font-size:.87rem}.featured small{color:#ffffffbd}.period-dock{z-index:20;bottom:max(14px,env(safe-area-inset-bottom));justify-items:center;gap:8px;width:min(100% - 28px,430px);display:grid;position:fixed;left:50%;transform:translate(-50%)}.period-pill{color:#4c4052;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);white-space:nowrap;text-overflow:ellipsis;background:#fffffff0;border:1px solid #76598729;border-radius:999px;align-items:center;gap:8px;max-width:100%;min-height:46px;padding:0 19px;display:flex;overflow:hidden;box-shadow:0 12px 36px #3b2b4229}.live-dot{background:#3f8a6c;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 4px #3f8a6c1a}.period-menu{border:1px solid var(--border);width:230px;box-shadow:var(--shadow);background:#fff;border-radius:17px;padding:7px;animation:.14s both reveal}.period-menu a{border-radius:11px;align-items:center;gap:9px;min-height:43px;padding:0 12px;display:flex}.period-menu a:hover{background:var(--brand-soft)}.page-head{margin:18px 0 20px}.page-head h1{color:var(--brand-strong);margin:0;font-size:clamp(1.65rem,7vw,2.35rem)}.page-head p{color:var(--muted);margin:3px 0 0}.surface{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:16px;box-shadow:0 10px 35px #3f2e460d}.stack{gap:14px;display:grid}.section-title{margin:0;font-size:1.18rem}.stage-control,.binary-control{background:#ece8ee;border-radius:15px;grid-template-columns:repeat(2,1fr);gap:2px;padding:4px;display:grid;position:relative}.binary-control{grid-template-columns:1fr 1fr}.stage-control button,.binary-control button{color:#6a626d;z-index:1;background:0 0;border:0;border-radius:11px;min-height:42px;transition:color .15s,background .15s,transform 90ms;position:relative}.stage-control button.active,.binary-control button.active{color:var(--brand-strong);background:#fff;font-weight:700;box-shadow:0 2px 8px #3c2e4214}.binary-control button.active.deduct{color:#983846}.field-label{color:#544c58;gap:7px;font-weight:500;display:grid}.search-field{position:relative}.search-field input{padding-right:45px}.search-field svg{color:#918994;position:absolute;top:13px;right:14px}.search-results{border:1px solid var(--border);background:#fff;border-radius:15px;overflow:hidden}.search-result{border:0;border-bottom:1px solid var(--border);text-align:right;background:#fff;justify-content:space-between;align-items:center;width:100%;min-height:54px;padding:8px 13px;display:flex}.search-result:last-child{border-bottom:0}.search-result:hover{background:#faf7fb}.student-chip{background:linear-gradient(135deg,#f4eff6,#fff);border:1px solid #7659872e;border-radius:17px;justify-content:space-between;align-items:center;min-height:72px;padding:11px 13px;animation:.15s both reveal;display:flex}.student-chip strong{font-size:1.1rem;display:block}.student-chip small{color:var(--muted)}.coin-balance{color:var(--brand);font-weight:700}.amount-field{grid-template-columns:1fr auto;align-items:end;gap:10px;display:grid}.amount-field .primary-button{min-width:126px}.feedback{border-radius:14px;padding:11px 13px;animation:.14s both reveal}.feedback.success{color:var(--success);background:#e9f5f0}.feedback.error{color:var(--danger);background:#fae9ec}.empty-state{text-align:center;color:var(--muted);padding:28px 12px}.loading-line{background:#eee9ef;border-radius:999px;height:4px;overflow:hidden}.loading-line:after{content:"";background:var(--brand);border-radius:inherit;width:35%;height:100%;animation:.9s ease-in-out infinite loading;display:block}.toolbar{flex-wrap:wrap;gap:9px;display:flex}.toolbar>*{flex:150px}.list{gap:9px;display:grid}.list-row{border:1px solid var(--border);background:#fff;border-radius:15px;justify-content:space-between;align-items:center;gap:10px;min-height:66px;padding:10px 12px;display:flex}.list-row-main{flex:1;min-width:0}.list-row-main strong,.list-row-main a{text-overflow:ellipsis;white-space:nowrap;font-weight:700;display:block;overflow:hidden}.list-row-main small{color:var(--muted)}.row-actions{flex:none;gap:5px;display:flex}.row-actions button,.row-actions a{width:40px;height:40px;color:var(--brand);background:#f2eef4;border:0;border-radius:11px;place-items:center;display:grid}.row-actions .danger{color:var(--danger);background:#faecee}.tabs{background:#ece8ee;border-radius:15px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.tabs button{background:0 0;border:0;border-radius:11px;min-height:43px}.tabs button.active{color:var(--brand);background:#fff;font-weight:700;box-shadow:0 2px 8px #3c2e4214}.rank{background:var(--brand-soft);width:34px;height:34px;color:var(--brand);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.operation-add{color:var(--success)}.operation-deduct{color:var(--danger)}.operation-reversal{color:var(--brand)}.stats-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.metric{text-align:center;background:#f5f1f6;border-radius:15px;min-width:0;padding:12px 8px}.metric strong{color:var(--brand-strong);font-size:1.3rem;display:block}.metric span{color:var(--muted);font-size:.78rem}.modal-backdrop{z-index:50;background:#1f18226b;align-items:end;padding:16px;animation:.12s both fade;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:24px;width:min(100%,480px);max-height:min(88dvh,700px);margin:0 auto;padding:20px;animation:.17s both sheet;overflow:auto;box-shadow:0 25px 70px #1e14233d}.modal h2{margin:0 0 6px}.modal p{color:var(--muted)}.modal-actions{gap:9px;margin-top:18px;display:flex}.modal-actions>*{flex:1}.file-input{min-height:80px;color:var(--brand);text-align:center;cursor:pointer;border:1px dashed #76598759;border-radius:15px;place-items:center;padding:12px;display:grid}.file-input input{display:none}.import-preview{color:#5a505e;background:#f6f2f7;border-radius:13px;padding:11px}.link-button{color:var(--brand);background:0 0;border:0;padding:5px}.danger-link{color:var(--danger)}@keyframes reveal{0%{opacity:0;transform:translateY(5px)}}@keyframes fade{0%{opacity:0}}@keyframes sheet{0%{opacity:0;transform:translateY(14px)scale(.99)}}@keyframes loading{0%{transform:translate(220%)}to{transform:translate(-360%)}}@keyframes drift{to{transform:translate(25px,18px)scale(1.08)}}@keyframes ambient-drift-primary{0%{transform:translate(-1.5%,-1%)scale(1)}to{transform:translate(2.5%,1.8%)scale(1.035)}}@keyframes ambient-drift-secondary{0%{transform:translate(1.5%,-1.5%)scale(1.02)}to{transform:translate(-2%,2%)scale(.99)}}@keyframes coin-press{0%,to{transform:translate(0,0)rotate(0)}42%{transform:translateY(-3px)rotate(-3deg)}72%{transform:translateY(-1px)rotate(1deg)}}@keyframes students-press{0%,to{transform:translate(0,0)scale(1)}48%{transform:translateY(-2px)scale(1.08)}}@keyframes chart-press{0%,to{transform:translate(0,0)scaleY(1)}46%{transform:translateY(-3px)scaleY(1.07)}}@media (min-width:720px){.app-header{height:88px;padding-inline:28px}.page-shell{width:min(100% - 48px,920px)}.main-actions{grid-template-columns:repeat(3,1fr)}.action-card{flex-direction:column;justify-content:space-between;align-items:flex-start;min-height:170px}.action-card strong{font-size:1.3rem}.surface{padding:22px}.modal-backdrop{align-items:center}}@media (max-width:380px){.page-shell{width:min(100% - 20px,920px)}.account-link span{display:none}.account-link{width:44px;padding:0}.login-card{padding-inline:18px}.amount-field{grid-template-columns:1fr}.amount-field .primary-button{width:100%}.stats-grid{gap:5px}.home-page{gap:28px}.welcome p{font-size:clamp(1.68rem,7.6vw,2rem)}.welcome h1{font-size:clamp(1.9rem,8.5vw,2.2rem)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
