html,body,#root{min-height:100%;margin:0}body{color:#172033;background:#f5f7fb;font-family:Arial,sans-serif}button,input{font-family:inherit}:root{--bg:#f5f7fb;--surface:#fff;--surface-soft:#f8faff;--navy-950:#07162b;--navy-900:#0b1f3a;--navy-800:#102d52;--navy-700:#173d70;--blue-700:#1d4ed8;--blue-600:#2563eb;--blue-500:#3b82f6;--blue-100:#dbeafe;--blue-50:#eff6ff;--text-primary:#122033;--text-secondary:#667085;--text-muted:#98a2b3;--border:#e4e9f1;--border-strong:#d4dce8;--success-bg:#ecfdf3;--success-text:#027a48;--danger-bg:#fef3f2;--danger-text:#b42318;--shadow-xs:0 1px 2px #1018280a;--shadow-sm:0 4px 12px #1018280d;--shadow-md:0 10px 30px #10182812;--shadow-lg:0 18px 45px #10182817;--radius-sm:8px;--radius-md:12px;--radius-lg:16px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}.app{background:radial-gradient(circle at top right, #2563eb09, transparent 28%), var(--bg);min-height:100vh;color:var(--text-primary);display:flex}.sidebar{color:#fff;background:linear-gradient(#081a33 0%,#0b1f3a 45%,#0a1b33 100%);border-right:1px solid #ffffff0a;flex-shrink:0;width:248px;min-height:100vh;padding:26px 14px;position:relative}.sidebar:after{content:"";background:linear-gradient(#ffffff14,#fff0);width:1px;height:100%;position:absolute;top:0;right:-1px}.sidebar-logo{letter-spacing:-.5px;color:#fff;padding:4px 14px 34px;font-size:20px;font-weight:750}.sidebar-nav{flex-direction:column;gap:5px;display:flex}.sidebar-item{color:#9db0c9;cursor:pointer;border-radius:10px;padding:12px 13px;font-size:14px;font-weight:550;transition:background .18s,color .18s,transform .18s;position:relative}.sidebar-item:hover{color:#fff;background:#ffffff0f;transform:translate(1px)}.sidebar-item.active{color:#fff;background:linear-gradient(135deg,#2563ebf2,#1d4ed8e6);box-shadow:0 8px 20px #1d4ed840,inset 0 1px #ffffff1f}.sidebar-item.active:before{content:"";background:#60a5fa;border-radius:0 4px 4px 0;width:3px;height:calc(100% - 20px);position:absolute;top:10px;left:-14px}.main-content{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);z-index:20;background:#fffffff0;justify-content:space-between;align-items:center;height:72px;padding:0 34px;display:flex;position:sticky;top:0}.topbar-title{letter-spacing:-.25px;color:#172b4d;font-size:18px;font-weight:700}.topbar-user{width:38px;height:38px;color:var(--blue-700);box-shadow:var(--shadow-xs);background:linear-gradient(135deg,#eaf2ff,#dce9ff);border:1px solid #cddcff;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:750;display:flex}.dashboard-content{width:100%;max-width:1480px;margin:0 auto;padding:40px 40px 60px}.dashboard-heading{margin-bottom:30px}.dashboard-heading h1{letter-spacing:-.8px;color:#12233f;margin:0;font-size:32px;font-weight:760;line-height:1.15}.dashboard-heading p{color:var(--text-secondary);margin:10px 0 0;font-size:15px;line-height:1.6}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:26px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:22px 22px 24px;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden}.stat-card:after{content:"";background:radial-gradient(circle,#2563eb17,#2563eb00);border-radius:50%;width:95px;height:95px;position:absolute;top:-35px;right:-28px}.stat-card:hover{box-shadow:var(--shadow-md);border-color:#ced8e8;transform:translateY(-3px)}.stat-label{color:#667085;text-transform:uppercase;letter-spacing:.45px;margin-bottom:12px;font-size:12px;font-weight:650}.stat-value{z-index:1;letter-spacing:-.7px;color:#173d70;font-size:28px;font-weight:760;line-height:1.1;position:relative}.dashboard-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);margin-bottom:22px;padding:26px}.dashboard-section h2{letter-spacing:-.25px;color:#14213d;margin:0 0 20px;font-size:18px;font-weight:720;line-height:1.3}.evaluation-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:18px;display:grid}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:#344054;letter-spacing:.1px;font-size:12px;font-weight:700}.form-group input{border:1px solid var(--border-strong);width:100%;height:46px;color:var(--text-primary);background:#fff;border-radius:9px;padding:0 14px;font-size:14px;transition:border-color .18s,box-shadow .18s,background .18s}.form-group input::placeholder{color:var(--text-muted)}.form-group input:hover{border-color:#b9c6d8}.form-group input:focus{border-color:var(--blue-600);background:#fff;outline:none;box-shadow:0 0 0 4px #2563eb1a,0 2px 7px #2563eb0f}.primary-button{color:#fff;white-space:nowrap;cursor:pointer;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);border:1px solid #1d4ed8;border-radius:9px;height:46px;padding:0 22px;font-size:14px;font-weight:650;transition:transform .18s,box-shadow .18s,filter .18s;box-shadow:0 5px 14px #1d4ed82e,inset 0 1px #ffffff26}.primary-button:hover:not(:disabled){filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 8px 20px #1d4ed83b,inset 0 1px #ffffff26}.primary-button:active:not(:disabled){transform:translateY(0)}.primary-button:disabled{opacity:.58;cursor:not-allowed;box-shadow:none}.error{background:var(--danger-bg);color:var(--danger-text);box-shadow:var(--shadow-xs);border:1px solid #fecdca;border-radius:10px;margin:16px 40px 0;padding:13px 15px;font-size:14px}.results-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.results-header h2{letter-spacing:-.25px;color:#14213d;margin:0 0 6px;font-size:18px;font-weight:720}.results-header p{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.session-info{background:var(--blue-50);color:#1e40af;white-space:nowrap;border:1px solid #cfe0ff;border-radius:8px;padding:8px 13px;font-size:12px;font-weight:700}.ranking-table-container{scrollbar-width:thin;width:100%;overflow-x:auto}.ranking-table{border:1px solid var(--border);width:max-content;min-width:1400px;box-shadow:var(--shadow-xs);background:#fff;border-radius:12px;overflow:hidden}.table-header,.table-row{grid-template-columns:65px 180px 110px 110px 110px 120px 130px 120px 130px 130px 130px 150px 100px;align-items:center;display:grid}.table-header{color:#53677f;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(#f7faff 0%,#eef4fb 100%);padding:14px 18px;font-size:11px;font-weight:750}.table-row{color:#475467;background:#fff;border-top:1px solid #edf0f5;padding:16px 18px;font-size:14px;transition:background .16s,box-shadow .16s}.table-row:hover{background:#f9fbff;box-shadow:inset 3px 0 #d9e7ff}.rank{color:var(--blue-700);font-weight:750}.brand-name{color:#15253c;font-weight:700}.overall{color:var(--blue-700);font-weight:750}.report-button{color:#2450a6;cursor:pointer;white-space:nowrap;background:#f5f8ff;border:1px solid #ccdaf0;border-radius:8px;min-height:34px;padding:7px 12px;font-size:12px;font-weight:650;transition:background .17s,border-color .17s,color .17s,transform .17s}.report-button:hover:not(:disabled){color:#1e3a8a;background:#eaf1ff;border-color:#adc3eb;transform:translateY(-1px)}.report-button:disabled{opacity:.6;cursor:not-allowed}.session-list{flex-direction:column;gap:10px;display:flex}.session-card{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:11px;justify-content:space-between;align-items:center;padding:16px 18px;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s;display:flex}.session-card:hover{box-shadow:var(--shadow-sm);background:#f9fbff;border-color:#c9d7ea;transform:translateY(-1px)}.session-card strong{color:#172b4d;font-size:14px;font-weight:700}.session-card p{color:var(--text-secondary);margin:5px 0 0;font-size:13px}.session-card span{color:var(--blue-700);font-size:13px;font-weight:700}.report-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.report-header h2{color:#14213d;letter-spacing:-.35px;margin:0 0 6px;font-size:22px;font-weight:740}.report-header p{color:var(--text-secondary);margin:0;font-size:14px}.report-rank{color:var(--blue-700);font-size:26px;font-weight:760}.report-score{box-shadow:var(--shadow-xs);background:linear-gradient(135deg,#f4f8ff 0%,#edf4ff 100%);border:1px solid #d5e3fa;border-radius:13px;justify-content:space-between;align-items:center;margin-bottom:22px;padding:22px 24px;display:flex}.report-score span{color:#4b6280;font-size:13px;font-weight:650}.report-score strong{color:#174ea6;font-size:30px;font-weight:780}.report-factors{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:28px;display:grid}.report-factors>div{border:1px solid var(--border);box-shadow:var(--shadow-xs);background:#fff;border-radius:11px;padding:18px;transition:transform .17s,box-shadow .17s,border-color .17s}.report-factors>div:hover{box-shadow:var(--shadow-sm);border-color:#d3ddea;transform:translateY(-2px)}.report-factors span{color:var(--text-secondary);margin-bottom:8px;font-size:12px;font-weight:600;display:block}.report-factors strong{color:#173d70;font-size:22px;font-weight:750}.strongest-factors{margin-bottom:28px}.strongest-factors h3,.brand-story h3{color:#14213d;margin:0 0 14px;font-size:16px;font-weight:720}.factor-list{flex-wrap:wrap;gap:8px;display:flex}.factor-list span{color:#2154a5;background:#eef5ff;border:1px solid #cfe0ff;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:650}.brand-story p{color:#475467;white-space:pre-line;margin:0;font-size:14px;line-height:1.75}.report-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:22px;display:flex}.report-actions .report-button{white-space:nowrap}.editor-section{border-bottom:1px solid var(--border);margin-bottom:30px;padding-bottom:26px}.editor-section:last-child{border-bottom:none}.editor-section h2{color:#14213d;margin:0 0 18px;font-size:17px;font-weight:720}.editor-field{margin-bottom:15px}.editor-field label{color:#475467;margin-bottom:7px;font-size:12px;font-weight:700;display:block}.editor-field input,.editor-field textarea,.editor-field select{box-sizing:border-box;border:1px solid var(--border-strong);width:100%;color:var(--text-primary);background:#fff;border-radius:8px;outline:none;padding:10px 11px;font-family:inherit;font-size:13px;transition:border-color .18s,box-shadow .18s}.editor-field input:hover,.editor-field textarea:hover,.editor-field select:hover{border-color:#b9c6d8}.editor-field input:focus,.editor-field textarea:focus,.editor-field select:focus{border-color:var(--blue-600);box-shadow:0 0 0 4px #2563eb14}.editor-field textarea{resize:vertical;min-height:95px;line-height:1.55}.editor-metric,.editor-ecgv{border:1px solid var(--border);background:linear-gradient(#fbfcfe,#f7f9fc);border-radius:10px;margin-bottom:18px;padding:15px}.editor-ecgv-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.editor-ecgv-header strong{color:#1e3a5f;font-size:13px;font-weight:700}.editor-ecgv-header input{box-sizing:border-box;border:1px solid var(--border-strong);text-align:center;background:#fff;border-radius:7px;width:72px;padding:7px;font-size:13px}.editor-ecgv-header input:focus{border-color:var(--blue-600);outline:none;box-shadow:0 0 0 3px #2563eb17}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f0f3f7}::-webkit-scrollbar-thumb{background:#c5cfdd;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#aebaca}@media (width<=1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.evaluation-form{grid-template-columns:1fr}.primary-button{width:100%}.report-factors{grid-template-columns:repeat(2,1fr)}.dashboard-content{padding:30px}.topbar{padding:0 28px}}@media (width<=700px){.sidebar{width:72px;padding:20px 8px}.sidebar-logo{padding-left:0;padding-right:0;font-size:0}.sidebar-item{text-align:center;padding:12px 8px;font-size:0}.sidebar-item.active:before{left:-8px}.dashboard-content{padding:22px 18px 40px}.dashboard-heading h1{font-size:27px}.stats-grid{grid-template-columns:1fr;gap:12px}.evaluation-form{gap:14px}.dashboard-section{border-radius:13px;padding:20px}.results-header{flex-direction:column;align-items:flex-start}.report-factors{grid-template-columns:1fr}.report-header{flex-direction:column;align-items:flex-start}.report-score{flex-direction:column;align-items:flex-start;gap:12px}.topbar{height:64px;padding:0 18px}.topbar-title{font-size:16px}.error{margin-left:18px;margin-right:18px}}.auth-screen{box-sizing:border-box;background:radial-gradient(circle at 50% 30%,#eef6ff 0%,#e2eeff 50%,#d8e6fa 100%);justify-content:center;align-items:center;width:100vw;min-height:100vh;padding:20px;display:flex}.auth-card{-webkit-backdrop-filter:blur(20px);text-align:center;box-sizing:border-box;background:#ffffffbf;border:1px solid #ffffffe6;border-radius:32px;flex-direction:column;align-items:center;width:100%;max-width:460px;padding:48px 36px;display:flex;box-shadow:0 20px 50px #2563eb1a,0 10px 20px #00000008,inset 0 0 0 1px #fff9}.auth-logo{justify-content:center;align-items:center;width:100%;max-width:280px;height:auto;margin-bottom:8px;display:flex}.auth-logo img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:80px}.auth-subtitle{color:#475569;margin:0 0 28px;font-size:15px;font-weight:500;line-height:1.5}.login-form{flex-direction:column;gap:18px;width:100%;display:flex}.login-form .input-wrapper{align-items:center;width:100%;display:flex;position:relative}.login-form .input-icon-left{color:#94a3b8;pointer-events:none;z-index:2;position:absolute;left:16px}.login-form input{color:#1e293b;box-sizing:border-box;background:#eef6ffb3;border:1.5px solid #a5f3fc;border-radius:16px;outline:none;width:100%;height:52px;padding:0 46px;font-size:15px;transition:all .2s}.login-form input::placeholder{color:#94a3b8}.login-form input:focus{background:#fff;border-color:#38bdf8;box-shadow:0 0 0 4px #38bdf833}.login-form .password-toggle-btn{color:#94a3b8;cursor:pointer;z-index:2;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;transition:color .2s;display:flex;position:absolute;right:14px}.login-form .password-toggle-btn:hover{color:#334155}.login-error{color:#b91c1c;text-align:left;background:#fef2f2;border-radius:10px;padding:10px 12px;font-size:13px}.login-form button[type=submit],.login-form .submit-btn{color:#fff;cursor:pointer;background:linear-gradient(#2563eb 0%,#1d4ed8 100%);border:none;border-radius:16px;width:100%;height:52px;font-size:16px;font-weight:600;transition:transform .1s,box-shadow .2s,opacity .2s;box-shadow:0 8px 20px -4px #2563eb66}.login-form button[type=submit]:hover,.login-form .submit-btn:hover{background:linear-gradient(#1d4ed8 0%,#1e40af 100%);box-shadow:0 10px 24px -4px #2563eb80}.login-form button[type=submit]:active,.login-form .submit-btn:active{transform:scale(.985)}.login-form button[type=submit]:disabled{opacity:.7;cursor:not-allowed}
