/* Shared responsive layout; keep page functionality and sea button artwork. */
html{min-width:0}body{min-width:0;min-height:100vh}
.layout{width:100%;max-width:1440px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr)}
.main-content{min-width:0;width:100%;max-width:1240px;margin:0 auto;padding:0 20px 28px}
.side-banner:empty{display:none}
.main-content img{max-width:100%}.main-content video{max-width:100%;height:auto}
.nav-header .nav{width:100%;flex-wrap:wrap;gap:12px;background:url('/static/images/banners/nav.png') center/cover no-repeat}
.nav-header .nav .left{flex:0 0 auto}.nav-header .nav .right{flex:1 1 500px;min-width:0;justify-content:flex-end;flex-wrap:wrap;gap:6px}
.nav-header .nav a{white-space:nowrap}
.hero-grid,.board-section{min-width:0}.hero-grid>* ,.board-section>*{min-width:0}
.hero .banner{min-height:300px}.board li,.intro-card{overflow-wrap:anywhere}
.login-page{min-width:0;min-height:0}.login-page>*{min-width:0}.login-card{max-width:100%;box-sizing:border-box}
.admin-stats a{min-width:0;overflow-wrap:anywhere}.admin-search{min-width:0}.admin-editor input,.admin-editor textarea{min-width:0}
.footer{text-align:center;overflow-wrap:anywhere}
@media(max-width:980px){.main-content{padding:0 16px 24px}.nav-header .nav .right{justify-content:flex-start;flex-basis:100%}}
@media(max-width:640px){.main-content{padding:0 12px 20px}.nav-header .nav{padding:10px 12px}.nav-header .nav a{font-size:14px;padding:7px 8px}.hero .banner{min-height:240px}.intro-card{padding:18px}.container{padding:12px}.login-page{padding:0;gap:16px;margin:20px auto}.login-card{padding:20px}.photo-image{height:240px}.admin-panel h1{font-size:24px;overflow-wrap:anywhere}.admin-stats{gap:8px}.admin-stats a{padding:14px}.admin-search .admin-grow{min-width:0;flex-basis:100%}.admin-table-wrap{max-width:100%;overflow-x:auto}.board-free,.board-qna,.wallet-container{max-width:100%;min-width:0}}
@media(max-width:640px){.footer{width:calc(100% - 24px);min-height:88px;margin:20px auto 12px;padding:22px 18px!important;border-radius:14px}.footer-copy{font-size:13px;line-height:1.65}}

.passport-grid,.passport-card{min-width:0}.passport-rows .row>*{min-width:0;overflow-wrap:anywhere}.passport-title{flex-wrap:wrap;gap:8px}@media(max-width:640px){.passport-grid{grid-template-columns:minmax(0,1fr);padding:12px;gap:14px}.passport-card{padding:14px}.passport-rows .row{grid-template-columns:minmax(0,1fr);gap:5px}.passport-page .passport-photo{max-width:100%}}


/* Public board actions share a compact size across links and buttons. */
body.public-board-page #main .btn,
body.public-board-page #main button[type="submit"] {
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:112px!important;
  min-width:112px!important;
  max-width:112px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0 10px!important;
  margin:0!important;
  font-family:inherit!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.2!important;
  border-radius:8px!important;
  white-space:nowrap!important;
  vertical-align:middle;
}
body.public-board-page #main .pagination .btn {
  width:38px!important;min-width:38px!important;max-width:38px!important;
}
body.public-board-page #main .actions {flex-wrap:wrap;gap:8px;}


