:root{font-family:Inter,Segoe UI,Roboto,sans-serif;color:#1e293b;background:#f1f5f9;line-height:1.5;font-weight:400;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;min-width:320px;background:#f1f5f9}button,input,select,textarea{font:inherit}button{cursor:pointer}.page-shell{min-height:100vh;background:#f1f5f9;display:flex;flex-direction:column}.app-header{height:60px;display:flex;align-items:center;gap:8px;padding:0 16px;background:#1e3a5f;border-bottom:1px solid #162d4a;color:#fff}.app-header__title{font-size:1.1rem;font-weight:600;color:#fff;letter-spacing:-.01em}.app-header__user{margin-left:auto;font-size:.85rem;font-weight:500;color:#ffffffbf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.icon-button{width:40px;height:40px;border:0;background:transparent;color:#ffffffd9;font-size:1.25rem;border-radius:6px;transition:background .12s;display:inline-flex;align-items:center;justify-content:center}.icon-button:hover{background:#ffffff1f}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:#f1f5f9}.login-card{width:min(100%,400px);text-align:center;padding:40px 32px 32px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000014}.login-icon{margin:0 auto 12px;width:56px;height:56px}.login-icon svg{width:100%;height:100%}.login-copy h1{margin:0;font-size:1.875rem;font-weight:700;color:#1e3a5f;letter-spacing:-.02em}.launch-eyebrow{margin:0 0 4px;font-size:.85rem;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.08em}.login-tabs{display:flex;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;margin:20px 0 24px;background:#f8fafc}.login-tab{flex:1;padding:10px 8px;border:0;background:transparent;color:#64748b;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .12s,color .12s}.login-tab.is-active{background:#1e3a5f;color:#fff;font-weight:600}.pin-display{display:flex;justify-content:center;gap:16px;margin-bottom:28px}.pin-dot{width:18px;height:18px;border-radius:50%;border:2px solid #cbd5e1;background:transparent;transition:background .1s,border-color .1s}.pin-dot.filled{background:#1e3a5f;border-color:#1e3a5f}.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:280px;margin:0 auto}.pin-key{height:68px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#1e293b;font-size:1.5rem;font-weight:500;cursor:pointer;transition:background .1s,border-color .1s;touch-action:manipulation}.pin-key:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.pin-key:active:not(:disabled){background:#e2e8f0}.pin-key:disabled{opacity:.5;cursor:default}.pin-key--enter{background:#1e3a5f;border-color:#1e3a5f;color:#fff}.pin-key--enter:hover:not(:disabled){background:#2d5282;border-color:#2d5282}.pin-key--del{color:#dc2626}.credentials-section{margin-top:4px}.credentials-section .launch-row{grid-template-columns:100px 1fr}.launch-row{display:grid;grid-template-columns:200px minmax(280px,420px);align-items:center;justify-content:center;gap:16px;margin-bottom:16px}.launch-label{text-align:right;font-size:.95rem;font-weight:500;color:#374151}.launch-input{width:100%;height:40px;padding:8px 12px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#1e293b;transition:border-color .15s,box-shadow .15s}.launch-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.launch-actions{display:flex;justify-content:flex-end;width:min(100%,636px);margin:8px auto 16px}.launch-error{color:#dc2626;margin:0 auto 12px;text-align:left;font-size:.9rem}.primary-button,.secondary-button{border:1px solid #2563eb;border-radius:6px;background:#2563eb;color:#fff;padding:7px 20px;font-weight:500;font-size:.9rem;transition:background .12s,border-color .12s}.primary-button:hover{background:#1d4ed8;border-color:#1d4ed8}.primary-button:active{background:#1e40af;border-color:#1e40af}.secondary-button{background:#fff;color:#2563eb}.secondary-button:hover{background:#eff6ff;border-color:#2563eb;color:#2563eb}.ts-page{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:40px 24px}.ts-card{width:min(100%,520px);background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000014;padding:36px 40px 32px}.ts-heading{margin:0 0 28px;font-size:1.4rem;font-weight:700;color:#1e3a5f;letter-spacing:-.01em}.ts-form{display:grid;gap:16px;margin-bottom:8px}.ts-row{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:16px}.ts-label{text-align:right;font-size:.95rem;font-weight:500;color:#374151}.ts-break-input{max-width:120px}.ts-actions{display:flex;justify-content:flex-end;margin-top:24px}.ts-save-btn{padding:10px 28px;font-size:.95rem}.confirm-icon{width:52px;height:52px;border-radius:50%;background:#1e3a5f;color:#fff;font-size:1.6rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.confirm-heading{text-align:center;margin-bottom:4px!important}.confirm-subtext{text-align:center;color:#64748b;font-size:.9rem;margin:0 0 24px}.confirm-list{margin:0 0 24px;padding:0;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.confirm-row{display:grid;grid-template-columns:1fr 1fr;padding:12px 16px;border-bottom:1px solid #f1f5f9;gap:8px}.confirm-row:last-child{border-bottom:0}.confirm-row dt{font-size:.9rem;font-weight:500;color:#64748b}.confirm-row dd{margin:0;font-size:.9rem;font-weight:600;color:#1e293b;text-align:right}.confirm-row--total{background:#f8fafc}.confirm-row--total dt{color:#1e3a5f;font-weight:600}.confirm-row--total dd{color:#1e3a5f;font-size:1rem}.confirm-icon--warn{background:#d97706}.confirm-processing{display:flex;flex-direction:column;align-items:center;padding:32px 0 24px;gap:16px}.confirm-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#1e3a5f;border-radius:50%;animation:spin .8s linear infinite}.confirm-processing-text{margin:0;font-size:1rem;font-weight:500;color:#64748b}@keyframes spin{to{transform:rotate(360deg)}}.confirm-actions{display:flex;gap:12px;justify-content:center}.confirm-btn{flex:1;padding:10px 16px;font-size:.9rem}@media (max-width: 540px){.ts-card{padding:28px 20px 24px}.ts-row{grid-template-columns:1fr;gap:4px}.ts-label{text-align:left}.ts-break-input{max-width:100%}.credentials-section .launch-row,.launch-row{grid-template-columns:1fr}.launch-label{text-align:left}}
