:root{font-family:Arial,sans-serif;color:#273e33;background:#f4f6ef;font-size:14px}*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}.top,main,footer{max-width:1240px;margin:auto}.top{display:flex;gap:28px;align-items:center;padding:28px}.top>img{width:94px;height:94px;object-fit:contain;background:white}.top>div{flex:1}.eyebrow{font-size:10px;letter-spacing:2px;color:#8e896c;margin:0 0 10px}h1{font-size:30px;margin:0 0 9px;font-weight:600}h2{font-size:20px;margin:0 0 14px}p{color:#6f7d66;line-height:1.65;margin:0 0 16px}main{padding:0 28px 35px}.panel{background:#fff;border:1px solid #e0e5d6;border-radius:12px;padding:25px;margin:20px 0}.notice{background:#fbf8e9;border:1px solid #e4dcc2;color:#897547;line-height:1.6;padding:16px 20px;border-radius:8px}.subtle{background:#eef3e7;border-color:#d9e3cc;color:#5a6c4e}.login{max-width:500px;margin:35px auto}.help{font-size:12px;margin:15px 0;color:#7c866d}label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#6c795f;margin:15px 0}input,select{font:inherit;border:1px solid #d7dfcb;border-radius:5px;padding:11px;color:#294e40;background:#fcfdf9;min-width:0}input:focus,select:focus{outline:2px solid #96ae83;outline-offset:2px}.button{font:inherit;font-size:12px;border:1px solid #d9dfd0;border-radius:6px;padding:11px 16px;color:#415940;background:white;cursor:pointer}.primary{background:#294e40;border-color:#294e40;color:white}.button:disabled{opacity:.5;cursor:not-allowed}.form-row,.actions{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.form-row label{flex:1;min-width:145px}.form-row button{margin-bottom:15px}.section-heading{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:15px}.section-heading h2,.section-heading p{margin-bottom:4px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0}.stats article{background:#fff;border:1px solid #dfe5d4;border-radius:9px;padding:20px}.stats strong{display:block;font-size:28px;margin:8px 0;color:#294e40}.stats span{font-size:12px;color:#7a866c}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:#778367;font-weight:500;font-size:10px;text-transform:uppercase;letter-spacing:.6px;background:#f6f8f0}td,th{padding:13px 12px;border-bottom:1px solid #e6ebdd;white-space:nowrap}tfoot{background:#edf3e5}td:last-child,th:last-child{text-align:right}.check{display:flex;flex-direction:row;align-items:flex-start;gap:10px;line-height:1.7}.check input{margin-top:5px}.message{padding:12px 16px;background:#eaf2e2;border-radius:7px;color:#3b6637}.message.error{background:#fceee7;color:#a4513c}.busy .button{pointer-events:none;opacity:.6}footer{display:flex;gap:15px;align-items:center;padding:10px 28px 30px;color:#8a947b;font-size:10px}footer img{width:55px;height:55px;object-fit:contain}footer p{font-size:10px;margin:0}footer span{margin-left:auto}#import-preview:not(:empty){border-left:3px solid #b3c49a;padding:16px;margin:15px 0}#status:empty{display:none}@media(max-width:700px){.top{padding:20px;gap:16px}.top>img{width:65px;height:65px}h1{font-size:23px}main{padding:0 16px}.stats{grid-template-columns:repeat(2,1fr)}.panel{padding:18px}.form-row{gap:7px}.form-row label{min-width:130px}.actions{width:100%}footer{flex-wrap:wrap}footer span{margin-left:0;width:100%}}
.access-create{margin:22px 0;padding:18px;background:#f6f8f1;border:1px solid #dfe5d6;border-radius:8px}.access-create summary{cursor:pointer;font-weight:600;color:#294e40}.access-create summary:focus-visible{outline:2px solid #96ae83;outline-offset:5px}.access-editor{border-left:3px solid #9bb88f;background:#f8faf5;padding:20px;margin:20px 0}.access-editor>h3{margin-top:0}.access-create input[type=password],.access-editor input[type=password]{max-width:100%}#access-list .button{text-align:left}#access-history{max-height:360px}
:root .backup-states{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:16px 0}
.backup-state{border:1px solid #d7dfd8;border-left:5px solid #41634e;border-radius:10px;padding:16px;background:#f5f8f3}
.backup-state h3{margin-top:0}.backup-state p{margin-bottom:0}
.backup-failed{border-left-color:#a52e32;background:#fff1f1}.backup-pending{border-left-color:#a16c10;background:#fff8e8}
.message.warning{background:#fff8e8;color:#704a09;border:1px solid #e4cc92}