/* Home board previews follow the clean bordered reference cards. */
.board-section .board {
  position:relative;padding:28px 28px 34px;border:1px solid #d9c8b2;border-radius:20px;
  background:repeating-linear-gradient(3deg,rgba(151,108,64,.025) 0 1px,transparent 1px 10px),linear-gradient(145deg,#fff 0%,#fdfaf4 62%,#f6ecde 100%);
  box-shadow:0 14px 32px rgba(101,74,44,.11),inset 0 0 0 5px rgba(255,255,255,.72),inset 0 0 0 6px rgba(159,118,74,.14);min-height:350px;
  display:flex;flex-direction:column;min-width:0;
}
.board-section .board::before{content:"";position:absolute;inset:10px;border:1px solid rgba(166,125,79,.22);border-radius:12px;pointer-events:none}
.board-section .board>*{position:relative;z-index:1}
.board-section .board-heading {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;}
.board-section .board h2 {
  margin:0;padding:0;border:0;font-family:inherit;font-size:22px;font-weight:700;
  line-height:1.4;letter-spacing:-.04em;color:#222;text-align:left;
}
.board-section .board-expand {
  display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:38px;height:38px;color:#626870;font-size:32px;font-weight:400;
  line-height:1;text-decoration:none;border-radius:6px;
}
.board-section .board-expand:hover {color:#208da9;background:#f2f8fa;}
.board-section .board-expand:focus-visible {outline:2px solid #208da9;outline-offset:2px;}
.board-section .board ul {padding:0;margin:0;}
.board-section .board ul li {margin:0;border-bottom:1px solid #e9e9e9;}
.board-section .board ul li:last-child {border-bottom:0;}
.board-section .board ul li a {
  display:block;padding:16px 0;font-size:15px;font-weight:400;line-height:1.5;
  color:#35434d;text-decoration:none;overflow-wrap:anywhere;
}
.board-section .board ul li a:hover {color:#16839e;text-decoration:underline;text-underline-offset:3px;}
.hero-actions .btn-primary{width:auto!important;min-width:0!important;padding:8px 15px!important;border-radius:8px!important;font-size:13px!important;line-height:1.25!important}
@media(max-width:640px){
 .board-section .board{padding:24px;min-height:300px;}
 .board-section .board h2{font-size:20px;}
 .board-section .board ul li a{font-size:14px;padding:15px 0;}
}


/* Public board lists and articles: quiet typography and ruled rows. */
body.public-board-page #main {color:#26343d;}
body.public-board-page #main section > h1,
body.public-board-page #main section > h2 {
  font-size:25px;font-weight:700;letter-spacing:-.035em;color:#222;
}
body.public-board-page #main table:is(.board-list,.notice-list,.qna-list) {
  width:100%;border-collapse:collapse!important;border:0!important;
  border-top:2px solid #555!important;border-bottom:1px solid #d2d7db!important;
  border-radius:0!important;padding:0!important;background:white!important;box-shadow:none!important;
  table-layout:auto;
}
body.public-board-page #main table:is(.board-list,.notice-list,.qna-list) th {
  background:#f7f8f9!important;color:#25313a!important;font-size:14px!important;
  font-weight:500!important;padding:15px 12px!important;border:0!important;
  border-bottom:1px solid #ccd2d7!important;text-align:center!important;
}
body.public-board-page #main table:is(.board-list,.notice-list,.qna-list) td {
  background:#fff!important;color:#34434e!important;font-size:14px!important;
  font-weight:400!important;padding:15px 12px!important;line-height:1.5!important;
  border:0!important;border-bottom:1px solid #dde3e8!important;text-align:center!important;
}
body.public-board-page #main table:is(.board-list,.notice-list,.qna-list) td:nth-child(2) {
  text-align:left!important;padding-left:20px!important;white-space:normal!important;
}
body.public-board-page #main table:is(.board-list,.notice-list,.qna-list) td a {
  color:#35434d!important;text-decoration:none;
}
body.public-board-page #main table:is(.board-list,.notice-list,.qna-list) td a:hover {
  color:#16839e!important;text-decoration:underline;text-underline-offset:3px;
}
body.public-board-page #main .board-card {border:0;box-shadow:none;border-radius:0;padding:0;background:#fff;}
body.public-board-page #main .post-head {
  padding:22px 18px 18px;border-top:2px solid #555;border-bottom:1px solid #d7dde2;
  background:#f8f9fa;
}
body.public-board-page #main .post-head h1 {
  margin:0 0 14px!important;font-size:18px!important;line-height:1.5;
  font-weight:650;color:#26343d;letter-spacing:-.025em;text-align:left!important;
}
body.public-board-page #main .post-head .meta {font-size:13px!important;color:#72808b!important;}
body.public-board-page #main :is(.post-body,.board-detail-body) {
  margin:0 0 22px;padding:28px 20px;min-height:180px;background:#fff;
  border:0;border-bottom:1px solid #d7dde2;border-radius:0;
  font-size:15px;line-height:1.8;color:#34434e;
}
body.public-board-page #main .pagination {margin-top:28px!important;gap:0!important;}
body.public-board-page #main .pagination :is(.btn,strong) {
  display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
  height:38px;min-width:38px;border-radius:0!important;border:1px solid #d5d8db;
  background:#f4f4f4;color:#45525d!important;font-size:13px;padding:0!important;
}
body.public-board-page #main .pagination strong {background:#343434;color:#fff!important;}
@media(max-width:640px){
 body.public-board-page #main .post-head{padding:18px 14px;}
 body.public-board-page #main .post-head h1{font-size:17px!important;}
 body.public-board-page #main :is(.post-body,.board-detail-body){padding:24px 14px;}
 body.public-board-page #main :is(.board-free,.board-notice,.board-qna){overflow-x:auto;}
 body.public-board-page #main table:is(.board-list,.notice-list,.qna-list){min-width:560px;}
}
