@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/224e262ef877bfa4-s.2yhdohbnxjaph.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7f11d98043fdedc9-s.0vsuy7nj1h55w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.1tzxx-40rxw3x.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.3aj86x1l4-kru.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/07454f8ad8aaac57-s.p.1d8-5gtibtj96.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/224e262ef877bfa4-s.2yhdohbnxjaph.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7f11d98043fdedc9-s.0vsuy7nj1h55w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.1tzxx-40rxw3x.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.3aj86x1l4-kru.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/07454f8ad8aaac57-s.p.1d8-5gtibtj96.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/224e262ef877bfa4-s.2yhdohbnxjaph.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7f11d98043fdedc9-s.0vsuy7nj1h55w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.1tzxx-40rxw3x.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.3aj86x1l4-kru.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/07454f8ad8aaac57-s.p.1d8-5gtibtj96.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/224e262ef877bfa4-s.2yhdohbnxjaph.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/7f11d98043fdedc9-s.0vsuy7nj1h55w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.1tzxx-40rxw3x.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.3aj86x1l4-kru.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/07454f8ad8aaac57-s.p.1d8-5gtibtj96.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(../media/224e262ef877bfa4-s.2yhdohbnxjaph.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(../media/7f11d98043fdedc9-s.0vsuy7nj1h55w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.1tzxx-40rxw3x.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.3aj86x1l4-kru.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(../media/07454f8ad8aaac57-s.p.1d8-5gtibtj96.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Fallback;src:local(Arial);ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.0%;size-adjust:101.39%}.nunito_7817346f-module__De4qLq__className{font-family:Nunito,Nunito Fallback;font-style:normal}.nunito_7817346f-module__De4qLq__variable{--font-nunito:"Nunito", "Nunito Fallback"}
:root{--paper:#e9e3d0;--paper-raised:#f5f1e4;--ink:#16130f;--ink-soft:#5c5648;--blue:#1a56ff;--blue-ink:#0f3ecc;--blue-soft:#cfe0ff;--spark:#f4e600;--spark-ink:#8a5a00;--spark-soft:#fbeaa0;--tutor:#4c7a2e;--tutor-ink:#33531f;--tutor-soft:#c3e3a0;--danger:#a83a3a;--danger-soft:#f3d9d3;--wait:#8a8471;--wait-ink:#5c5648;--wait-soft:#e9e4d2;--shadow:5px 5px 0 var(--ink);--sans:var(--font-nunito), -apple-system, "Helvetica Neue", "Segoe UI", Roboto, Arial, sans-serif;--mono:"SF Mono", ui-monospace, "Menlo", "Consolas", monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);justify-content:center;padding:28px 20px 64px;display:flex}a{color:inherit}.page{width:100%;max-width:480px}.card{background:var(--paper-raised);border:2px solid var(--ink);box-shadow:var(--shadow);border-radius:10px;margin-bottom:16px;padding:20px 22px;position:relative}.card h1,.card h2{font-family:var(--sans);letter-spacing:.02em;text-transform:uppercase;margin:0 0 4px;font-size:16px;font-weight:800}.card .sub{color:var(--ink-soft);margin:0 0 14px;font-size:12.5px}.card.secondary{box-shadow:3px 3px 0 var(--ink)}.empty-attention{background:var(--tutor-soft);border:2px solid var(--ink);color:var(--ink);border-radius:10px;align-items:center;gap:10px;padding:14px 16px;font-size:13.5px;font-weight:700;display:flex}.field-row{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.field-row input,.field-row select,.field-row textarea{font-family:var(--sans);border:2px solid var(--ink);background:var(--paper-raised);color:var(--ink);border-radius:8px;width:100%;padding:10px 12px;font-size:13px;font-weight:600}.field-row textarea{font-family:var(--mono);resize:vertical}.primary,.ghost{font-family:var(--sans);text-transform:uppercase;letter-spacing:.02em;cursor:pointer;border:2px solid var(--ink);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:9px 16px;font-size:13px;font-weight:800;display:inline-flex}.primary{background:var(--ink);color:var(--paper-raised);box-shadow:3px 3px 0 var(--blue)}.primary:hover:not(:disabled){filter:brightness(1.15)}.primary:disabled{background:var(--wait-soft);color:var(--ink-soft);border-color:var(--ink-soft);cursor:not-allowed;box-shadow:none}.ghost{background:var(--paper-raised);border-color:var(--ink);color:var(--ink)}.ghost:hover{background:var(--paper)}.danger-ghost{font-family:var(--sans);text-transform:uppercase;letter-spacing:.02em;cursor:pointer;border:2px solid var(--danger);background:var(--paper-raised);color:var(--danger);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:9px 16px;font-size:13px;font-weight:800;display:inline-flex}.status-pill{font-family:var(--mono);text-transform:uppercase;letter-spacing:.03em;border:2px solid var(--ink);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:4px 10px;font-size:9.5px;font-weight:800;display:inline-flex}.status-pill.danger{background:var(--danger-soft);color:var(--danger)}.error-text{color:var(--danger);margin:-4px 0 12px;font-size:12.5px;font-weight:700}.page-wide{max-width:760px}.status-pill.done{background:var(--tutor-soft);color:var(--ink)}.status-pill.wait{background:var(--wait-soft);color:var(--ink-soft);border-style:dashed}.status-pill.idle{color:var(--ink-soft);background:0 0;border-style:dashed}.small{min-height:40px;padding:8px 14px;font-size:12px}.empty-hint{color:var(--ink-soft);font-size:13px}.demande-row{border-bottom:1px solid var(--ink);padding:13px 0}.demande-row:last-child{border-bottom:none}.demande-row .top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.demande-row .tag-subject{color:var(--blue-ink);font-size:13.5px;font-weight:800}.demande-row .sujet{color:var(--ink-soft);margin-top:3px;font-size:13px}.action-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:inline-flex}.tab{font-family:var(--sans);text-transform:uppercase;letter-spacing:.02em;background:var(--paper-raised);border:2px solid var(--ink);color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;padding:10px 16px;font-size:12.5px;font-weight:800;text-decoration:none;display:inline-flex}.tab:hover{background:var(--blue-soft)}.wallet{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.wallet .balance{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);letter-spacing:-.02em;background:var(--spark);border:2px solid var(--ink);border-radius:8px;align-items:baseline;gap:6px;padding:8px 18px;font-size:34px;font-weight:800;display:inline-flex}.wallet .balance small{color:var(--ink);opacity:.75;font-size:13px;font-weight:700}.balance-lifetime{color:var(--ink-soft);margin-top:7px;font-size:12px;font-weight:600}.balance-lifetime .num{font-family:var(--mono);color:var(--spark-ink);font-size:14px;font-weight:800}.badges{flex-wrap:wrap;gap:8px;display:flex}.badge{background:var(--ink);color:var(--paper-raised);border:2px solid var(--ink);border-radius:999px;align-items:center;gap:5px;padding:6px 12px 6px 9px;font-size:11.5px;font-weight:700;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.stat-tile{background:var(--paper);border:2px solid var(--ink);border-radius:8px;padding:14px 16px}.stat-tile .num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:26px;font-weight:800}.stat-tile .label{text-transform:uppercase;letter-spacing:.03em;color:var(--ink-soft);margin-top:2px;font-size:11px;font-weight:700}.stat-tile.accent-blue .num{color:var(--blue-ink)}.stat-tile.accent-gold .num{color:var(--spark-ink)}.stat-tile.accent-green .num{color:var(--tutor-ink)}.shop-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.lot{border:2px solid var(--ink);background:var(--paper);border-radius:10px;flex-direction:column;padding:14px;display:flex}.lot .kind-tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.03em;color:var(--ink-soft);border:1px dashed var(--ink);border-radius:999px;align-self:flex-start;margin-bottom:8px;padding:3px 8px;font-size:10px;font-weight:800;display:inline-block}.lot .lot-name{margin-bottom:2px;font-size:13.5px;font-weight:700}.lot .lot-sub{color:var(--ink-soft);margin:0 0 8px;font-size:11.5px}.lot .cost{font-family:var(--mono);color:var(--blue-ink);margin-bottom:10px;font-size:12.5px;font-weight:700}.lot form,.lot .lot-action{margin-top:auto}.lot button{width:100%}.lot.locked{opacity:.55}.voucher{border:2px solid var(--ink);background:var(--paper);border-radius:10px;align-items:center;gap:12px;margin-bottom:10px;padding:12px;display:flex}.voucher:last-child{margin-bottom:0}.voucher.clickable{cursor:pointer;color:inherit}.voucher.clickable:hover{background:var(--blue-soft)}.voucher .code{font-family:var(--mono);background:var(--spark);color:var(--ink);letter-spacing:.02em;border:2px solid var(--ink);border-radius:6px;flex-shrink:0;padding:6px 9px;font-size:13px;font-weight:800}.voucher .info{flex:1;min-width:0}.voucher .info .name{font-size:13.5px;font-weight:700}.voucher .info .meta{color:var(--ink-soft);font-size:12px}.scan-field{border-bottom:1px solid var(--ink);justify-content:space-between;padding:8px 0;font-size:13.5px;display:flex}.scan-field:last-of-type{border-bottom:none}.scan-field .k{color:var(--ink-soft)}.scan-field .v{font-weight:700}.voucher-instruction{border:2px dashed var(--ink);background:var(--paper);border-radius:10px;margin:14px 0;padding:12px 14px;font-size:13px}.voucher-instruction .label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);margin-bottom:4px;font-size:10px;font-weight:800}.qr-wrap{flex-direction:column;align-items:center;margin:16px 0;display:flex}.qr-wrap img{border:2px solid var(--ink);background:#fff;border-radius:8px}.qr-caption{color:var(--ink-soft);text-align:center;margin-top:8px;font-size:11px;font-style:italic}.chip-row{flex-wrap:wrap;gap:8px;margin-bottom:4px;display:flex}.subject-grid{flex-wrap:wrap;gap:12px;margin-top:4px;display:flex}.subject-chip{background:var(--paper);border:2px solid var(--ink);border-radius:10px;flex:150px;min-width:150px;padding:12px 14px}.subject-chip.unlocked{background:var(--spark-soft)}.subject-chip .sname{text-transform:uppercase;letter-spacing:.02em;justify-content:space-between;align-items:center;margin-bottom:9px;font-size:12.5px;font-weight:800;display:flex}.subject-chip .count-label{font-family:var(--mono);color:var(--ink-soft);font-size:10.5px;font-weight:700}.mini-stamp-row{gap:5px;display:flex}.mini-stamp{border:2px solid var(--ink);border-radius:50%;flex-shrink:0;width:18px;height:18px}.mini-stamp.filled{background:var(--ink)}.subject-chip.unlocked .mini-stamp.filled{box-shadow:0 0 0 1px var(--spark) inset}.ledger{border-top:2px solid var(--ink);margin-top:14px;padding-top:10px}.ledger-row{border-bottom:1px solid var(--ink);justify-content:space-between;gap:10px;padding:8px 0;font-size:13.5px;display:flex}.ledger-row:last-child{border-bottom:none}.ledger-row .motif{color:var(--ink);font-weight:600}.ledger-row .date{color:var(--ink-soft);font-size:12px;font-weight:400}.ledger-row .amt{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:800}.ledger-row .amt.plus{color:var(--spark-ink)}.ledger-row .amt.minus{color:var(--ink-soft)}.ghost-slot{color:var(--ink-soft);text-align:center;border-style:dashed;justify-content:center;align-items:center;font-size:11.5px;font-weight:700;line-height:1.4;display:flex}
