Problem #1: use the margin-left property. You are, after all, talking about a margin. (You might also try padding-left, which won't indent the borders if the text has any.)
#2: With CSS2, there are fancy ways to put styles on elements, selecting them in clever ways such as 'all input tags with type="text"'. However, Browsers don't support these fancy selectors yet. Instead, what you usually have to do is put a class on every input tag. If you want to style text boxes, make a "textbox" class, and use it like so:
<input type="text" class="textbox" value="..." ... >
with the CSS:
.textbox {
border:1px solid black;
background:white; /* or whatever */
}
#3: If this is only a single table on the page, you might give it an ID to work with (for instance, <table id="maintable"> with the CSS #maintable{border:1px solid rgb(168, 168, 168)}). If you want to do this to *all* tables on the page, though, then just use
table {
border:1px solid rgb(168, 168, 168);
}
You might also use "table, td" if you want this to apply to table cells also.