.pirate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:8px;margin:12px 0}.pirate-card{min-width:0;border:1px solid #8f7850;border-radius:12px;padding:12px;background:linear-gradient(145deg,#183b47,#101f2b);color:#eaf2f2;display:flex;flex-direction:column;gap:6px}.pirate-card[hidden]{display:none}.pirate-card h3{margin:0;color:#e0c48c;font-size:1.05rem;overflow-wrap:anywhere}.pirate-coordinates{font-size:1.4rem;letter-spacing:.02em;white-space:nowrap}.pirate-countdown{font-variant-numeric:tabular-nums;margin:0;color:#c5e4d7;font-size:1rem}.pirate-note{font-size:.95rem;line-height:1.5}.pirate-card button{margin-top:auto;min-height:44px;padding:8px 4px;font-size:1rem;white-space:normal;overflow-wrap:anywhere;width:100%}@media(min-width:360px) and (max-width:600px){.pirate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.pirate-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.pirate-tabs button{flex:1;min-height:44px;padding:10px 16px;border:1px solid #678390;border-radius:10px;background:#122b37;color:#e2edf2;font:inherit;cursor:pointer}.pirate-tabs button[aria-selected=true]{border-color:#e1c17b;background:#294650;color:#ffe0a0;font-weight:bold}.pirate-tabs button:focus-visible{outline:2px solid #ffe0a0;outline-offset:3px}
.alliance-filters{display:flex;align-items:end;gap:8px;flex-wrap:wrap;padding:12px;border:1px solid #385764;border-radius:12px;background:#102630;margin:12px 0 8px}.alliance-filters label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:#bdd0d8;min-width:0}.alliance-filters input,.alliance-filters select{box-sizing:border-box;width:142px!important;min-height:36px!important;height:36px;padding:5px 8px!important;font-size:.88rem!important;border:1px solid #496670;border-radius:6px;background:#091e29;color:#f0f5f7;margin:0!important}.alliance-filters input[name=q]{width:190px!important}.alliance-filters input[type=number]{width:74px!important}.alliance-filters button,.alliance-list-meta button{min-height:36px!important;padding:6px 12px!important;font-size:.85rem!important;margin:0!important}.alliance-note{margin:8px 0 14px;color:#a6bbc5;font-size:.82rem;line-height:1.4}.alliance-list-meta{display:flex;align-items:center;gap:10px;margin:12px 0;font-size:.88rem;flex-wrap:wrap}.alliance-list-meta strong{margin-right:auto;color:#e4ca91}.alliance-table-wrap{overflow-x:auto;border:1px solid #35515e;border-radius:10px}.alliance-table{border-collapse:collapse;width:100%;font-size:.9rem;text-align:left}.alliance-table th{background:#1a3543;color:#dac18e;font-weight:600;padding:10px 12px;white-space:nowrap}.alliance-table td{padding:7px 12px;border-top:1px solid #29434f;overflow-wrap:anywhere}.alliance-table tbody tr:nth-child(odd){background:#0d232e}.alliance-table tbody tr:nth-child(even){background:#16303d}.alliance-table .alliance-coord{border:0;background:transparent;color:#73d3e7;min-height:32px;padding:4px 0;font:inherit;font-weight:600;white-space:nowrap;cursor:pointer}.alliance-empty{padding:22px;text-align:center;color:#b8cbd2}.pirate-tabs{gap:6px}.pirate-tabs button{flex:0 1 auto;padding:8px 13px;font-size:.9rem}.alliance-filters button:focus-visible,.alliance-coord:focus-visible{outline:2px solid #e4ca91;outline-offset:2px}@media(max-width:600px){.alliance-filters{gap:7px;padding:10px}.alliance-filters label:has(input[name=q]){width:100%}.alliance-filters input[name=q]{width:100%!important}.alliance-filters select{width:128px!important}.alliance-table th,.alliance-table td{padding:7px 8px}.pirate-tabs button{flex:1 1 auto;font-size:.83rem}}
.alliance-filters label{margin:0!important;padding:0!important;line-height:1.3}.alliance-filters button,.alliance-list-meta button{border:1px solid #4e717e;border-radius:7px;background:#173b49;color:#efd294}.alliance-filters button[type=submit]{background:#dec083;color:#142b35;border-color:#dec083;font-weight:700}.alliance-list-meta button:disabled{opacity:.4;cursor:default}

.alliance-preview{padding:2px!important;border:1px solid #668794;border-radius:5px;background:#0c2430;cursor:zoom-in}.alliance-preview img{display:block;width:42px;height:58px;object-fit:cover}.alliance-report-dialog{max-width:min(94vw,540px);max-height:92vh;padding:12px;border:1px solid #d8bd7f;border-radius:12px;background:#102732;color:#ebd29b}.alliance-report-dialog::backdrop{background:#000b}.alliance-report-dialog>img{display:block;max-width:100%;height:auto;margin-top:10px}.alliance-report-dialog>button{position:sticky;top:0;background:#193a48;color:#f0d394;border:1px solid #597989;border-radius:6px;padding:8px 16px}.alliance-table td:nth-last-child(2){font-variant-numeric:tabular-nums}
.alliance-table .alliance-cell-observed{min-width:96px;white-space:nowrap;font-size:.8rem}.alliance-table .alliance-cell-collected{min-width:130px}.alliance-table .alliance-cell-formation{min-width:125px}

.alliance-table .occupied-cleared{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;white-space:nowrap;cursor:pointer;color:#b9d9cc}.alliance-table .occupied-cleared input{appearance:auto;width:17px;height:17px;min-width:17px;min-height:17px;margin:0;accent-color:#51be90}.alliance-table tr.is-cleared .occupied-cleared{color:#69d6a4;font-weight:600}.occupied-cleared-error{display:block;font-size:12px;color:#ffb5a8;max-width:190px}

/* Occupied reports: compact desktop columns, a single main row on phones. */
.alliance-occupied th,.alliance-occupied td{padding:6px 7px;font-size:12px}
.alliance-occupied .alliance-cell-formation{min-width:76px;max-width:110px;font-size:11px}
.occupied-detail-line{display:block;line-height:1.35}
.alliance-occupied .alliance-cell-collected{min-width:85px;max-width:130px;font-size:11px}
.alliance-occupied .alliance-cell-observed{min-width:70px;white-space:normal;font-size:11px}
.alliance-occupied .alliance-preview{min-width:0;min-height:0;margin:0}
.alliance-occupied .alliance-preview img{width:30px;height:44px}
.alliance-occupied .occupied-mobile-more{display:none}
@media(max-width:600px){
 .alliance-table-wrap:has(.alliance-occupied){overflow-x:visible}
 .alliance-occupied,.alliance-occupied tbody{display:block;width:100%}
 .alliance-occupied thead{display:none}
 .alliance-occupied tbody tr{display:grid;grid-template-columns:58px minmax(0,1fr) 66px 32px;gap:3px 5px;padding:8px 6px;border-bottom:1px solid #36515d}
 .alliance-occupied tbody td{border:0;padding:0;min-width:0;max-width:none;font-size:11px;align-self:start}
 .alliance-occupied .alliance-cell-coords{grid-column:1;grid-row:1}
 .alliance-occupied .alliance-cell-name{grid-column:2;grid-row:1}
 .alliance-occupied .alliance-cell-formation{grid-column:3;grid-row:1;font-size:10px}
 .alliance-occupied .alliance-cell-image{grid-column:4;grid-row:1}
 .alliance-occupied .alliance-cell-resource,.alliance-occupied .alliance-cell-level,.alliance-occupied .alliance-cell-alliance,.alliance-occupied .alliance-cell-collected,.alliance-occupied .alliance-cell-observed{display:none}
 .alliance-occupied .occupied-cleared{white-space:normal;font-size:10px;line-height:1.3;gap:4px;margin-top:4px;min-height:28px}
 .alliance-occupied .occupied-mobile-more{display:block;grid-column:1/-1;grid-row:2}
 .occupied-mobile-more summary{cursor:pointer;color:#d6bd87;font-size:11px;min-height:28px;line-height:28px}
 .occupied-mobile-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;padding:5px 0;color:#bfd2d9}
 .occupied-mobile-values span{overflow-wrap:anywhere;font-size:11px}
}

.occupied-review{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.occupied-review>span{width:100%;font-size:10px;color:#d8bf86}.occupied-review>button{min-height:28px!important;padding:3px 5px!important;margin:0!important;font-size:10px!important;white-space:normal;overflow-wrap:anywhere}

.alliance-base-filters{gap:6px;padding:7px;margin:7px 0}.alliance-base-filters label{font-size:.72rem;gap:2px}.alliance-base-filters input,.alliance-base-filters select{height:32px;min-height:32px!important;font-size:.8rem!important;padding:3px 6px!important}.alliance-base-filters button{min-height:32px!important;padding:4px 8px!important}
@media(max-width:900px){.alliance-base-filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.alliance-base-filters label{grid-column:span 2;width:auto!important}.alliance-base-filters input,.alliance-base-filters input[name=q],.alliance-base-filters select{width:100%!important;min-width:0}.alliance-base-filters button{grid-column:span 3}}
