.toast-stack[data-v-2c1cd484]{position:fixed;top:calc(12px + var(--safe-top));right:calc(12px + var(--safe-right));z-index:200;display:flex;flex-direction:column;gap:8px;max-width:min(360px,calc(100vw - 24px));pointer-events:none}.toast[data-v-2c1cd484]{background:var(--bg-elev);color:var(--fg);border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:var(--radius);padding:10px 32px 10px 12px;box-shadow:0 8px 24px #00000073;cursor:pointer;position:relative;pointer-events:auto;animation:toast-in-2c1cd484 .18s var(--ease)}.toast[data-v-2c1cd484]:hover{background:var(--bg3)}.toast-title[data-v-2c1cd484]{font-size:var(--text-base);font-weight:600;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast-body[data-v-2c1cd484]{font-size:var(--text-sm);color:var(--fg2);line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.toast-close[data-v-2c1cd484]{position:absolute;top:4px;right:4px;background:transparent;border:none;color:var(--fg2);font-size:18px;line-height:1;width:24px;height:24px;cursor:pointer;border-radius:var(--radius-sm)}.toast-close[data-v-2c1cd484]:hover{color:var(--fg);background:var(--bg2)}@keyframes toast-in-2c1cd484{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.toast-stack[data-v-2c1cd484]{left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));max-width:none}}:root{--bg: #1a1a2e;--bg2: #1f2240;--bg3: #2a2e54;--bg-elev: #23264a;--fg: #e8e8f0;--fg2: #b4b4c4;--fg3: #7a7a90;--accent: #ff4d6d;--accent-strong: #ff2e54;--accent2: #6a47b8;--border: #2e3258;--border-strong: #3a3f70;--success: #4caf50;--warning: #ff9800;--error: #f44336;--radius: 10px;--radius-sm: 6px;--radius-lg: 14px;--touch: 44px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--font: "SF Mono", "Fira Code", "Cascadia Code", monospace;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-lg: 15px;--ease: cubic-bezier(.2, .8, .2, 1)}html.keyboard-open{--safe-bottom: 0px}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;overscroll-behavior:none}body{font-family:var(--font);background:var(--bg);color:var(--fg);font-size:14px;-webkit-font-smoothing:antialiased}#ciao-app{height:var(--app-h, 100dvh);display:flex;flex-direction:column;overflow:hidden}button{font-family:var(--font);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn-small{padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg3);color:var(--fg);cursor:pointer;font-family:var(--font);font-size:12px;text-decoration:none;transition:background .12s var(--ease),transform .12s var(--ease)}.btn-small:hover{background:var(--border-strong)}.btn-small:active{transform:scale(.97);background:var(--bg2)}.btn-primary{padding:10px 20px;border:none;border-radius:var(--radius);background:var(--accent);color:#fff;cursor:pointer;font-family:var(--font);font-size:14px;font-weight:600;transition:background .12s var(--ease),transform .12s var(--ease)}.btn-primary:hover{background:var(--accent-strong)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-icon{display:inline-flex;align-items:center;justify-content:center;min-width:var(--touch);min-height:var(--touch);padding:8px;border:1px solid transparent;background:transparent;color:var(--fg);border-radius:var(--radius);cursor:pointer;transition:background .12s var(--ease),transform .12s var(--ease)}.btn-icon:hover{background:var(--bg3)}.btn-icon:active{transform:scale(.94);background:var(--bg2)}.btn-icon[aria-pressed=true]{background:var(--bg3);border-color:var(--border)}input,textarea,select{background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;font-family:var(--font);font-size:16px;outline:none;transition:border-color .12s var(--ease),box-shadow .12s var(--ease)}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #ff4d6d33}@media(min-width:769px){input,textarea,select{font-size:14px;padding:8px 12px}}.page{padding:calc(16px + var(--safe-top)) calc(16px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(16px + var(--safe-left));max-width:600px;margin:0 auto;width:100%;height:100%;display:flex;flex-direction:column;gap:12px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.page-header{display:flex;justify-content:space-between;align-items:center}.page-header h2{font-size:16px;font-weight:700}.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:12px}.section-title,.label-eyebrow{font-size:var(--text-xs);color:var(--fg2);text-transform:uppercase;letter-spacing:.5px;margin:0;font-weight:600}@media(max-width:600px){.page{padding:calc(12px + var(--safe-top)) calc(12px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(12px + var(--safe-left))}}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:600px){.form-grid{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:4px}.form-group>label{font-size:var(--text-xs);color:var(--fg2);text-transform:uppercase;letter-spacing:.5px}.form-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-chip{background:none;border:1px solid var(--border);color:var(--fg2);cursor:pointer;font-family:var(--font);font-size:var(--text-base);padding:4px 8px;border-radius:var(--radius);line-height:1;transition:color .12s var(--ease),border-color .12s var(--ease)}.btn-chip:hover{color:var(--fg);border-color:var(--fg2)}.btn-chip.active{color:var(--accent);border-color:var(--accent)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:var(--text-xs);font-weight:600;white-space:nowrap;line-height:1.3;letter-spacing:.3px}.badge--accent{background:var(--accent);color:#fff}.badge--accent2{background:var(--accent2);color:var(--fg)}.badge--muted{background:var(--bg3);color:var(--fg2);border:1px solid var(--border)}.badge--success{background:#4caf5026;color:var(--success)}.badge--warn{background:#ff980026;color:var(--warning)}.badge--error{background:#f4433626;color:var(--error)}.badge--dot{padding:2px 5px;border-radius:var(--radius-sm);font-size:var(--text-xs);letter-spacing:.3px;text-transform:uppercase;background:transparent;color:var(--fg2);opacity:.35;font-weight:600}.badge--dot.active{background:var(--accent2);color:var(--fg);opacity:1}.hint{color:var(--fg2);font-size:var(--text-sm);margin:0;line-height:1.5}.hint--warn{color:var(--warning);background:#ff980014;border:1px solid rgba(255,152,0,.3);border-radius:var(--radius-sm);padding:8px 10px}.checkbox-pill{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:30px;padding:0 8px;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.3px;border-radius:var(--radius);border:1px solid var(--border);color:var(--fg2);cursor:pointer;transition:background .12s var(--ease),border-color .12s var(--ease),color .12s var(--ease);-webkit-user-select:none;user-select:none}.checkbox-pill:hover{border-color:var(--fg2)}.checkbox-pill.active{background:var(--accent2);border-color:var(--accent2);color:var(--fg)}.btn-danger{border-color:var(--error)!important;color:var(--error)!important}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}.modal-sheet{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:520px;max-height:90dvh;overflow:auto;display:flex;flex-direction:column}@media(max-width:600px){.modal-backdrop{padding:0;align-items:stretch}.modal-sheet{max-width:none;max-height:100dvh;border-radius:0;border:none;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
