/* ==========================================================
   Room Mom Users Forum — phpBB-era framework (shared)
   ========================================================== */
* { margin:0; padding:0; box-sizing:border-box; }
body { background:#d9e4f0; font-family:Verdana, Arial, sans-serif; font-size:12px; color:#2a3a4a; }
.wrap { max-width:780px; margin:8px auto; }

.head { background:linear-gradient(180deg,#4a6a90 0%,#2d4a6f 100%); color:#fff; padding:12px 18px; border:1px solid #1d3a5f; }
.head .title { font-size:20px; font-weight:bold; }
.head .sub { font-size:11px; color:#c0d4e8; }

.bar { background:#cdd9e8; padding:5px 12px; font-size:11px; border-left:1px solid #9bb0c8; border-right:1px solid #9bb0c8; display:flex; justify-content:space-between; }
.bar a { color:#2d5f8a; }
.crumb { font-weight:bold; }

table.forum { width:100%; border-collapse:collapse; background:#fff; border:1px solid #9bb0c8; }
table.forum th { background:#5a7aa0; color:#fff; text-align:left; padding:6px 10px; font-size:11px; border:1px solid #4a6a90; }
table.forum td { border:1px solid #d0dae6; padding:7px 10px; vertical-align:middle; }
table.forum tr:nth-child(even) td { background:#eef3f9; }
.topic a { color:#2d5f8a; text-decoration:none; font-weight:bold; }
.topic a:hover { text-decoration:underline; }
.meta { color:#889; font-size:11px; }
.replies { text-align:center; width:60px; color:#556; }
tr.distress td { background:#f7efe9 !important; }
tr.distress .topic a { color:#9a5a2a; }
tr.alarm td { background:#f5e6e6 !important; }
tr.alarm .topic a { color:#aa3322; }
tr.deleted td { background:#1a1a22 !important; color:#556; font-style:italic; }
tr.deleted .topic { color:#884444; }

/* thread view */
.post { background:#fff; border:1px solid #9bb0c8; margin-bottom:10px; display:flex; }
.post .who { width:150px; flex-shrink:0; background:#e8eef5; border-right:1px solid #c4d2e0; padding:10px; text-align:center; }
.post .who .name { font-weight:bold; color:#2d4a6f; font-size:12px; }
.post .who .av { width:60px; height:60px; margin:6px auto; background:#cdd9e8; border:1px solid #9bb0c8; display:flex; align-items:center; justify-content:center; font-size:28px; overflow:hidden; }
.post .who .av img { width:100%; height:100%; object-fit:cover; }
.post .who .rank { font-size:10px; color:#778; }
.post .who .joined { font-size:10px; color:#99a; margin-top:4px; }
.post .body { flex:1; padding:10px 14px; }
.post .phead { border-bottom:1px solid #e0e6ec; padding-bottom:5px; margin-bottom:8px; font-size:11px; color:#889; }
.post .ptext { font-size:12px; line-height:1.6; }
.post.roommom .who { background:#1a1a22; border-right:1px solid #884444; }
.post.roommom .who .name { color:#cc4444; }
.post.roommom .who .rank { color:#a05; }
.post.roommom .ptext { color:#663333; }

/* reply form */
.reply-box { background:#fff; border:1px solid #9bb0c8; padding:14px; margin-top:6px; }
.reply-box h3 { font-size:13px; color:#2d4a6f; margin-bottom:8px; }
.reply-box label { display:block; font-weight:bold; margin:6px 0 2px; }
.reply-box input, .reply-box textarea { width:100%; border:1px solid #9bb0c8; padding:5px; font-family:Verdana,sans-serif; font-size:12px; }
.reply-box textarea { height:60px; }
.reply-box button { margin-top:8px; background:#4a6a90; color:#fff; border:1px solid #2d4a6f; padding:6px 18px; font-weight:bold; cursor:pointer; }
.reply-box button:hover { background:#2d4a6f; }
#reply { margin-top:12px; display:none; background:#1a1a22; border:1px solid #884444; padding:10px 12px; font-family:'Courier New',monospace; color:#cc4444; }
#reply .who2 { color:#aa3333; font-weight:bold; }

/* profile */
.profile { background:#fff; border:1px solid #9bb0c8; padding:0; }
.profile .ptop { background:#e8eef5; padding:14px; display:flex; gap:14px; align-items:center; border-bottom:1px solid #c4d2e0; }
.profile .ptop .av { width:80px; height:80px; background:#1a1a22; border:1px solid #884444; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.profile .ptop .av img { width:100%; height:100%; object-fit:cover; }
.profile .ptop .name { font-size:20px; font-weight:bold; color:#aa3333; }
.profile .ptop .rank { font-size:11px; color:#778; }
.profile .pfield { display:flex; border-bottom:1px solid #e8eef5; }
.profile .pfield .k { width:160px; background:#f4f7fb; padding:8px 12px; font-weight:bold; color:#556; }
.profile .pfield .v { flex:1; padding:8px 12px; }

.foot { text-align:center; color:#778; font-size:11px; padding:12px; }
.foot a { color:#2d5f8a; }
a { color:#2d5f8a; }
