:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#183c35;background:#f4f6f2;font-size:15px}*{box-sizing:border-box}body{margin:0}header{padding:24px 5%;display:flex;justify-content:space-between;border-bottom:1px solid #dce3dc;background:#fff}header span,.muted,small{color:#6c7d75;font-size:13px}.brand{font-weight:800;letter-spacing:2px}main{max-width:1220px;margin:auto;padding:32px 28px}.hero{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}h1{font-size:34px;letter-spacing:-1px;margin:12px 0}h2{font-size:19px}h3{font-size:17px;margin-top:28px}.eyebrow{font-size:12px;color:#568879;letter-spacing:3px}button,.button{font:inherit;cursor:pointer;border:1px solid #ccd8cf;background:#fff;border-radius:8px;padding:10px 15px;color:#254b40;display:inline-block}button:hover,.button:hover{background:#e8f0e9}#new,.primary{background:#20654e;color:white;border-color:#20654e}.notice{font-size:13px;padding:14px 18px;background:#e8eee4;border-radius:8px;color:#586747;line-height:1.7}nav{display:flex;gap:8px;padding:25px 0}nav button{background:transparent;border-color:transparent}nav .active{background:#203f35;color:white}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metric,.panel{background:#fff;border:1px solid #dfe5dc;border-radius:12px;padding:23px;margin-bottom:22px}.metric span{display:block;color:#6b8077;font-size:13px}.metric strong{display:block;font-size:30px;margin-top:14px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.actions{display:flex;gap:8px;flex-wrap:wrap}.rate{margin:20px 0}.rate .row{font-size:13px}progress{appearance:none;width:100%;height:6px;border:0;border-radius:5px;margin-top:10px}progress::-webkit-progress-bar{background:#edf1eb;border-radius:5px}progress::-webkit-progress-value{background:#4a8c70;border-radius:5px}progress::-moz-progress-bar{background:#4a8c70}svg{width:100%;max-height:250px}svg text{font-size:11px;fill:#70847b}.Listening{fill:#337a60}.Reading{fill:#c69245}.legend{color:#337a60;font-size:13px}.legend span{color:#ab7b35;margin-left:24px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;line-height:1.8}th{color:#718276;font-weight:500;background:#f5f7f3}td,th{padding:12px;border-bottom:1px solid #edf0e9;vertical-align:top;min-width:90px}td{overflow-wrap:anywhere;max-width:350px}.empty{padding:28px;color:#7d8c80;text-align:center}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}input,select,textarea{font:inherit;color:#214536;background:#fff;border:1px solid #cbd8cd;border-radius:6px;padding:10px;max-width:100%}input,textarea{width:100%}.filters input{flex:2;min-width:200px}.filters select{flex:1}label{display:block;font-size:13px}label input,label select,label textarea{display:block;margin-top:7px;width:100%}footer{border-top:1px solid #d8e0d5;padding:22px 0}dialog{border:0;border-radius:15px;width:min(900px,95vw);max-height:90vh;padding:28px;color:#183c35}dialog::backdrop{background:#183c3577}.formgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.typeRow{display:grid;grid-template-columns:2fr 1fr 1fr auto;align-items:end;gap:10px;margin:12px 0}.errorRow{background:#f3f6f0;padding:18px;border-radius:9px;margin:15px 0}.errorRow textarea{min-height:70px}#formError,#message{color:#a24731;line-height:1.7}#message:not(:empty){padding:12px}.badge{background:#f4e5bd;color:#765e2e;font-size:11px;padding:3px;border-radius:4px}[hidden]{display:none!important}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e0ac4f;outline-offset:2px}@media(max-width:700px){main{padding:20px 14px}header{padding:20px 14px}header span{display:none}h1{font-size:26px}.hero{align-items:flex-start;gap:10px}.hero button{white-space:nowrap;margin-top:20px;padding:10px}.columns{grid-template-columns:1fr;gap:0}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:16px;margin-bottom:10px}.metric strong{font-size:25px}nav{gap:0;justify-content:space-between}nav button{padding:10px 8px;font-size:13px}.panel{padding:17px}.formgrid{grid-template-columns:1fr 1fr}.typeRow{grid-template-columns:2fr 1fr 1fr}.typeRow button{grid-column:1/-1}footer>.row{align-items:flex-start;flex-direction:column;margin-bottom:15px}dialog{padding:18px}small{display:block}td{min-width:110px}}
