:root{color:#f5f7f6;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,#00d08424,#0000 32%),linear-gradient(#161816 0%,#0f1110 100%);font-family:IBM Plex Sans,Segoe UI,sans-serif;font-weight:400;line-height:1.5}html,body,#root{min-height:100%}body{margin:0}button,input{font:inherit}*{box-sizing:border-box}body{color:#fff;background:#111;margin:0;font-family:Arial,sans-serif}.app{max-width:1200px;margin:0 auto;padding:28px}h1{color:#fff;margin-top:0;font-size:36px}h2{margin-top:0}.top-nav{gap:10px;margin-bottom:18px;display:flex}.top-nav button{color:#fff;background:#222;border:1px solid #555;border-radius:8px;padding:10px 16px;font-size:15px}.top-nav .nav-active{background:#004b2c;border-color:#0f8}.form input{color:#fff;background:#111;border:1px solid #555;border-radius:8px;width:100%;padding:14px;font-size:16px}.dropzone{text-align:center;cursor:pointer;color:#ddd;background:#181818;border:2px dashed #777;border-radius:12px;margin:18px 0 22px;padding:40px;font-size:18px}.dropzone:hover{border-color:#0f8}.grid{flex-wrap:wrap;gap:14px;margin-bottom:22px;display:flex}.card{color:#fff;background:#181818;border:2px solid #333;border-radius:12px;width:160px;padding:8px;position:relative}.card.ready-card{background:#ffd84d1f;border-color:#ffd84d}.card.selected{background:#00ff8824;border-color:#0f8}.card.invalid{border-color:#f33}.card img{object-fit:cover;background:#333;border-radius:8px;width:100%;height:105px;display:block}.card div{word-break:break-word;margin-top:6px;font-size:12px}.card button{color:#fff;cursor:pointer;background:#333;border:none;border-radius:7px;width:100%;margin-top:8px;padding:8px}.card button:hover{background:#555}.validation{color:#fc0;margin-top:6px;font-size:11px;line-height:1.35}button{cursor:pointer}.app>button{color:#fff;background:#006b3a;border:1px solid #0f8;border-radius:10px;margin-bottom:18px;padding:14px 18px;font-size:16px;font-weight:700}.app>button:disabled{cursor:not-allowed;background:#555}.error{color:#ffdede;background:#4b1111;border:1px solid #b33;border-radius:8px;margin:12px 0;padding:12px}.notice{color:#fc0;margin:12px 0}.results{margin-top:18px;line-height:1.5}.keyword-suggestions{color:#d8ffd8;background:#102018;border:1px solid #0f8;border-radius:10px;margin:12px 0;padding:12px;line-height:1.4}.keyword-suggestions button{color:#fff;background:#004b2c;border:1px solid #0f8;border-radius:8px;margin-left:12px;padding:8px 12px}.modal-backdrop{z-index:1000;background:#000000c7;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{z-index:1001;background:#1b1b1b;border:1px solid #555;border-radius:18px;width:min(1000px,94vw);max-height:92vh;padding:36px;position:relative;overflow-y:auto}.modal-close{border-radius:6px;width:36px;height:36px;font-size:22px;position:absolute;top:14px;left:18px}.modal label{color:#d8ffd8;margin-top:16px;margin-bottom:6px;font-weight:700;display:block}.modal textarea,.modal input,.modal select{color:#fff;background:#111;border:1px solid #666;border-radius:10px;width:100%;padding:14px;font-size:16px}.modal textarea{resize:vertical;min-height:120px;line-height:1.45}.guided-box{background:#101010;border:1px solid #444;border-radius:14px;margin-bottom:24px;padding:18px}.guided-box h3{color:#0f8;margin-top:0}.assistant-button{color:#fff;background:#004b2c;border:1px solid #0f8;border-radius:8px;margin-top:18px;padding:10px 14px}.final-caption-preview{color:#d8ffd8;white-space:pre-wrap;background:#0f0f0f;border:1px solid #666;border-radius:10px;padding:16px;font-size:16px;line-height:1.5}.gallery-panel{background:#181818;border:1px solid #333;border-radius:14px;padding:18px}.gallery-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.gallery-header button{color:#fff;background:#222;border:1px solid #555;border-radius:8px;padding:10px 14px}.gallery-folder{margin-top:24px}.gallery-folder h3{color:#0f8;border-bottom:1px solid #333;padding-bottom:8px}.gallery-grid{flex-wrap:wrap;gap:14px;display:flex}.gallery-card{cursor:pointer;background:#101010;border:1px solid #333;border-radius:10px;width:160px;padding:8px}.gallery-card:hover{border-color:#0f8}.gallery-card img{object-fit:cover;background:#333;border-radius:8px;width:100%;height:105px;display:block}.gallery-name{word-break:break-word;margin-top:7px;font-size:11px}.gallery-modal{z-index:1001;background:#1b1b1b;border:1px solid #555;border-radius:18px;width:min(900px,92vw);max-height:88vh;padding:28px;position:relative;overflow-y:auto}.gallery-modal img{object-fit:contain;background:#000;border-radius:10px;width:100%;max-height:420px;display:block}.gallery-full-key{color:#ddd;word-break:break-word;margin-top:12px;font-size:13px}.gallery-modal a{color:#0f8;margin-top:12px;display:inline-block}.gallery-meta{background:#101010;border:1px solid #444;border-radius:12px;margin-top:18px;padding:16px}.gallery-meta h3{color:#0f8;margin-top:0}.gallery-meta label{color:#d8ffd8;margin-top:12px;margin-bottom:4px;font-weight:700;display:block}.gallery-meta div{color:#eee;word-break:break-word;line-height:1.5}.low-res-upload-message{color:#ffdede;background:#4b1111;border:1px solid #f77;border-radius:8px;margin:-8px 0 18px;padding:12px;font-weight:700}.selection-checkmark{color:#000;z-index:2;background:#0f8;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-size:20px;font-weight:900;display:flex;position:absolute;top:8px;left:8px}.selection-status{text-align:center;border-radius:6px;margin-top:6px;padding:5px 6px;font-weight:700;font-size:11px!important}.ready-status{color:#ffe680;background:#4a3b00}.selected-status{color:#baffd5;background:#003d24}.low-res-card{background:#2a1111;border-color:#ff4d4d!important}.remove-card-button{color:#fff;cursor:pointer;z-index:2;background:#3a1111;border:1px solid #f77;border-radius:999px;width:30px;height:30px;font-size:20px;line-height:1;position:absolute;top:8px;right:8px}.remove-card-button:hover{background:#f33}.image-size-note{color:#bbb;margin-top:6px;font-size:12px}.modal-actions{background:#1b1b1b;border-top:1px solid #444;margin-top:22px;padding-top:16px;position:sticky;bottom:0}.save-close-button{color:#000;background:#0c6;width:100%;font-weight:700}.save-close-button:hover{background:#0f8}.gallery-header-actions{flex-wrap:wrap;gap:10px;display:flex}.folder-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.folder-download-button,.thumbnail-download-button,.icon-download-button{color:#0f8;cursor:pointer;background:#0f2a1d;border:1px solid #0f8;border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;font-weight:700;text-decoration:none;display:inline-flex}.folder-download-button:hover,.thumbnail-download-button:hover,.icon-download-button:hover{color:#000;background:#0f8}.gallery-card{position:relative}.thumbnail-download-button{z-index:3;position:absolute;top:8px;right:8px}.remove-image-button{font-weight:700;color:#fff!important;background:#5a1515!important;border:1px solid #f77!important}.remove-image-button:hover{background:#f33!important}.build-caption-bottom-button{width:100%;margin-bottom:10px}.photographer-name-box{flex-direction:column;align-items:flex-end;gap:6px;min-width:260px;display:flex}.photographer-name-box label{text-transform:uppercase;color:#8a8a8a;letter-spacing:.08em;font-size:11px}.photographer-name-box input{text-align:right;max-width:260px}.split-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.modal-upload-button{color:#fff;text-transform:uppercase;background:#2f8f46;border:none;font-weight:800}.modal-upload-button:disabled{opacity:.55;cursor:not-allowed}::placeholder{color:#f7e58a;opacity:1}@media (width<=760px){.top-bar{flex-direction:column}.photographer-name-box{align-items:stretch;width:100%}.photographer-name-box input{text-align:left;max-width:none}}.iptc-workspace{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:22px;display:grid}.iptc-main-fields{min-width:0}.sport-tools-panel{background:#101010;border:1px solid #444;border-radius:14px;padding:16px;position:sticky;top:0}.sport-tools-panel h3{color:#0f8;margin-top:0}.sport-tools-panel label{margin-top:0}.sport-tools-panel select{color:#fff;background:#111;border:1px solid #666;border-radius:10px;width:100%;padding:12px;font-size:15px}.sport-reference-title{color:#d8ffd8;margin-top:16px;margin-bottom:8px;font-weight:800}.sport-term-list{border:1px solid #333;border-radius:10px;max-height:300px;overflow-y:auto}.sport-term-row{border-bottom:1px solid #282828;grid-template-columns:64px 1fr;gap:8px;padding:9px 10px;font-size:13px;display:grid}.sport-term-row:last-child{border-bottom:none}.sport-term-row strong{color:#eee;font-weight:500}.expand-caption-button{width:100%;margin-top:14px}.sport-tools-note{color:#bdbdbd;margin-top:12px;font-size:12px;line-height:1.4}@media (width<=900px){.iptc-workspace{grid-template-columns:1fr}.sport-tools-panel{position:static}}.photographer-name-box input{color:#fff;text-align:right;background:#111;border:1px solid #555;border-radius:8px;width:100%;padding:14px;font-size:16px}.card.selected:after{content:"Hover: caption preview";color:#d8ffd8;opacity:0;pointer-events:none;background:#000000d1;border:1px solid #0f8;border-radius:8px;padding:6px;font-size:10px;line-height:1.25;transition:opacity .15s;position:absolute;bottom:48px;left:8px;right:8px}.card.selected:hover:after{opacity:1}.modal-left-actions{align-items:center;gap:10px;display:flex}.undo-button{color:#fff;background:#2b2b2b;border:1px solid #777;border-radius:8px;padding:11px 15px;font-weight:700}.undo-button:hover{background:#3a3a3a}.sport-term-row{text-align:left;color:#eee;background:#111;border:1px solid #444;border-radius:8px;grid-template-columns:58px 1fr;align-items:center;gap:8px;width:100%;margin-bottom:6px;padding:8px;display:grid}.sport-term-row:hover{background:#102018;border-color:#0f8}.sport-term-row span{color:#0f8;font-weight:800}.inverse-caption-box{background:#101010;border:1px solid #444;border-radius:12px;margin-top:18px;padding:12px}.inverse-caption-title{color:#0f8;margin-bottom:10px;font-weight:800}.inverse-toggle-row{align-items:center;gap:8px;color:#d8ffd8!important;margin-top:12px!important;display:flex!important}.inverse-toggle-row input{width:auto!important}@media (width<=760px){.top-bar{flex-direction:column;align-items:stretch}.photographer-name-box{flex:none;min-width:0;max-width:none}}.app{max-width:1140px}h1{margin-bottom:18px;font-size:32px}.top-bar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;display:flex}.top-nav{margin-bottom:0}.photographer-name-box{flex:0 460px;min-width:360px;max-width:520px}.photographer-name-box input{color:#fff;text-align:right;letter-spacing:.03em;background:#111;border:1px solid #666;border-radius:8px;width:100%;padding:14px 16px;font-size:15px}.photographer-name-box input[readonly]{background:#0d1c14;border-color:#0f8}.form{grid-template-columns:minmax(0,1fr) 130px;gap:12px;margin-bottom:12px;display:grid}.assignment-preview{color:#f4f4f4;letter-spacing:.03em;margin:10px 0 24px 12px;font-size:14px;line-height:1.45}.assignment-preview strong{color:#fff;margin-right:6px;font-weight:900}.dropzone{margin-top:22px}@media (width<=760px){.top-bar{flex-direction:column;align-items:stretch}.photographer-name-box{flex:none;min-width:0;max-width:none}.photographer-name-box input{text-align:left}.form{grid-template-columns:1fr}}.cancel-button{color:#fff;background:#3a1f1f;border:1px solid #a55;border-radius:8px;padding:11px 15px;font-weight:700}.cancel-button:hover{background:#5a2a2a}.sport-term-row-wrap{grid-template-columns:1fr auto;align-items:stretch;gap:6px;display:grid}.term-remove-button{color:#ffb0b0;cursor:pointer;background:#251010;border:1px solid #5a2a2a;border-radius:8px;width:34px;min-width:34px;margin-bottom:6px;font-size:18px;font-weight:900}.term-remove-button:hover{background:#3a1515;border-color:#ff6b6b}.add-term-box,.pregame-load-box{background:#101010;border:1px solid #444;border-radius:12px;margin-top:14px;padding:12px}.add-term-title{color:#d8ffd8;margin-bottom:8px;font-weight:800}.add-term-row{grid-template-columns:80px 1fr;gap:8px;margin-bottom:10px;display:grid}.add-term-row input,.pregame-load-box select{color:#fff;background:#111;border:1px solid #555;border-radius:8px;width:100%;padding:10px}.pregame-load-box label{color:#d8ffd8;margin-bottom:8px;font-weight:800;display:block}.pregame-save-button{color:#d8ffd8;background:#18321f;border:1px solid #0a5;border-radius:8px;padding:11px 15px;font-weight:800}.pregame-save-button:hover{background:#1f452a}.photographer-input-row{align-items:center;gap:8px;display:flex}.photographer-input-row input{flex:1}.profile-manage-button{color:#fff;cursor:pointer;background:#202020;border:1px solid #777;border-radius:8px;flex:none;padding:12px 14px;font-size:13px}.profile-manage-button:hover{background:#2c2c2c}.photographer-profile-panel{z-index:20;background:#151515;border:1px solid #555;border-radius:12px;width:min(620px,100vw - 32px);padding:16px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 45px #00000073}.photographer-name-box{position:relative}.profile-panel-title{margin-bottom:4px;font-weight:800}.profile-panel-note{color:#bdbdbd;margin-bottom:12px;font-size:12px}.profile-add-row{grid-template-columns:140px minmax(0,1fr) auto;gap:8px;margin-bottom:12px;display:grid}.profile-add-row input{text-align:left;width:100%;padding:10px 12px;font-size:13px}.profile-add-row button,.profile-row-actions button{color:#fff;cursor:pointer;background:#242424;border:1px solid #777;border-radius:8px;padding:10px 12px}.profile-empty{color:#aaa;padding:8px 0;font-size:13px}.profile-row{border-top:1px solid #333;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.profile-row strong{color:#0f8;font-size:13px;display:block}.profile-row span{color:#fff;font-size:13px;display:block}.profile-row-actions{gap:8px;display:flex}@media (width<=760px){.photographer-input-row{flex-direction:column;align-items:stretch}.profile-add-row{grid-template-columns:1fr}.photographer-profile-panel{left:0;right:auto}}.assignment-panel{background:#f8fafc;border:1px solid #d6dbe6;border-radius:14px;margin:16px 0 14px;padding:16px}.assignment-panel-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.assignment-label{letter-spacing:.08em;text-transform:uppercase;color:#cbd5e1;margin-bottom:4px;font-size:12px;font-weight:700}.assignment-title{color:#111827;font-size:18px;font-weight:700}.assignment-status{color:#8a5a00;margin-top:4px;font-size:13px}.assignment-status.active{color:#0f7a3a}.assignment-actions{align-items:center;gap:10px;display:flex}.assignment-actions button,.clear-assignment-button{white-space:nowrap}.clear-assignment-button{color:#6b7280;background:#fff;border:1px solid #d1d5db}.assignment-modal{max-width:980px}.assignment-editor-grid{grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:18px;display:grid}.assignment-editor-main,.assignment-editor-side{flex-direction:column;gap:8px;display:flex}.assignment-editor-main textarea{min-height:110px}.assignment-editor-side{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:14px}.assignment-review-box{color:#f8fafc;background:#0b1220;border:1px solid #94a3b859;border-radius:12px;margin-top:16px;padding:14px;font-size:13px;line-height:1.5}.assignment-review-box h3{margin:0 0 8px;font-size:15px}@media (width<=860px){.assignment-panel-header,.assignment-editor-grid{grid-template-columns:1fr;display:grid}.assignment-actions{justify-content:flex-start}}.pre-assignment-panel{color:#f8fafc;background:#111827;border:1px solid #22c55e59;border-radius:14px;margin:16px 0;padding:16px}.pre-assignment-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.pre-assignment-header h2{margin:0;font-size:18px}.pre-assignment-header p{color:#cbd5e1;margin:4px 0 0;font-size:13px}.pre-assignment-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.pre-assignment-actions button{white-space:nowrap}.pre-assignment-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;font-size:13px;display:grid}.pre-assignment-summary>div,.pre-assignment-caption-preview{color:#f8fafc;background:#0b1220;border:1px solid #94a3b859;border-radius:10px;padding:10px}.pre-assignment-caption-preview{margin-top:10px;font-size:13px;line-height:1.45}.pre-assignment-modal{max-width:980px;max-height:90vh;overflow:auto}@media (width<=860px){.pre-assignment-header,.pre-assignment-summary{grid-template-columns:1fr;display:grid}.pre-assignment-actions{justify-content:flex-start}}.roster-codes-box{background:#ffffff0a;border:1px solid #ffffff2e;border-radius:10px;margin-top:14px;padding:12px}.roster-codes-title{letter-spacing:.02em;margin-bottom:4px;font-weight:800}.roster-codes-note,.empty-roster-note{opacity:.72;margin-bottom:8px;font-size:12px}.roster-team-box{margin-top:10px}.roster-team-title{opacity:.9;margin-bottom:6px;font-size:12px;font-weight:800}.roster-code-list{gap:6px;display:grid}.roster-code-row-wrap{grid-template-columns:1fr auto;align-items:center;gap:6px;display:grid}.roster-code-row{text-align:left;color:inherit;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff29;border-radius:8px;grid-template-columns:48px 1fr;align-items:center;gap:8px;padding:8px 10px;display:grid}.roster-code-row:hover{background:#00d27824;border-color:#00d27880}.roster-code-row span{color:#00d27a;font-weight:800}.add-roster-box{gap:8px;margin-top:12px;display:grid}.add-roster-box input{width:100%}.team-key-grid{grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr) 80px;align-items:end;gap:10px;margin:10px 0 14px;display:grid}.compact-team-key-grid{grid-template-columns:minmax(0,1fr) 58px}.compact-team-key-grid>div:nth-child(3),.compact-team-key-grid>div:nth-child(4){margin-top:8px}.roster-team-summary{color:#d8ffd8;background:#00000038;border-radius:8px;margin:8px 0 10px;padding:10px;font-size:12px;line-height:1.45}.roster-toggle-button{width:100%;margin-top:8px}.roster-editor-panel{background:#00000038;border:1px solid #00ff8847;border-radius:10px;margin-top:12px;padding:12px}.roster-instructions{color:#d8ffd8;margin-bottom:10px;font-size:12px;line-height:1.45}.roster-import-textarea{width:100%;margin-top:8px;min-height:118px!important;font-size:13px!important;line-height:1.35!important}.term-edit-button{color:#fff;cursor:pointer;background:#222;border:1px solid #666;border-radius:8px;min-height:34px;padding:0 10px;font-size:12px;font-weight:700}.term-edit-button:hover{background:#12301f;border-color:#0f8}.roster-code-row-wrap{grid-template-columns:1fr auto auto}@media (width<=760px){.team-key-grid,.compact-team-key-grid{grid-template-columns:1fr}}.pre-assignment-saved-note{color:#174d28;background:#eaf7ee;border:1px solid #b7e2c2;border-radius:10px;margin:10px 0;padding:10px 12px;font-weight:700}.pre-assignment-modal .guided-box label:first-of-type,.pre-assignment-modal .guided-box label:nth-of-type(2),.pre-assignment-modal .guided-box label:nth-of-type(3),.pre-assignment-modal .guided-box label:nth-of-type(4),.pre-assignment-modal .guided-box label:nth-of-type(5),.pre-assignment-modal .guided-box input:first-of-type,.pre-assignment-modal .guided-box input:nth-of-type(2),.pre-assignment-modal .guided-box input:nth-of-type(3),.pre-assignment-modal .guided-box input:nth-of-type(4),.pre-assignment-modal .guided-box select,.pre-assignment-modal .guided-box button{display:none}.pre-assignment-modal .guided-box h3:after{content:" — use the Sports or Red Carpet template button below";color:#777;font-weight:400}.assignment-template-note{color:#444;background:#f7f7f7;border:1px solid #ddd;border-radius:10px;margin:10px 0;padding:10px 12px}.pre-assignment-modal-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.pre-assignment-modal-header h2{margin:0}.small-template-button{white-space:nowrap}.left-modal-actions{align-items:center;gap:10px;display:flex}.pre-assignment-modal input::placeholder,.pre-assignment-modal textarea::placeholder,.iptc-main-fields input::placeholder,.iptc-main-fields textarea::placeholder,.sport-tools-panel input::placeholder,.sport-tools-panel textarea::placeholder{opacity:1;color:#f7e58a!important}.pre-assignment-modal input,.pre-assignment-modal textarea,.iptc-main-fields input,.iptc-main-fields textarea{color:#fff}.assignment-template-note,.empty-roster-note,.roster-instructions{color:#b5b5b5!important}.roster-import-card{background:#ffffff0a;border:1px solid #ffffff24;border-radius:12px;margin-top:12px;padding:12px}.roster-import-title{color:#fff;margin-bottom:8px;font-weight:800}.roster-modal{color:#fff;background:#10131a;border:1px solid #ffffff24;border-radius:18px;width:min(1100px,94vw);max-height:92vh;padding:22px;overflow:auto;box-shadow:0 22px 70px #0000007a}.roster-modal-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.roster-modal-header h2{margin:0 0 6px}.roster-modal-header p{color:#ffffffad;margin:0;line-height:1.4}.roster-auto-summary{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-bottom:16px;display:grid}.roster-auto-team{background:#ffffff0f;border:1px solid #ffffff24;border-radius:14px;gap:4px;padding:12px;display:grid}.roster-auto-team span{font-size:16px}.roster-auto-team small{color:#ffffff9e}.roster-search-button{margin-bottom:10px}.roster-search-message{color:#dcecff;background:#40a0ff24;border:1px solid #40a0ff59;border-radius:12px;margin:8px 0 16px;padding:10px 12px}.roster-modal-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.roster-modal-card{background:#ffffff0d;border:1px solid #ffffff24;border-radius:16px;padding:14px}.roster-modal-list{gap:8px;max-height:280px;margin-top:12px;display:grid;overflow:auto}.modal-right-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.roster-search-team-button{width:100%;margin-bottom:10px}.roster-search-button:disabled,.roster-search-team-button:disabled{opacity:.65;cursor:wait}.keyword-suggestions button.applied-button,.applied-button{font-weight:800;color:#fff!important;background:#0f7f3a!important;border-color:#36ff8b!important}.roster-import-title-with-action{justify-content:space-between;align-items:center;gap:10px;display:flex}.roster-download-small-button{color:#fff;cursor:pointer;white-space:nowrap;background:#0f7f3a40;border:1px solid #36ff8bb3;border-radius:10px;padding:7px 10px;font-size:.82rem;font-weight:800}.roster-download-small-button:hover{background:#0f7f3a73}button,.app>button,.top-nav button,.card button,.assistant-button,.profile-manage-button,.clear-assignment-button,.cancel-button,.undo-button,.save-close-button,.modal-upload-button,.roster-toggle-button,.roster-download-small-button,.keyword-suggestions button,.iptc-apply-actions button{letter-spacing:.01em;font-weight:700;transition:background .15s,border-color .15s,transform 80ms,opacity .15s;border-radius:10px!important}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{opacity:.5;cursor:not-allowed}.assistant-button,.card button,.profile-manage-button,.undo-button,.cancel-button,.keyword-suggestions button,.iptc-apply-actions button{color:#f5f5f5!important;background:#ffffff14!important;border:1px solid #ffffff38!important}.assistant-button:hover:not(:disabled),.card button:hover:not(:disabled),.profile-manage-button:hover:not(:disabled),.undo-button:hover:not(:disabled),.cancel-button:hover:not(:disabled),.keyword-suggestions button:hover:not(:disabled),.iptc-apply-actions button:hover:not(:disabled){background:#ffffff24!important;border-color:#ffffff5c!important}.save-close-button,.modal-upload-button,.app>button,.iptc-apply-actions button:first-child{color:#fff!important;background:#b21f2d!important;border:1px solid #ffffff38!important}.save-close-button:hover:not(:disabled),.modal-upload-button:hover:not(:disabled),.app>button:hover:not(:disabled),.iptc-apply-actions button:first-child:hover:not(:disabled){background:#c93340!important}.applied-button,.keyword-suggestions button.applied-button,.iptc-apply-actions button.applied-button{color:#fff!important;background:#1e7d46!important;border-color:#76ffaab3!important}.iptc-apply-panel{background:#ffffff0f;border:1px solid #ffffff29;border-radius:14px;gap:10px;margin:16px 0 18px;padding:14px;display:grid}.iptc-apply-copy{gap:3px;display:grid}.iptc-apply-copy strong{color:#fff;font-size:15px}.iptc-apply-copy span,.iptc-apply-status{color:#ffffffb8;font-size:13px}.iptc-apply-status:not(.muted){color:#9dffbf;font-weight:700}.iptc-apply-actions{flex-wrap:wrap;gap:10px;display:flex}.iptc-apply-actions button{padding:10px 14px}.iptc-applied-card{box-shadow:0 0 0 2px #6bffa273}.iptc-card-checkmark{z-index:2;color:#fff;background:#1e7d46f0;border-radius:999px;padding:4px 7px;font-weight:900;line-height:1;position:absolute;top:8px;left:8px;margin:0!important;font-size:10px!important}.keyword-suggestions{color:#ffffffc7!important;background:#ffffff0e!important;border-color:#ffffff29!important;font-weight:500!important}.hidden-optional-metadata{display:none!important}.field-helper{color:#ffffff94;margin:-4px 0 10px;font-size:12px;line-height:1.35}.pre-assignment-saved-note{color:#9dffbf!important;background:#1e7d4624!important;border-color:#9dffbf47!important;font-weight:800!important}input::placeholder,textarea::placeholder,.pre-assignment-modal input::placeholder,.pre-assignment-modal textarea::placeholder,.iptc-main-fields input::placeholder,.iptc-main-fields textarea::placeholder,.sport-tools-panel input::placeholder,.sport-tools-panel textarea::placeholder{color:#ffec9eb8!important;opacity:1!important}.card{position:relative}.iptc-hover-preview{z-index:30;color:#202020;text-align:left;background:#e0e3e5f5;border:1px solid #37415159;border-radius:10px;max-height:82%;padding:10px 12px;font-size:11px;line-height:1.35;display:none;position:absolute;top:12px;left:12px;right:12px;overflow:auto;box-shadow:0 12px 28px #00000038}.card:hover .iptc-hover-preview{display:block}.iptc-hover-title{color:#111;border-bottom:1px solid #00000026;margin-bottom:6px;padding-bottom:4px;font-weight:800}.iptc-hover-row{grid-template-columns:88px 1fr;gap:8px;padding:3px 0;display:grid}.iptc-hover-row span{color:#333;font-weight:700}.iptc-hover-row strong{color:#111;word-break:break-word;font-weight:600}.grid,.card{overflow:visible!important}.card{isolation:auto}.remove-card-button{z-index:60!important;background:#780000eb!important;border:1px solid #ffb9b9e6!important;justify-content:center!important;align-items:center!important;width:34px!important;height:34px!important;display:inline-flex!important;top:6px!important;right:6px!important;box-shadow:0 3px 12px #00000059!important}.remove-card-button:hover{transform:scale(1.04);background:#c70000!important}.iptc-hover-preview{z-index:9999!important;color:#202020!important;background:#d8dbdcfa!important;border:1px solid #5a5a5a8c!important;border-radius:4px!important;width:390px!important;max-height:520px!important;padding:14px 16px!important;font-size:13px!important;line-height:1.35!important;top:-4px!important;left:calc(100% + 14px)!important;right:auto!important;overflow-y:auto!important;box-shadow:0 20px 45px #00000073!important}.iptc-hover-title{background:#6e6e6e;font-size:14px;color:#fff!important;border-bottom:0!important;margin:-14px -16px 10px!important;padding:7px 10px!important}.iptc-hover-row{border-bottom:1px solid #00000014;grid-template-columns:112px 1fr!important;gap:10px!important;padding:5px 0!important}.iptc-hover-row span{color:#1f1f1f!important}.iptc-hover-row strong{color:#555!important}.metadata-editor-backdrop{z-index:1000;background:#000000db;padding:28px;position:fixed;inset:0;overflow:auto}.metadata-editor-stage{grid-template-columns:minmax(420px,1.25fr) minmax(500px,.95fr);align-items:center;gap:28px;max-width:1500px;min-height:calc(100vh - 56px);margin:0 auto;display:grid}.metadata-image-panel{flex-direction:column;gap:12px;min-width:0;display:flex}.metadata-image-frame{background:#050505;border:1px solid #ffffff2e;justify-content:center;align-items:center;width:100%;min-height:420px;display:flex;box-shadow:0 20px 50px #0000008c}.metadata-image-frame img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:calc(100vh - 170px);display:block}.metadata-image-caption{color:#ffffffc7;justify-content:space-between;gap:12px;font-size:13px;display:flex}.metadata-side-panel{background:#1b1b1b!important;border-radius:14px!important;width:100%!important;max-height:calc(100vh - 56px)!important;padding:28px!important;overflow-y:auto!important}.metadata-side-panel .iptc-workspace{grid-template-columns:minmax(0,1fr) 280px}@media (width<=1050px){.metadata-editor-stage{grid-template-columns:1fr;align-items:start}.metadata-image-frame{min-height:260px}.metadata-side-panel .iptc-workspace{grid-template-columns:1fr}.iptc-hover-preview{width:min(390px,90vw)!important;top:calc(100% + 10px)!important;left:0!important}}.metadata-editor-backdrop{background:#000000e6!important;padding:18px!important}.metadata-editor-stage{grid-template-columns:minmax(620px,.96fr) minmax(760px,1.04fr)!important;align-items:stretch!important;gap:18px!important;width:min(1780px,100vw - 36px)!important;max-width:1780px!important;min-height:calc(100vh - 36px)!important}.metadata-image-panel{background:#070707!important;border:1px solid #ffffff1f!important;border-radius:12px!important;align-self:stretch!important;padding:14px!important}.metadata-image-frame{border-radius:8px!important;height:calc(100vh - 150px)!important;min-height:0!important;overflow:hidden!important}.metadata-image-frame img{max-height:calc(100vh - 172px)!important}.metadata-image-caption{letter-spacing:.01em!important;padding:0 4px!important;font-size:12px!important}.metadata-side-panel{background:#151515!important;border:1px solid #ffffff29!important;border-radius:12px!important;max-height:calc(100vh - 36px)!important;padding:16px!important}.metadata-side-panel h2{margin:0 0 12px!important;font-size:18px!important}.metadata-side-panel .iptc-workspace{grid-template-columns:minmax(0,1fr) 260px!important;gap:14px!important}.iptc-main-fields label,.sport-tools-panel label{letter-spacing:.02em!important;margin-bottom:4px!important;font-size:11px!important;line-height:1.2!important}.iptc-main-fields input,.iptc-main-fields textarea,.sport-tools-panel input,.sport-tools-panel textarea,.sport-tools-panel select{border-radius:8px!important;padding:8px 10px!important;font-size:13px!important}.iptc-main-fields textarea{min-height:120px!important}.iptc-main-fields textarea[ref],.iptc-main-fields label+textarea{line-height:1.42!important}.iptc-main-fields label:nth-of-type(3)+textarea,.iptc-main-fields textarea:first-of-type{resize:vertical!important;min-height:240px!important;font-size:14px!important}.guided-box{border-radius:10px!important;margin-bottom:12px!important;padding:10px!important}.guided-box h3{margin:0 0 8px!important;font-size:14px!important}.build-caption-bottom-button,.assistant-button,.save-close-button,.undo-button,.cancel-button,.modal-upload-button,.term-edit-button,.term-remove-button,.roster-download-small-button,.roster-search-team-button{letter-spacing:0!important;min-height:34px!important;box-shadow:none!important;border-radius:8px!important;padding:7px 12px!important;font-size:12px!important}.modal-actions{z-index:20!important;background:#141414f7!important;border-top:1px solid #ffffff1f!important;margin:14px -16px -16px!important;padding:12px 16px!important;position:sticky!important;bottom:-16px!important}.sport-tools-panel{background:#101010!important;border-radius:10px!important;padding:10px!important;position:sticky!important;top:0!important}.sport-tools-panel h3{margin-bottom:10px!important;font-size:14px!important}.inverse-caption-box,.roster-codes-box,.add-term-box,.pregame-load-box{border-radius:10px!important;margin-top:10px!important;padding:10px!important}.inverse-caption-title,.roster-codes-title,.add-term-title,.sport-reference-title{margin:8px 0 6px!important;font-size:12px!important}.compact-team-key-grid,.team-key-grid.compact-team-key-grid{grid-template-columns:minmax(0,1fr) 44px!important;gap:8px!important}.sport-term-list,.roster-code-list{max-height:190px!important;overflow-y:auto!important}.sport-term-row,.roster-code-row{border-radius:7px!important;grid-template-columns:42px 1fr!important;padding:6px 8px!important;font-size:12px!important}.roster-code-row-wrap{grid-template-columns:1fr auto auto!important;gap:5px!important}.roster-quick-search{background:#ffffff0b;border:1px solid #ffffff1f;border-radius:9px;margin-top:10px;padding:9px}.roster-quick-search label{color:#d6d6d6;margin-bottom:5px;font-weight:700;display:block}.roster-quick-search input{width:100%}.field-helper,.sport-tools-note,.roster-codes-note,.empty-roster-note{font-size:11px!important}.iptc-hover-preview{width:440px!important;max-height:620px!important}@media (width<=1300px){.metadata-editor-stage{grid-template-columns:1fr!important}.metadata-image-frame{height:42vh!important}.metadata-image-frame img{max-height:42vh!important}.metadata-side-panel .iptc-workspace{grid-template-columns:minmax(0,1fr)!important}.sport-tools-panel{position:static!important}}
