:root{--text:#1f2328;--muted:#59636e;--bg:#fff;--border:#d1d9e0;--accent:#0969da}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Meiryo,sans-serif;font-size:16px;line-height:1.7}.container{max-width:640px;margin:0 auto;padding:24px 16px}h1{margin:0 0 16px;font-size:1.4rem}h2{margin:24px 0 8px;font-size:1.1rem}a{color:var(--accent)}.muted{color:var(--muted);font-size:.9rem}.error{color:#d1242f;margin:0}.page-header{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.form{flex-direction:column;gap:8px;margin:16px 0;display:flex}.form p{margin:0 0 8px}label{font-weight:600}input[type=email],input[type=text]{font:inherit;border:1px solid var(--border);border-radius:6px;width:100%;padding:10px 12px;font-size:16px}button{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:12px 16px}button:disabled{opacity:.6;cursor:default}.greeting{margin:0 0 8px}.greeting .muted{margin-left:4px}.section-title{margin-top:16px}.month{margin:0 0 24px}.month-title{border-bottom:2px solid var(--border);margin:0 0 8px;padding-bottom:4px;font-size:1rem}.doc-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.doc{border:1px solid var(--border);border-radius:8px;padding:12px}.doc-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.doc-student{font-weight:600}.badge{border-radius:999px;padding:2px 8px;font-size:.85rem;font-weight:600;line-height:1.4;display:inline-block}.badge-invoice{color:#0a3069;background:#ddf4ff}.badge-receipt{color:#116329;background:#dafbe1}.badge-revised{color:#6c4400;background:#fff8c5}.doc-meta{flex-wrap:wrap;gap:4px 24px;margin:8px 0 12px;display:flex}.doc-meta div{align-items:baseline;gap:8px;display:flex}.doc-meta dt{color:var(--muted);font-size:.9rem}.doc-meta dd{margin:0}.doc-amount{font-size:1.1rem;font-weight:600}.doc-actions{gap:8px;display:flex}.button{background:var(--accent);color:#fff;border-radius:6px;flex:2;justify-content:center;align-items:center;min-height:44px;padding:8px 16px;font-weight:600;text-decoration:none;display:inline-flex}.button-secondary{color:var(--accent);border:1px solid var(--accent);background:#fff;flex:1}.link-button{color:var(--accent);background:0 0;padding:4px 0;text-decoration:underline}
