/* Guild directory and workspace. Existing actions and permission visibility are retained. */
body.guild-page { background:#090d14 !important; color:#edf1f7; }
.guild-page .guild-shell { width:min(1440px,calc(100% - 48px)) !important; max-width:1440px !important; margin:0 auto !important; padding:24px 0 72px !important; }
.guild-page [hidden] { display:none !important; }
.guild-page .guild-hero { position:relative; isolation:isolate; overflow:hidden; border:1px solid #3c352d !important; border-radius:24px !important; min-height:360px; padding:50px; background:#111822 url('/images/guild.png') center 48% / cover no-repeat !important; }
.guild-hero::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,13,22,.98) 0%,rgba(8,13,22,.91) 32%,rgba(8,13,22,.20) 75%),linear-gradient(0deg,rgba(8,13,22,.9),transparent 65%); z-index:-1; }
.guild-hero-copy { max-width:580px; }
.guild-page .guild-eyebrow { color:#eebd7a !important; font-size:11px !important; letter-spacing:2.5px !important; font-weight:700; text-transform:uppercase; }
.guild-page .guild-hero h1 { font-size:clamp(32px,4.8vw,64px) !important; text-transform:none !important; letter-spacing:-1.5px !important; margin:18px 0 !important; color:#fff !important; line-height:1.12; text-shadow:none !important; }
.guild-page .guild-hero p { font-size:18px; line-height:1.6; color:#bfc9d6; max-width:500px; margin:0 !important; }
.guild-hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.guild-page .guild-primary,.guild-page .guild-quiet { display:inline-flex; justify-content:center; align-items:center; gap:10px; padding:12px 18px !important; font-size:13px !important; border-radius:10px !important; text-transform:none !important; letter-spacing:.2px !important; cursor:pointer; font-weight:600; min-height:44px; }
.guild-page .guild-primary { background:#e8ad66 !important; color:#17120d !important; border:1px solid #e8ad66 !important; box-shadow:none !important; }
.guild-page .guild-primary:hover { background:#ffca89 !important; }
.guild-page .guild-quiet { background:rgba(16,23,34,.8) !important; color:#d7e0eb !important; border:1px solid #394554 !important; box-shadow:none !important; }
.guild-page .guild-quiet:hover { border-color:#c29b6e !important; }
.guild-page button:disabled { cursor:default; opacity:.42; }
.guild-page button:focus-visible,.guild-page input:focus-visible,.guild-page select:focus-visible,.guild-page [tabindex]:focus-visible { outline:2px solid #edbb7a !important; outline-offset:4px; }
.guild-hero-caption { position:absolute; bottom:28px; right:30px; display:flex; align-items:center; gap:8px; color:#c8d4df; font-size:12px; }
.guild-live-dot { width:7px; height:7px; border-radius:50%; background:#8adbb3; box-shadow:0 0 12px #60bca780; }
.guild-network-stats { display:grid; grid-template-columns:repeat(3,1fr) 1.2fr; margin:22px 0 28px; padding:22px 28px; border:1px solid #26313e; border-radius:16px; background:#101722; gap:24px; }
.guild-network-stats > div { display:flex; flex-direction:column; gap:6px; border-right:1px solid #2c3643; }
.guild-page .guild-network-stats strong { color:#fff; font-size:28px; line-height:1.2; }
.guild-network-stats span { color:#9aaabb; font-size:13px; }
.guild-network-stats p { color:#8496a8; line-height:1.6; font-size:13px; align-self:center; margin:0; }
.guild-page .guild-network-stats p strong { color:#d7c2a6; font-size:14px; }
.guild-page .guild-workspace { border:0 !important; background:transparent !important; padding:0 !important; overflow:visible !important; }
.guild-page .guild-tabs { background:transparent !important; border:0 !important; border-bottom:1px solid #293542 !important; padding:0 0 14px !important; gap:8px; border-radius:0 !important; margin-bottom:28px !important; }
.guild-page .guild-tab { border:1px solid transparent !important; border-radius:8px !important; color:#aab9c9 !important; text-transform:none !important; font-size:13px !important; letter-spacing:.2px !important; padding:11px 16px !important; background:transparent !important; }
.guild-page .guild-tab.active { background:#29313b !important; border-color:#4d4a44 !important; color:#f9d6a7 !important; box-shadow:none !important; }
.guild-page .guild-tab:hover { color:#fff !important; }
.directory-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:0 0 24px; }
.guild-page .directory-heading h2 { color:#fff !important; text-transform:none !important; font-size:26px !important; letter-spacing:-.4px !important; margin:10px 0 !important; }
.directory-heading p { color:#95a6ba; font-size:15px; margin:0; line-height:1.5; }
.directory-filters { padding:24px; background:#121a26; border:1px solid #2a3747; border-radius:16px; }
.directory-search > label,.directory-filter-grid > label { font-size:12px; font-weight:600; color:#c8d4e2; display:flex; flex-direction:column; gap:10px; }
.directory-search > div:first-of-type { display:flex; gap:12px; align-items:center; padding:0 16px; background:#0b121c; border:1px solid #3c495b; border-radius:10px; margin-top:10px; }
.directory-search > div > span { color:#e1b373; font-size:26px; }
.guild-page .directory-search input { border:0 !important; background:transparent !important; margin:0 !important; padding:14px 0 !important; color:#fff !important; font-size:16px !important; width:100%; box-shadow:none !important; }
.directory-filter-grid { display:grid; grid-template-columns:1.15fr 1fr 1fr 1.15fr; gap:20px; margin-top:22px; }
.guild-page .directory-filters select,.guild-page .directory-filters input[type=number],.guild-page .directory-results-bar select { background:#0b121c !important; border:1px solid #37465a !important; color:#dce5ef !important; border-radius:8px !important; padding:11px 12px !important; font-size:13px !important; min-width:0; width:100%; margin:0 !important; min-height:44px; }
.directory-level-range { display:grid; grid-template-columns:1fr 20px 1fr; gap:8px; align-items:center; }
.directory-level-range span { color:#7f92a7; text-align:center; }
.directory-filter-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:20px; }
.directory-filter-footer p { color:#8095ab; font-size:12px; margin:0; }
.directory-results-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:24px 0 16px; }
.directory-results-bar p { margin:0; color:#afbece; font-size:14px; }
.directory-results-bar label { display:flex; gap:12px; align-items:center; color:#7f93a9; font-size:12px; }
.guild-page .directory-results-bar select { width:190px; }
.guild-directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.guild-page .directory-card { display:flex; flex-direction:column; gap:20px; min-width:0; padding:24px; border-radius:16px !important; background:linear-gradient(155deg,#182230,#101721) !important; border:1px solid #303e50 !important; position:relative; overflow:hidden; transition:border-color .18s,transform .18s; }
.guild-page .directory-card:hover { border-color:#71614a !important; transform:translateY(-3px); }
.directory-card::before { content:''; height:3px; position:absolute; top:0; left:24px; right:24px; background:var(--guild-accent,#e8ad66); border-radius:0 0 6px 6px; opacity:.75; }
.directory-card-head { display:flex; gap:16px; align-items:center; min-width:0; }
.guild-emblem { width:64px; height:64px; flex:none; display:flex; align-items:center; justify-content:center; border:1px solid #3c4e64; border-radius:16px; background:linear-gradient(145deg,#27354a,#121c2b); color:var(--guild-accent,#e8ad66); font-size:26px; font-weight:700; overflow:hidden; }
.guild-emblem img { width:100%; height:100%; object-fit:contain; padding:7px; }
.directory-card-title { min-width:0; flex:1; }
.guild-page .directory-card-title h3 { color:#f4f7fc !important; margin:0 0 8px !important; font-size:19px !important; text-transform:none !important; letter-spacing:.1px !important; overflow-wrap:anywhere; line-height:1.35; }
.directory-card-title > span { color:#a2b1c3; font-size:12px; }
.guild-page .directory-recruitment { display:inline-flex; align-items:center; gap:7px; font-size:11px !important; letter-spacing:.5px; font-weight:600; color:#86dfb3; }
.directory-recruitment::before { content:''; width:6px; height:6px; border-radius:50%; background:currentColor; }
.guild-page .directory-recruitment.closed { color:#a0adbe; }
.directory-card-description { color:#96a8bd; font-size:14px; line-height:1.55; margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:44px; }
.directory-card-specialty { display:flex; justify-content:space-between; align-items:center; gap:10px; border:1px solid #334154; background:rgba(6,12,20,.38); padding:12px; border-radius:9px; color:var(--guild-accent,#ccd5e1); font-size:12px; }
.directory-card-specialty span:last-child { font-size:11px; color:#8c9bb0; white-space:nowrap; }
.directory-tree-levels { display:flex; gap:12px; color:#8395ab; font-size:11px; margin-top:-8px; flex-wrap:wrap; }
.directory-tree-levels strong { color:#c9d4e0; }
.directory-card-metrics { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.directory-card-metrics div { display:flex; flex-direction:column; gap:6px; }
.directory-card-metrics span { color:#8297af; font-size:11px; }
.directory-card-metrics strong { color:#e1e8f3; font-size:16px; }
.directory-capacity { height:4px; background:#263449; border-radius:8px; overflow:hidden; margin-top:-10px; }
.directory-capacity > span { display:block; height:100%; background:var(--guild-accent,#e8ad66); border-radius:8px; }
.directory-card-bottom { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:auto; }
.directory-card-bottom > span { color:#8195ae; font-size:11px; }
.directory-card-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.guild-page .directory-card-actions button { width:100%; padding:11px 10px !important; font-size:12px !important; }
.directory-pagination { display:flex; justify-content:center; align-items:center; gap:24px; margin:28px 0 0; }
.directory-pagination span { font-size:13px; color:#97abc1; }
.directory-empty { grid-column:1 / -1; text-align:center; padding:60px 24px; border:1px dashed #3e4e63; border-radius:16px; background:#101824; }
.directory-empty h3 { color:#e0e8f4; font-size:22px; margin:0 0 12px; }
.directory-empty p { color:#91a5bd; margin:0 0 20px; }
.directory-skeleton { height:400px; border-radius:16px; background:linear-gradient(100deg,#14202f 20%,#203044 50%,#14202f 80%); background-size:200% 100%; animation:guild-shimmer 1.6s infinite; }
@keyframes guild-shimmer { to { background-position:-200% 0; } }
.guild-page .form-section,.guild-page .guild-card { background:#111b29 !important; border:1px solid #304056 !important; border-radius:16px !important; box-shadow:none !important; }
.guild-page .form-section h3 { font-size:15px !important; letter-spacing:.5px !important; color:#e9c596 !important; text-transform:none !important; }
.guild-page #guild-description,.guild-page .guild-stats { color:#a9b7c9 !important; }
.guild-page .no-guild-message { padding:48px 24px; border-radius:16px; border:1px dashed #34465e; background:#111b29; }
.guild-page .no-guild-message h2 { color:#e0e8f5 !important; }
.guild-page .modal { padding:16px; align-items:center !important; justify-content:center !important; overflow:auto; }
.guild-page .modal-content { margin:auto !important; background:#121d2c !important; border:1px solid #46566c !important; border-radius:20px !important; box-shadow:0 32px 120px #000a !important; color:#d9e5f4; }
.guild-page .guild-detail-dialog { width:min(680px,100%); max-height:calc(100dvh - 32px); padding:28px; overflow:auto; }
.guild-detail-top { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
.guild-detail-top h2 { font-size:24px; color:#fff; margin:0; overflow-wrap:anywhere; }
.guild-detail-body p { line-height:1.7; color:#afbed1; }
.guild-detail-body .directory-card-metrics { grid-template-columns:repeat(3,1fr); margin:24px 0; padding:20px; border:1px solid #34465e; border-radius:12px; }
.guild-detail-actions { display:flex; gap:12px; justify-content:flex-end; margin-top:24px; }
@media(max-width:1100px) { .guild-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .directory-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) { .guild-page .guild-shell { width:calc(100% - 24px) !important; padding-top:16px !important; } .guild-page .guild-hero { padding:28px 22px 64px; min-height:340px; } .guild-hero::before { background:linear-gradient(90deg,rgba(8,13,22,.97),rgba(8,13,22,.63)),linear-gradient(0deg,#080d16,transparent); } .guild-hero-caption { left:22px; right:auto; bottom:22px; font-size:10px; } .guild-page .guild-hero p { font-size:15px; } .guild-network-stats { grid-template-columns:repeat(3,1fr); padding:20px 16px; gap:12px; } .guild-network-stats p { display:none; } .guild-network-stats > div:last-of-type { border:0; } .guild-page .guild-network-stats strong { font-size:24px; } .guild-network-stats span { font-size:11px; } .guild-page .guild-tab { padding:9px 12px !important; font-size:12px !important; } .directory-heading { align-items:flex-start; } .directory-heading .guild-quiet { padding:10px !important; font-size:11px !important; } .guild-page .directory-heading h2 { font-size:21px !important; } .directory-heading p { font-size:13px; } .directory-filters { padding:18px; } .directory-filter-grid { gap:16px 12px; } .directory-search > div { padding:0 10px; } .guild-page .directory-search input { font-size:14px !important; } .directory-filter-grid > label { font-size:11px; } .guild-page .directory-filters select { font-size:12px !important; padding:10px 6px !important; } .directory-filter-footer p { max-width:180px; line-height:1.5; } .directory-filter-footer .guild-quiet { padding:10px !important; font-size:11px !important; } .directory-results-bar { align-items:flex-start; flex-direction:column; } .directory-results-bar label { width:100%; justify-content:space-between; } .guild-directory-grid { grid-template-columns:1fr; } .guild-page .directory-card { padding:22px; } .directory-pagination { gap:12px; } .directory-pagination .guild-quiet { font-size:11px !important; padding:10px 12px !important; } .guild-detail-body .directory-card-metrics { grid-template-columns:repeat(2,1fr); } .guild-page .form-section { padding:20px; } }
@media(prefers-reduced-motion:reduce) { .directory-skeleton { animation:none; } .directory-card { transition:none !important; } }
.guild-page #guild-details[style*="display: block"] { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.guild-page #guild-details > * { grid-column:1 / -1; min-width:0; margin-bottom:0 !important; }
.guild-page #guild-details > .level-progress,.guild-page #guild-details > .form-section:nth-child(3) { grid-column:auto; }
.guild-page #guild-details .treasury-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.guild-page #members-list { overflow-x:auto; }
.guild-page .guild-workspace .guild-table { border:1px solid #304056 !important; border-radius:10px; overflow:hidden; }
.guild-page .guild-workspace .guild-table th { background:#1b293b !important; color:#b7c6d9 !important; border-bottom:1px solid #35465e !important; }
.guild-page .guild-workspace .guild-table td { border-bottom:1px solid #28394e !important; color:#afbed2 !important; }
.guild-page .guild-workspace .form-group label { color:#bdcadd !important; font-size:12px !important; letter-spacing:.4px !important; text-transform:none !important; }
.guild-page .guild-workspace .spec-tree-card { border-radius:16px !important; background:linear-gradient(145deg,#172335,#0e1825) !important; }
@media(max-width:640px) { .guild-page #guild-details[style*="display: block"] { grid-template-columns:1fr; } .guild-page #guild-details .treasury-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
