@import "https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&display=swap";:root{--blue-50:#eff6ff;--blue-100:#dbeafe;--blue-400:#60a5fa;--blue-600:#2563eb;--blue-800:#1e40af;--sky-50:#f0f9ff;--sky-200:#bae6fd;--sky-500:#0ea5e9;--sky-600:#0284c7;--sky-800:#075985;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-800:#1e293b;--navy:#132e5a;--primary:var(--blue-600);--primary-dark:var(--blue-800);--primary-light:var(--blue-400);--primary-100:var(--blue-100);--primary-50:var(--blue-50);--sky:var(--sky-500);--sky-dark:var(--sky-600);--white:#fff;--bg:var(--slate-50);--border:var(--slate-200);--text:var(--slate-800);--text-sec:var(--slate-500);--success:#16a34a;--danger:#dc2626;--font-sans:"Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", sans-serif;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-pill:9999px;--shadow:0 4px 16px #132e5a14;--shadow-lg:0 12px 32px #132e5a24;--t-fast:.15s ease;--piece:#f1f5f9;--piece-rot:#dbeafe;--piece-circle:#e0f2fe;--leftover:#fff6d6;--leftover-line:#b47b00;--leftover-text:#7a5200}*{box-sizing:border-box}html,body,#app{height:100%}body{font-family:var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}input,button,select,textarea{font-family:inherit}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}button{cursor:pointer}.num{font-variant-numeric:tabular-nums}.input{border:1.5px solid var(--border);border-radius:var(--r-sm);height:42px;color:var(--text);background:var(--white);transition:border-color var(--t-fast), box-shadow var(--t-fast);outline:none;padding:0 10px;font-size:15px}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-100)}.input:disabled{background:var(--slate-100);color:var(--text-sec);cursor:not-allowed}.input.h44{height:44px;color:var(--navy);font-size:16px;font-weight:600}.input.h40{height:40px;color:var(--navy);font-size:16px;font-weight:600}.input.h38{height:38px;font-size:14.5px}.input.h36{border-radius:6px;height:36px;font-size:14.5px}.label-caps{color:var(--navy);letter-spacing:.03em;text-transform:uppercase;font-size:13px;font-weight:700}.field-label{color:var(--text-sec);flex-direction:column;gap:4px;font-size:12.5px;font-weight:500;display:flex}.icon-btn{width:32px;height:32px;color:var(--text-sec);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{background:var(--slate-100)}.icon-btn.danger:hover{color:var(--danger)}.overlay{z-index:50;background:#132e5a52;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.modal{background:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);animation:.14s ease-out thl-pop}.check-card{border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;align-items:flex-start;gap:10px;padding:10px;display:flex}.check-card:hover{border-color:var(--primary);background:var(--primary-50)}.check-card input,.check{width:17px;height:17px;accent-color:var(--primary);cursor:pointer;margin:0}@keyframes thl-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes thl-slide{0%{opacity:.4;transform:translate(-16px)}to{opacity:1;transform:none}}@keyframes thl-toast{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}
