@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";
:root{--navy:#17365d;--blue:#2f75b5;--light:#eaf2f8;--line:#d9e2f3;--text:#243447;--muted:#657786;--red:#c00000;--amber:#9c6500;--green:#375623;--bg:#f5f7fa}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,Segoe UI,Arial,sans-serif}.header{background:linear-gradient(135deg, var(--navy), #24598f);color:#fff;justify-content:space-between;align-items:flex-start;padding:26px 32px 22px;display:flex}.header-left h1{margin:0 0 6px;font-size:26px}.header-left p{opacity:.88;margin:0;font-size:14px}.header-right{flex-shrink:0;align-items:center;gap:16px;display:flex}.lang-toggle{border:1px solid #ffffff59;border-radius:6px;font-size:12px;font-weight:600;display:flex;overflow:hidden}.lang-toggle button{color:#fff9;cursor:pointer;background:0 0;border:none;padding:5px 10px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s}.lang-toggle button.active{color:#fff;background:#fff3}.lang-toggle button:hover:not(.active){color:#ffffffd9}.user-badge{cursor:pointer;align-items:center;gap:8px;display:flex;position:relative}.user-badge .avatar{color:#fff;background:#fff3;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:flex}.user-badge .user-info{flex-direction:column;display:flex}.user-badge .user-name{color:#fff;font-size:13px;font-weight:600}.user-badge .user-role{color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;font-size:10px}.user-menu{border:1px solid var(--line);z-index:100;background:#fff;border-radius:8px;min-width:160px;margin-top:8px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 16px #0000001f}.user-menu button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;padding:10px 16px;font-family:inherit;font-size:13px;display:block}.user-menu button:hover{background:var(--light)}.container{max-width:1800px;margin:auto;padding:22px 28px 34px}.cards{grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;margin-bottom:18px;display:grid}.card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px 14px;box-shadow:0 1px 3px #0000000a}.card .label{color:var(--muted);font-size:12px;font-weight:600}.card .value{color:var(--navy);margin-top:4px;font-size:22px;font-weight:750}.panel{border:1px solid var(--line);background:#fff;border-radius:10px;margin:14px 0;padding:16px;box-shadow:0 1px 3px #00000008}.panel h2{color:var(--navy);margin:0 0 12px;font-size:16px}.summary-table{border-collapse:collapse;width:100%;font-size:12px}.summary-table th,.summary-table td{text-align:right;white-space:nowrap;border-bottom:1px solid #e8eef5;padding:8px 9px}.summary-table th:first-child,.summary-table td:first-child{text-align:left}.summary-table th{background:var(--light);color:var(--navy)}.callout{border-left:4px solid var(--blue);background:#f3f8fc;padding:12px 14px;font-size:12px;line-height:1.45}.filters{grid-template-columns:1.1fr 2.2fr .8fr 1.1fr 1.2fr 1.2fr 2fr auto auto;align-items:end;gap:10px;display:grid}label{color:var(--muted);margin-bottom:4px;font-size:11px;font-weight:700;display:block}select,input[type=text],input[type=email],input[type=password]{width:100%;color:var(--text);background:#fff;border:1px solid #c9d5e3;border-radius:6px;padding:8px 9px;font-family:inherit;font-size:12px}button{font:inherit}.btn{cursor:pointer;background:#fff;border:1px solid #b8c7d9;border-radius:6px;padding:8px 12px;font-size:12px}.btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn:hover{filter:brightness(.97)}.tabs{gap:7px;margin:16px 0 10px;padding-bottom:5px;display:flex;overflow:auto}.tab-btn{white-space:nowrap;cursor:pointer;color:#36506b;background:#fff;border:1px solid #c9d5e3;border-radius:18px;padding:7px 11px;font-family:inherit;font-size:12px}.tab-btn span{background:#eef3f8;border-radius:10px;margin-left:6px;padding:2px 6px;font-size:10px}.tab-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}.tab-btn.active span{background:#ffffff2b}.resultbar{color:var(--muted);justify-content:space-between;align-items:center;margin:8px 0;font-size:12px;display:flex}.tablewrap{border:1px solid var(--line);background:#fff;border-radius:8px;max-height:68vh;overflow:auto}table.data{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:11px}.data th{z-index:2;background:var(--blue);color:#fff;text-align:left;white-space:nowrap;border-right:1px solid #ffffff26;padding:8px 9px;position:sticky;top:0}.data td{vertical-align:top;white-space:normal;border-bottom:1px solid #edf1f5;border-right:1px solid #edf1f5;max-width:330px;padding:7px 9px}.data tr:nth-child(2n) td{background:#fbfcfe}.data td.num{text-align:right;white-space:nowrap}.data td.bad{color:var(--red);font-weight:700;background:#fce4d6!important}.data td.warn{color:var(--amber);background:#fff2cc!important}.data td.issue{background:#fff2cc!important}.data th.sticky1,.data td.sticky1{z-index:4;min-width:125px;max-width:125px;position:sticky;left:0}.data th.sticky2,.data td.sticky2{z-index:4;min-width:110px;max-width:110px;position:sticky;left:125px}.data th.sticky3,.data td.sticky3{z-index:4;min-width:115px;max-width:115px;position:sticky;left:235px}.data th.sticky4,.data td.sticky4{z-index:4;min-width:200px;max-width:200px;position:sticky;left:350px;box-shadow:3px 0 6px -2px #0000001f}.data th.sub-sticky1,.data td.sub-sticky1{z-index:4;min-width:250px;max-width:250px;position:sticky;left:0}.data th.sub-sticky2,.data td.sub-sticky2{z-index:4;min-width:150px;max-width:150px;position:sticky;left:250px;box-shadow:3px 0 6px -2px #0000001f}.data th.sticky1,.data th.sticky2,.data th.sticky3,.data th.sticky4,.data th.sub-sticky1,.data th.sub-sticky2{z-index:6;background:var(--blue)}.data td.sticky1,.data td.sticky2,.data td.sticky3,.data td.sticky4,.data td.sub-sticky1,.data td.sub-sticky2{background:#fff}.data tr:nth-child(2n) td.sticky1,.data tr:nth-child(2n) td.sticky2,.data tr:nth-child(2n) td.sticky3,.data tr:nth-child(2n) td.sticky4,.data tr:nth-child(2n) td.sub-sticky1,.data tr:nth-child(2n) td.sub-sticky2{background:#fbfcfe}.hint{cursor:help;vertical-align:middle;background:#ffffff38;border-radius:50%;justify-content:center;align-items:center;width:15px;height:15px;margin-left:5px;font-size:10px;font-weight:800;display:inline-flex}.editable-cell-container{align-items:center;width:100%;min-width:180px;display:flex;position:relative}.cell-edit{width:100%;min-width:150px;color:var(--text);background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:5px 26px 5px 8px;font-family:inherit;font-size:11px;transition:all .15s ease-in-out}.cell-edit:hover{background:#f8fafc;border-color:#94a3b8}.cell-edit:focus{background:#fff;border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb26}.pencil-icon{opacity:.65;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:11px;transition:opacity .15s;position:absolute;right:7px}.editable-cell-container:hover .pencil-icon{opacity:1}.flag-pill-btn{cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:10.5px;font-weight:600;transition:transform .1s,box-shadow .1s,filter .1s;display:inline-flex}.flag-pill-btn:hover{filter:brightness(.96);transform:translateY(-1px);box-shadow:0 2px 4px #00000014}.flag-pill-btn:active{transform:translateY(0)}.btn-edit-row{color:#1e293b;cursor:pointer;white-space:nowrap;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.btn-edit-row:hover{color:#0f172a;background:#e2e8f0;border-color:#94a3b8}.btn-save-row{color:#fff;cursor:pointer;white-space:nowrap;background:#059669;border:1px solid #047857;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex;box-shadow:0 1px 2px #0000000d}.btn-save-row:hover{background:#047857;border-color:#065f46}.btn-cancel-row{color:#64748b;cursor:pointer;white-space:nowrap;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:3px;padding:4px 8px;font-size:10.5px;font-weight:500;transition:all .15s;display:inline-flex}.btn-cancel-row:hover{color:#334155;background:#e2e8f0}.saved-badge{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0;border-radius:10px;align-items:center;gap:3px;padding:2px 7px;font-size:10.5px;font-weight:600;display:inline-flex}.footer-note{color:var(--muted);justify-content:space-between;align-items:flex-end;gap:24px;margin-top:12px;font-size:11px;line-height:1.5;display:flex}.footer-note .footer-rules{flex:1}.footer-note .version-tag{color:var(--navy);white-space:nowrap;background:var(--light);border:1px solid var(--line);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:700}.login-page{background:linear-gradient(135deg, var(--navy) 0%, #24598f 50%, var(--blue) 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:#fff;border-radius:16px;width:100%;max-width:420px;padding:48px 40px;box-shadow:0 20px 60px #0003}.login-card h1{color:var(--navy);text-align:center;margin:0 0 4px;font-size:24px}.login-card .login-subtitle{text-align:center;color:var(--muted);margin:0 0 32px;font-size:14px}.login-card .login-delta{color:var(--blue)}.login-card .form-group{margin-bottom:20px}.login-card .form-group label{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:600}.login-card .form-group input{border-radius:8px;padding:12px 14px;font-size:14px}.login-card .login-btn{background:linear-gradient(135deg, var(--navy), var(--blue));color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:12px;font-size:15px;font-weight:600;transition:opacity .2s}.login-card .login-btn:hover{opacity:.92}.login-card .login-btn:disabled{opacity:.6;cursor:not-allowed}.login-card .login-error{color:var(--red);text-align:center;background:#fce4d6;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:13px}@media (max-width:1200px){.cards,.filters{grid-template-columns:repeat(3,1fr)}}@media (max-width:700px){.container{padding:14px}.cards{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr}.header{flex-direction:column;gap:12px}.header-right{justify-content:flex-end;width:100%}}
