:root{color:#17202a;background:#f5f7f8;font-family:Inter,Noto Sans JP,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{border:1px solid #c8d1d6;border-radius:6px;background:#fff;color:#17202a;cursor:pointer;min-height:40px;padding:8px 12px}button:hover{border-color:#5d7f8f}button:disabled{cursor:wait;opacity:.65}input,select,textarea{width:100%;border:1px solid #c8d1d6;border-radius:6px;background:#fff;color:#17202a;padding:10px 12px}textarea{resize:vertical}label{display:grid;gap:6px;color:#3a4850;font-weight:700}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.2}.auth-shell,.center-screen{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:24px}.auth-panel,.panel{background:#fff;border:1px solid #dfe6e9;border-radius:8px;box-shadow:0 14px 32px #1a2d3714}.auth-panel{display:grid;gap:20px;max-width:560px;padding:28px;width:100%}.auth-panel.narrow{max-width:480px}.app-shell{margin:0 auto;max-width:1200px;padding:28px}.topbar,.section-header,.row-card,.userbox,.actions,.title-line,.role-summary,.role-summary-item,.message-form{align-items:center;display:flex;gap:12px}.topbar,.section-header,.row-card{justify-content:space-between}.topbar{margin-bottom:20px}.panel{padding:20px}.grid-layout{align-items:start;display:grid;gap:20px;grid-template-columns:minmax(280px,360px) 1fr}.stack,.list{display:grid;gap:12px}.segmented,.tabs{background:#e8eef1;border-radius:8px;display:inline-grid;gap:4px;grid-auto-flow:column;margin-bottom:18px;padding:4px}.segmented button,.tabs button{background:transparent;border-color:transparent}.segmented .active,.tabs .active{background:#fff;border-color:#c8d1d6}.primary{background:#136f63;border-color:#136f63;color:#fff;font-weight:800}.primary:hover{background:#0f5e54;border-color:#0f5e54}.eyebrow{color:#136f63;font-size:.8rem;font-weight:800;letter-spacing:0;margin-bottom:6px;text-transform:uppercase}.muted{color:#64757d}.small{font-size:.88rem}.error{background:#fff0ee;border:1px solid #ffc4ba;border-radius:6px;color:#a73524;padding:10px 12px}.success{background:#edf5f3;border:1px solid #c6dfd9;border-radius:6px;color:#136f63;padding:10px 12px}.badge{background:#edf5f3;border:1px solid #c6dfd9;border-radius:999px;color:#136f63;display:inline-flex;font-size:.85rem;font-weight:800;padding:4px 10px;white-space:nowrap}.role-summary{background:#f5f7f8;border:1px solid #dfe6e9;border-radius:8px;flex-wrap:wrap;gap:8px 12px;padding:8px 10px}.role-summary-item{gap:6px}.role-summary-label{color:#64757d;font-size:.78rem;font-weight:800}.help-dot{align-items:center;background:#fff;border:1px solid #c8d1d6;border-radius:999px;color:#3a4850;display:inline-flex;font-size:.8rem;font-weight:900;height:22px;justify-content:center;width:22px}.demo-badge{background:#fff6d8;border:1px solid #e7c755;border-radius:999px;color:#6b5400;display:inline-flex;font-size:.85rem;font-weight:800;padding:4px 10px;white-space:nowrap}.demo-help{background:#f2f7ff;border:1px solid #c8daf8;border-radius:6px;color:#284d82;font-size:.9rem;margin:12px 0 0;padding:10px 12px}.practice-item{align-items:start;display:grid;gap:4px;justify-items:start;min-height:96px;text-align:left}.practice-item.active{border-color:#136f63;box-shadow:inset 3px 0 #136f63}.row-card{border:1px solid #dfe6e9;border-radius:8px;padding:12px}.form-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.wide{grid-column:1 / -1}.details{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 16px}.details div{background:#f5f7f8;border-radius:6px;padding:10px}.details dt{color:#64757d;font-size:.82rem;font-weight:800}.details dd{margin:2px 0 0}.note,.apply-box,.subsection{border-top:1px solid #dfe6e9;margin-top:16px;padding-top:16px}.messages{background:#f5f7f8;border-radius:6px;display:grid;gap:8px;margin-bottom:12px;min-height:72px;padding:12px}.messages p{margin-bottom:0}.message-form{align-items:stretch}.message-form input{flex:1}.owner-form{margin-top:12px}.owner-form select{flex:1}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;min-width:760px;width:100%}.data-table th,.data-table td{border-bottom:1px solid #dfe6e9;padding:10px 12px;text-align:left;vertical-align:top}.data-table th{background:#f5f7f8;color:#3a4850;font-size:.82rem}@media(max-width:860px){.app-shell{padding:16px}.topbar,.row-card{align-items:stretch;flex-direction:column}.userbox,.actions,.role-summary{flex-wrap:wrap}.grid-layout,.form-grid,.details{grid-template-columns:1fr}}
