.publish-panel h2{font-size:24px;font-weight:600;color:var(--color-neutral-900);margin-bottom:20px}.publish-panel h3{font-size:16px;font-weight:600;color:var(--color-neutral-900);margin-bottom:12px;margin-top:0}.publish-panel .screens-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.publish-panel .screen-checkbox{display:flex;align-items:center;gap:8px;padding:12px;background-color:var(--color-neutral-100);border:1px solid var(--color-neutral-200);border-radius:6px;cursor:pointer;font-size:14px;color:var(--color-neutral-900);transition:background-color .2s,border-color .2s}.publish-panel .screen-checkbox:hover{background-color:var(--color-neutral-200);border-color:var(--color-neutral-400)}.publish-panel .screen-checkbox:has(input:focus-visible){outline:2px solid var(--color-brand-gold-mid);outline-offset:2px}.publish-panel .screen-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-brand-gold-dark)}.publish-panel .confirmation-section{padding:16px;background-color:var(--color-neutral-100);border-radius:6px;border-left:4px solid var(--color-brand-gold-mid);margin-bottom:24px}.publish-panel .confirmation-checkbox{display:flex;align-items:center;gap:8px;padding:0;font-weight:500;color:var(--color-neutral-900);cursor:pointer;font-size:14px;transition:color .2s}.publish-panel .confirmation-checkbox:hover{background-color:transparent;color:var(--color-brand-gold-dark)}.publish-panel .confirmation-checkbox:has(input:focus-visible){outline:2px solid var(--color-brand-gold-mid);outline-offset:2px}.publish-panel .confirmation-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-brand-gold-dark)}.publish-panel .action-buttons{display:flex;gap:12px;margin-bottom:20px}.publish-panel .action-buttons button{flex:1;min-width:160px;padding:12px 20px;background-color:var(--color-brand-gold-dark);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s,outline .2s}.publish-panel .action-buttons button:hover:not(:disabled){background-color:var(--color-brand-gold-mid)}.publish-panel .action-buttons button:focus-visible{outline:2px solid var(--color-brand-gold-dark);outline-offset:2px}.publish-panel .action-buttons button:active:not(:disabled){background-color:var(--color-brand-gold-dark)}.publish-panel .action-buttons button:disabled{background-color:var(--color-neutral-200);color:var(--color-neutral-400);cursor:not-allowed;opacity:.6}.publish-panel .success{padding:16px;background-color:#2d7d3c1f;border-left:4px solid var(--color-feedback-success);border-radius:6px;margin-top:20px}.publish-panel .success p{color:var(--color-feedback-success);font-size:14px;margin:8px 0}.publish-panel .success p:first-child{margin-top:0;font-weight:600}.publish-panel .error{padding:12px 16px;background-color:#b91d131a;border-left:4px solid var(--color-feedback-critical);border-radius:6px;color:var(--color-feedback-critical);font-size:14px;margin-bottom:20px}.location-switcher{display:flex;align-items:center;gap:8px}.location-switcher__label{font-size:13px;font-weight:600;color:var(--color-neutral-600);text-transform:uppercase;letter-spacing:.03em}.location-switcher__select{padding:8px 12px;border:1px solid var(--color-neutral-200);border-radius:6px;background-color:var(--color-neutral-50);color:var(--color-neutral-900);font-size:14px;font-weight:500;cursor:pointer;min-width:220px}.location-switcher__select:focus-visible{outline:2px solid var(--color-brand-gold-mid);outline-offset:2px}.location-switcher--loading,.location-switcher--error{font-size:13px;color:var(--color-neutral-400)}.location-switcher--error{color:var(--color-feedback-critical)}.bulk-publish-panel h2{font-size:24px;font-weight:600;color:var(--color-neutral-900);margin-bottom:8px}.bulk-publish-panel__hint{font-size:13px;color:var(--color-neutral-600);margin-bottom:20px}.bulk-publish-panel__confirm{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-neutral-900);margin-bottom:16px;cursor:pointer}.bulk-publish-panel__button{padding:12px 20px;background-color:var(--color-brand-gold-dark);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}.bulk-publish-panel__button:disabled{background-color:var(--color-neutral-200);color:var(--color-neutral-400);cursor:not-allowed}.bulk-publish-panel__summary{margin-top:16px;padding:12px 16px;background-color:var(--color-neutral-100);border-radius:6px;font-size:14px;color:var(--color-neutral-900)}.bulk-publish-panel__status{margin-top:24px}.bulk-publish-panel__counts{display:flex;gap:16px;margin-bottom:12px;font-size:13px;font-weight:600}.bulk-publish-panel__count--published{color:var(--color-feedback-success)}.bulk-publish-panel__count--skipped{color:var(--color-feedback-warning)}.bulk-publish-panel__count--failed{color:var(--color-feedback-critical)}.bulk-publish-panel__table{width:100%;border-collapse:collapse;font-size:13px}.bulk-publish-panel__table th,.bulk-publish-panel__table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--color-neutral-200)}.bulk-publish-panel__badge{padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}.bulk-publish-panel__badge--published{background-color:#2d7d3c1f;color:var(--color-feedback-success)}.bulk-publish-panel__badge--skipped{background-color:#b67c1f1f;color:var(--color-feedback-warning)}.bulk-publish-panel__badge--failed{background-color:#b91d131a;color:var(--color-feedback-critical)}.bulk-publish-panel__badge--pending{background-color:var(--color-neutral-200);color:var(--color-neutral-600)}.store-override-panel h2{font-size:24px;font-weight:600;color:var(--color-neutral-900);margin-bottom:8px}.store-override-panel__hint{font-size:13px;color:var(--color-neutral-600);margin-bottom:20px}.store-override-panel__form{display:flex;gap:8px;margin-bottom:20px}.store-override-panel__form input{padding:8px 12px;border:1px solid var(--color-neutral-200);border-radius:6px;font-size:14px}.store-override-panel__form button{padding:8px 16px;background-color:var(--color-brand-gold-dark);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}.store-override-panel__form button:disabled{background-color:var(--color-neutral-200);color:var(--color-neutral-400);cursor:not-allowed}.store-override-panel__table{width:100%;border-collapse:collapse;font-size:13px}.store-override-panel__table th,.store-override-panel__table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--color-neutral-200)}:root{--color-brand-charcoal: #08070A;--color-brand-gold-dark: #C8922A;--color-brand-gold-mid: #E2B455;--color-brand-gold-light: #F5D68A;--color-brand-cream: #F5F0E8;--color-neutral-50: #FAFAF8;--color-neutral-100: #F2EDE3;--color-neutral-200: #DFD7CB;--color-neutral-400: #8B8478;--color-neutral-600: #5C564C;--color-neutral-900: #2C2420;--color-feedback-success: #2D7D3C;--color-feedback-warning: #B67C1F;--color-feedback-critical: #B91D13;--color-feedback-info: #0057B8}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:var(--color-neutral-50);color:var(--color-neutral-900);line-height:1.5}.signage-page{max-width:1280px;margin:0 auto;padding:32px}.cms-header{margin-bottom:32px;border-bottom:2px solid var(--color-neutral-200);padding-bottom:24px}.cms-header h1{font-size:32px;color:var(--color-brand-charcoal);margin-bottom:8px}.cms-header p{color:var(--color-neutral-600);font-size:16px}.tabs-nav{display:flex;gap:16px;margin-bottom:32px;border-bottom:1px solid var(--color-neutral-200)}.tabs-nav button{padding:12px 20px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;color:var(--color-neutral-600);font-size:16px;font-weight:500;transition:all .2s}.tabs-nav button:hover{color:var(--color-brand-gold-mid)}.tabs-nav button.active{border-bottom-color:var(--color-brand-gold-mid);color:var(--color-brand-gold-mid)}.cms-main{padding:32px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.media-library,.playlist-editor,.publish-panel,.menu-panel{display:flex;flex-direction:column;gap:24px}.media-library h2,.playlist-editor h2,.publish-panel h2,.menu-panel h2{font-size:24px;color:var(--color-brand-charcoal)}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:500;color:var(--color-neutral-900)}input[type=text],input[type=number],input[type=file]{padding:12px 16px;border:1px solid var(--color-neutral-200);border-radius:6px;font-size:14px;font-family:inherit}input[type=text]:focus,input[type=number]:focus,input[type=file]:focus{outline:none;border-color:var(--color-brand-gold-mid);box-shadow:0 0 0 3px #e2b4551a}button{padding:12px 24px;background-color:var(--color-brand-gold-mid);color:var(--color-brand-charcoal);border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:background-color .2s}button:hover:not(:disabled){background-color:var(--color-brand-gold-dark)}button:disabled{opacity:.5;cursor:not-allowed}.error{padding:16px;background-color:#b91d131a;border-left:4px solid var(--color-feedback-critical);color:var(--color-feedback-critical);border-radius:4px}.success{padding:16px;background-color:#2d7d3c1a;border-left:4px solid var(--color-feedback-success);color:var(--color-feedback-success);border-radius:4px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.media-card{padding:16px;border:1px solid var(--color-neutral-200);border-radius:6px;background:var(--color-neutral-50)}.media-name{font-weight:600;margin-bottom:8px}.media-type{color:var(--color-neutral-600);font-size:14px}.screen-checkbox,.confirmation-checkbox{display:flex;align-items:center;gap:12px;cursor:pointer;padding:12px;border-radius:6px}.screen-checkbox:hover,.confirmation-checkbox:hover{background-color:var(--color-neutral-100)}.menu-table{width:100%;border-collapse:collapse;margin-top:16px}.menu-table th{background-color:var(--color-neutral-100);padding:12px;text-align:left;font-weight:600;border-bottom:2px solid var(--color-neutral-200)}.menu-table td{padding:12px;border-bottom:1px solid var(--color-neutral-200)}.menu-table input{padding:6px 12px}.note{padding:16px;background-color:var(--color-neutral-100);border-radius:6px;color:var(--color-neutral-600)}.action-buttons{display:flex;gap:16px;margin-top:24px}.slots-section{display:flex;flex-direction:column;gap:12px}.slot-row{display:flex;gap:12px;align-items:center;padding:12px;background-color:var(--color-neutral-100);border-radius:6px}.slot-row span{flex:1}.slot-row input{width:120px}.slot-row button{padding:8px 16px;background-color:var(--color-feedback-critical);color:#fff;font-size:12px}.sync-controls{display:flex;gap:16px;align-items:center}.sync-controls p{color:var(--color-neutral-600);font-size:14px}@media (max-width: 1024px){.signage-page{padding:24px}.cms-header h1{font-size:28px}.tabs-nav{flex-wrap:wrap}.media-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (max-width: 768px){.signage-page{padding:16px}.cms-header h1{font-size:24px}.cms-main{padding:16px}.tabs-nav{gap:8px}.tabs-nav button{padding:10px 16px;font-size:14px}.media-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.menu-table{font-size:12px}.menu-table th,.menu-table td{padding:8px}.action-buttons{flex-direction:column}.action-buttons button{width:100%}.slot-row{flex-direction:column;gap:8px}.slot-row input,.slot-row select,.slot-row button{width:100%}}@media (max-width: 480px){.signage-page{padding:12px}.cms-header h1{font-size:20px}.cms-header p{font-size:14px}.cms-main{padding:12px}.tabs-nav button{padding:8px 12px;font-size:12px}.media-grid{grid-template-columns:1fr}button{padding:10px 16px;font-size:12px}input[type=text],input[type=number],input[type=file]{padding:10px 12px;font-size:12px}.menu-table{font-size:11px}.menu-table th,.menu-table td{padding:6px}}.error-boundary{padding:40px 20px;text-align:center;background-color:#b91d130d;border-radius:8px;margin:20px}.error-boundary h1{color:var(--color-feedback-critical);margin-bottom:12px}.error-boundary p{color:var(--color-neutral-600);margin-bottom:20px}.error-boundary button{background-color:var(--color-feedback-critical);color:#fff}
