:root{--primary:#006b60;--ink:#16332f;--muted:#536c67;--background:#f2f6f5;--surface:#fff;--border:#d6e2df;--thumb:#98b1aa;--track:#edf2f0;--radius:14px;color:var(--ink);background:var(--background);font-synthesis:none;scrollbar-color:var(--thumb) var(--track);scrollbar-width:auto;font-family:Tahoma,Segoe UI,sans-serif}*{box-sizing:border-box}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--track)}::-webkit-scrollbar-thumb{background:var(--thumb);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}::-webkit-scrollbar-thumb:active{background:var(--primary)}body{margin:0;font-size:14px;line-height:1.6}[hidden]{display:none!important}button,input,select{font:inherit}button,a{cursor:pointer}button:disabled{opacity:.48;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,.table-scroll:focus-visible{outline-offset:3px;outline:3px solid #168a78}button:active:not(:disabled){transform:translateY(1px)}.topbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:18px max(24px,50vw - 660px);display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-mark{background:var(--primary);color:#fff;border-radius:11px;justify-content:center;align-items:center;width:43px;height:43px;font-size:25px;font-weight:700;display:flex}.brand-mark>span{align-self:flex-start;margin-top:4px;font-size:16px}.brand strong{font-size:21px;line-height:1.15;display:block}.brand-sub{letter-spacing:1.5px;color:var(--muted);font-size:10px}.identity{flex-wrap:wrap;align-items:center;gap:14px;font-size:12px;display:flex}main{max-width:1320px;margin:0 auto;padding:32px 24px}.report-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.eyebrow{letter-spacing:2px;color:var(--primary);font-size:10px;font-weight:700}h1{margin:8px 0;font-size:30px;line-height:1.4}h2{margin:0;font-size:16px}p{color:var(--muted);margin:0}.heading-actions{gap:10px;display:flex}.button{border:1px solid var(--border);min-height:44px;color:var(--ink);background:var(--surface);white-space:nowrap;border-radius:8px;padding:9px 17px;font-weight:700}.button:hover:not(:disabled){border-color:var(--primary);background:#e6f0ed}.button.primary{color:#fff;background:var(--primary);border-color:var(--primary)}.button.primary:hover:not(:disabled){background:#00564d}.button.ghost{color:var(--primary);background:0 0;border-color:#0000}.button.compact{min-height:40px;padding:7px 12px;font-size:12px}.notice{background:#e0efea;border:1px solid #a7d2c5;border-radius:8px;min-height:47px;margin-bottom:20px;padding:12px 16px}.notice:empty{display:none}.notice.error{color:#8c2d22;background:#fff1ef;border-color:#e1b2aa}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.filters{padding:20px 22px}.filter-heading{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.text-button{color:var(--primary);background:0 0;border:0;padding:8px;text-decoration:underline}.text-button:hover{background:#e6f0ed}.filter-grid{grid-template-columns:2fr 1fr 1fr 1.3fr;gap:14px;display:grid}label{color:var(--muted);flex-direction:column;gap:7px;font-size:12px;font-weight:700;display:flex}input,select{border:1px solid var(--border);background:var(--surface);width:100%;min-height:44px;color:var(--ink);border-radius:8px;padding:10px;font-size:13px}input:hover,select:hover{border-color:var(--muted)}input[aria-invalid=true]{border-color:#ac3029}.search-wrap{position:relative}.search-wrap input{padding-right:38px}.search-wrap button{width:36px;height:36px;color:var(--muted);background:0 0;border:0;font-size:20px;position:absolute;top:4px;right:4px}.search-wrap button:hover{background:#e6f0ed;border-radius:6px}input[type=search]::-webkit-search-cancel-button{display:none}.filter-footer{color:var(--muted);justify-content:space-between;gap:12px;margin-top:16px;font-size:11px;display:flex}.field-error{color:#ac3029;min-height:18px;margin-top:8px;font-size:12px}.field-error:empty{min-height:0;margin-top:0}.summary{border-radius:var(--radius);border:1px solid var(--border);background:#fff;grid-template-columns:240px 1fr;margin:24px 0;display:grid;overflow:hidden}.total{background:var(--primary);color:#fff;flex-direction:column;padding:24px;display:flex}.total>span:first-child{font-size:12px}.total>strong{font-variant-numeric:tabular-nums;font-size:48px;line-height:1.35}.total>span:last-child{opacity:.9;font-size:10px}.status-strip{grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;padding:22px;display:grid}.status-strip>div{flex-direction:column;align-items:flex-start;gap:7px;display:flex}.status-strip strong{font-variant-numeric:tabular-nums;font-size:22px;line-height:1}.badge{white-space:normal;border-radius:20px;padding:3px 9px;font-size:10px;font-weight:400;line-height:1.5;display:inline-block}.s-0{color:#705300;background:#fff0c2}.s-1{color:#843600;background:#fbe0ca}.s-2{color:#00564a;background:#ccebe3}.s-3{color:#8e2845;background:#ffd9e2}.s-4{color:#8e2845;background:#f6dce4}.s-5{color:#4d3987;background:#e2def5}.s-6{color:#44514c;background:#e6e9e8}.s-7,.s-8{color:#94232a;background:#f9d6d5}.s-unknown{color:#44514c;background:#edf0ef}.chart-grid{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px;display:grid}.chart-panel{padding:22px}.section-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.section-title>span{color:var(--muted);letter-spacing:1.2px;font-size:10px}.bars{flex-direction:column;gap:12px;min-height:160px;display:flex}.department-bars{max-height:330px;padding-right:8px;overflow:auto}.bar-row{grid-template-columns:minmax(120px,190px) 1fr 35px;align-items:center;gap:12px;font-size:11px;display:grid}.bar-name{overflow-wrap:anywhere}.bar-track{background:#f0f4f2;border-radius:3px;height:13px;overflow:hidden}.bar-fill{border-radius:3px;height:100%}.bar-fill.s-0{background:#e9bb42}.bar-fill.s-1{background:#c85b18}.bar-fill.s-2{background:#00745f}.bar-fill.s-3{background:#d87991}.bar-fill.s-4{background:#d893a5}.bar-fill.s-5{background:#8f81c4}.bar-fill.s-6{background:#808c87}.bar-fill.s-7,.bar-fill.s-8{background:#b53b40}.department-fill{background:var(--primary)}.bar-row strong{text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.chart-empty{padding:30px 0;font-size:13px}.table-panel{overflow:hidden}.table-heading{border-bottom:1px solid var(--border);margin:0;padding:20px 22px}.table-heading>div>span{color:var(--muted);font-size:11px}.table-scroll{scrollbar-gutter:stable;min-height:200px;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;min-width:1120px}th{color:var(--muted);white-space:nowrap;background:#f7faf9;padding:14px 18px;font-size:11px;font-weight:700}td{vertical-align:top;overflow-wrap:anywhere;border-top:1px solid #e5ece9;max-width:250px;padding:16px 18px;font-size:12px}tbody tr:hover{background:#f4f9f7}.subject-button{text-align:left;color:var(--primary);overflow-wrap:anywhere;background:0 0;border:0;min-width:150px;max-width:220px;padding:0;font-weight:700;line-height:1.6}.subject-button:hover{text-decoration:underline}.detail-preview{-webkit-line-clamp:2;min-width:160px;max-width:220px;color:var(--muted);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.pagination{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 22px;font-size:12px;display:flex}.empty{text-align:center;color:var(--muted);padding:48px 24px}footer{color:var(--muted);justify-content:space-between;gap:16px;margin-top:24px;font-size:10px;display:flex}.login-panel{text-align:center;border:1px solid var(--border);border-radius:var(--radius);background:#fff;margin-top:30px;padding:64px 24px}.login-panel h2{margin:18px 0 8px;font-size:24px}.login-panel p{margin-bottom:22px}.login-symbol{width:70px;height:70px;color:var(--primary);background:#e1f1eb;border-radius:20px;justify-content:center;align-items:center;font-size:30px;font-weight:700;display:inline-flex}.small{margin-top:20px;font-size:11px}dialog{border:1px solid var(--border);border-radius:var(--radius);width:min(680px,100vw - 32px);max-height:85vh;color:var(--ink);padding:24px;overflow:auto}dialog::backdrop{background:#0d26208c}.dialog-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.dialog-heading h2{overflow-wrap:anywhere}dl{grid-template-columns:120px 1fr;gap:8px;font-size:13px;display:grid}dt{color:var(--muted)}dd{overflow-wrap:anywhere;margin:0}dialog h3{border-top:1px solid var(--border);padding-top:20px;font-size:14px}#detail-body{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)}@media (width<=1000px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.status-strip{grid-template-columns:repeat(3,minmax(100px,1fr))}.chart-grid{grid-template-columns:1fr}.bar-row{grid-template-columns:190px 1fr 35px}}@media (width<=600px){.topbar{align-items:flex-start;padding:14px 16px}.brand-sub{font-size:8px}.brand strong{font-size:18px}.identity{overflow-wrap:anywhere;justify-content:flex-end;gap:5px;max-width:140px}main{padding:24px 16px}.report-heading{flex-direction:column;align-items:flex-start}h1{font-size:25px}.heading-actions{width:100%}.heading-actions>.button{flex:1}.filter-grid{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.filters{padding:16px}.filter-footer{flex-direction:column}.summary{grid-template-columns:1fr}.total{padding:20px}.status-strip{grid-template-columns:repeat(2,minmax(100px,1fr));padding:18px}.chart-panel{padding:18px}.bar-row{grid-template-columns:140px 1fr 28px;gap:8px;font-size:10px}.table-heading{flex-direction:column;align-items:flex-start;padding:16px}.pagination{gap:8px;padding:12px}.pagination .button{padding:7px 9px}footer{flex-direction:column;gap:4px}.login-panel{padding:40px 16px}.login-panel .button{margin:10px auto;display:block}.brand-mark{width:35px;height:35px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (forced-colors:active){:root{scrollbar-color:auto}.bar-fill{background:highlight}.badge{border:1px solid canvastext}.button.primary{border:1px solid buttontext}}
