/* Consolidated styles; sections retain original rules. */

/* demand-detail.css */
.demand-detail-section { min-height: 620px; padding: 42px max(24px, calc((100% - 1180px) / 2)) 92px; background: #f4f6f7; }
.demand-detail-section > .breadcrumb { margin-bottom: 24px; color: #718085; }
.demand-detail-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 24px; padding: 30px 34px; background: #fff; border: 1px solid #e0e6e7; border-top: 4px solid #b82030; box-shadow: 0 10px 30px rgba(28,49,55,.06); }
.demand-detail-heading h1 { margin: 12px 0 0; color: #1d353b; font-size: 30px; line-height: 1.45; }
.demand-detail-heading p { max-width: 820px; margin: 9px 0 0; color: #6b7b80; font-size: 14px; line-height: 1.8; }
.demand-detail-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 10px; }
.demand-owner-controls[hidden] { display: none; }
.demand-owner-controls { display: flex; min-width: 290px; max-width: 390px; flex: 0 0 auto; flex-direction: column; align-items: flex-end; gap: 16px; }
.demand-review-meta { text-align: right; }
.demand-review-meta > span { margin-right: 9px; color: #7b898e; font-size: 13px; }
.demand-review-meta > strong { display: inline-flex; align-items: center; min-height: 30px; padding: 0 12px; border: 1px solid transparent; border-radius: 3px; font-size: 13px; }
.demand-review-meta > strong.is-approved { color: #187a61; border-color: #b8dfd2; background: #edf8f4; }
.demand-review-meta > strong.is-pending { color: #a66a16; border-color: #f0d39f; background: #fff7e8; }
.demand-review-meta > strong.is-failed { color: #b82030; border-color: #efc2c8; background: #fff1f2; }
.demand-review-meta p { margin: 11px 0 0; color: #9d1d2b; font-size: 12px; line-height: 1.7; }
.demand-detail-actions a, .demand-detail-actions button { min-height: 40px; padding: 0 16px; border-radius: 4px; font-family: inherit; font-size: 13px; font-weight: 700; }
.demand-detail-actions a { display: inline-flex; align-items: center; color: #9d1d2b; border: 1px solid #d6a8ae; }
.demand-detail-actions a:hover { color: #fff; background: #b82030; border-color: #b82030; }
.demand-detail-actions button { color: #b82030; background: #fff; border: 1px solid #b82030; cursor: pointer; }
.demand-detail-actions button:hover { color: #fff; background: #b82030; }
.demand-type { display: inline-flex; padding: 5px 10px; color: #9d1d2b; background: #fff1f2; border: 1px solid #efcbd0; font-size: 12px; font-weight: 700; }
.demand-info-card { margin-top: 22px; background: #fff; border: 1px solid #e0e6e7; box-shadow: 0 10px 30px rgba(28,49,55,.06); }
.demand-info-card h2 { margin: 0; padding: 18px 28px; color: #20383e; border-bottom: 1px solid #e4e9ea; font-size: 18px; text-align: center; }
.demand-info-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); margin: 0; padding: 18px 30px 24px; column-gap: 58px; }
.demand-info-grid > div { display: grid; grid-template-columns: 96px minmax(0,1fr); gap: 16px; padding: 14px 0; line-height: 1.8; }
.demand-info-grid > div.wide { grid-column: 1 / -1; }
.demand-info-grid dt { color: #829095; font-size: 14px; }
.demand-info-grid dd { margin: 0; color: #263c42; font-size: 15px; word-break: break-word; }
.demand-description-row dd { min-height: 9em; }
.demand-delete-dialog[hidden], .demand-toast[hidden] { display: none; }
.demand-delete-dialog { position: fixed; z-index: 10020; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(15,23,29,.48); backdrop-filter: blur(4px); }
.demand-delete-dialog section { width: min(440px,100%); padding: 34px; text-align: center; background: #fff; border-radius: 10px; box-shadow: 0 24px 70px rgba(20,25,31,.28); }
.delete-warning-mark { display: grid; place-items: center; width: 52px; height: 52px; margin: 0 auto 17px; color: #fff; background: #b82030; border-radius: 50%; font-size: 26px; font-weight: 800; }
.demand-delete-dialog h2 { margin: 0; color: #243b41; font-size: 23px; }
.demand-delete-dialog p { margin: 13px 0 25px; color: #66767b; font-size: 14px; line-height: 1.8; }
.demand-delete-dialog section > div { display: flex; justify-content: center; gap: 12px; }
.demand-delete-dialog button { min-width: 126px; min-height: 42px; border-radius: 4px; font-family: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.demand-delete-dialog [data-delete-cancel] { color: #53656b; background: #fff; border: 1px solid #cfd9dc; }
.demand-delete-dialog [data-delete-confirm] { color: #fff; background: #b82030; border: 1px solid #b82030; }
.demand-toast { position: fixed; z-index: 10040; top: 92px; left: 50%; min-width: 210px; padding: 13px 22px; color: #fff; background: #263d43; border-left: 4px solid #27a98f; border-radius: 4px; box-shadow: 0 12px 30px rgba(12,31,37,.22); font-size: 14px; font-weight: 700; text-align: center; transform: translateX(-50%); }
@media (max-width: 760px) { .demand-detail-section { padding: 30px 16px 64px; }.demand-detail-heading { align-items: flex-start; flex-direction: column; padding: 24px 20px; }.demand-detail-heading h1 { font-size: 25px; }.demand-owner-controls { width: 100%; min-width: 0; max-width: none; align-items: flex-start; }.demand-review-meta { text-align: left; }.demand-detail-actions { width: 100%; }.demand-detail-actions a, .demand-detail-actions button { flex: 1; justify-content: center; }.demand-info-grid { grid-template-columns: 1fr; padding: 14px 20px 20px; }.demand-info-grid > div.wide { grid-column: auto; }.demand-info-grid > div { grid-template-columns: 82px minmax(0,1fr); }.demand-info-card h2 { text-align: left; }.demand-delete-dialog section { padding: 30px 22px; } }


/* demand-publish.css */
.publish-back { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; color: #961523; background: #fff; border: 1px solid #d9aeb4; border-radius: 4px; font-size: 13px; font-weight: 700; }
.publish-back:hover { color: #fff; background: #a91927; }
.publish-section { padding: 42px 24px 84px; background: #f4f6f7; }
.publish-page-head { width: min(1000px, 100%); margin: 0 auto 24px; }
.publish-page-head .breadcrumb { margin-bottom: 24px; color: #6f7d82; }
.publish-page-head h1 { margin: 0; color: #1f373d; font-size: 32px; line-height: 1.45; }
.publish-page-head p { margin: 9px 0 0; color: #708085; font-size: 14px; line-height: 1.8; }
.publish-form { width: min(1000px, 100%); margin: 0 auto; padding: 38px 46px 42px; color: #263940; background: #fff; border: 1px solid #e0e5e7; border-radius: 8px; box-shadow: 0 14px 38px rgba(25,48,56,.08); font-family: inherit; }
.form-section-head { display: flex; align-items: center; gap: 14px; margin: 4px 0 22px; padding-bottom: 15px; border-bottom: 1px solid #e5eaeb; }
.form-section-head:not(:first-child) { margin-top: 38px; }
.form-section-head > span { display: grid; place-items: center; width: 38px; height: 38px; color: #fff; background: #a91c2b; border-radius: 4px; font: 800 13px/1 Arial, sans-serif; }
.form-section-head h2 { margin: 0; color: #20383e; font-size: 20px; line-height: 1.4; }
.form-section-head p { margin: 3px 0 0; color: #7a878c; font-size: 12px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px 22px; }
.form-grid.one-column { grid-template-columns: 1fr; }
.publish-field { display: block; position: relative; }
.publish-field.full { grid-column: 1 / -1; }
.publish-field > span { display: block; margin-bottom: 8px; color: #3e5057; font-size: 14px; font-weight: 700; line-height: 1.5; }
.publish-field b { color: #c3202f; }
.publish-field input, .publish-field select, .publish-field textarea { width: 100%; color: #263940; background: #fff; border: 1px solid #cfd9dc; border-radius: 4px; outline: 0; font-family: inherit; font-size: 14px; line-height: 1.5; }
.publish-field input, .publish-field select { height: 44px; padding: 0 12px; }
.publish-field textarea { min-height: 150px; padding: 12px; line-height: 1.7; resize: vertical; }
.publish-field input::placeholder, .publish-field textarea::placeholder { color: #9aa5a9; }
.publish-field input:focus, .publish-field select:focus, .publish-field textarea:focus { border-color: #b51f2e; box-shadow: 0 0 0 3px rgba(181,31,46,.1); }
.publish-field.is-error input, .publish-field.is-error select, .publish-field.is-error textarea { border-color: #d73343; background: #fffafb; }
.publish-field small { position: absolute; right: 10px; bottom: 8px; color: #8d989c; font-size: 11px; }
.publish-field small em { font-style: normal; }
.publish-status { min-height: 20px; margin: 24px 0 0; color: #a91927; font-size: 13px; text-align: center; }
.publish-actions { display: flex; justify-content: center; gap: 12px; margin-top: 12px; }
.publish-actions a, .publish-actions button { display: inline-flex; align-items: center; justify-content: center; min-width: 150px; min-height: 44px; border-radius: 4px; font-family: inherit; font-size: 14px; font-weight: 700; }
.publish-actions a { color: #5c6b71; background: #fff; border: 1px solid #cfd9dc; }
.publish-actions button { color: #fff; background: #c3202f; border: 1px solid #c3202f; cursor: pointer; }
.publish-actions button:hover { background: #961523; border-color: #961523; }
.publish-success[hidden] { display: none; }
.publish-success { position: fixed; z-index: 10000; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(15,23,29,.46); backdrop-filter: blur(4px); }
.publish-success section { width: min(440px,100%); padding: 38px 34px 32px; text-align: center; background: #fff; border-radius: 10px; box-shadow: 0 24px 70px rgba(20,25,31,.25); }
.publish-success section > span { display: grid; place-items: center; width: 54px; height: 54px; margin: 0 auto 18px; color: #fff; background: #c3202f; border-radius: 50%; font-size: 24px; font-weight: 800; }
.publish-success h2 { margin: 0; font-size: 24px; }
.publish-success p { margin: 13px 0 25px; color: #66747a; line-height: 1.8; }
.publish-success button { min-width: 150px; min-height: 43px; color: #fff; background: #c3202f; border: 0; border-radius: 4px; font-weight: 700; cursor: pointer; }
.publish-footer { padding: 22px; color: #879297; background: #fff; font-size: 11px; text-align: center; }
@media (max-width: 800px) { .desktop-nav { display: none; } .publish-section { padding: 28px 14px 54px; } .publish-form { padding: 28px 20px 32px; } .form-grid { grid-template-columns: 1fr; } .publish-field.full { grid-column: auto; } }
@media (max-width: 520px) { .publish-back { padding: 0 10px; font-size: 11px; } .publish-page-head h1 { font-size: 27px; } .publish-actions { flex-direction: column-reverse; } .publish-actions a, .publish-actions button { width: 100%; } }


/* alliance-apply.css */
.alliance-section{padding:42px 24px 84px;background:#f4f6f7}.alliance-page-head,.alliance-content{width:min(1000px,100%);margin-right:auto;margin-left:auto}.alliance-page-head{margin-bottom:24px}.alliance-page-head .breadcrumb{margin-bottom:24px;color:#6f7d82}.alliance-page-head h1{margin:0;color:#1f373d;font-size:32px;line-height:1.45}.alliance-page-head p{margin:9px 0 0;color:#708085;font-size:14px;line-height:1.8}.alliance-overview{display:grid;grid-template-columns:1fr;gap:18px;margin-bottom:24px}.alliance-card{padding:28px 30px;background:#fff;border:1px solid #e0e5e7;border-radius:8px;box-shadow:0 10px 30px rgba(25,48,56,.06)}.alliance-card header{display:flex;align-items:center;gap:12px;margin-bottom:15px}.alliance-card header span{display:grid;width:38px;height:38px;place-items:center;color:#fff;background:#a91c2b;border-radius:4px;font-size:13px;font-weight:800}.alliance-card h2{margin:0;color:#20383e;font-size:20px}.alliance-card p{margin:0;color:#65757a;font-size:14px;line-height:1.9}.alliance-charter-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.alliance-charter-list li{position:relative;padding-left:18px;color:#65757a;font-size:13px;line-height:1.75}.alliance-charter-list li:before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;background:#c3202f;border-radius:50%}.alliance-form{width:100%}.alliance-footer{padding:22px;color:#879297;background:#fff;font-size:11px;text-align:center}@media(max-width:800px){.alliance-section{padding:28px 14px 54px}.alliance-overview{grid-template-columns:1fr}.alliance-card{padding:24px 22px}}@media(max-width:520px){.alliance-page-head h1{font-size:27px}.alliance-card{padding:22px 18px}}


/* my-demands.css */
.my-demands-page{min-height:calc(100svh - var(--portal-header-size));background:#f4f6f7}
.my-demands-section{width:92vw;min-height:620px;margin:0 auto;padding:clamp(42px,4.2vw,92px) 0 clamp(70px,6vw,130px)}
.my-demands-section>.breadcrumb{margin-bottom:clamp(18px,1.7vw,34px);color:#718085}
.my-demands-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:clamp(22px,2vw,40px);padding:clamp(26px,2.2vw,46px);background:#fff;border:1px solid #e0e6e7;border-top:4px solid #c3202f;box-shadow:0 14px 36px rgba(28,49,55,.07)}
.my-demands-heading h1{margin:0;color:#1d353b;font-size:clamp(30px,2.1vw,48px)}.my-demands-heading p{margin:8px 0 0;color:#708085;font-size:clamp(14px,.82vw,19px)}
.my-demands-heading>div:last-child{display:flex;align-items:center;gap:16px}.my-demands-heading>div:last-child span{color:#758489;font-size:clamp(13px,.75vw,17px)}.my-demands-heading>div:last-child a{padding:12px 20px;color:#fff;background:#c3202f;font-size:14px;font-weight:700;transition:background .2s,transform .2s}.my-demands-heading>div:last-child a:hover{background:#a91927;transform:translateY(-2px)}
.my-demand-list{margin-top:24px}.my-demand-card{min-height:320px}.my-demand-card .demand-owner{align-items:center}.my-demand-card .demand-head{align-items:center;justify-content:space-between}
.my-demand-status{display:inline-flex;align-items:center;min-height:28px;padding:0 11px;border:1px solid transparent;border-radius:2px;font-size:12px;font-weight:700;line-height:1}.my-demand-status.is-pending{color:#a66a16;border-color:#f0d39f;background:#fff7e8}.my-demand-status.is-approved{color:#187a61;border-color:#b8dfd2;background:#edf8f4}.my-demand-status.is-failed{color:#b82030;border-color:#efc2c8;background:#fff1f2}
.my-demand-owner-copy{display:flex;min-width:0;flex-direction:column;gap:4px;line-height:1.55}.my-demand-owner-copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.my-demand-owner-copy time{color:#8a979b;font-size:12px}
@media(max-width:760px){.my-demands-section{width:calc(100% - 32px);padding:30px 0 64px}.my-demands-heading{align-items:flex-start;flex-direction:column;padding:24px 20px}.my-demands-heading>div:last-child{width:100%;justify-content:space-between}.my-demand-card{min-height:0}}
