.app-root[data-v-097cc481]{min-height:100vh;position:relative;background-color:var(--kailo-bg);overflow-x:hidden;font-family:var(--font-ui)}.app-root[data-v-097cc481]:before{content:"";position:fixed;inset:0;background-color:var(--kailo-bg);z-index:-1}.app-root[data-v-097cc481]:after{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background-image:linear-gradient(to right,rgba(0,0,0,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.04) 1px,transparent 1px);background-size:60px 60px;transform:perspective(1000px) rotateX(60deg) translateY(-10%);transform-origin:center center;-webkit-mask-image:linear-gradient(to bottom,transparent,black 40%,black 90%,transparent);mask-image:linear-gradient(to bottom,transparent,black 40%,black 90%,transparent);z-index:0;pointer-events:none;backface-visibility:hidden}.app-main[data-v-097cc481]{flex:1;position:relative;z-index:1}.icp-footer[data-v-097cc481]{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;font-size:11px;color:#6b7280;opacity:.4;padding:14px 0;pointer-events:auto;z-index:10}.icp-footer a[data-v-097cc481]{color:inherit;text-decoration:none}.icp-footer a[data-v-097cc481]:hover{text-decoration:underline}.kailo-header[data-v-2068b834]{position:absolute;top:3rem;left:0;right:0;z-index:1000;display:flex;align-items:flex-start}.logo-unit[data-v-2068b834]{position:relative;display:flex;align-items:center;justify-content:center;width:60px;height:60px;margin-left:3rem}.login-icon[data-v-2068b834]{position:absolute;top:0;right:3rem;width:40px;height:40px;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:#ffffffb3;display:inline-flex;align-items:center;justify-content:center;color:#111;text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.login-icon svg[data-v-2068b834]{width:20px;height:20px;fill:currentColor}.login-icon[data-v-2068b834]:hover{transform:translateY(-1px);border-color:#0003;box-shadow:0 8px 18px #00000014}.k-frame[data-v-2068b834]{font-family:Inter,Outfit,system-ui,sans-serif;font-weight:900;font-size:56px;color:#1a1a1a;line-height:1;z-index:2;transition:transform .4s ease;-webkit-user-select:none;user-select:none}.orbit-container[data-v-2068b834]{position:absolute;width:100%;height:100%;z-index:3;pointer-events:none}.energy-dot[data-v-2068b834]{position:absolute;bottom:8px;right:0;width:10px;height:10px;background:#ff5722;border-radius:50%;box-shadow:0 4px 10px #ff57224d;transition:all .4s cubic-bezier(.34,1.56,.64,1)}.state-active .energy-dot[data-v-2068b834]{animation:receptive-pulse-2068b834 .8s infinite cubic-bezier(.4,0,.2,1)}@keyframes receptive-pulse-2068b834{0%,to{transform:scale(1);box-shadow:0 4px 10px #ff57224d}50%{transform:scale(1.4);box-shadow:0 0 15px #ff572299}}.state-processing .energy-dot[data-v-2068b834]{background:#4caf50;box-shadow:0 0 15px #4caf5099;animation:heart-beat-2068b834 .6s infinite alternate}@keyframes heart-beat-2068b834{to{transform:scale(1.3)}}.state-complete .orbit-container[data-v-2068b834]{animation:ping-pong-spin-2068b834 1.2s cubic-bezier(.68,-.6,.32,1.6) forwards}.state-complete .energy-dot[data-v-2068b834]{background:#4caf50;box-shadow:-5px 0 10px #4caf50cc,-10px 0 20px #4caf5066,-15px 0 30px #4caf501a;animation:dot-bloom-2068b834 .7s 1.2s cubic-bezier(.16,1,.3,1) forwards}@keyframes ping-pong-spin-2068b834{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dot-bloom-2068b834{0%{transform:scale(1);opacity:1}30%{transform:scale(5);opacity:.9}to{transform:scale(180);opacity:0;filter:blur(40px)}}.state-complete .k-frame[data-v-2068b834]{animation:k-jolt-2068b834 .2s .6s linear}@keyframes k-jolt-2068b834{0%,to{transform:scale(1)}50%{transform:scale(.95)}}.drag-link-portal[data-v-8e561a4e]{position:absolute;top:50%;left:50%;pointer-events:none;z-index:1}.stream-particle[data-v-8e561a4e]{position:absolute;width:6px;height:6px;background:#4caf5066;border-radius:50%;filter:blur(2px);animation:centripetal-stream-8e561a4e .6s infinite cubic-bezier(.4,0,.2,1)}@keyframes centripetal-stream-8e561a4e{0%{transform:translate(-50%,-50%) scale(1);opacity:0}20%{opacity:.6}to{transform:translate(-45vw,-45vh) scale(.1);opacity:0}}.centered[data-v-8e561a4e]{justify-content:center!important}.dialog-window[data-v-8e561a4e]{width:100%;max-width:600px;height:80px;background:#fff;border:1px solid #eeeeee;border-radius:40px;box-shadow:0 10px 40px #0000000a,0 2px 10px #00000005;display:flex;align-items:center;padding:0 12px;transition:all .6s cubic-bezier(.16,1,.3,1);cursor:pointer;position:relative;overflow:visible}.dialog-window[data-v-8e561a4e]:hover{box-shadow:0 20px 60px #00000014;transform:translateY(-2px);border-color:#e0e0e0}.dialog-window.is-dragging[data-v-8e561a4e]{border-color:#4caf50;transform:scale(.96) translateY(2px);box-shadow:inset 0 10px 20px #0000000d,0 0 0 15px #4caf500d;background:#4caf5005}.input-inner[data-v-8e561a4e]{width:100%;display:flex;align-items:center;justify-content:center;padding:0 24px}.morphic-target[data-v-8e561a4e]{position:relative;display:flex;align-items:center;justify-content:center}.file-icon-v3[data-v-8e561a4e]{font-family:Inter,sans-serif;font-weight:600;font-size:1.4rem;color:#4caf50;letter-spacing:.05em;background:linear-gradient(110deg,#4caf50 40%,#c8e6c9,#4caf50 60%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 10px rgba(76,175,80,.4));animation:shimmer-8e561a4e 2.5s infinite linear,radiance-pulse-8e561a4e 2s infinite alternate ease-in-out;transition:all .5s cubic-bezier(.16,1,.3,1);z-index:2}@keyframes shimmer-8e561a4e{to{background-position:200% center}}@keyframes radiance-pulse-8e561a4e{0%{transform:scale(1);filter:drop-shadow(0 0 5px rgba(76,175,80,.3))}to{transform:scale(1.05);filter:drop-shadow(0 0 20px rgba(76,175,80,.8)) brightness(1.2)}}.is-dragging .file-icon-v3[data-v-8e561a4e]{transform:scale(1.25);letter-spacing:.15em;filter:drop-shadow(0 0 30px rgba(76,175,80,1))}.aura-ring[data-v-8e561a4e]{position:absolute;width:80px;height:80px;border:1px solid rgba(76,175,80,.3);border-radius:50%;opacity:0;transform:scale(.5);transition:all .5s cubic-bezier(.16,1,.3,1)}.is-dragging .aura-ring[data-v-8e561a4e]{opacity:1;transform:scale(1.6);animation:pulse-ring-8e561a4e 2s infinite}@keyframes pulse-ring-8e561a4e{0%{transform:scale(1.2);opacity:.5}to{transform:scale(2.4);opacity:0}}@keyframes energy-fly-8e561a4e{0%{transform:scale(1) translate(0);opacity:1;filter:blur(0)}20%{transform:scale(1.3) translate(0);opacity:1;filter:blur(0)}45%{transform:scale(.3) translate(0);opacity:1;filter:blur(2px)}to{transform:scale(.05) translate(-40vw,-45vh);opacity:0;filter:blur(15px)}}.is-processing[data-v-8e561a4e]{pointer-events:none}.is-processing .morphic-target[data-v-8e561a4e]{animation:energy-fly-8e561a4e 1.2s cubic-bezier(.7,0,.3,1) forwards}@keyframes window-collapse-8e561a4e{0%{width:600px;transform:scale(1);border-radius:40px;opacity:1}30%{width:400px;transform:scale(.95);opacity:1}to{width:0;transform:scale(0);opacity:0}}.is-processing.dialog-window[data-v-8e561a4e]{animation:window-collapse-8e561a4e .6s cubic-bezier(.7,0,.3,1) .6s forwards}@media(max-width:640px){.dialog-window[data-v-8e561a4e]{max-width:90%}}.kailo-world[data-v-a6a4fcc9]{min-height:100vh;display:flex;flex-direction:column;position:relative;overflow:hidden;background:transparent;transition:transform .8s cubic-bezier(.4,0,.2,1);transform-origin:center bottom}.kailo-world.is-processing[data-v-a6a4fcc9]{transform:perspective(1000px) rotateX(2deg) scale(1.02)}.grid-scan-container[data-v-a6a4fcc9]{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:0;transition:opacity 1s ease}.grid-scan-container.is-active[data-v-a6a4fcc9]{opacity:1}.scan-line[data-v-a6a4fcc9]{position:absolute;top:-20%;left:0;width:100%;height:20vh;background:linear-gradient(to bottom,transparent,rgba(76,175,80,.15) 40%,rgba(76,175,80,.4) 50%,rgba(76,175,80,.15) 60%,transparent);-webkit-mask-image:linear-gradient(to right,white 1px,transparent 1px),linear-gradient(to bottom,white 1px,transparent 1px);mask-image:linear-gradient(to right,white 1px,transparent 1px),linear-gradient(to bottom,white 1px,transparent 1px);-webkit-mask-size:40px 40px;mask-size:40px 40px;animation:grid-scan-pulse-a6a4fcc9 3.5s infinite linear}@keyframes grid-scan-pulse-a6a4fcc9{0%{transform:translateY(0)}to{transform:translateY(120vh)}}.grid-cells-flicker[data-v-a6a4fcc9]{position:absolute;inset:0;background-image:linear-gradient(to right,transparent 1px,rgba(76,175,80,.03) 1px,rgba(76,175,80,.03) 39px,transparent 39px),linear-gradient(to bottom,transparent 1px,rgba(76,175,80,.03) 1px,rgba(76,175,80,.03) 39px,transparent 39px);background-size:40px 40px;-webkit-mask-image:radial-gradient(circle at center,white,transparent 70%);mask-image:radial-gradient(circle at center,white,transparent 70%);animation:cells-glitch-a6a4fcc9 4s infinite step-end;opacity:.5}@keyframes cells-glitch-a6a4fcc9{0%,to{opacity:0}10%,30%,50%,70%,90%{opacity:.4;-webkit-mask-position:10% 20%;mask-position:10% 20%}20%,40%,60%,80%{opacity:.1;-webkit-mask-position:80% 40%;mask-position:80% 40%}}.data-fragments[data-v-a6a4fcc9]{position:absolute;inset:0;overflow:hidden}.fragment[data-v-a6a4fcc9]{position:absolute;top:-50px;left:var(--left);width:2px;height:10px;background:#4caf5066;filter:blur(1px);animation:fragment-drop-a6a4fcc9 4s infinite linear;animation-delay:var(--delay)}.fragment[data-v-a6a4fcc9]:before{content:"0101";position:absolute;top:100%;left:0;font-family:monospace;font-size:8px;color:#4caf504d;white-space:nowrap}@keyframes fragment-drop-a6a4fcc9{0%{transform:translateY(0) scaleY(1);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translateY(100vh) scaleY(2);opacity:0}}.viewport[data-v-a6a4fcc9]{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem 2rem 5rem;z-index:1}.result-container[data-v-a6a4fcc9]{width:100%;max-width:600px;display:flex;justify-content:center;position:absolute;will-change:transform,opacity}.glass-morph-card[data-v-a6a4fcc9]{background:#fff;padding:4rem;border-radius:32px;box-shadow:0 40px 100px #0000000d;text-align:center;width:100%}.success-check[data-v-a6a4fcc9]{font-size:3.5rem;margin-bottom:2rem}.glass-morph-card h2[data-v-a6a4fcc9]{font-weight:300;letter-spacing:.1em;color:#212121;margin-bottom:1.5rem}.result-container h2[data-v-a6a4fcc9]{font-weight:300;font-size:2rem;margin-bottom:1rem}.result-container p[data-v-a6a4fcc9]{color:#888;margin-bottom:3rem;font-weight:300}.reset-btn[data-v-a6a4fcc9]{background:#212121;color:#fff;border:none;padding:1rem 3rem;border-radius:40px;font-family:inherit;font-size:1rem;letter-spacing:.05em;cursor:pointer;transition:all .4s cubic-bezier(.23,1,.32,1)}.reset-btn[data-v-a6a4fcc9]:hover{transform:translateY(-4px);box-shadow:0 10px 30px #00000026}.fade-collapse-leave-active[data-v-a6a4fcc9]{transition:opacity .5s ease}.fade-collapse-leave-to[data-v-a6a4fcc9]{opacity:0}.bloom-reveal-enter-active[data-v-a6a4fcc9]{animation:slide-bloom-a6a4fcc9 1.2s cubic-bezier(.23,1,.32,1) forwards}@keyframes slide-bloom-a6a4fcc9{0%{opacity:0;transform:scale(.96) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}.error-container[data-v-a6a4fcc9]{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);z-index:1000;animation:slide-up-a6a4fcc9 .3s cubic-bezier(.23,1,.32,1)}.error-card[data-v-a6a4fcc9]{background:#fee2e2;border:2px solid #fecaca;border-radius:12px;padding:16px 24px;box-shadow:0 10px 30px #dc262633;display:flex;align-items:center;gap:12px;min-width:300px}.error-icon[data-v-a6a4fcc9]{font-size:20px;flex-shrink:0}.error-message[data-v-a6a4fcc9]{font-size:14px;font-weight:600;color:#dc2626}@keyframes slide-up-a6a4fcc9{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:640px){.error-container[data-v-a6a4fcc9]{left:1rem;right:1rem;transform:none}.error-card[data-v-a6a4fcc9]{min-width:auto}}.logo-header[data-v-fcb690d3]{display:flex;justify-content:flex-start;margin-bottom:2rem;margin-left:-10px}.logo-unit[data-v-fcb690d3]{position:relative;display:flex;align-items:center;justify-content:center;width:60px;height:60px}.k-frame[data-v-fcb690d3]{font-family:Inter,Outfit,system-ui,sans-serif;font-weight:900;font-size:56px;color:#1a1a1a;line-height:1;z-index:2;-webkit-user-select:none;user-select:none}@media(max-width:640px){.logo-header[data-v-fcb690d3]{margin-bottom:1.5rem}.k-frame[data-v-fcb690d3]{font-size:44px}.logo-unit[data-v-fcb690d3]{width:48px;height:48px}.energy-dot[data-v-fcb690d3]{width:8px;height:8px;bottom:6px}}.orbit-container[data-v-fcb690d3]{position:absolute;width:100%;height:100%;z-index:3;pointer-events:none}.energy-dot[data-v-fcb690d3]{position:absolute;bottom:8px;right:0;width:10px;height:10px;background:#ff5722;border-radius:50%;box-shadow:0 4px 10px #ff57224d}.code-input-container[data-v-9bc79c08]{display:flex;flex-direction:column;gap:8px}.code-inputs[data-v-9bc79c08]{display:flex;gap:8px;justify-content:center}.digit-input[data-v-9bc79c08]{width:48px;height:56px;text-align:center;font-size:24px;font-weight:600;border:2px solid #d1d5db;border-radius:8px;transition:all .2s;caret-color:#3b82f6}.digit-input[data-v-9bc79c08]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.digit-input.error[data-v-9bc79c08]{border-color:#ef4444}.digit-input.error[data-v-9bc79c08]:focus{box-shadow:0 0 0 3px #ef44441a}.error-message[data-v-9bc79c08]{color:#ef4444;font-size:14px;text-align:center;margin:0}.logo-header[data-v-f226602b]{display:flex;justify-content:flex-start;margin-bottom:2rem;margin-left:-10px}.logo-unit[data-v-f226602b]{position:relative;display:flex;align-items:center;justify-content:center;width:60px;height:60px}.k-frame[data-v-f226602b]{font-family:Inter,Outfit,system-ui,sans-serif;font-weight:900;font-size:56px;color:#1a1a1a;line-height:1;z-index:2;-webkit-user-select:none;user-select:none}@media(max-width:640px){.logo-header[data-v-f226602b]{margin-bottom:1.5rem}.k-frame[data-v-f226602b]{font-size:44px}.logo-unit[data-v-f226602b]{width:48px;height:48px}.energy-dot[data-v-f226602b]{width:8px;height:8px;bottom:6px}}.orbit-container[data-v-f226602b]{position:absolute;width:100%;height:100%;z-index:3;pointer-events:none}.energy-dot[data-v-f226602b]{position:absolute;bottom:8px;right:0;width:10px;height:10px;background:#ff5722;border-radius:50%;box-shadow:0 4px 10px #ff57224d}.error-text[data-v-f226602b]{color:#ef4444;font-size:13px;margin-top:4px}.hint-text[data-v-f226602b]{color:var(--kailo-text-muted);font-size:13px;margin-top:4px}.logo-link[data-v-2f28d3e9]{cursor:pointer;display:inline-flex;transition:transform .2s ease}.logo-link[data-v-2f28d3e9]:hover{transform:scale(1.05)}.logo-link[data-v-2f28d3e9]:active{transform:scale(.95)}.logo-unit[data-v-2f28d3e9]{position:relative;display:flex;align-items:center;justify-content:center;width:48px;height:48px}.k-frame[data-v-2f28d3e9]{font-family:Inter,Outfit,system-ui,sans-serif;font-weight:900;font-size:44px;color:#1a1a1a;line-height:1;z-index:2;-webkit-user-select:none;user-select:none}.orbit-container[data-v-2f28d3e9]{position:absolute;width:100%;height:100%;z-index:3;pointer-events:none}.energy-dot[data-v-2f28d3e9]{position:absolute;bottom:6px;right:0;width:8px;height:8px;background:#ff5722;border-radius:50%;box-shadow:0 4px 10px #ff57224d}.wrap[data-v-b9b2e819]{max-width:980px;margin:32px auto;padding:16px}.topbar[data-v-b9b2e819]{display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar-left[data-v-b9b2e819]{display:flex;align-items:center;gap:20px}.dashboard-logo[data-v-b9b2e819]{flex-shrink:0}.hello[data-v-b9b2e819]{font-size:14px;color:#111827;font-weight:600}.question[data-v-b9b2e819]{margin-top:6px;font-size:22px;font-weight:800;color:#111827}.section[data-v-b9b2e819]{margin-top:28px}.section-head[data-v-b9b2e819]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title[data-v-b9b2e819]{margin:0;font-size:16px;font-weight:700}.actions-grid[data-v-b9b2e819]{display:grid;gap:14px;margin-top:18px}@media(min-width:860px){.actions-grid[data-v-b9b2e819]{grid-template-columns:1fr 1fr}}.action-card[data-v-b9b2e819]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px;box-shadow:0 1px 2px #0000000a}.primary-btn[data-v-b9b2e819]{background:#2563eb;color:#fff;border:1px solid #2563eb;font-size:14px;padding:10px 14px;font-weight:700;border-radius:10px;cursor:pointer}.primary-btn[data-v-b9b2e819]:hover{background:#1d4ed8;border-color:#1d4ed8}.btn[data-v-b9b2e819]{padding:10px 14px;font-size:14px;cursor:pointer;border:1px solid #d1d5db;border-radius:10px;background:#fff}.btn[data-v-b9b2e819]:hover{background:#f9fafb}.btn[data-v-b9b2e819]:disabled{opacity:.6;cursor:not-allowed}.btn.small[data-v-b9b2e819]{padding:8px 10px;font-size:13px;border-radius:10px}.icon-btn[data-v-b9b2e819]{width:32px;height:32px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#111827;font-size:18px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.icon-btn[data-v-b9b2e819]:hover:not(:disabled){background:#f9fafb}.icon-btn[data-v-b9b2e819]:disabled{opacity:.6;cursor:not-allowed}.icon-btn.danger[data-v-b9b2e819]{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.icon-btn.danger[data-v-b9b2e819]:hover:not(:disabled){background:#fee2e2}.state[data-v-b9b2e819]{padding:16px 0;color:#6b7280;font-size:14px}.state-error[data-v-b9b2e819]{color:#dc2626}.modal-overlay[data-v-b9b2e819]{position:fixed;inset:0;background:#0f172a59;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-card[data-v-b9b2e819]{background:#fff;border-radius:16px;padding:24px;width:min(420px,92vw);box-shadow:0 20px 40px #0f172a33}.modal-title[data-v-b9b2e819]{font-size:18px;font-weight:700;color:#111827}.modal-subtitle[data-v-b9b2e819]{margin-top:8px;color:#6b7280;font-size:14px}.modal-buttons[data-v-b9b2e819]{margin-top:20px;display:flex;gap:12px;justify-content:flex-end}.modal-btn[data-v-b9b2e819]{padding:8px 14px;border-radius:10px;border:1px solid #d1d5db;background:#fff;cursor:pointer;font-size:14px}.modal-btn.secondary[data-v-b9b2e819]:hover:not(:disabled){background:#f9fafb}.modal-btn.danger[data-v-b9b2e819]{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.modal-btn.danger[data-v-b9b2e819]:hover:not(:disabled){background:#fee2e2}.modal-btn[data-v-b9b2e819]:disabled{opacity:.6;cursor:not-allowed}.toast[data-v-b9b2e819]{position:fixed;bottom:32px;left:50%;transform:translate(-50%);background:#111827;color:#fff;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;animation:slideUp-b9b2e819 .3s ease-out;z-index:1100}@keyframes slideUp-b9b2e819{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.action-head[data-v-b9b2e819]{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}.action-emoji[data-v-b9b2e819]{font-size:22px;line-height:1;width:28px;text-align:center;flex-shrink:0}.action-title[data-v-b9b2e819]{font-size:16px;font-weight:800;color:#111827}.action-subtitle[data-v-b9b2e819]{margin-top:6px;color:#6b7280;font-size:13px}.action-buttons[data-v-b9b2e819]{display:flex;gap:12px;margin-bottom:10px}.recent-mini[data-v-b9b2e819]{border-top:1px solid #f3f4f6;padding-top:10px}.recent-mini-title[data-v-b9b2e819]{font-size:12px;font-weight:600;color:#6b7280;margin-bottom:6px}.recent-mini-item[data-v-b9b2e819]{margin-bottom:6px}.link-btn[data-v-b9b2e819]{padding:0;border:none;background:none;color:#2563eb;font-size:13px;cursor:pointer;text-align:left}.link-btn[data-v-b9b2e819]:hover{text-decoration:underline}.recent-list[data-v-b9b2e819]{display:grid;gap:14px}@media(min-width:860px){.recent-list[data-v-b9b2e819]{grid-template-columns:1fr 1fr}}.recent-block[data-v-b9b2e819]{border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:14px}.recent-title[data-v-b9b2e819]{font-size:14px;font-weight:800;color:#111827;margin-bottom:10px}.recent-empty[data-v-b9b2e819]{color:#6b7280;font-size:13px;padding:6px 0}.recent-items[data-v-b9b2e819]{display:grid;gap:10px}.recent-row[data-v-b9b2e819]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid #f3f4f6}.recent-row[data-v-b9b2e819]:first-child{border-top:none;padding-top:0}.recent-name[data-v-b9b2e819]{font-size:13px;font-weight:700;color:#111827;margin-bottom:4px}.recent-meta[data-v-b9b2e819]{font-size:12px;color:#6b7280}.recent-actions[data-v-b9b2e819]{display:flex;gap:8px;flex-shrink:0}.share-list[data-v-b9b2e819]{display:grid;gap:12px;margin-top:8px}.share-item[data-v-b9b2e819]{padding:10px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.flow-screen[data-v-9fed8daa]{min-height:100vh;display:flex;flex-direction:column;padding:20px;animation:slideIn-9fed8daa .25s ease-out}@keyframes slideIn-9fed8daa{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.progress-dots[data-v-9fed8daa]{display:flex;gap:8px;justify-content:center;padding:20px 0}.dot[data-v-9fed8daa]{width:8px;height:8px;border-radius:50%;background:#d1d5db;transition:background .2s}.dot.active[data-v-9fed8daa]{background:#52c41a}.flow-content[data-v-9fed8daa]{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:400px;width:100%;margin:0 auto}.flow-content.centered[data-v-9fed8daa]{align-items:center;text-align:center}.flow-title[data-v-9fed8daa]{font-size:24px;font-weight:600;color:#111827;margin:0 0 16px;line-height:1.3}.flow-subtitle[data-v-9fed8daa]{font-size:16px;color:#6b7280;margin:0;line-height:1.5}.flow-input[data-v-9fed8daa]{height:56px;padding:0 16px;font-size:17px;border:2px solid #d1d5db;border-radius:8px;outline:none;transition:border-color .15s;background:#fff;color:#111827;margin-bottom:12px}.flow-input[data-v-9fed8daa]:focus{border-color:#52c41a}.flow-input[data-v-9fed8daa]::placeholder{color:#9ca3af}.helper-text[data-v-9fed8daa]{font-size:14px;color:#6b7280;margin:0;line-height:1.5}.error-card[data-v-9fed8daa]{margin-top:16px;padding:12px 16px;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:15px;line-height:1.5;display:flex;align-items:flex-start;gap:8px}.error-icon[data-v-9fed8daa]{flex-shrink:0}.loading-spinner[data-v-9fed8daa]{font-size:48px;margin-bottom:24px;animation:pulse-9fed8daa 1.5s ease-in-out infinite}@keyframes pulse-9fed8daa{0%,to{opacity:1}50%{opacity:.5}}.success-icon[data-v-9fed8daa]{width:80px;height:80px;border-radius:50%;background:#52c41a;color:#fff;font-size:48px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;animation:scaleIn-9fed8daa .3s ease-out}@keyframes scaleIn-9fed8daa{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.flow-actions[data-v-9fed8daa]{max-width:400px;width:100%;margin:0 auto;padding:24px 0;padding-bottom:max(24px,env(safe-area-inset-bottom))}.flow-actions-compact[data-v-9fed8daa]{padding:12px 0 16px}.primary-button[data-v-9fed8daa]{width:100%;height:56px;background:#52c41a;color:#fff;font-size:17px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .15s}.primary-button[data-v-9fed8daa]:hover:not(:disabled){background:#45a816}.primary-button[data-v-9fed8daa]:active:not(:disabled){transform:scale(.97);transition:transform .06s}.primary-button[data-v-9fed8daa]:disabled{opacity:.5;cursor:not-allowed}.related-bar[data-v-4b08f4d3]{margin:12px 0 8px;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.related-shares[data-v-4b08f4d3]{width:100%;display:flex;flex-direction:column;gap:8px}.related-title[data-v-4b08f4d3]{font-size:13px;color:#6b7280;margin-bottom:8px}.related-list[data-v-4b08f4d3]{display:flex;flex-wrap:wrap;gap:8px}.related-btn[data-v-4b08f4d3]{border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer}.related-btn[data-v-4b08f4d3]:hover{border-color:#10b981;color:#047857}.related-share-chip[data-v-4b08f4d3]{border:1.5px solid #c7d2fe;background:#f5f7ff;color:#1d4ed8;font-size:14px;font-weight:600;text-decoration:none;box-shadow:0 2px 4px #00000005;transition:transform .15s cubic-bezier(.4,0,.2,1),box-shadow .15s ease,background .15s ease,border-color .15s ease}.related-share-chip[data-v-4b08f4d3]:before{content:"↗";font-size:16px;font-weight:700;opacity:.8;margin-right:2px}.related-share-chip[data-v-4b08f4d3]:hover{transform:translateY(-2px);background:#e0e7ff;border-color:#a5b4fc;box-shadow:0 8px 20px #4f46e51f}.related-share-chip[data-v-4b08f4d3]:active{transform:translateY(0) scale(.96);box-shadow:0 2px 6px #0000001a;background:#c7d2fe}.related-share-chip[data-v-4b08f4d3]:focus-visible{outline:2px solid #2563eb;outline-offset:3px}.sheet-backdrop[data-v-c4be444d]{position:fixed;inset:0;background:#0006;z-index:1000;display:flex;align-items:flex-end}.sheet-content[data-v-c4be444d]{width:100%;max-height:50vh;background:#fff;border-radius:16px 16px 0 0;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));transform:translateY(0)}.sheet-handle[data-v-c4be444d]{width:36px;height:4px;background:#d1d5db;border-radius:2px;margin:0 auto 16px}.sheet-title[data-v-c4be444d]{font-size:18px;font-weight:600;margin-bottom:16px;text-align:center;color:#111827}.sheet-enter-active[data-v-c4be444d],.sheet-leave-active[data-v-c4be444d]{transition:all .3s ease}.sheet-enter-from .sheet-content[data-v-c4be444d],.sheet-leave-to .sheet-content[data-v-c4be444d]{transform:translateY(100%)}.sheet-enter-from[data-v-c4be444d],.sheet-leave-to[data-v-c4be444d]{opacity:0}.compact-student-row[data-v-f0dc4c9a]{padding:10px 12px;border-bottom:1px solid #e5e7eb;background:#fff;position:relative}.row-line-1[data-v-f0dc4c9a]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.student-name[data-v-f0dc4c9a]{flex:1;font-weight:500;font-size:15px;color:#111827;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge[data-v-f0dc4c9a]{font-size:12px;padding:2px 8px;border-radius:12px;background:#e5e7eb;color:#374151;flex-shrink:0;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-active[data-v-f0dc4c9a]{background:#dbeafe;color:#1e40af}.status-partial[data-v-f0dc4c9a]{background:#fef3c7;color:#92400e}.status-inactive[data-v-f0dc4c9a]{background:#f3f4f6;color:#6b7280}.more-button[data-v-f0dc4c9a]{width:32px;height:32px;min-width:32px;border:none;background:#f3f4f6;border-radius:50%;font-size:18px;color:#374151;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.more-button[data-v-f0dc4c9a]:active{background:#e5e7eb}.more-button[data-v-f0dc4c9a]:disabled{opacity:.5;cursor:not-allowed}.row-line-2[data-v-f0dc4c9a]{display:flex;align-items:center;justify-content:space-between;gap:12px}.absence-label[data-v-f0dc4c9a]{font-size:14px;color:#6b7280;flex-shrink:0}.absence-stepper[data-v-f0dc4c9a]{display:flex;gap:8px;flex-shrink:0}.stepper-button[data-v-f0dc4c9a]{width:40px;height:40px;min-width:40px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:18px;color:#374151;cursor:pointer;display:flex;align-items:center;justify-content:center}.stepper-button[data-v-f0dc4c9a]:active:not(:disabled){background:#f3f4f6}.stepper-button[data-v-f0dc4c9a]:disabled{opacity:.3;cursor:not-allowed}.stepper-input[data-v-f0dc4c9a]{width:60px;height:40px;text-align:center;border:1px solid #d1d5db;border-radius:6px;font-size:16px;font-family:SF Mono,Menlo,Monaco,Courier New,monospace}.stepper-input[data-v-f0dc4c9a]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.stepper-input[data-v-f0dc4c9a]:disabled{background:#f9fafb;color:#9ca3af}.save-indicator[data-v-f0dc4c9a]{position:absolute;top:12px;right:48px;font-size:14px}.saved-icon[data-v-f0dc4c9a]{color:#10b981}.page-container[data-v-11efbef7]{min-height:100vh;background:#f9fafb;overflow-x:clip;width:100%;max-width:960px;margin:0 auto;padding:0 16px}.toast[data-v-11efbef7]{position:fixed;top:12px;left:50%;transform:translate(-50%);background:#111827eb;color:#fff;font-size:13px;padding:10px 12px;border-radius:10px;z-index:50;max-width:calc(100vw - 24px);text-align:center}.demo-banner[data-v-11efbef7]{background:#f0fdf4;border:1px solid #86efac;color:#065f46;padding:12px 14px;border-radius:12px;margin-bottom:12px;font-size:14px}.flow-screen[data-v-11efbef7]{min-height:100vh;display:flex;flex-direction:column;padding:20px;animation:slideIn-11efbef7 .25s ease-out}@keyframes slideIn-11efbef7{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.progress-dots[data-v-11efbef7]{display:flex;gap:8px;justify-content:center;padding:20px 0}.dot[data-v-11efbef7]{width:8px;height:8px;border-radius:50%;background:#d1d5db;transition:background .2s}.dot.active[data-v-11efbef7]{background:#52c41a}.flow-content[data-v-11efbef7]{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:400px;width:100%;margin:0 auto}.flow-content.centered[data-v-11efbef7]{align-items:center;text-align:center}.welcome-icon[data-v-11efbef7]{font-size:64px;text-align:center;margin-bottom:24px}.flow-title[data-v-11efbef7]{font-size:24px;font-weight:600;color:#111827;margin:0 0 16px;line-height:1.3}.flow-subtitle[data-v-11efbef7]{font-size:16px;color:#6b7280;margin:0;line-height:1.5}.flow-input[data-v-11efbef7]{height:56px;padding:0 16px;font-size:17px;border:2px solid #d1d5db;border-radius:8px;outline:none;transition:border-color .15s;background:#fff;color:#111827;margin-bottom:12px}.flow-input[data-v-11efbef7]:focus{border-color:#52c41a}.flow-input[data-v-11efbef7]::placeholder{color:#9ca3af}.helper-text[data-v-11efbef7]{font-size:14px;color:#6b7280;margin:0;line-height:1.5}.error-card[data-v-11efbef7]{margin-top:16px;padding:12px 16px;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:15px;line-height:1.5;display:flex;align-items:flex-start;gap:8px}.error-icon[data-v-11efbef7]{flex-shrink:0}.loading-spinner[data-v-11efbef7]{font-size:48px;margin-bottom:24px;animation:pulse-11efbef7 1.5s ease-in-out infinite}@keyframes pulse-11efbef7{0%,to{opacity:1}50%{opacity:.5}}.success-icon[data-v-11efbef7]{width:80px;height:80px;border-radius:50%;background:#52c41a;color:#fff;font-size:48px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;animation:scaleIn-11efbef7 .3s ease-out}@keyframes scaleIn-11efbef7{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.flow-actions[data-v-11efbef7]{max-width:400px;width:100%;margin:0 auto;padding:24px 0;padding-bottom:max(24px,env(safe-area-inset-bottom))}.step4-actions[data-v-11efbef7]{display:flex;flex-direction:column;gap:12px}.primary-button[data-v-11efbef7]{width:100%;height:56px;background:#52c41a;color:#fff;font-size:17px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .15s}.primary-button[data-v-11efbef7]:hover:not(:disabled){background:#45a816}.primary-button[data-v-11efbef7]:active:not(:disabled){transform:scale(.97);transition:transform .06s}.primary-button[data-v-11efbef7]:disabled{opacity:.5;cursor:not-allowed}.secondary-button[data-v-11efbef7]{width:100%;height:56px;background:#f3f4f6;color:#374151;font-size:17px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .15s;margin-bottom:12px}.secondary-button[data-v-11efbef7]:hover{background:#e5e7eb}.secondary-button[data-v-11efbef7]:active{transform:scale(.97);transition:transform .06s}.student-list-page[data-v-11efbef7]{min-height:100vh;padding-bottom:max(100px,calc(80px + env(safe-area-inset-bottom)));animation:slideIn-11efbef7 .25s ease-out}.sticky-header[data-v-11efbef7]{position:sticky;top:0;background:#fff;border-bottom:1px solid #e5e7eb;min-height:60px;z-index:10}.share-header[data-v-11efbef7]{width:100%;padding:16px 0;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.header-info[data-v-11efbef7]{flex:1;display:flex;flex-direction:column;gap:6px}.header-title[data-v-11efbef7]{font-size:16px;font-weight:600;color:#111827;line-height:1.3}.header-save-status[data-v-11efbef7]{font-size:13px;color:#6b7280;white-space:nowrap;margin-left:12px}.share-header[data-v-11efbef7] .related-bar{margin:2px 0 0;padding:0;border:none;background:transparent}.share-header[data-v-11efbef7] .related-title{margin-bottom:6px}.search-section[data-v-11efbef7]{position:sticky;top:60px;padding:0;margin:12px 0;display:flex;flex-wrap:wrap;gap:8px;background:#fff;border-bottom:1px solid #e5e7eb;z-index:9}.search-input[data-v-11efbef7]{flex:1;min-width:200px;height:44px;padding:0 16px;font-size:16px;border:2px solid #d1d5db;border-radius:8px;outline:none;transition:border-color .15s;background:#fff;color:#111827}.search-input-icon[data-v-11efbef7]{padding-left:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:12px center;background-size:18px 18px}.search-input[data-v-11efbef7]:focus{border-color:#52c41a}.search-input[data-v-11efbef7]::placeholder{color:#9ca3af}.search-button[data-v-11efbef7]{height:44px;padding:0 20px;font-size:15px;font-weight:600;color:#374151;background:#f3f4f6;border:none;border-radius:8px;cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0}.search-button[data-v-11efbef7]:hover{background:#e5e7eb}.bulk-button[data-v-11efbef7]{height:44px;padding:0 14px;font-size:13px;font-weight:700;color:#fff;background:#111827;border:none;border-radius:8px;cursor:pointer;transition:opacity .15s;white-space:nowrap;flex-shrink:0}@media(max-width:380px){.bulk-button[data-v-11efbef7]{font-size:12px;padding:0 10px}}.bulk-button[data-v-11efbef7]:hover{opacity:.92}.bulk-button[data-v-11efbef7]:disabled{opacity:.5;cursor:not-allowed}.student-select[data-v-11efbef7]{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#374151;margin-top:8px}.student-select input[data-v-11efbef7]{width:16px;height:16px}.modal-backdrop[data-v-11efbef7]{position:fixed;inset:0;background:#1118278c;display:flex;align-items:flex-start;justify-content:center;padding:18px;padding-top:max(16px,env(safe-area-inset-top));z-index:60}.modal[data-v-11efbef7]{width:100%;max-width:420px;background:#fff;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 10px 30px #00000024;overflow:hidden}.modal-title[data-v-11efbef7]{padding:14px 14px 10px;font-size:14px;font-weight:700;color:#111827;border-bottom:1px solid #f3f4f6}.modal-body[data-v-11efbef7]{padding:14px;display:grid;gap:10px}.modal-label[data-v-11efbef7]{font-size:12px;color:#374151;font-weight:700}.modal-input[data-v-11efbef7]{width:100%;border:1px solid #d1d5db;border-radius:10px;padding:10px 12px;font-size:14px;outline:none}.scope-row[data-v-11efbef7]{display:grid;gap:8px}.radio[data-v-11efbef7]{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#111827}.modal-error[data-v-11efbef7]{font-size:12px;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:8px 10px}.confirm-text[data-v-11efbef7]{font-size:13px;color:#111827;line-height:1.4}.confirm-hint[data-v-11efbef7]{font-size:12px;color:#6b7280}.modal-actions[data-v-11efbef7]{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}.select-block[data-v-11efbef7]{border:1px solid #e5e7eb;border-radius:10px;padding:10px;background:#f9fafb}.select-head[data-v-11efbef7]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.select-title[data-v-11efbef7]{font-size:12px;font-weight:700;color:#111827}.select-actions[data-v-11efbef7]{display:inline-flex;gap:8px}.select-search[data-v-11efbef7]{display:flex;gap:8px;margin-bottom:8px}.select-search-input[data-v-11efbef7]{flex:1;border:1px solid #d1d5db;border-radius:10px;padding:9px 10px;font-size:13px;outline:none;background:#fff}.select-search-input[data-v-11efbef7]:focus{border-color:#2563eb}.select-search-btn[data-v-11efbef7]{border:1px solid #d1d5db;background:#fff;border-radius:10px;padding:0 10px;font-size:12px;font-weight:700;color:#374151;cursor:pointer;white-space:nowrap}.select-search-btn[data-v-11efbef7]:hover{background:#f3f4f6}.link-btn[data-v-11efbef7]{border:none;background:transparent;color:#2563eb;font-size:12px;font-weight:700;cursor:pointer;padding:0}.select-list[data-v-11efbef7]{max-height:220px;overflow:auto;display:grid;gap:6px}.select-item[data-v-11efbef7]{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;font-size:12px;color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px}.select-name[data-v-11efbef7]{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-id[data-v-11efbef7]{color:#6b7280;font-variant-numeric:tabular-nums}.search-button[data-v-11efbef7]:active{transform:scale(.97);transition:transform .06s}.student-cards[data-v-11efbef7]{width:100%;display:grid;gap:12px}.student-card[data-v-11efbef7]{width:100%;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:12px;transition:opacity .15s}.student-card.is-saving[data-v-11efbef7]{opacity:.6}.student-name-row[data-v-11efbef7]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.student-name[data-v-11efbef7]{font-size:18px;font-weight:600;color:#111827}.student-save-icon[data-v-11efbef7]{font-size:16px;min-width:24px;text-align:right}.saved-icon[data-v-11efbef7]{color:#52c41a}.student-id[data-v-11efbef7]{font-size:13px;font-family:SF Mono,Menlo,Monaco,Courier New,monospace;color:#6b7280;margin-bottom:16px}.category-buttons[data-v-11efbef7]{display:flex;gap:8px;margin-bottom:16px}.category-button[data-v-11efbef7]{flex:1;height:44px;font-size:16px;font-weight:500;color:#374151;background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .15s}.category-button[data-v-11efbef7]:hover:not(:disabled){border-color:#52c41a;background:#f0f9ff}.category-button.is-active[data-v-11efbef7]{background:#52c41a;border-color:#52c41a;color:#fff}.category-button[data-v-11efbef7]:active:not(:disabled){transform:scale(.98);transition:transform .05s}.category-button[data-v-11efbef7]:disabled{opacity:.5;cursor:not-allowed}.absence-row[data-v-11efbef7]{display:flex;justify-content:space-between;align-items:center}.absence-label[data-v-11efbef7]{font-size:16px;color:#374151}.absence-stepper[data-v-11efbef7]{display:flex;align-items:center;gap:12px}.stepper-button[data-v-11efbef7]{width:44px;height:44px;font-size:24px;font-weight:400;color:#374151;background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.stepper-button[data-v-11efbef7]:hover:not(:disabled){border-color:#52c41a;background:#f0f9ff}.stepper-button[data-v-11efbef7]:active:not(:disabled){transform:scale(.95);transition:transform .05s}.stepper-button[data-v-11efbef7]:disabled{opacity:.3;cursor:not-allowed}.stepper-input[data-v-11efbef7]{width:64px;height:44px;font-size:18px;font-weight:600;color:#111827;text-align:center;border:2px solid #e5e7eb;border-radius:8px;outline:none;transition:border-color .15s;background:#fff;padding:0 8px}.stepper-input[data-v-11efbef7]:focus{border-color:#52c41a}.stepper-input[data-v-11efbef7]:disabled{opacity:.6;cursor:not-allowed}.stepper-input[data-v-11efbef7]::-webkit-inner-spin-button,.stepper-input[data-v-11efbef7]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper-input[data-v-11efbef7]{-moz-appearance:textfield}.student-error[data-v-11efbef7]{margin-top:12px;padding:12px;background:#fee2e2;border:1px solid #fecaca;border-radius:6px;font-size:14px;color:#dc2626;display:flex;justify-content:space-between;align-items:center;gap:12px}.retry-button[data-v-11efbef7]{padding:6px 12px;font-size:13px;font-weight:600;color:#dc2626;background:#fff;border:1px solid #dc2626;border-radius:6px;cursor:pointer;white-space:nowrap;transition:all .15s}.retry-button[data-v-11efbef7]:hover{background:#dc2626;color:#fff}.empty-state[data-v-11efbef7]{text-align:center;color:#9ca3af;padding:48px 16px;font-size:14px}.finish-section[data-v-11efbef7]{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e5e7eb;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.finish-button[data-v-11efbef7]{width:100%;height:52px;font-size:16px;font-weight:600;color:#374151;background:#f3f4f6;border:none;border-radius:8px;cursor:pointer;transition:all .15s}.finish-button[data-v-11efbef7]:hover{background:#e5e7eb}.finish-button[data-v-11efbef7]:active{transform:scale(.98);transition:transform .05s}.thank-you-screen[data-v-11efbef7]{min-height:100vh;background:#f9fafb;padding:20px;display:flex;flex-direction:column;animation:slideIn-11efbef7 .25s ease-out}.thank-you-header[data-v-11efbef7]{text-align:center;padding:32px 0 24px}.success-icon-small[data-v-11efbef7]{width:64px;height:64px;border-radius:50%;background:#52c41a;color:#fff;font-size:40px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;animation:scaleIn-11efbef7 .3s ease-out}.thank-you-title[data-v-11efbef7]{font-size:24px;font-weight:600;color:#111827;margin:0 0 8px}.thank-you-subtitle[data-v-11efbef7]{font-size:16px;color:#6b7280;margin:0}.modifications-summary[data-v-11efbef7]{flex:1;max-width:640px;width:100%;margin:0 auto;padding:16px 0}.summary-title[data-v-11efbef7]{font-size:18px;font-weight:600;color:#111827;margin:0 0 16px}.modifications-list[data-v-11efbef7]{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto;padding-right:4px}.change-item[data-v-11efbef7]{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.change-student-name[data-v-11efbef7]{font-size:16px;font-weight:600;color:#111827;margin-bottom:12px}.change-details[data-v-11efbef7]{display:flex;flex-direction:column;gap:8px}.change-row[data-v-11efbef7]{display:flex;align-items:center;gap:8px;font-size:14px}.change-label[data-v-11efbef7]{color:#6b7280;min-width:100px}.change-value[data-v-11efbef7]{color:#111827;display:flex;align-items:center;gap:8px}.old-value[data-v-11efbef7]{color:#dc2626;text-decoration:line-through;opacity:.7}.new-value[data-v-11efbef7]{color:#52c41a;font-weight:600}.no-changes[data-v-11efbef7]{flex:1;display:flex;align-items:center;justify-content:center;padding:48px 0}.no-changes p[data-v-11efbef7]{font-size:16px;color:#6b7280;margin:0}.thank-you-actions[data-v-11efbef7]{max-width:640px;width:100%;margin:0 auto;padding:24px 0 0;padding-bottom:max(24px,env(safe-area-inset-bottom))}.student-compact-list[data-v-11efbef7]{background:#fff;border-radius:8px;overflow:hidden}.action-sheet-options[data-v-11efbef7]{display:flex;flex-direction:column;gap:2px}.action-option[data-v-11efbef7]{padding:16px;border:none;background:#f9fafb;text-align:left;font-size:16px;font-weight:500;color:#111827;border-radius:8px;cursor:pointer;transition:background .15s}.action-option[data-v-11efbef7]:active{background:#e5e7eb}@media(min-width:641px){.student-compact-list[data-v-11efbef7]{display:none}}@media(max-width:640px){.student-cards[data-v-11efbef7]{display:none}}@media(min-width:640px){.flow-title[data-v-11efbef7],.thank-you-title[data-v-11efbef7]{font-size:28px}.student-cards[data-v-11efbef7]{padding:0}.finish-section[data-v-11efbef7]{max-width:960px;margin:0 auto;left:50%;transform:translate(-50%)}}.overview[data-v-f6dae1e2]{margin:18px 0}.overview-head[data-v-f6dae1e2]{margin-bottom:12px}.overview-title[data-v-f6dae1e2]{margin:0;font-size:16px;font-weight:700;color:#111827}.overview-subtitle[data-v-f6dae1e2]{margin-top:4px;font-size:13px;color:#6b7280}.overview-state[data-v-f6dae1e2]{padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:#6b7280;font-size:14px}.overview-error[data-v-f6dae1e2]{color:#dc2626}.overview-grid-single[data-v-f6dae1e2]{display:block;margin-top:24px}.kpi-full-width[data-v-f6dae1e2]{min-height:180px}.kpi-card-ritual[data-v-f6dae1e2]{position:relative;background:var(--card-l2-bg);backdrop-filter:var(--card-l2-blur);-webkit-backdrop-filter:var(--card-l2-blur);border:1px solid var(--card-l2-border);box-shadow:var(--card-l2-shadow);border-radius:24px;padding:0;overflow:hidden;display:flex;flex-direction:column;height:auto;min-height:240px;max-height:480px;transition:transform var(--transition-fast)}.kpi-ritual-header[data-v-f6dae1e2]{padding:16px 24px;display:flex;align-items:center;justify-content:flex-start;border-bottom:1px solid rgba(0,0,0,.05);background:#ffffff4d;z-index:10}.kpi-ritual-badge[data-v-f6dae1e2]{background:var(--kailo-slate-900);padding:6px 16px;border-radius:999px;display:flex;align-items:baseline;gap:4px;box-shadow:0 4px 12px #0000001a}.kpi-ritual-badge .completed-count[data-v-f6dae1e2]{color:var(--kailo-emerald-light);font-size:18px;font-weight:900}.kpi-ritual-badge .total-separator[data-v-f6dae1e2]{color:#fff6;font-size:14px}.kpi-ritual-badge .total-count[data-v-f6dae1e2]{color:#fffc;font-size:14px;font-weight:600}.kpi-ritual-grid-container[data-v-f6dae1e2]{flex:1;padding:24px;overflow-y:auto;background:#0f172a05}.kpi-ritual-bg-map[data-v-f6dae1e2]{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));grid-auto-rows:32px;gap:10px;width:100%}.kpi-ritual-block-map[data-v-f6dae1e2]{background:var(--kailo-slate-100);color:var(--kailo-slate-500);border-radius:8px;font-size:11px;font-weight:800;font-family:var(--font-ui);transition:all .3s ease;border:1px solid rgba(0,0,0,.05);display:flex;align-items:center;justify-content:center}.kpi-ritual-block-map.completed[data-v-f6dae1e2]{background:var(--kailo-emerald);color:#fff;box-shadow:0 4px 12px var(--kailo-emerald-glow);border-color:var(--kailo-emerald-light)}@media(max-width:640px){.kpi-ritual-header[data-v-f6dae1e2],.kpi-ritual-grid-container[data-v-f6dae1e2]{padding:16px}.kpi-ritual-bg-map[data-v-f6dae1e2]{grid-template-columns:repeat(auto-fill,minmax(40px,1fr));grid-auto-rows:28px;gap:8px}}@media(max-width:640px){.kpi-ritual-bg-map[data-v-f6dae1e2]{grid-template-columns:repeat(auto-fill,minmax(36px,1fr));grid-auto-rows:24px;gap:6px;padding:16px}}@media(max-width:640px){.kpi-ritual-bg-map[data-v-f6dae1e2]{gap:4px;padding:8px}.kpi-ritual-block-map[data-v-f6dae1e2]{font-size:9px;padding:1px 4px;min-width:22px}}.tabs[data-v-f6dae1e2]{display:flex;gap:8px;border-bottom:1px solid #e5e7eb;margin-bottom:24px}.tab[data-v-f6dae1e2]{padding:12px 16px;font-size:14px;font-weight:500;color:#6b7280;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .2s}.tab[data-v-f6dae1e2]:hover{color:#3b82f6}.tab.active[data-v-f6dae1e2]{color:#3b82f6;border-bottom-color:#3b82f6}.tab-content[data-v-f6dae1e2]{min-height:400px}.loading[data-v-f6dae1e2]{text-align:center;padding:40px;color:#6b7280}.error[data-v-f6dae1e2]{padding:12px 16px;background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:6px;margin-bottom:16px}.empty-state[data-v-f6dae1e2]{text-align:center;padding:60px 20px;color:#9ca3af;font-size:14px}.empty-state p[data-v-f6dae1e2]{margin:0}.table-scroll[data-v-f6dae1e2]{max-height:70vh;overflow:auto;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.table-scroll table[data-v-f6dae1e2]{width:100%;border-collapse:separate;border-spacing:0}.table-scroll th[data-v-f6dae1e2]{padding:10px 12px;border-bottom:1px solid #e5e7eb;border-right:1px solid #f3f4f6;text-align:left;font-size:13px;font-weight:700;position:sticky;top:0;background:#f9fafb;z-index:10}.table-scroll td[data-v-f6dae1e2]{padding:10px 12px;border-bottom:1px solid #e5e7eb;border-right:1px solid #f3f4f6;text-align:left;font-size:13px}.table-scroll th[data-v-f6dae1e2]:last-child,.table-scroll td[data-v-f6dae1e2]:last-child{border-right:none}.status-badge[data-v-f6dae1e2]{display:inline-block;padding:4px 8px;font-size:12px;font-weight:500;border-radius:4px}.status-badge.updated[data-v-f6dae1e2]{color:#16a34a;background:#dcfce7}.status-badge.pending[data-v-f6dae1e2]{color:#6b7280;background:#f3f4f6}.pagination[data-v-f6dae1e2]{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px}.page-btn[data-v-f6dae1e2]{padding:8px 16px;font-size:14px;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer}.page-btn[data-v-f6dae1e2]:hover:not(:disabled){background:#f9fafb}.page-btn[data-v-f6dae1e2]:disabled{color:#9ca3af;cursor:not-allowed}.page-info[data-v-f6dae1e2]{font-size:14px;color:#6b7280}.progress-sections[data-v-f6dae1e2]{display:flex;flex-direction:column;gap:20px}.class-section[data-v-f6dae1e2]{display:flex;flex-direction:column;gap:12px}.section-title[data-v-f6dae1e2]{font-size:16px;font-weight:600;margin:0;color:#111827;display:inline-flex;align-items:center;gap:8px}.section-count[data-v-f6dae1e2]{font-size:12px;font-weight:500;color:#6b7280}.section-icon[data-v-f6dae1e2]{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.section-icon svg[data-v-f6dae1e2]{width:20px;height:20px;fill:currentColor}.section-icon.submitted[data-v-f6dae1e2]{color:#16a34a}.section-icon.not-submitted[data-v-f6dae1e2]{color:#f59e0b}.progress-list[data-v-f6dae1e2]{display:flex;flex-direction:column;gap:16px}.progress-item[data-v-f6dae1e2]{padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.progress-item.submitted[data-v-f6dae1e2]{border-left:4px solid #16a34a}.progress-item.not-submitted[data-v-f6dae1e2]{border-left:4px solid #9ca3af;background:#fafafa}.class-info[data-v-f6dae1e2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.class-name[data-v-f6dae1e2]{font-size:14px;font-weight:600;color:#111827;display:flex;align-items:center;gap:8px}.status-pill[data-v-f6dae1e2]{display:inline-flex;align-items:center;padding:2px 10px;font-size:11px;font-weight:600;border-radius:999px;border:1px solid transparent}.status-pill-submitted[data-v-f6dae1e2]{color:#166534;background:#dcfce7;border-color:#bbf7d0}.status-pill-not-submitted[data-v-f6dae1e2]{color:#374151;background:#f3f4f6;border-color:#e5e7eb}.teacher-info[data-v-f6dae1e2]{font-size:12px;color:#6b7280}.last-updated[data-v-f6dae1e2]{font-size:12px;color:#9ca3af}.not-submitted-hint[data-v-f6dae1e2]{font-size:12px;color:#6b7280;margin-top:8px}.muted-metric[data-v-f6dae1e2]{font-size:12px;color:#9ca3af;margin-top:8px}.changes-list[data-v-f6dae1e2]{display:flex;flex-direction:column;gap:12px}.change-item[data-v-f6dae1e2]{padding:12px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.change-header[data-v-f6dae1e2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.change-time[data-v-f6dae1e2]{font-size:12px;color:#9ca3af}.change-teacher[data-v-f6dae1e2]{font-size:12px;font-weight:500;color:#6b7280}.change-body[data-v-f6dae1e2]{display:flex;align-items:center;gap:8px;font-size:14px;flex-wrap:wrap}.change-student[data-v-f6dae1e2]{font-weight:600;color:#111827}.change-class[data-v-f6dae1e2],.change-field[data-v-f6dae1e2]{color:#6b7280}.change-arrow[data-v-f6dae1e2]{color:#9ca3af}.change-old[data-v-f6dae1e2]{color:#dc2626;text-decoration:line-through}.change-new[data-v-f6dae1e2]{color:#16a34a;font-weight:500}.modal-overlay[data-v-f6dae1e2]{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000}.modal[data-v-f6dae1e2]{width:100%;max-width:520px;background:#fff;border-radius:12px;border:1px solid #e5e7eb;padding:24px;box-shadow:0 20px 40px #00000026}.modal-title[data-v-f6dae1e2]{font-size:18px;font-weight:700;color:#111827;margin-bottom:16px}.modal-field[data-v-f6dae1e2]{display:grid;gap:8px;margin-bottom:16px}.modal-label[data-v-f6dae1e2]{font-size:14px;font-weight:600;color:#374151}.modal-input[data-v-f6dae1e2]{padding:10px 12px;font-size:14px;border-radius:8px;border:1px solid #d1d5db;outline:none;transition:border-color .2s}.modal-input[data-v-f6dae1e2]:focus{border-color:#16a34a}.modal-actions[data-v-f6dae1e2]{display:flex;justify-content:flex-end;gap:12px;margin-top:12px}.modal-error[data-v-f6dae1e2]{margin-bottom:12px;color:#dc2626;font-size:13px;background:#fef2f2;padding:8px 12px;border-radius:6px;border:1px solid #fecaca}.tab-content[data-v-fc079630]{min-height:400px}.loading[data-v-fc079630]{text-align:center;padding:40px;color:#6b7280}.error[data-v-fc079630]{padding:12px 16px;background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:6px;margin-bottom:16px}.fee-summary-groups[data-v-fc079630]{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.summary-group[data-v-fc079630]{display:flex;flex-direction:column;gap:10px}.summary-title[data-v-fc079630]{margin:0;font-size:16px;font-weight:700;color:#111827}.summary-grid[data-v-fc079630]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.summary-card[data-v-fc079630]{padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.count-link[data-v-fc079630]{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:2px 8px;border-radius:999px;border:1px solid #e5e7eb;background:#f9fafb;color:#111827;font-size:12px;font-weight:700;cursor:pointer}.count-link[data-v-fc079630]:hover{border-color:#10b981;color:#047857}.fee-detail-overlay[data-v-fc079630]{position:fixed;inset:0;background:#0f172a73;z-index:80;display:flex;justify-content:flex-end}.fee-detail-panel[data-v-fc079630]{width:420px;max-width:92vw;height:100%;background:#fff;border-left:1px solid #e5e7eb;box-shadow:-12px 0 24px #0f172a1f;display:flex;flex-direction:column}.fee-detail-header[data-v-fc079630]{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;border-bottom:1px solid #e5e7eb}.fee-detail-title[data-v-fc079630]{display:flex;flex-direction:column;gap:4px}.fee-detail-class[data-v-fc079630]{font-size:16px;font-weight:700;color:#111827}.fee-detail-subtitle[data-v-fc079630]{font-size:12px;color:#6b7280}.fee-detail-close[data-v-fc079630]{width:32px;height:32px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#111827;font-size:18px;cursor:pointer}.fee-detail-tabs[data-v-fc079630]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 16px;border-bottom:1px solid #f3f4f6}.fee-tab[data-v-fc079630]{height:36px;border-radius:999px;border:1px solid #e5e7eb;background:#f9fafb;font-size:12px;font-weight:700;color:#374151;cursor:pointer}.fee-tab.active[data-v-fc079630]{background:#111827;border-color:#111827;color:#fff}.fee-detail-controls[data-v-fc079630]{display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:12px 16px;border-bottom:1px solid #f3f4f6}.fee-detail-search[data-v-fc079630]{height:36px;border:1px solid #e5e7eb;border-radius:10px;padding:0 12px;font-size:13px;outline:none}.fee-detail-action[data-v-fc079630]{height:36px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;font-size:12px;font-weight:700;color:#111827;cursor:pointer;padding:0 10px;white-space:nowrap}.fee-detail-body[data-v-fc079630]{flex:1;overflow:auto;padding:12px 16px 16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.detail-state[data-v-fc079630]{text-align:center;color:#6b7280;padding:24px 0}.detail-error[data-v-fc079630]{color:#dc2626}.fee-detail-list[data-v-fc079630]{display:grid;gap:10px}.fee-detail-row[data-v-fc079630]{border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:6px 12px;align-items:center}.detail-name[data-v-fc079630]{font-weight:700;color:#111827}.detail-amounts[data-v-fc079630]{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:#6b7280;grid-column:1 / -1}.detail-status[data-v-fc079630]{justify-self:end;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700}.status-paid[data-v-fc079630]{background:#ecfdf5;color:#047857}.status-unpaid[data-v-fc079630]{background:#fff1f2;color:#be123c}.status-no-meal[data-v-fc079630]{background:#eff6ff;color:#1d4ed8}@media(max-width:640px){.fee-detail-overlay[data-v-fc079630]{align-items:flex-end;justify-content:center}.fee-detail-panel[data-v-fc079630]{width:100%;height:70vh;border-left:none;border-top:1px solid #e5e7eb;border-radius:16px 16px 0 0;box-shadow:0 -12px 24px #0f172a1f}.fee-detail-controls[data-v-fc079630]{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.fee-detail-action[data-v-fc079630]{width:100%}.detail-status[data-v-fc079630]{justify-self:start}}.summary-label[data-v-fc079630]{font-size:12px;color:#6b7280}.summary-value[data-v-fc079630]{margin-top:6px;font-size:22px;font-weight:700;line-height:1}.summary-paid[data-v-fc079630]{color:#16a34a}.summary-unpaid[data-v-fc079630]{color:#dc2626}.summary-amount[data-v-fc079630]{color:#111827}.filter-bar[data-v-fc079630]{display:flex;gap:12px;margin-bottom:16px;justify-content:flex-start;align-items:center}.filter-input[data-v-fc079630]{padding:8px 12px;font-size:14px;border:1px solid #d1d5db;border-radius:6px;background:#fff;flex:1;max-width:300px}.export-btn[data-v-fc079630]{padding:8px 16px;font-size:14px;color:#fff;background:#16a34a;border:none;border-radius:6px;cursor:pointer;font-weight:500}.export-btn[data-v-fc079630]:hover{background:#15803d}.empty-state[data-v-fc079630]{text-align:center;padding:60px 20px;color:#9ca3af;font-size:14px}.empty-state p[data-v-fc079630]{margin:0}.table-scroll[data-v-fc079630]{max-height:70vh;overflow:auto;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.table-scroll table[data-v-fc079630]{width:100%;border-collapse:separate;border-spacing:0}.table-scroll th[data-v-fc079630]{padding:10px 12px;border-bottom:1px solid #e5e7eb;border-right:1px solid #f3f4f6;text-align:left;font-size:13px;font-weight:700;position:sticky;top:0;background:#f9fafb;z-index:10}.table-scroll td[data-v-fc079630]{padding:10px 12px;border-bottom:1px solid #e5e7eb;border-right:1px solid #f3f4f6;text-align:left;font-size:13px}.table-scroll th[data-v-fc079630]:last-child,.table-scroll td[data-v-fc079630]:last-child{border-right:none}.row-paid[data-v-fc079630]{background:#ecfdf3}.row-unpaid[data-v-fc079630]{background:#fef2f2}.fee-groups[data-v-fc079630]{display:flex;flex-direction:column;gap:20px}.fee-group[data-v-fc079630]{display:flex;flex-direction:column;gap:12px}.group-title[data-v-fc079630]{margin:0;font-size:16px;font-weight:700;color:#111827}@media(max-width:720px){.summary-grid[data-v-fc079630]{grid-template-columns:1fr}}.container[data-v-118b39c4]{max-width:1200px;margin:0 auto;padding:24px 16px}.header[data-v-118b39c4]{margin-bottom:24px}.back-btn[data-v-118b39c4]{padding:6px 12px;font-size:14px;color:#6b7280;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;margin-bottom:12px}.back-btn[data-v-118b39c4]:hover{background:#f9fafb}h1[data-v-118b39c4]{font-size:24px;font-weight:700;margin:0 0 4px}.meta[data-v-118b39c4]{color:#6b7280;font-size:14px;margin:0}.share-link-row[data-v-118b39c4]{margin-top:10px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.share-link-label[data-v-118b39c4]{font-size:13px;color:#6b7280}.share-link[data-v-118b39c4]{padding:4px 8px;background:#f3f4f6;border-radius:6px;font-size:12px}.share-link-btn[data-v-118b39c4]{padding:6px 10px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;font-size:12px;cursor:pointer}.share-link-btn[data-v-118b39c4]:hover{border-color:#10b981;color:#047857}.loading[data-v-118b39c4]{text-align:center;padding:40px;color:#6b7280}.error[data-v-118b39c4]{padding:12px 16px;background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:6px;margin-bottom:16px}.wrap[data-v-0b5cc05c]{max-width:720px;margin:0 auto;padding:20px 16px 80px;min-height:100vh}.header[data-v-0b5cc05c]{margin-bottom:40px;text-align:center}.title[data-v-0b5cc05c]{font-size:24px;font-weight:700;color:#111827;margin:0;letter-spacing:-.02em}.state[data-v-0b5cc05c]{padding:16px 0;color:#6b7280;font-size:14px;text-align:center}.state-error[data-v-0b5cc05c]{color:#dc2626}.modal-overlay[data-v-0b5cc05c]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-0b5cc05c .2s ease-out;padding:20px}.modal-card[data-v-0b5cc05c]{background:#fff;border-radius:16px;padding:32px;max-width:400px;width:100%;box-shadow:0 20px 25px -5px #0000001a;animation:scaleIn-0b5cc05c .3s ease-out}.modal-title[data-v-0b5cc05c]{font-size:20px;font-weight:700;color:#111827;margin-bottom:8px}.modal-subtitle[data-v-0b5cc05c]{font-size:14px;color:#6b7280;margin-bottom:24px;line-height:1.5}.modal-buttons[data-v-0b5cc05c]{display:flex;gap:12px}.modal-btn[data-v-0b5cc05c]{flex:1;padding:12px 16px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;outline:none}.modal-btn.primary[data-v-0b5cc05c]{background:#2563eb;color:#fff}.modal-btn.primary[data-v-0b5cc05c]:hover{background:#1d4ed8}.modal-btn.secondary[data-v-0b5cc05c]{background:#fff;color:#374151;border:2px solid #e5e7eb}.modal-btn.secondary[data-v-0b5cc05c]:hover{background:#f9fafb}.success-card[data-v-0b5cc05c]{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:48px 32px;text-align:center;box-shadow:0 1px 3px #0000000d}.success-icon[data-v-0b5cc05c]{font-size:64px;margin-bottom:20px;animation:scaleIn-0b5cc05c .5s ease-out}@keyframes scaleIn-0b5cc05c{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.success-title[data-v-0b5cc05c]{font-size:22px;font-weight:700;color:#111827;margin-bottom:12px;line-height:1.4}.success-subtitle[data-v-0b5cc05c]{font-size:15px;color:#6b7280;font-weight:500}.wizard-container[data-v-0b5cc05c]{animation:fadeIn-0b5cc05c .3s ease-out}@keyframes fadeIn-0b5cc05c{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.progress-minimal[data-v-0b5cc05c]{margin-bottom:48px;position:relative}.progress-bar-container[data-v-0b5cc05c]{height:3px;background:#f3f4f6;border-radius:2px;position:relative}.progress-bar[data-v-0b5cc05c]{height:100%;background:linear-gradient(90deg,#3b82f6,#2563eb);border-radius:2px;transition:width .5s cubic-bezier(.4,0,.2,1);position:relative}.progress-bar.shimmer-once[data-v-0b5cc05c]:after{content:"";position:absolute;top:0;right:0;bottom:0;width:40px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5));animation:shimmerOnce-0b5cc05c .3s ease-out}@keyframes shimmerOnce-0b5cc05c{0%{transform:translate(-100%)}to{transform:translate(100%)}}.milestone-dot[data-v-0b5cc05c]{position:absolute;top:50%;transform:translate(-50%,-50%);width:7px;height:7px;border-radius:50%;background:#d1d5db;border:1.5px solid #fff;transition:all .2s ease;z-index:10;cursor:pointer}.milestone-dot.current[data-v-0b5cc05c]{background:#2563eb;width:9px;height:9px;box-shadow:0 0 0 2px #2563eb33}.milestone-dot.completed[data-v-0b5cc05c]{background:#10b981}.milestone-dot[data-v-0b5cc05c]:hover{transform:translate(-50%,-50%) scale(1.3)}.milestone-dot.completed[data-v-0b5cc05c]:hover{background:#059669;box-shadow:0 0 0 3px #10b98133}.success-checkmark[data-v-0b5cc05c]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:64px;color:#10b981;z-index:1000;pointer-events:none;text-shadow:0 2px 8px rgba(16,185,129,.3)}.checkmark-fade-enter-active[data-v-0b5cc05c]{animation:checkmarkPop-0b5cc05c .4s ease-out}.checkmark-fade-leave-active[data-v-0b5cc05c]{transition:opacity .2s ease-out}.checkmark-fade-leave-to[data-v-0b5cc05c]{opacity:0}@keyframes checkmarkPop-0b5cc05c{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}to{opacity:.9;transform:translate(-50%,-50%) scale(1)}}.hero-card[data-v-0b5cc05c]{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:48px 40px;box-shadow:0 2px 8px #0000000a;min-height:400px;display:flex;flex-direction:column;justify-content:center}.hero-content[data-v-0b5cc05c]{flex:1;display:flex;flex-direction:column;justify-content:center;margin-bottom:32px}.hero-label[data-v-0b5cc05c]{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:600;color:#111827;margin-bottom:24px;line-height:1.4}.field-icon[data-v-0b5cc05c]{font-size:28px}.required[data-v-0b5cc05c]{color:#dc2626;margin-left:4px}.hero-input[data-v-0b5cc05c]{width:100%;border:2px solid #e5e7eb;border-radius:16px;padding:20px 24px;font-size:28px;color:#111827;outline:none;transition:all .3s ease;box-sizing:border-box;font-weight:500;text-align:center}.hero-input[data-v-0b5cc05c]:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb14;transform:scale(1.01)}.hero-input[data-v-0b5cc05c]:disabled{background:#f9fafb;cursor:not-allowed}.hero-input[data-v-0b5cc05c]::placeholder{color:#d1d5db;font-weight:400;transition:opacity .3s ease}.field-help[data-v-0b5cc05c]{margin-top:12px;color:#6b7280;font-size:14px;line-height:1.5;text-align:center}.field-error[data-v-0b5cc05c]{margin-top:12px;color:#dc2626;font-size:15px;font-weight:600;text-align:center}.submit-error[data-v-0b5cc05c]{margin-bottom:20px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;font-size:14px;text-align:center}.hero-actions[data-v-0b5cc05c]{display:flex;justify-content:center}.hero-btn[data-v-0b5cc05c]{padding:16px 48px;border-radius:14px;font-size:18px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;outline:none}.hero-btn.primary[data-v-0b5cc05c]{background:#2563eb;color:#fff;box-shadow:0 4px 12px #2563eb40}.hero-btn.primary[data-v-0b5cc05c]:hover:not(:disabled){background:#1d4ed8;box-shadow:0 6px 16px #2563eb4d;transform:translateY(-2px)}.hero-btn.primary[data-v-0b5cc05c]:active:not(:disabled){transform:translateY(0)}.hero-btn[data-v-0b5cc05c]:disabled{opacity:.6;cursor:not-allowed}.btn-hint[data-v-0b5cc05c]{display:block;font-size:12px;opacity:.65;margin-top:4px;font-weight:400}.review-header[data-v-0b5cc05c]{margin-bottom:32px;text-align:center;padding-bottom:24px;border-bottom:2px solid #f3f4f6}.review-title[data-v-0b5cc05c]{font-size:24px;font-weight:700;color:#111827;margin:0 0 8px}.review-subtitle[data-v-0b5cc05c]{font-size:14px;color:#6b7280;margin:0;line-height:1.5}.review-list[data-v-0b5cc05c]{margin-bottom:32px}.review-item[data-v-0b5cc05c]{padding:16px 20px;border-radius:12px;background:#f9fafb;margin-bottom:12px;transition:all .2s ease}.review-item[data-v-0b5cc05c]:hover{background:#f3f4f6;transform:translate(4px)}.review-item-header[data-v-0b5cc05c]{display:flex;align-items:center;gap:12px;margin-bottom:8px}.review-item-icon[data-v-0b5cc05c]{font-size:20px}.review-item-label[data-v-0b5cc05c]{flex:1;font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.edit-btn[data-v-0b5cc05c]{font-size:16px;background:transparent;border:none;cursor:pointer;padding:4px;opacity:.6;transition:all .2s ease}.edit-btn[data-v-0b5cc05c]:hover{opacity:1;transform:scale(1.1)}.review-item-value[data-v-0b5cc05c]{font-size:18px;color:#111827;font-weight:500;word-break:break-word;padding-left:32px}.back-button-zone[data-v-0b5cc05c]{position:fixed;bottom:0;left:0;width:200px;height:100px;z-index:100;pointer-events:none}.back-btn[data-v-0b5cc05c]{position:absolute;bottom:24px;left:24px;padding:10px 16px;border-radius:10px;font-size:14px;font-weight:500;background:#fffffff2;color:#6b7280;border:1px solid #e5e7eb;cursor:pointer;pointer-events:auto;box-shadow:0 2px 8px #00000014;transition:all .2s ease}.back-btn[data-v-0b5cc05c]:hover{background:#fff;color:#374151;border-color:#d1d5db}.fade-slide-enter-active[data-v-0b5cc05c],.fade-slide-leave-active[data-v-0b5cc05c]{transition:all .3s ease}.fade-slide-enter-from[data-v-0b5cc05c],.fade-slide-leave-to[data-v-0b5cc05c]{opacity:0;transform:translate(-12px)}.sound-toggle[data-v-0b5cc05c]{position:fixed;bottom:24px;right:24px;width:48px;height:48px;border-radius:50%;border:1px solid #e5e7eb;background:#fffffff2;font-size:20px;cursor:pointer;box-shadow:0 2px 8px #00000014;transition:all .2s ease;z-index:100}.sound-toggle[data-v-0b5cc05c]:hover{background:#fff;box-shadow:0 4px 12px #0000001f;transform:scale(1.05)}.slide-left-enter-active[data-v-0b5cc05c],.slide-left-leave-active[data-v-0b5cc05c],.slide-right-enter-active[data-v-0b5cc05c],.slide-right-leave-active[data-v-0b5cc05c]{transition:all .4s cubic-bezier(.4,0,.2,1)}.slide-left-enter-from[data-v-0b5cc05c]{opacity:0;transform:translate(40px)}.slide-left-leave-to[data-v-0b5cc05c],.slide-right-enter-from[data-v-0b5cc05c]{opacity:0;transform:translate(-40px)}.slide-right-leave-to[data-v-0b5cc05c]{opacity:0;transform:translate(40px)}@media(max-width:640px){.wrap[data-v-0b5cc05c]{padding:16px 12px 60px}.hero-card[data-v-0b5cc05c]{padding:32px 24px;min-height:350px}.hero-label[data-v-0b5cc05c]{font-size:18px}.field-icon[data-v-0b5cc05c]{font-size:24px}.hero-input[data-v-0b5cc05c]{font-size:22px;padding:16px 20px}.hero-btn[data-v-0b5cc05c]{padding:14px 36px;font-size:16px}.review-title[data-v-0b5cc05c]{font-size:20px}.back-btn[data-v-0b5cc05c]{bottom:16px;left:16px;font-size:13px;padding:8px 12px}.sound-toggle[data-v-0b5cc05c]{bottom:16px;right:16px;width:44px;height:44px;font-size:18px}}.wrap[data-v-7b554ba8]{max-width:900px;margin:40px auto;padding:16px}.topbar[data-v-7b554ba8]{display:flex;align-items:center;justify-content:space-between;gap:12px}.title[data-v-7b554ba8]{font-size:20px;font-weight:700;margin:0}.subtitle[data-v-7b554ba8]{color:#6b7280;margin:4px 0 0;font-size:14px}.section[data-v-7b554ba8]{margin-top:28px}.section-head[data-v-7b554ba8]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title[data-v-7b554ba8]{margin:0;font-size:16px;font-weight:700}.hint[data-v-7b554ba8]{color:#6b7280;margin-top:8px;font-size:14px}button[data-v-7b554ba8]{padding:10px 16px;font-size:14px;cursor:pointer;border:1px solid #d1d5db;border-radius:6px;background:#fff}button[data-v-7b554ba8]:hover{background:#f9fafb}.primary-btn[data-v-7b554ba8]{background:#3b82f6;color:#fff;border:none;font-size:16px;padding:12px 24px;font-weight:600}.primary-btn[data-v-7b554ba8]:hover{background:#2563eb}.primary-btn.small[data-v-7b554ba8]{font-size:14px;padding:10px 14px}.secondary-btn[data-v-7b554ba8]{background:#fff;color:#374151;border:1px solid #d1d5db}.secondary-btn[data-v-7b554ba8]:hover{background:#f9fafb;border-color:#9ca3af}.secondary-btn.small[data-v-7b554ba8]{font-size:14px;padding:10px 14px}.state[data-v-7b554ba8]{padding:16px 0;color:#6b7280;font-size:14px}.state-error[data-v-7b554ba8]{color:#dc2626}.empty-state[data-v-7b554ba8]{padding:48px 24px;text-align:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px}.empty-icon[data-v-7b554ba8]{font-size:48px;margin-bottom:16px;opacity:.6}.empty-title[data-v-7b554ba8]{font-size:16px;font-weight:600;color:#374151;margin-bottom:8px}.empty-hint[data-v-7b554ba8]{font-size:14px;color:#6b7280;line-height:1.5}.collections-list[data-v-7b554ba8]{display:flex;flex-direction:column;gap:12px}.collection-card[data-v-7b554ba8]{border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:16px;display:flex;justify-content:space-between;gap:16px;align-items:center;transition:all .2s ease}.collection-card[data-v-7b554ba8]:hover{border-color:#d1d5db;box-shadow:0 1px 3px #0000000d}.collection-main[data-v-7b554ba8]{flex:1}.collection-title[data-v-7b554ba8]{font-weight:700;color:#111827;font-size:16px;margin-bottom:4px}.collection-id[data-v-7b554ba8]{color:#6b7280;font-size:12px;margin-bottom:8px}.collection-meta[data-v-7b554ba8]{margin-bottom:8px;display:flex;flex-wrap:wrap;gap:12px;color:#6b7280;font-size:12px}.collection-stats[data-v-7b554ba8]{display:flex;gap:16px;color:#374151;font-size:14px}.response-count[data-v-7b554ba8]{display:inline-flex;align-items:center;gap:6px;color:#10b981;font-weight:600}.count-icon[data-v-7b554ba8]{font-size:16px}.response-count strong[data-v-7b554ba8]{font-size:18px;color:#059669}.collection-actions[data-v-7b554ba8]{flex:0 0 auto;display:flex;gap:10px}.danger-btn[data-v-7b554ba8]{padding:10px 14px;font-size:14px;border-radius:6px;border:1px solid #fecaca;background:#fff;color:#b91c1c;cursor:pointer}.danger-btn[data-v-7b554ba8]:hover:not(:disabled){background:#fef2f2}.danger-btn[data-v-7b554ba8]:disabled{opacity:.6;cursor:not-allowed}.toast[data-v-7b554ba8]{position:fixed;bottom:32px;left:50%;transform:translate(-50%);background:#111827;color:#fff;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;animation:slideUp-7b554ba8 .3s ease-out;z-index:1000}@keyframes slideUp-7b554ba8{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:768px){.collection-card[data-v-7b554ba8]{flex-direction:column;align-items:stretch}.collection-actions[data-v-7b554ba8]{flex-direction:column}.collection-actions button[data-v-7b554ba8]{width:100%}}.wrap[data-v-212f40c8]{max-width:820px;margin:0 auto;padding:24px 16px 40px}.topbar[data-v-212f40c8]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.title[data-v-212f40c8]{font-size:22px;font-weight:800;color:#111827;margin:0}.subtitle[data-v-212f40c8]{margin:6px 0 0;color:#6b7280;font-size:13px}.card[data-v-212f40c8]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px;box-shadow:0 1px 2px #0000000a;margin-bottom:12px}.field[data-v-212f40c8]{margin-bottom:14px}.label[data-v-212f40c8]{display:block;font-size:13px;font-weight:700;color:#111827;margin-bottom:8px}.input[data-v-212f40c8]{width:100%;border:1px solid #d1d5db;border-radius:10px;padding:10px;font-size:14px;outline:none}.hint[data-v-212f40c8]{font-size:12px;color:#6b7280;margin-top:6px}.actions[data-v-212f40c8]{display:flex;gap:10px;margin-top:10px}.state[data-v-212f40c8]{margin-top:10px;font-size:13px;color:#6b7280}.state-error[data-v-212f40c8]{color:#b91c1c}.btn[data-v-212f40c8]{border:1px solid #d1d5db;background:#fff;color:#111827;padding:8px 10px;border-radius:10px;font-size:13px;cursor:pointer}.primary-btn[data-v-212f40c8]{border:1px solid #2563eb;background:#2563eb;color:#fff;padding:8px 10px;border-radius:10px;font-size:13px;cursor:pointer}.result-title[data-v-212f40c8]{font-size:14px;font-weight:800;color:#111827;margin-bottom:10px}.result-row[data-v-212f40c8]{display:flex;gap:10px;margin-bottom:8px;font-size:13px}.k[data-v-212f40c8]{width:120px;color:#6b7280;flex-shrink:0}.v[data-v-212f40c8]{color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.anchor[data-v-212f40c8]{color:#2563eb;text-decoration:none}.anchor[data-v-212f40c8]:hover{text-decoration:underline}.wrap[data-v-2c01874e]{max-width:1100px;margin:0 auto;padding:24px 16px 40px}.topbar[data-v-2c01874e]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.title[data-v-2c01874e]{font-size:22px;font-weight:800;color:#111827;margin:0}.subtitle[data-v-2c01874e]{margin:6px 0 0;color:#6b7280;font-size:13px}.actions[data-v-2c01874e]{display:flex;gap:10px}.card[data-v-2c01874e]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px;box-shadow:0 1px 2px #0000000a;margin-bottom:12px}.card-head[data-v-2c01874e]{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.card-title[data-v-2c01874e]{font-size:14px;font-weight:800;color:#111827;margin:0}.muted[data-v-2c01874e]{color:#6b7280;font-size:12px}.state[data-v-2c01874e]{padding:12px;color:#6b7280;font-size:13px}.state-error[data-v-2c01874e]{color:#b91c1c}.table-scroll[data-v-2c01874e]{max-height:60vh;overflow:auto;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.table[data-v-2c01874e]{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.table th[data-v-2c01874e],.table td[data-v-2c01874e]{border-bottom:1px solid #f3f4f6;border-right:1px solid #f3f4f6;padding:10px;vertical-align:top}.table th[data-v-2c01874e]:last-child,.table td[data-v-2c01874e]:last-child{border-right:none}.table thead th[data-v-2c01874e]{border-bottom:1px solid #e5e7eb;color:#111827;font-weight:700;background:#f9fafb;position:sticky;top:0;z-index:10}.mono[data-v-2c01874e]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.nowrap[data-v-2c01874e]{white-space:nowrap}.cell[data-v-2c01874e]{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.anchor[data-v-2c01874e]{color:#2563eb;text-decoration:none}.anchor[data-v-2c01874e]:hover{text-decoration:underline}.btn[data-v-2c01874e]{border:1px solid #d1d5db;background:#fff;color:#111827;padding:8px 10px;border-radius:10px;font-size:13px;cursor:pointer}.btn[data-v-2c01874e]:disabled{opacity:.6;cursor:not-allowed}.preview-page[data-v-0a2e5e84]{min-height:100vh;background:#f9fafb;padding:24px;max-width:1000px;margin:0 auto}.detection-banner[data-v-0a2e5e84]{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px solid #86efac;border-radius:16px;padding:24px;margin-bottom:24px;display:flex;gap:16px;align-items:flex-start}.detection-icon[data-v-0a2e5e84]{font-size:32px;flex-shrink:0}.detection-content[data-v-0a2e5e84]{flex:1}.detection-title[data-v-0a2e5e84]{font-size:20px;font-weight:600;color:#065f46;margin:0 0 8px}.detection-subtitle[data-v-0a2e5e84]{font-size:14px;color:#047857;margin:0}.preview-container[data-v-0a2e5e84]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;margin-bottom:24px}.preview-header[data-v-0a2e5e84]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.preview-title[data-v-0a2e5e84]{font-size:16px;font-weight:600;color:#111827;margin:0}.preview-count[data-v-0a2e5e84]{font-size:13px;color:#6b7280}.table-wrapper[data-v-0a2e5e84]{overflow-x:auto;border-radius:8px;border:1px solid #e5e7eb}.data-table[data-v-0a2e5e84]{width:100%;border-collapse:collapse;font-size:14px}.data-table th[data-v-0a2e5e84]{background:#f9fafb;padding:12px;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb;white-space:nowrap}.data-table td[data-v-0a2e5e84]{padding:12px;border-bottom:1px solid #f3f4f6;color:#111827}.data-table tbody tr:last-child td[data-v-0a2e5e84]{border-bottom:none}.status-tag[data-v-0a2e5e84]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.status-absent[data-v-0a2e5e84]{background:#fee2e2;color:#dc2626}.status-present[data-v-0a2e5e84]{background:#d1fae5;color:#065f46}.pagination-hint[data-v-0a2e5e84]{margin-top:12px;padding:10px;background:#fef3c7;border-radius:6px;font-size:13px;color:#92400e;text-align:center}.preparation-card[data-v-0a2e5e84]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;margin-bottom:24px}.card-header[data-v-0a2e5e84]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.card-title[data-v-0a2e5e84]{font-size:16px;font-weight:600;color:#111827;margin:0}.optional-badge[data-v-0a2e5e84]{padding:2px 8px;background:#f3f4f6;color:#6b7280;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.card-description[data-v-0a2e5e84]{font-size:14px;color:#6b7280;margin:0 0 16px;line-height:1.5}.upload-zone[data-v-0a2e5e84]{margin-top:12px}.file-input-hidden[data-v-0a2e5e84]{display:none}.upload-btn-secondary[data-v-0a2e5e84]{padding:10px 20px;font-size:14px;font-weight:600;color:#374151;background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .15s}.upload-btn-secondary[data-v-0a2e5e84]:hover:not(:disabled){border-color:#52c41a;background:#f0fdf4}.upload-btn-secondary[data-v-0a2e5e84]:disabled{opacity:.5;cursor:not-allowed}.teacher-preview[data-v-0a2e5e84]{margin-top:12px;padding:12px;background:#f0fdf4;border:1px solid #86efac;border-radius:8px}.teacher-preview-header[data-v-0a2e5e84]{display:flex;justify-content:space-between;align-items:center}.teacher-count[data-v-0a2e5e84]{font-size:14px;font-weight:600;color:#065f46}.clear-btn[data-v-0a2e5e84]{padding:6px 12px;font-size:12px;font-weight:600;color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .15s}.clear-btn[data-v-0a2e5e84]:hover{border-color:#52c41a}.error-hint[data-v-0a2e5e84]{margin-top:8px;padding:8px 12px;background:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:13px;display:flex;align-items:center;gap:6px}.error-card[data-v-0a2e5e84]{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;color:#dc2626;font-size:14px;display:flex;align-items:center;gap:8px;margin-top:16px}.error-icon[data-v-0a2e5e84]{flex-shrink:0;font-size:16px}@media(max-width:640px){.preview-page[data-v-0a2e5e84],.detection-banner[data-v-0a2e5e84]{padding:16px}.detection-title[data-v-0a2e5e84]{font-size:18px}}.page-container[data-v-6562a83e]{min-height:100vh;background:#f9fafb;overflow-x:clip}.content[data-v-6562a83e]{max-width:980px;margin:0 auto;padding:24px 16px 48px;display:grid;gap:16px}.content[data-v-6562a83e] .related-bar{margin:0;padding:0;border:none;background:transparent}.content[data-v-6562a83e] .related-title{margin-bottom:6px}.summary-card[data-v-6562a83e]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.summary-title[data-v-6562a83e]{font-weight:700;margin-bottom:10px}.summary-subtitle[data-v-6562a83e]{color:#6b7280;font-size:14px;margin-bottom:12px}.summary-grid[data-v-6562a83e]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.summary-item[data-v-6562a83e]{display:flex;justify-content:space-between;border:1px solid #f3f4f6;border-radius:10px;padding:10px 12px}.summary-item.highlight[data-v-6562a83e]{background:#fef9c3;border-color:#fde68a}.summary-item.highlight.secondary[data-v-6562a83e]{background:#e0f2fe;border-color:#bae6fd}.summary-label[data-v-6562a83e]{color:#6b7280}.summary-value[data-v-6562a83e]{font-weight:700}.table-card[data-v-6562a83e]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.table-title[data-v-6562a83e]{font-weight:700;margin-bottom:10px}.detail-actions[data-v-6562a83e]{margin-top:12px;display:flex;flex-direction:column;gap:8px}.primary-action[data-v-6562a83e]{width:100%;height:44px;border-radius:10px;border:none;background:#111827;color:#fff;font-size:14px;font-weight:700;cursor:pointer}.primary-action[data-v-6562a83e]:hover{opacity:.92}.secondary-action[data-v-6562a83e]{width:100%;height:42px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;color:#111827;font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:space-between;padding:0 12px;cursor:pointer}.secondary-action[data-v-6562a83e]:hover{border-color:#10b981;color:#047857}.detail-arrow[data-v-6562a83e]{font-size:18px}.table-wrapper[data-v-6562a83e]{overflow-x:auto}.data-table[data-v-6562a83e]{width:100%;border-collapse:collapse;font-size:14px}.data-table th[data-v-6562a83e],.data-table td[data-v-6562a83e]{border-bottom:1px solid #f1f5f9;padding:10px 8px;text-align:left}.status-pill[data-v-6562a83e]{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.status-paid[data-v-6562a83e]{background:#dcfce7;color:#166534}.status-unpaid[data-v-6562a83e]{background:#fee2e2;color:#991b1b}.status-no-meal[data-v-6562a83e]{background:#dbeafe;color:#1e40af}.empty[data-v-6562a83e]{text-align:center;color:#9ca3af}.toast[data-v-6562a83e]{position:fixed;left:50%;bottom:24px;transform:translate(-50%);background:#111827e6;color:#fff;padding:10px 16px;border-radius:999px;font-size:13px;z-index:60}:root{--kailo-emerald: #10b981;--kailo-emerald-light: #34d399;--kailo-emerald-glow: rgba(16, 185, 129, .2);--kailo-slate-900: #0f172a;--kailo-slate-800: #1e293b;--kailo-slate-700: #334155;--kailo-slate-500: #64748b;--kailo-bg: #f9fafb;--kailo-text-main: #1e293b;--kailo-text-muted: #64748b;--font-ui: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace;--card-l1-bg: #ffffff;--card-l1-border: rgba(226, 232, 240, .8);--card-l1-shadow: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -2px rgba(0, 0, 0, .05);--card-l2-bg: rgba(255, 255, 255, .7);--card-l2-blur: blur(12px);--card-l2-border: rgba(255, 255, 255, .5);--card-l2-shadow: 0 20px 25px -5px rgba(0, 0, 0, .05), 0 8px 10px -6px rgba(0, 0, 0, .05);--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .4s cubic-bezier(.4, 0, .2, 1);--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--app-height: 100vh}body{font-family:var(--font-ui);color:var(--kailo-text-main);background-color:var(--kailo-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;overflow-x:hidden;width:100%}@media(max-width:640px){:root{--app-height: 100svh}body{font-size:14px}.ritual-container{min-height:var(--app-height);padding:16px;padding-top:calc(16px + var(--safe-area-top));padding-bottom:calc(16px + var(--safe-area-bottom))}.ritual-card,.auth-card{padding:24px 20px!important;border-radius:20px}.ritual-title,.auth-title{font-size:24px!important;margin-bottom:24px!important}.primary-button,.auth-button,.emerald-button{min-height:48px;padding:12px 20px}}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-wrap-balance{text-wrap:balance}.number-tabular{font-variant-numeric:tabular-nums}*{box-sizing:border-box}img,svg,video,canvas{max-width:100%;height:auto}.card-l1{background:var(--card-l1-bg);border:1px solid var(--card-l1-border);box-shadow:var(--card-l1-shadow);border-radius:16px}.card-l2{background:var(--card-l2-bg);backdrop-filter:var(--card-l2-blur);-webkit-backdrop-filter:var(--card-l2-blur);border:1px solid var(--card-l2-border);box-shadow:var(--card-l2-shadow);border-radius:24px}.primary-button{background:var(--kailo-slate-900);color:#fff;border:none;padding:10px 24px;border-radius:12px;font-weight:500;letter-spacing:.02em;cursor:pointer;transition:var(--transition-fast)}.primary-button:hover{transform:translateY(-1px);background:var(--kailo-slate-800);box-shadow:0 4px 12px #0f172a26}.primary-button:active{transform:translateY(0)}.primary-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.emerald-button{background:var(--kailo-emerald);color:#fff;border:none;padding:10px 24px;border-radius:12px;font-weight:500;cursor:pointer;transition:var(--transition-fast)}.emerald-button:hover{background:var(--kailo-emerald-light);box-shadow:0 4px 12px var(--kailo-emerald-glow)}.number-font{font-family:var(--font-mono);letter-spacing:-.02em}.floating-label-group{position:relative;margin-bottom:20px}.floating-label-group input{width:100%;padding:12px 14px;font-size:15px;border:1px solid var(--kailo-slate-700);background:#0f172a0d;border-radius:12px;color:var(--kailo-text-main);transition:all var(--transition-fast);outline:none}.floating-label-group label{position:absolute;left:14px;top:12px;color:var(--kailo-slate-500);font-size:15px;pointer-events:none;transition:all var(--transition-fast)}.floating-label-group input:focus,.floating-label-group input:not(:placeholder-shown){padding-top:20px;padding-bottom:4px;border-color:var(--kailo-emerald)}.floating-label-group input:focus~label,.floating-label-group input:not(:placeholder-shown)~label{top:6px;font-size:12px;color:var(--kailo-emerald);font-weight:600}.floating-label-group input:focus{box-shadow:0 0 0 4px var(--kailo-emerald-glow)}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.animate-shake{animation:shake .4s cubic-bezier(.36,.07,.19,.97) both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.stagger-entry{opacity:0;animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) forwards;animation-delay:var(--delay, 0s)}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;display:inline-block;vertical-align:middle;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}.error-box{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#ef4444;padding:12px;border-radius:12px;font-size:14px;display:flex;align-items:center;gap:8px}.ritual-container{display:flex;align-items:center;justify-content:center;min-height:var(--app-height);padding:20px}.ritual-card{background:var(--card-l2-bg);backdrop-filter:var(--card-l2-blur);-webkit-backdrop-filter:var(--card-l2-blur);border:1px solid var(--card-l2-border);box-shadow:var(--card-l2-shadow);border-radius:24px;width:100%;max-width:420px;padding:40px}.ritual-title{font-size:28px;font-weight:800;margin-bottom:32px;letter-spacing:-.02em;color:var(--kailo-slate-900)}.floating-label-input{width:100%;padding:12px 14px;font-size:15px;border:1px solid var(--kailo-slate-700);background:#0f172a0d;border-radius:12px;color:var(--kailo-text-main);transition:all var(--transition-fast);outline:none}.floating-label-input:focus,.floating-label-input:not(:placeholder-shown){padding-top:20px;padding-bottom:4px;border-color:var(--kailo-emerald);box-shadow:0 0 0 4px var(--kailo-emerald-glow)}@media(prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.auth-container{display:flex;align-items:center;justify-content:center;min-height:calc(var(--app-height) - 120px);padding:20px}@media(max-width:640px){.auth-container{min-height:var(--app-height);padding:16px;padding-top:calc(16px + var(--safe-area-top));padding-bottom:calc(16px + var(--safe-area-bottom))}}.auth-card{width:100%;max-width:420px;padding:40px}.auth-title{font-size:28px;font-weight:800;margin-bottom:32px;letter-spacing:-.02em;color:var(--kailo-slate-900)}.auth-form{display:flex;flex-direction:column;gap:8px}.auth-footer{margin-top:24px;font-size:14px;text-align:center;color:var(--kailo-text-muted)}.auth-link{color:var(--kailo-emerald);text-decoration:none;font-weight:600;margin-left:4px;position:relative;transition:color var(--transition-fast)}.auth-link:after{content:"";position:absolute;width:0;height:2px;bottom:-2px;left:0;background-color:var(--kailo-emerald);transition:width var(--transition-smooth)}.auth-link:hover{color:var(--kailo-emerald-light)}.auth-link:hover:after{width:100%}.auth-button{width:100%;padding:14px;font-size:16px;margin-top:12px}.auth-button:hover:not(:disabled){box-shadow:0 4px 12px #0f172a26,0 0 15px var(--kailo-emerald-glow);background:linear-gradient(135deg,var(--kailo-slate-900) 0%,#1e293b 100%)}
