/*
 * css/commissions.css — 佣兵公会公告板
 *
 * 核心逻辑：仍是全站和纸 / 墨 / 朱体系，委托像钉在木板上的纸页而不是后台管理卡片。
 * 关键决策：阵营色只做印信细线；危急程度靠朱色标签与纸张层级，不铺满高饱和色。
 *           登记按钮像公会盖印，不做成后台系统的实心主按钮。
 * 依赖：css/app.css。
 * 本次改动：S12 增加登录入口、接取印与已登记状态。
 */

.guild-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 22px; }
.guild-intro h3 { margin: 4px 0 5px; font-size: 24px; font-weight: 500; letter-spacing: .12em; }
.guild-intro p { margin: 0; color: var(--ink-3); font: 300 11px/1.8 var(--sans); letter-spacing: .08em; }
.guild-kicker { color: var(--vermillion) !important; letter-spacing: .2em !important; }
.guild-state { flex: 0 0 auto; min-width: 160px; padding-left: 18px; border-left: 1px solid var(--rule); text-align: right; }
.guild-state small { display: block; color: var(--ink-4); font: 300 9px/1.4 var(--sans); letter-spacing: .16em; }
.guild-state strong { display: block; margin-top: 6px; font-size: 16px; font-weight: 500; letter-spacing: .1em; }

