
:root{--g:#0d6b4e;--g2:#168865;--dark:#173c31;--bg:#f4f8f6;--line:#d9e5df;--muted:#66736e}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#26332e;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;line-height:1.65}
a{color:var(--g)}header{background:white;border-bottom:1px solid var(--line);padding:14px 4%}header .row{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}header nav a{margin-left:14px;text-decoration:none}
.container{width:min(1100px,92%);margin:28px auto}.login{width:min(560px,92%);margin:50px auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px}
h1,h2,h3{color:var(--dark)}label{display:block;font-weight:700;margin:14px 0 4px}input,select{width:100%;padding:11px;border:1px solid #b8c6bf;border-radius:8px;font-size:1rem}
button,.button{display:inline-block;border:0;border-radius:9px;background:var(--g);color:#fff;padding:11px 18px;font-weight:800;text-decoration:none;cursor:pointer}.button.secondary,button.secondary{background:#fff;color:var(--g);border:1px solid var(--g)}
.panel,.course,.lesson-card{background:white;border:1px solid var(--line);border-radius:14px;padding:20px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.lesson-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.status{display:inline-block;border-radius:999px;padding:4px 10px;font-size:.82rem;font-weight:800}.open{background:#dff2e9;color:var(--g)}.prep{background:#fff4d8;color:#8b6200}.done{background:#e8f4ef;color:var(--g)}.locked{background:#eee;color:#666}
.alert{background:#fff0f0;border:1px solid #e8baba;color:#8a1f1f;padding:11px 14px;border-radius:8px}.success{background:#eaf7f1;border:1px solid #c7e6d8;color:var(--g);padding:11px 14px;border-radius:8px}.notice{background:#eef8f3;border:1px solid #cce6d9;padding:12px 15px;border-radius:9px}.muted{color:var(--muted);font-size:.92rem}
video{width:100%;background:#000;border-radius:12px}.progressbar{height:9px;background:#e7ece9;border-radius:99px;overflow:hidden}.progressbar span{display:block;height:100%;background:var(--g)}
table{width:100%;border-collapse:collapse}.table-wrap{overflow:auto}th,td{border:1px solid var(--line);padding:9px 11px;text-align:left;white-space:nowrap}th{background:#f2f7f4}.mini{display:inline-block;margin:2px}
@media(max-width:800px){.grid,.lesson-grid{grid-template-columns:1fr}header nav a{display:inline-block;margin:5px 8px 5px 0}}
