:root{font:14px/1.6 system-ui,'Microsoft YaHei',sans-serif;color:#193b39;background:#f3f6f3;--green:#28634f}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;background:white;border:1px solid #dce5dd;border-radius:9px;padding:10px 16px;color:inherit}button:hover{border-color:var(--green);background:#edf5ed}.primary,.active{background:var(--green)!important;color:white!important}input,select{border:1px solid #d9e3dc;padding:10px;border-radius:8px;background:white;min-width:0}input[type=checkbox]{width:18px;height:18px}aside{position:fixed;width:218px;height:100vh;background:#153b36;color:#dbe9de;padding:28px 18px;display:flex;flex-direction:column;gap:10px}aside h1{font-size:25px;margin:0}aside small{color:#9fbeb2;margin-bottom:30px}aside button{background:transparent;color:#dbe9de;border:0;text-align:left}aside footer{margin-top:auto}main{margin-left:218px;padding:28px 36px;max-width:1900px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}h1,h2,h3,p{margin:0 0 12px}h1{font-size:25px}h2{font-size:18px}.muted,small{color:#7b9089}.card{background:white;border:1px solid #e0e8e0;border-radius:13px;padding:22px;margin-bottom:16px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stats strong{display:block;font-size:30px;margin-top:10px}.table{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid #e8eee8}th{font-size:12px;background:#f5f8f4;color:#74877f}td small{display:block}td input{max-width:140px}.pill{border-radius:5px;background:#e8f2eb;padding:3px 8px;font-size:12px}.youtube{background:#fff0ed;color:#b54637}.empty{padding:60px 20px;text-align:center;color:#83948b}.notice{background:#f7f1dd;color:#85713a;padding:12px 16px;border-radius:8px;margin-bottom:18px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.login{max-width:410px;margin:12vh auto;padding:36px}.field{display:flex;flex-direction:column;gap:6px;margin:12px 0}dialog{border:0;border-radius:16px;padding:28px;width:min(620px,95vw);max-height:90vh;color:inherit}dialog::backdrop{background:#132f3866;backdrop-filter:blur(3px)}.close{float:right}.actions{display:flex;gap:10px;margin-top:20px}.chart{width:100%;height:240px}.chart circle{cursor:crosshair}.back{margin-bottom:16px}a{color:#28634f}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#193e35;color:white;padding:12px 24px;border-radius:8px;display:none;z-index:99}.video-cover{width:100%;height:150px;object-fit:cover}.sticky{position:sticky;top:0;background:#f3f6f3;padding:12px 0;z-index:2}@media(max-width:850px){aside{position:static;width:100%;height:auto;flex-direction:row;flex-wrap:wrap;padding:12px}aside h1,aside small,aside footer{display:none}main{margin:0;padding:16px}.stats{grid-template-columns:1fr}header{align-items:start}.toolbar>*{max-width:100%}}
.time-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:12px 0 18px}.time-grid button{padding:9px 4px}.selected-times{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 18px}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}
/* Keep settings usable inside narrow cards and at browser zoom. */
.grid,.stats{min-width:0}.grid>*{min-width:0}.card{overflow-wrap:anywhere}
.settings-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}
.time-grid{grid-template-columns:repeat(auto-fit,minmax(52px,1fr));gap:7px}
.time-grid button{min-width:0;width:100%;white-space:nowrap;padding:9px 2px;font-variant-numeric:tabular-nums}
.actions{flex-wrap:wrap}.field input,.field select{max-width:100%}
@media(max-width:480px){main{padding:12px}.card{padding:16px}.grid{grid-template-columns:1fr}header{flex-wrap:wrap;gap:8px}.toolbar{gap:7px}.chart{height:190px}}