.guild-board { border: 1px solid #cfc3b0; background: linear-gradient(105deg, rgba(96,73,49,.08), transparent 34%), #e8dfd1; box-shadow: inset 0 0 28px rgba(64,45,27,.08); }
.guild-board__top { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 14px; border-bottom: 1px solid #cfc3b0; background: rgba(251,249,244,.62); }
.guild-tabs, .guild-filters { display: flex; flex-wrap: wrap; gap: 6px; }
.guild-tabs button, .guild-filters button {
  min-height: 32px; padding: 0 12px; border: 1px solid var(--rule); background: rgba(251,249,244,.74);
  color: var(--ink-3); font: 300 10px/1 var(--sans); letter-spacing: .12em; cursor: pointer;
}
.guild-tabs button.on, .guild-tabs button:hover { color: var(--vermillion); border-color: var(--vermillion); }
.guild-filters button.on, .guild-filters button:hover { color: var(--ink); border-color: var(--nation-color, var(--ink-3)); box-shadow: inset 0 -2px var(--nation-color, var(--ink-3)); }
.guild-tabs button:focus-visible, .guild-filters button:focus-visible { outline: 1px solid var(--vermillion); outline-offset: 2px; }

.guild-notices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; padding: 18px; }
.guild-notice { position: relative; min-width: 0; padding: 18px 18px 14px; background: var(--paper-card); border: 1px solid rgba(103,82,58,.18); box-shadow: 0 5px 12px rgba(66,46,28,.07); }
.guild-notice::before { content: ""; position: absolute; top: -5px; left: 50%; width: 34px; height: 9px; transform: translateX(-50%); background: rgba(126,107,84,.28); }
.guild-notice__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.guild-notice__issuer { display: flex; align-items: center; min-width: 0; gap: 7px; color: var(--ink-3); font: 300 9px/1.3 var(--sans); letter-spacing: .13em; }
.guild-notice__issuer i { flex: 0 0 auto; width: 7px; height: 7px; background: var(--nation-color); }
.guild-notice__issuer span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.guild-notice__urgency { padding: 3px 6px; border: 1px solid var(--rule); color: var(--ink-3); font: 400 8px/1 var(--sans); letter-spacing: .14em; }
.guild-notice.urgency--pressing .guild-notice__urgency { color: #8a5f23; border-color: #b99a63; }
.guild-notice.urgency--critical .guild-notice__urgency { color: var(--vermillion); border-color: var(--vermillion); }
.guild-notice__kind { display: block; margin-top: 14px; color: var(--ink-4); font: 400 8px/1 var(--sans); letter-spacing: .22em; }
.guild-notice h4 { margin: 6px 0 0; font-size: 18px; font-weight: 500; letter-spacing: .1em; }
.guild-notice__summary { min-height: 3.8em; margin: 9px 0 0; color: var(--ink-3); font: 300 11px/1.9 var(--sans); }
.guild-notice__facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; margin: 14px 0 0; background: var(--rule); border: 1px solid var(--rule); }
.guild-notice__facts div { min-width: 0; padding: 8px; background: rgba(251,249,244,.92); }
.guild-notice__facts dt { color: var(--ink-4); font: 300 8px/1.2 var(--sans); letter-spacing: .08em; white-space: nowrap; }
.guild-notice__facts dd { margin: 5px 0 0; font: 500 11px/1 var(--sans); font-variant-numeric: tabular-nums; white-space: nowrap; }
.guild-notice__reward { display: flex; gap: 24px; margin-top: 15px; padding-top: 12px; border-top: 1px solid var(--rule-soft); }
.guild-notice__reward span { display: flex; align-items: baseline; gap: 8px; }
.guild-notice__reward small { color: var(--ink-4); font: 300 9px/1 var(--sans); letter-spacing: .1em; }
.guild-notice__reward b { font: 500 19px/1 var(--serif); font-variant-numeric: tabular-nums; }
.guild-notice__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 13px; color: var(--ink-4); font: 300 8px/1.5 var(--sans); letter-spacing: .07em; }
.guild-notice__foot em { flex: 0 0 auto; color: var(--vermillion); font-style: normal; }
.guild-notice__foot em.is-registered { color: #5f6d45; }
.guild-login-link, .guild-readonly a { color: var(--vermillion); text-decoration: none; border-bottom: 1px solid rgba(179,71,51,.38); }
.guild-readonly a { margin-left: 10px; }
.guild-accept {
  flex: 0 0 auto; min-height: 30px; padding: 0 11px; border: 1px solid var(--vermillion);
  background: transparent; color: var(--vermillion); font: 400 10px/1 var(--serif); letter-spacing: .12em;
  cursor: pointer;
}
.guild-accept:hover, .guild-accept:focus-visible { background: var(--vermillion); color: #fff9ef; outline: 0; }
.guild-accept:disabled { cursor: wait; opacity: .55; }

.guild-empty { grid-column: 1 / -1; min-height: 230px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 32px; text-align: center; background: rgba(251,249,244,.56); border: 1px dashed rgba(103,82,58,.24); }
.guild-empty small { color: var(--ink-4); font: 300 9px/1 var(--sans); letter-spacing: .2em; }
.guild-empty strong { margin-top: 9px; font-size: 20px; font-weight: 500; letter-spacing: .16em; }
.guild-empty p { max-width: 460px; margin: 10px 0 0; color: var(--ink-3); font: 300 11px/1.9 var(--sans); }
.guild-readonly { margin: 12px 0 0; color: var(--ink-3); font: 300 10px/1.8 var(--sans); letter-spacing: .08em; }

.guild-rule-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; border: 1px solid var(--rule); background: var(--rule); }
.guild-rule-grid article { padding: 16px; background: var(--paper-card); }
.guild-rule-grid b { font-size: 14px; font-weight: 500; letter-spacing: .12em; }
.guild-rule-grid p { margin: 8px 0 0; color: var(--ink-3); font: 300 10px/1.9 var(--sans); }

@media (max-width: 820px) {
  .guild-intro { align-items: flex-start; flex-direction: column; gap: 14px; }
  .guild-state { padding: 0; border: 0; text-align: left; }
  .guild-board__top { align-items: flex-start; flex-direction: column; }
  .guild-notices { grid-template-columns: 1fr; }
  .guild-rule-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
  .guild-notices { padding: 10px; gap: 10px; }
  .guild-notice { padding: 16px 13px 12px; }
  .guild-notice__facts { grid-template-columns: 1fr 1fr; }
  .guild-notice__foot { align-items: flex-start; flex-direction: column; }
  .guild-rule-grid { grid-template-columns: 1fr; }
}
