:root{--primary: #3b82f6;--primary-dark: #2563eb;--danger: #ef4444;--danger-dark: #dc2626;--success: #10b981;--secondary: #64748b;--secondary-dark:#475569;--bg: #f1f5f9;--surface: #ffffff;--border: #e2e8f0;--text: #1e293b;--text-muted: #64748b;--shadow-sm: 0 1px 3px rgba(0,0,0,.07), 0 1px 2px rgba(0,0,0,.04);--shadow: 0 4px 6px -1px rgba(0,0,0,.08), 0 2px 4px -1px rgba(0,0,0,.04);--shadow-lg: 0 10px 20px -3px rgba(0,0,0,.1), 0 4px 8px -2px rgba(0,0,0,.05);--radius-sm: 6px;--radius: 10px;--radius-lg: 14px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg);color:var(--text)}.app{min-height:100vh}.header{background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;padding:0 2rem;box-shadow:0 2px 8px #00000040;position:sticky;top:0;z-index:100}.header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:52px;gap:1rem}.header-brand{display:flex;align-items:center;gap:.5rem;min-width:0;-webkit-user-select:none;user-select:none}.header-icon{font-size:1.3rem;flex-shrink:0}.header-title{font-size:1rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap}.header-sep{color:#475569;font-size:1.1rem;flex-shrink:0}.header-breadcrumb{font-size:.9rem;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-logout{background:#ffffff1a;border:1px solid rgba(255,255,255,.15);color:#94a3b8;padding:.3rem .8rem;border-radius:var(--radius-sm);font-size:.8rem;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;flex-shrink:0}.btn-logout:hover{background:#ffffff2e;color:#e2e8f0}.container{max-width:1200px;margin:0 auto;padding:1.75rem 2rem}.action-bar{display:flex;gap:.75rem;margin-bottom:1.75rem}.card{background:var(--surface);border-radius:var(--radius);padding:1.5rem;margin-bottom:1rem;box-shadow:var(--shadow-sm);border:1px solid var(--border)}.checklist-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow .15s,transform .15s,border-color .15s;display:flex;flex-direction:column;overflow:hidden}.checklist-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:#cbd5e1}.checklist-card-body{display:flex;gap:.875rem;padding:1.1rem 1.1rem .75rem;flex:1}.checklist-card-image{width:56px;height:56px;object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--border);background:#f8fafc;flex-shrink:0}.checklist-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem}.checklist-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.checklist-card-name{font-size:.95rem;font-weight:600;color:var(--text);line-height:1.3}.checklist-card-meta{display:flex;flex-wrap:wrap;gap:.25rem .5rem;font-size:.78rem;color:var(--text-muted)}.checklist-card-meta span:after{content:"·";margin-left:.5rem;opacity:.4}.checklist-card-meta span:last-child:after{content:""}.checklist-card-date{font-size:.75rem;color:var(--text-muted)}.checklist-card-description{font-size:.8rem;color:var(--text-muted);line-height:1.4;margin-top:.1rem}.checklist-card-footer{display:flex;align-items:center;gap:.5rem;padding:.65rem 1.1rem;border-top:1px solid var(--border);background:#f8fafc}.checklist-card-count{font-size:.78rem;color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;padding:.5rem 1rem;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;font-weight:500;transition:background .15s,box-shadow .15s,transform .1s;white-space:nowrap}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 1px 3px #3b82f659}.btn-primary:hover:not(:disabled){background:var(--primary-dark);box-shadow:0 3px 8px #3b82f666}.btn-secondary{background:var(--secondary);color:#fff}.btn-secondary:hover:not(:disabled){background:var(--secondary-dark)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-dark)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.4rem;font-weight:500;font-size:.88rem;color:var(--text)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;color:var(--text);background:var(--surface);transition:border-color .15s,box-shadow .15s;outline:none}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61f}.form-group textarea{resize:vertical;min-height:100px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.visibility-toggle{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:#f8fafc;margin-top:.5rem;cursor:pointer;transition:background .12s}.visibility-toggle:hover{background:#f1f5f9}.visibility-toggle input[type=checkbox]{margin-top:.2rem;width:16px;height:16px;accent-color:var(--primary);flex-shrink:0;cursor:pointer}.visibility-toggle span{display:flex;flex-direction:column;gap:.2rem;font-weight:600;font-size:.9rem;color:var(--text)}.visibility-toggle small{font-weight:400;color:var(--text-muted);line-height:1.35}.table{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.9rem}.table th,.table td{padding:.65rem .75rem;text-align:left;border-bottom:1px solid var(--border)}.table th{background:#f8fafc;font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.table tr:hover td{background:#f8fafc}.actions{display:flex;gap:.5rem;flex-wrap:wrap}.badge{display:inline-block;padding:.2rem .55rem;border-radius:99px;font-size:.72rem;font-weight:600;white-space:nowrap;letter-spacing:.01em}.badge-base{background:#dbeafe;color:#1d4ed8}.badge-autografo{background:#ede9fe;color:#6d28d9}.badge-memorabilia{background:#ffedd5;color:#c2410c}.badge-insert{background:#d1fae5;color:#065f46}.badge-parallel{background:#f1f5f9;color:#475569}.badge-public{background:#d1fae5;color:#065f46}.badge-private{background:#f1f5f9;color:#475569}.badge-rc{background:#fee2e2;color:#b91c1c;font-size:.65rem;padding:.12rem .35rem;border-radius:4px;margin-left:.25rem;vertical-align:super}.parallel-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.parallel-item{background:#f1f5f9;padding:.2rem .5rem;border-radius:4px;font-size:.82rem;color:var(--text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--surface);padding:2rem;border-radius:var(--radius-lg);max-width:520px;width:92%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal h2{margin-bottom:1.5rem;font-size:1.1rem;color:var(--text)}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.tabs{display:flex;border-bottom:2px solid var(--border);margin-bottom:1.5rem;gap:.25rem}.tab{padding:.65rem 1.25rem;border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:.9rem;font-weight:500;color:var(--text-muted);transition:color .15s,border-color .15s;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.tab:hover{color:var(--text);background:#f8fafc}.tab.active{border-bottom-color:var(--primary);color:var(--primary)}.upload-area{border:2px dashed var(--border);border-radius:var(--radius);padding:2.5rem 2rem;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;color:var(--text-muted)}.upload-area:hover,.upload-area.dragover{border-color:var(--primary);background:#eff6ff}.error{color:var(--danger);font-size:.88rem;margin-top:.4rem}.success{color:var(--success);font-size:.88rem;margin-top:.4rem}.loading{text-align:center;padding:3rem;color:var(--text-muted);font-size:.95rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.875rem;margin-bottom:1.5rem}.stat-card{background:var(--surface);padding:1rem;border-radius:var(--radius);text-align:center;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.stat-value{font-size:1.9rem;font-weight:700;color:var(--primary);line-height:1.1}.stat-label{font-size:.78rem;color:var(--text-muted);margin-top:.2rem;text-transform:uppercase;letter-spacing:.04em}.combo-selector{border:1px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm);overflow:hidden;max-height:240px;overflow-y:auto}.combo-group{border-bottom:1px solid var(--border)}.combo-group:last-child{border-bottom:none}.combo-group-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:#f8fafc;padding:.35rem .75rem;border-bottom:1px solid var(--border)}.combo-chip{display:flex;align-items:center;gap:.5rem;padding:.45rem .75rem;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid #f4f4f5;transition:background .1s}.combo-chip:last-child{border-bottom:none}.combo-chip:hover{background:#eff6ff}.combo-chip.selected{background:#dbeafe}.combo-chip input[type=checkbox]{flex-shrink:0;accent-color:var(--primary);width:15px;height:15px}.combo-chip-text{display:flex;align-items:center;justify-content:space-between;flex:1;font-size:.88rem;gap:.5rem}.combo-chip-count{font-size:.72rem;color:var(--text-muted);background:#f1f5f9;border-radius:99px;padding:.1rem .45rem;white-space:nowrap}.bulk-preview{background:#eff6ff;border:1px solid #bfdbfe;padding:.75rem 1rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.88rem}.parsed-list-preview{background:#f8fafc;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem 1rem;max-height:180px;overflow-y:auto}.parsed-list-items{display:flex;flex-direction:column;gap:.2rem}.parsed-list-item{display:flex;align-items:center;gap:.5rem;font-size:.84rem;padding:.2rem 0;border-bottom:1px solid #f1f5f9}.parsed-list-item:last-child{border-bottom:none}.parsed-name{flex:1}.parsed-run{background:#f1f5f9;border-radius:3px;padding:.1rem .4rem;font-size:.76rem;color:#475569;white-space:nowrap}.filter-row td{padding:.3rem .5rem;background:#f8fafc;border-bottom:2px solid var(--border)}.filter-row input,.filter-row select{width:100%;padding:.25rem .4rem;border:1px solid var(--border);border-radius:4px;font-size:.8rem;background:var(--surface);outline:none;transition:border-color .15s}.filter-row input:focus,.filter-row select:focus{border-color:var(--primary)}.filter-status-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.5rem .75rem;background:#fffbeb;border:1px solid #fcd34d;border-radius:var(--radius-sm);font-size:.88rem;color:#92400e}.parallels-toggle-btn{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;border-radius:99px;padding:.2rem .65rem;font-size:.78rem;cursor:pointer;white-space:nowrap;transition:background .12s}.parallels-toggle-btn:hover{background:#dbeafe}.parallels-expanded{margin-top:.4rem;display:flex;flex-direction:column;gap:.25rem;max-width:220px}.parallel-row{display:flex;align-items:center;gap:.4rem;font-size:.78rem;background:#f8fafc;border:1px solid var(--border);border-radius:4px;padding:.2rem .5rem}.parallel-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.parallel-action{cursor:pointer;flex-shrink:0;font-size:.85rem;transition:color .12s}.parallel-action.edit{color:var(--primary)}.parallel-action.edit:hover{color:var(--primary-dark)}.parallel-action.delete{color:var(--danger)}.parallel-action.delete:hover{color:var(--danger-dark)}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e293b,#0f172a);padding:1rem}.login-card{background:var(--surface);border-radius:var(--radius-lg);padding:2.5rem 2rem;width:100%;max-width:360px;box-shadow:var(--shadow-lg)}.login-brand{text-align:center;margin-bottom:2rem}.login-icon{font-size:2.5rem;margin-bottom:.75rem}.login-brand h1{font-size:1.3rem;font-weight:700;color:var(--text);margin-bottom:.25rem}.login-brand p{font-size:.85rem;color:var(--text-muted)}
