:root{--primary-red:#e61d2b;--header-red:#cc1825;--bg-color:#fcfbf7;--border-color:#eaecf0;--text-dark:#101828;--text-gray:#667085}body{background-color:var(--bg-color);color:var(--text-dark);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.app-container{flex-direction:column;height:100vh;display:flex;overflow:hidden}.top-nav{border-bottom:1px solid var(--border-color);background:#fff;align-items:center;height:60px;padding:0 20px;display:flex}.nav-tabs{gap:30px;height:100%;display:flex}.nav-tab{color:var(--text-gray);cursor:pointer;border-bottom:2px solid #0000;align-items:center;gap:8px;height:100%;font-size:14px;font-weight:500;transition:all .2s;display:flex}.nav-tab:hover{color:var(--primary-red)}.nav-tab.active{color:var(--primary-red);border-bottom:2px solid var(--primary-red)}.main-content{flex-grow:1;display:flex;overflow:hidden}.left-pane{border-right:2px solid var(--border-color);background:#fff;flex-direction:column;flex:1;display:flex}.pane-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.pane-header h2{margin:0;font-size:18px;font-weight:600}.header-actions button{background:var(--primary-red);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:background .2s}.header-actions button:hover{background:var(--header-red)}.table-container{flex-grow:1;overflow:auto}table{border-collapse:collapse;width:100%}th{background-color:var(--primary-red);color:#fff;text-align:left;z-index:10;border-right:1px solid #fff3;padding:12px 16px;font-size:13px;font-weight:500;position:sticky;top:0}td{border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);vertical-align:top;padding:16px;font-size:13px;line-height:1.5}tr:hover{background-color:#fcfdfd}.page-chips{flex-wrap:wrap;gap:5px;display:flex}.page-chip{min-width:28px;height:24px;color:var(--primary-red);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fce8ea;border:1px solid #f5b3b8;border-radius:99px;justify-content:center;align-items:center;padding:0 7px;font-size:12px;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.page-chip:hover{background:var(--primary-red);color:#fff;border-color:var(--primary-red)}.page-chip.active{background:var(--primary-red);color:#fff;border-color:var(--header-red)}.right-pane{background:#eaecf0;flex-direction:column;flex:1;display:flex}.pdf-toolbar{border-bottom:1px solid var(--border-color);background:#fff;align-items:center;gap:16px;height:40px;padding:0 16px;display:flex}.upload-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.upload-modal{text-align:center;background:#fff;border-radius:12px;width:400px;padding:32px;box-shadow:0 20px 25px -5px #0000001a}.upload-box{border:2px dashed var(--border-color);cursor:pointer;border-radius:8px;margin:20px 0;padding:40px 20px;transition:border-color .2s}.upload-box:hover{border-color:var(--primary-red)}.progress-container{background-color:var(--border-color);border-radius:6px;width:80%;max-width:400px;height:12px;margin:0 auto;overflow:hidden}.progress-bar{background-color:var(--primary-red);height:100%;transition:width .3s}.listing-page{background:var(--bg-color);flex-grow:1;padding:32px 40px;overflow:auto}.listing-header{justify-content:space-between;align-items:flex-start;margin-bottom:28px;display:flex}.listing-title{color:var(--text-dark);margin:0 0 4px;font-size:24px;font-weight:700}.listing-subtitle{color:var(--text-gray);margin:0;font-size:14px}.listing-table-wrap{border:1px solid var(--border-color);background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.listing-table{border-collapse:collapse;width:100%}.listing-table th{background:var(--primary-red);color:#fff;text-align:left;border-right:1px solid #fff3;padding:13px 16px;font-size:13px;font-weight:500}.listing-table td{border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);vertical-align:middle;padding:14px 16px;font-size:13px}.listing-table tr:last-child td{border-bottom:none}.listing-table tr:hover td{background:#f8fafb}.job-id-cell{color:var(--text-gray);font-family:monospace;font-size:12px}.filename-cell{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-weight:500;overflow:hidden}.date-cell{color:var(--text-gray);white-space:nowrap}.list-empty{text-align:center;color:var(--text-gray);padding:60px;font-size:14px}.status-badge{text-transform:capitalize;border-radius:99px;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-done{color:#991b1b;background:#fee2e2}.badge-processing{color:#854d0e;background:#fef9c3}.badge-pending{color:#475569;background:#f1f5f9}.badge-failed{color:#991b1b;background:#fee2e2}.synopsis-count-badge{min-width:30px;height:22px;color:var(--primary-red);background:#fce8ea;border:1px solid #f5b3b8;border-radius:99px;justify-content:center;align-items:center;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.view-btn{background:var(--primary-red);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:500;transition:background .2s}.view-btn:hover{background:var(--header-red)}.view-btn:disabled{background:var(--border-color);color:var(--text-gray);cursor:not-allowed}.back-btn{border:1px solid var(--border-color);color:var(--text-dark);cursor:pointer;background:0 0;border-radius:6px;padding:5px 12px;font-size:13px;transition:background .15s}.back-btn:hover{background:var(--bg-color)}.switch{width:44px;height:24px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:#cbd5e1;transition:all .3s;position:absolute;inset:0}.slider:before{content:"";background-color:#fff;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px}input:checked+.slider{background-color:var(--primary-red)}input:checked+.slider:before{transform:translate(20px)}.slider.round{border-radius:24px}.slider.round:before{border-radius:50%}
