:root{font-family:Cambria,Georgia,serif;color:#173426;background:#f3f7f3}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{border:0;background:#176b3a;color:#fff;border-radius:8px;padding:11px 16px;cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.secondary{background:#e8f0e9;color:#174b2b}.danger{background:#b33434;margin-left:8px}.shell header{position:sticky;top:0;background:#176b3a;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:15px 28px;z-index:2}.shell header div{display:flex;flex-direction:column;gap:4px}.shell header span{font-size:13px}nav{display:flex;gap:8px;flex-wrap:wrap;background:#fff;padding:12px 24px;border-bottom:1px solid #d8e5db}nav button{background:transparent;color:#245a3a}nav button.active{background:#176b3a;color:#fff}main:not(.login){max-width:1200px;margin:auto;padding:22px}.top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.panel{background:#fff;border:1px solid #dce9df;border-radius:14px;padding:22px;margin:18px 0;box-shadow:0 2px 8px #183f2310}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;align-items:end}label{display:flex;flex-direction:column;gap:6px}input:not([type=checkbox]):not([type=file]),select{width:100%;padding:10px;border:1px solid #b9cebf;border-radius:8px;background:#fff}.scroll{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px;text-align:left;border-bottom:1px solid #e1ebe3}th{background:#edf6ee}pre{overflow:auto;background:#f5f8f5;padding:12px;max-height:240px}.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:20px 0}.checks label{flex-direction:row;align-items:center}.error{color:#a02121;background:#fff0ee;border:1px solid #f2c5bf;padding:12px;border-radius:8px;margin:12px 0}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login form,.login section{width:min(420px,100%);background:#fff;padding:32px;border-radius:16px;box-shadow:0 8px 30px #17342620;display:grid;gap:14px}.login h1{color:#176b3a;font-size:22px;margin:0}.login h2{font-size:20px;margin:0}footer{text-align:center;padding:18px;color:#607769}@media(max-width:600px){.shell header{padding:12px}main:not(.login){padding:12px}.panel{padding:14px}}.panel>button.secondary{margin:4px 0 12px}input[type=date]{min-width:160px}.notice{color:#14532d;background:#e8f7ed;border:1px solid #9dd3aa;padding:12px;border-radius:8px;margin:12px 0}.actions{white-space:nowrap}.actions button{padding:7px 10px;margin:2px}.hint{font-size:14px;color:#52745d}.score-status-summary{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.score-status-pill{display:inline-block;padding:5px 10px;border-radius:8px;font-weight:600;white-space:nowrap;font-size:14px}.score-status-pill.saved{background:#d8f4df;color:#116329;border:1px solid #78c28a}.score-status-pill.dirty{background:#fff0c2;color:#875100;border:1px solid #e7b34c}.score-status-pill.empty{background:#f5f6f6;color:#555;border:1px solid #d8dddd}.score-input.score-saved{background:#e4f7e8!important;border:2px solid #329454!important;color:#14532d}.score-input.score-dirty{background:#fff0ca!important;border:2px solid #d8941e!important;color:#694100}.score-input.score-empty{background:#fff!important;border:1px solid #b9cebf!important}.score-input:focus{outline:2px solid #176b3a;outline-offset:1px}.score-entry-frame{border:2px solid #b5d7bf;border-radius:12px;background:#fff;padding:6px;margin:12px 0;box-shadow:0 2px 8px #183f2310}.score-entry-scroll{max-height:min(52vh,520px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.score-entry-scroll table{min-width:440px}.score-entry-scroll thead th{position:sticky;top:0;z-index:1;background:#e6f4e8;box-shadow:0 1px #a6c8ad}.score-entry-scroll td,.score-entry-scroll th{padding:7px 10px}.score-entry-scroll .score-input{min-width:95px}.score-report-section{margin-top:24px;border-top:1px solid #c7ddcd;padding-top:14px}.score-report-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.score-report-table{max-height:460px;overflow:auto;border:1px solid #dce9df;border-radius:8px}.score-report-table thead th{position:sticky;top:0;z-index:1}
