*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f8f9fa;--surface: #ffffff;--primary: #4f46e5;--primary-hover: #4338ca;--text: #1f2937;--muted: #6b7280;--border: #e5e7eb;--yes: #16a34a;--no: #dc2626;--maybe: #ca8a04;--radius: 8px;--shadow: 0 1px 3px rgba(0,0,0,.1)}@media (prefers-color-scheme: dark){:root{--bg: #111827;--surface: #1f2937;--text: #f9fafb;--muted: #9ca3af;--border: #374151;--shadow: 0 1px 3px rgba(0,0,0,.4)}}body{font-family:system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}.container{max-width:900px;margin:0 auto;padding:1.5rem 1rem}h1{font-size:1.75rem;font-weight:700;margin-bottom:.5rem}h2{font-size:1.25rem;font-weight:600;margin-bottom:1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1rem;box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;border-radius:var(--radius);border:none;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .15s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover{background:#b91c1c}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-ghost:hover{background:var(--border)}.btn:disabled{opacity:.5;cursor:not-allowed}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.35rem;color:var(--muted)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:.95rem}.form-group input:focus,.form-group textarea:focus{outline:2px solid var(--primary);border-color:transparent}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600}.badge-green{background:#dcfce7;color:#166534}.badge-red{background:#fee2e2;color:#991b1b}.badge-yellow{background:#fef9c3;color:#854d0e}.response-table{width:100%;border-collapse:collapse;font-size:.875rem;overflow-x:auto;display:block}.response-table th,.response-table td{padding:.5rem .75rem;border:1px solid var(--border);text-align:center;white-space:nowrap}.response-table th{background:var(--bg);font-weight:600}.response-table td:first-child{text-align:left;font-weight:500}.cell-yes{background:#dcfce7;color:var(--yes)}.cell-no{background:#fee2e2;color:var(--no)}.cell-maybe{background:#fef9c3;color:var(--maybe)}.gallery{--gallery-max-height: 360px;--gallery-gap: .75rem;display:flex;gap:var(--gallery-gap);align-items:flex-start;max-height:var(--gallery-max-height);overflow-y:auto;padding-right:.25rem}.gallery-column{min-width:96px;display:flex;flex-direction:column;gap:var(--gallery-gap)}.gallery-item{position:relative;width:100%;min-width:0;min-height:72px;display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.gallery-open{width:100%;height:100%;padding:.35rem;display:flex;align-items:center;justify-content:center;background:transparent;border:0;cursor:zoom-in}.gallery-open img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}.gallery-delete{position:absolute;top:.35rem;right:.35rem;background:#dc2626;color:#fff;border:1px solid rgba(255,255,255,.75);border-radius:4px;padding:.15rem .45rem;cursor:pointer;font-size:.75rem;line-height:1.2}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#000000d1}.lightbox img{max-width:96vw;max-height:92vh;object-fit:contain;border-radius:var(--radius);background:#000}.lightbox-close{position:fixed;top:1rem;right:1rem;width:2.25rem;height:2.25rem;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:#000000a6;color:#fff;cursor:pointer;font-size:1.1rem}.nav{background:var(--surface);border-bottom:1px solid var(--border);padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between}.nav-title{font-weight:700;font-size:1.1rem}.error{color:#dc2626;font-size:.875rem;margin-top:.5rem}.success{color:var(--yes);font-size:.875rem;margin-top:.5rem}@media (max-width: 600px){h1{font-size:1.35rem}.card{padding:1rem}}
