*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:#171a20;background:#f2f3f5;font-family:Arial,Helvetica,sans-serif}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.38}:is(button:focus-visible,select:focus-visible){outline-offset:3px;outline:3px solid #6296e7}main{padding:28px 28px 20px}.app-shell{max-width:1020px;margin:0 auto 20px}.app-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.app-header>div{align-items:center;gap:14px;display:flex}.app-header h1{letter-spacing:-.6px;margin:0;font-size:25px}.development-label{color:#6a7180;border-left:1px solid #cfd3da;padding-left:14px;font-size:12px}.compare-button{color:#283e60;background:#fff;border:1px solid #cbd0d8;border-radius:5px;padding:10px 14px;font-size:13px;font-weight:600}.generator-controls{background:#fff;border:1px solid #dadde2;border-radius:6px;align-items:flex-end;gap:16px;padding:18px 20px;display:flex}.field-label{color:#666e7b;margin-bottom:8px;font-size:11px;display:block}.service-label{align-self:center;margin-right:auto}.service-label strong{font-size:16px}.generator-controls label{display:block}.generator-controls select{color:#232832;background:#fff;border:1px solid #c8cdd5;border-radius:4px;height:36px;padding:0 30px 0 10px;font-size:14px}.period-control select{min-width:190px}.period-navigation{gap:6px;display:flex}.period-navigation button{background:#fff;border:1px solid #c8cdd5;border-radius:4px;width:36px;height:36px;font-size:20px}.chart-status{color:#666e7b;justify-content:space-between;align-items:center;gap:12px;margin-top:15px;font-size:12px;display:flex}.chart-status strong{color:#343c49}.status-separator{color:#969eaa;padding:0 9px}.validation-button{color:#526b5e;background:0 0;border:0;padding:4px 0;font-size:12px}.validation-button.has-errors{color:#b52621}.sample-note{color:#777f8c;margin:10px 0 0;font-size:11px}.blocking-banner{color:#96362c;background:#fff0ed;border:1px solid #edbcb5;border-radius:4px;margin-top:12px;padding:12px 14px;font-size:13px;line-height:1.6}.validation-panel{background:#fff;border:1px solid #d6dbe1;border-radius:5px;margin-top:14px;padding:18px 20px}.validation-panel h2{margin:0 0 8px;font-size:17px}.validation-panel p{color:#596170;margin:5px 0;font-size:13px;line-height:1.5}.validation-panel ul{margin:16px 0;padding:0;list-style:none}.validation-panel li{border-top:1px solid #e4e6eb;align-items:baseline;gap:12px;padding:13px 0;font-size:13px;display:flex}.validation-panel small{color:#687384}.issue-label{min-width:62px;font-size:11px}.issue-label.blocking{color:#ae332c}.issue-label.warning{color:#95620d}.validation-panel .history-note{border-top:1px solid #e4e6eb;padding-top:12px;font-size:12px}.validation-panel .clean-status{color:#27654c}.chart-canvas{width:100%;max-width:612px;margin:0 auto}.leaderboard{color:#000;background:#fff;border:3px solid #666;width:1020px;font-family:Arial,Helvetica,sans-serif}.chart-heading{text-align:center;background:#ffedd4;border-bottom:2px solid #a4a4a4;flex-direction:column;align-items:center;height:205px;padding-top:19px;display:flex}.chart-heading h2{margin:0;font-size:32px;font-weight:700;line-height:37px}.service-logo{object-fit:contain;width:366px;height:auto;max-height:57px;display:block}.chart-heading h3{margin:7px 0 5px;font-size:32px;font-weight:700;line-height:38px}.chart-total{align-items:center;gap:25px;font-size:23px;line-height:30px;display:flex}.chart-total .change{margin-left:-9px}.ranking-list{margin:0;padding:0;list-style:none}.show-row{border-bottom:2px solid #a4a4a4;grid-template-columns:112px 100px 136px minmax(0,1fr);height:78px;display:grid}.show-row:last-child{border-bottom:0}.rank{background:#f3f3f3;justify-content:center;align-items:center;font-size:42px;font-weight:700;line-height:1;display:flex}.movement{color:#000;align-items:center;gap:13px;padding:0 8px;font-size:23px;display:flex}.movement.up,.positive{color:#008542}.movement.down,.negative{color:#dc2d1e}.movement.new{background:#ff0;justify-content:center;padding:0;font-size:23.1px}.movement.unchanged,.movement.returning{color:#333;justify-content:center}.arrow{fill:currentColor;flex:none;width:18px;height:24px}.arrow.down{transform:rotate(180deg)}.art-cell{background:#fff;justify-content:center;align-items:center;min-width:0;display:flex}.art-cell img{object-fit:contain;width:136px;height:76px;display:block}.art-placeholder{text-align:center;color:#6b7280;font-size:14px;line-height:20px}.show-information{min-width:0;padding:3px 8px 5px}.show-title{color:#1c4587;white-space:nowrap;text-overflow:ellipsis;font-size:28px;font-weight:700;line-height:34px;overflow:hidden}.show-metrics{align-items:center;gap:18px;margin-top:5px;font-size:23px;line-height:28px;display:flex}.show-metrics>span:first-child{min-width:160px}.change{white-space:nowrap;align-items:center;gap:8px;font-size:23px;font-weight:400;display:inline-flex}.neutral{color:#333}.comparison-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:22px;max-width:2062px;margin:auto;display:grid}.comparison-label{color:#626b79;margin:0 0 12px;font-size:12px;font-weight:600}.reference-crop{width:100%;overflow:hidden}.reference-crop img{width:110.098%;max-width:none;height:auto;display:block}.app-footer{color:#727a85;max-width:1020px;margin:18px auto 0;font-size:11px;line-height:1.7}.comparison-layout .chart-canvas{margin:0}.comparison-layout section{min-width:0}@media (max-width:760px){main{padding:18px 12px}.app-header{align-items:flex-start;margin-bottom:16px}.app-header>div{display:block}.app-header h1{font-size:22px}.development-label{border:0;margin-top:5px;padding:0;font-size:10px;display:block}.compare-button{padding:9px 10px;font-size:11px}.generator-controls{flex-wrap:wrap;gap:12px;padding:14px}.service-label{width:100%;margin-bottom:3px}.generator-controls select{padding-right:20px;font-size:12px}.period-control select{min-width:150px}.period-navigation{margin-left:auto}.chart-status{flex-wrap:wrap;align-items:flex-start;font-size:11px}.validation-button{font-size:11px}.comparison-layout{gap:10px}.comparison-label{font-size:10px;line-height:1.4}.sample-note{line-height:1.5}.validation-panel{padding:14px}.validation-panel li{gap:8px}.issue-label{min-width:50px}}.chart-actions{align-items:center;gap:8px;display:flex}.print-button{color:#fff;background:#283e60;border:1px solid #283e60;border-radius:5px;padding:10px 14px;font-size:13px;font-weight:600}.print-error{color:#ae332c;margin:10px 0 0;font-size:13px}@media (max-width:760px){.chart-actions{flex-wrap:wrap;justify-content:flex-end}.print-button{padding:9px 10px;font-size:11px}}@media print{html,body{background:#fff!important;width:1020px!important;margin:0!important;padding:0!important;overflow:visible!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}main{width:1020px!important;margin:0!important;padding:0!important}.app-shell,.app-footer,.comparison-label,.comparison-layout>section:first-child{display:none!important}.comparison-layout{width:1020px!important;max-width:none!important;margin:0!important;padding:0!important;display:block!important}.chart-canvas{width:1020px!important;max-width:none!important;margin:0!important;padding:0!important}.chart-zoom{zoom:1!important}.leaderboard{width:1020px!important;box-shadow:none!important;margin:0!important}.show-row{break-inside:avoid;page-break-inside:avoid}}.company-access{color:#596170;margin:0 0 16px;font-size:13px;line-height:1.6}.company-access p{margin:6px 0}.company-access a,.source-controls a{color:#283e60}.source-controls{color:#666e7b;flex-wrap:wrap;align-items:center;gap:16px;margin-top:14px;font-size:12px;display:flex}.source-controls span{margin-left:auto}.management-tabs{border-bottom:1px solid #d2d7df;gap:6px;margin:6px 0 20px;display:flex}.management-tabs button{color:#596170;background:0 0;border:0;border-bottom:3px solid #0000;padding:12px 16px;font-size:13px}.management-tabs button.active{color:#283e60;border-color:#283e60;font-weight:700}.management-panel{background:#fff;border:1px solid #dadde2;border-radius:6px;padding:24px}.management-panel h2{margin:0 0 8px;font-size:21px}.management-panel p{color:#596170;font-size:13px;line-height:1.6}.management-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.management-heading p{margin-bottom:8px}.management-heading button{white-space:nowrap}.management-panel label{color:#3d4858;font-size:12px;font-weight:600;display:block}.management-panel input{color:#171a20;background:#fff;border:1px solid #bdc6d2;border-radius:4px;width:100%;margin-top:8px;padding:10px 12px;font:14px Arial;display:block}.management-panel input:focus-visible{outline-offset:1px;outline:3px solid #b1cdf4}.admin-add{align-items:flex-end;gap:12px;margin:26px 0;display:flex}.admin-add label{flex:1;max-width:440px}.managed-list{margin:12px 0;padding:0;list-style:none}.managed-list li{border-top:1px solid #e3e6eb;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;font-size:14px;display:flex}.managed-list small,.change-history small{color:#727c89;margin-top:6px;font-size:12px;display:block}.managed-list a{color:#283e60;margin-top:7px;font-size:12px;display:inline-block}.management-panel .management-hint{color:#6d7582;font-size:12px;line-height:1.6}.management-panel .success-message{color:#246143;background:#edf7f0;border:1px solid #c4dfcd;border-radius:4px;padding:12px 14px}.change-history{color:#596170;margin-top:24px;font-size:13px}.change-history summary{cursor:pointer}.change-history ul{padding:0;list-style:none}.change-history li{border-bottom:1px solid #eee;padding:12px 0}.change-history strong{text-transform:capitalize}.confirmation{background:#fff6f4;border:1px solid #dbafa9;border-radius:5px;margin-top:20px;padding:18px}.confirmation h3{margin:0 0 8px;font-size:16px}.confirmation>div,.form-actions{flex-wrap:wrap;gap:10px;display:flex}.danger-button{color:#fff;background:#a13b32;border:1px solid #a13b32;border-radius:5px;padding:10px 14px;font-size:13px}.service-form{border-top:2px solid #dfe4eb;margin-top:24px;padding-top:16px}.service-form h3{margin:6px 0 20px;font-size:17px}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.logo-upload{justify-content:space-between;align-items:center;gap:20px;margin:20px 0;display:flex}.logo-upload img{object-fit:contain;background:#fff3df;border:1px solid #e8d6bb;border-radius:4px;width:200px;max-height:80px;padding:8px}.logo-upload input{font-size:12px}.logo-upload small{color:#6d7582;margin-top:8px;font-weight:400;display:block}.validation-success{color:#246143;margin:16px 0;font-size:12px;line-height:1.7}.form-actions{margin-top:22px}@media (max-width:760px){.management-panel{padding:16px}.management-tabs button{padding:10px 8px;font-size:12px}.admin-add,.logo-upload{flex-direction:column;align-items:stretch}.form-grid{grid-template-columns:1fr}.management-heading{gap:12px}.management-heading h2{font-size:18px}.management-heading .print-button{font-size:12px}.service-label select{max-width:100%}}.service-label{min-width:0}.service-label select{width:100%;max-width:320px}.action-link{white-space:nowrap;text-decoration:none;display:inline-block}.library-heading,.viewer-heading{justify-content:space-between;align-items:center;gap:20px;margin:28px 0 22px;display:flex}.library-heading h2,.viewer-heading h2{letter-spacing:-.6px;margin:0 0 8px;font-size:26px}.library-heading p,.viewer-heading p{color:#687384;margin:0;font-size:13px;line-height:1.5}.library-count{color:#697484;white-space:nowrap;font-size:12px}.library-filters{gap:18px;margin:0 0 24px;display:flex}.library-filters select{color:#27374b;background:#fff;border:1px solid #cbd2db;border-radius:5px;max-width:100%;padding:10px 32px 10px 12px;font-size:13px}.library-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.chart-card{color:inherit;background:#fff;border:1px solid #d6dce4;border-radius:8px;text-decoration:none;transition:box-shadow .15s,transform .15s;display:block;overflow:hidden}.chart-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px #253d6014}.chart-card:focus-visible{outline-offset:3px;outline:3px solid #6296e7}.card-preview{pointer-events:none;background:#e8e9ec;height:154px;padding:12px 12px 0;overflow:hidden}.card-preview .chart-canvas{width:100%}.card-caption{padding:18px}.frequency-badge{letter-spacing:.7px;text-transform:uppercase;color:#596d83;background:#eff3f7;border-radius:3px;padding:5px 7px;font-size:10px;font-weight:700;display:inline-block}.card-caption h3{letter-spacing:-.3px;margin:12px 0 7px;font-size:19px}.card-caption p{color:#687384;margin:0;font-size:13px}.card-foot{color:#6b788a;border-top:1px solid #edf0f3;justify-content:space-between;gap:8px;margin-top:20px;padding-top:15px;font-size:11px;display:flex}.card-foot span:last-child{color:#283e60;font-weight:600}.library-empty{text-align:center;background:#fff;border:1px dashed #cdd4df;border-radius:8px;padding:60px 24px}.library-empty h3{margin:0 0 12px;font-size:18px}.library-empty p{color:#6b7582;font-size:13px}.publication-loading{color:#687384;padding:32px 0;font-size:13px}.back-library{color:#283e60;margin:4px 0 0;font-size:13px;text-decoration:none;display:inline-block}.viewer-heading .frequency-badge{margin-bottom:12px}.viewer-navigation{border-top:1px solid #d6dce4;justify-content:space-between;gap:20px;padding-top:18px;font-size:12px;display:flex}.viewer-navigation a{color:#283e60;text-decoration:none}.viewer-navigation span{color:#9aa2af}.publication-actions{background:#fff;border:1px solid #d6dce4;border-radius:6px;margin:18px 0;padding:16px 18px}.publication-bar{justify-content:space-between;align-items:center;gap:20px;display:flex}.publication-bar strong{font-size:13px}.publication-bar p,.publication-link{color:#6a7482;margin:6px 0 0;font-size:12px;line-height:1.5}.publication-bar button{white-space:nowrap}.publication-link a{color:#283e60}.publication-actions .confirmation p{font-size:13px;line-height:1.5}.publication-shell .confirmation p{font-size:13px;line-height:1.6}.publication-shell{margin-bottom:24px}@media (max-width:900px){.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-preview{height:175px}}@media (max-width:580px){.library-grid{grid-template-columns:1fr}.card-preview{height:190px}.library-filters{flex-wrap:wrap;gap:14px}.library-filters label{max-width:100%}.library-heading h2,.viewer-heading h2{font-size:23px}.viewer-heading,.publication-bar{flex-direction:column;align-items:flex-start}.viewer-navigation{gap:12px;font-size:11px}.management-tabs{flex-wrap:wrap}.card-caption h3{font-size:20px}}
