body.contract-dialog-open{position:fixed;left:0;right:0;width:100%;overflow:hidden}
.contracts-detail:not(.hidden){position:fixed;inset:0;z-index:90;display:block;padding:22px;background:linear-gradient(135deg,rgba(15,23,42,.82),rgba(48,43,66,.72));overflow:hidden;transform:none!important;transition:none}
.contracts-detail:not(.hidden):hover{transform:none!important}
.contract-detail-dialog{display:flex;flex-direction:column;width:min(1480px,100%);height:calc(100vh - 44px);height:calc(100dvh - 44px);margin:0 auto;overflow:hidden;background:#fff;border:1px solid rgba(255,255,255,.5);border-radius:17px;box-shadow:0 28px 90px rgba(0,0,0,.42)}
.contract-detail-dialog .contract-detail-head{flex:0 0 auto;background:linear-gradient(118deg,#263b59 0%,#31536e 58%,#3b6874 100%);border-bottom:1px solid rgba(255,255,255,.22);box-shadow:0 8px 24px rgba(24,42,62,.18)}
.contract-detail-dialog .contract-tabs{flex:0 0 auto}
.contract-detail-dialog .contract-tab-content{flex:1;min-height:0;overflow:auto}
.contract-tab-label-mobile{display:none}
.contract-mobile-facts{display:none}
.contract-detail-close{order:99;min-width:42px;font-size:22px;line-height:1}
.contract-documents-layout{display:grid;grid-template-columns:minmax(330px,.72fr) minmax(480px,1.28fr);gap:16px}
.contract-documents-layout>section{min-width:0;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff}
.contract-document-list{display:grid;gap:8px;margin-top:12px;max-height:56vh;overflow:auto}
.contract-document-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px;border:1px solid var(--line);border-radius:10px;color:var(--text);text-decoration:none;transition:.18s ease}
.contract-document-row:hover{border-color:#8eafe8;background:#f5f8ff;transform:translateY(-1px)}
.contract-document-row.selected{border-color:#5d8ee4;background:#eef4ff;box-shadow:0 0 0 2px rgba(63,124,255,.1)}
.contract-document-row small{display:block;margin-top:4px;color:var(--muted)}
.contract-document-row strong{color:var(--blue);font-size:11px}
.contract-document-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.contract-document-actions .btn{padding:7px 9px;font-size:10px;white-space:nowrap}
.contract-document-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:9px;background:#eaf1ff;color:var(--blue);font-size:10px;font-weight:800}
.contract-document-viewer iframe{display:block;width:100%;height:58vh;margin-top:12px;border:1px solid var(--line);border-radius:10px;background:#eef2f7}
.contract-document-placeholder{display:grid;place-items:center;min-height:54vh;text-align:center;color:var(--muted);background:#f7f9fc!important}
.contract-document-placeholder h3{margin:8px 0;color:var(--text)}
.contract-document-placeholder p{max-width:390px;margin:0}
.contract-document-placeholder-icon{font-size:42px;color:#7f9bc4}

@media(max-width:900px){.contracts-detail:not(.hidden){padding:0}.contract-detail-dialog{width:100%;max-height:100vh;height:100vh;border-radius:0}.contract-documents-layout{grid-template-columns:1fr}.contract-document-viewer iframe{height:55vh}.contract-detail-title{display:block}.contract-detail-actions{justify-content:flex-start;margin-top:14px}.contract-detail-close{position:absolute;top:12px;right:12px}.contract-document-row{grid-template-columns:42px minmax(0,1fr)}.contract-document-actions{grid-column:1/-1;justify-content:flex-start;padding-left:53px}}

@media(max-width:700px){
  .contract-detail-dialog{display:block;height:100dvh;max-height:100dvh;padding-bottom:calc(61px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
  .contract-detail-dialog .contract-detail-head{position:static}
  .contract-detail-dialog .contract-tab-content{min-height:calc(100dvh - 180px);overflow:visible}
  .contract-detail-dialog .contract-tabs{position:fixed;z-index:30;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;width:100%;padding:6px 5px calc(6px + env(safe-area-inset-bottom));border-top:1px solid #c9d6e7;border-bottom:0;background:rgba(247,249,252,.98);box-shadow:0 -6px 20px rgba(28,53,88,.14);white-space:normal;overflow:visible;backdrop-filter:blur(10px)}
  .contract-detail-dialog .contract-tab{display:flex;min-width:0;min-height:48px;align-items:center;justify-content:center;gap:2px;padding:7px 2px;border:1px solid transparent;border-radius:10px;color:#5a6d86;font-size:9px;line-height:1.15;text-align:center}
  .contract-detail-dialog .contract-tab.active{border-color:#b8cdf0;border-radius:10px;background:#fff;color:#1459bb;box-shadow:0 2px 8px rgba(30,75,137,.14)}
  .contract-detail-dialog .contract-tab-label-full{display:none}
  .contract-detail-dialog .contract-tab-label-mobile{display:inline}
  .contract-detail-dialog .contract-tab .badge{flex:0 0 auto;padding:2px 4px;font-size:8px}
  .contract-detail-dialog .contract-facts{display:none}
  .contract-detail-dialog .contract-mobile-facts{display:block;margin-top:6px}
  .contract-detail-dialog .contract-mobile-facts summary{display:flex;align-items:center;justify-content:space-between;min-height:28px;padding:5px 9px;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:rgba(255,255,255,.08);color:#e3edf8;font-size:10px;font-weight:800;cursor:pointer;list-style:none}
  .contract-detail-dialog .contract-mobile-facts summary::-webkit-details-marker{display:none}
  .contract-detail-dialog .contract-mobile-facts summary span{transition:transform .18s ease}
  .contract-detail-dialog .contract-mobile-facts[open] summary span{transform:rotate(180deg)}
  .contract-detail-dialog .contract-mobile-facts-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:5px;background:rgba(255,255,255,.14)}
  .contract-detail-dialog .contract-mobile-facts-grid .contract-fact{padding:7px;background:rgba(16,33,63,.64)}
  .contract-detail-dialog .contract-mobile-facts-grid .contract-fact span{font-size:8px}
  .contract-detail-dialog .contract-mobile-facts-grid .contract-fact b{font-size:10px}
  .contract-detail-close{top:10px;right:10px;z-index:3}
  .contract-documents-layout>section{padding:11px}
  .contract-document-row{grid-template-columns:38px minmax(0,1fr);padding:9px;gap:8px}
  .contract-document-actions{padding-left:46px;flex-wrap:wrap}
  .contract-document-viewer iframe{height:48dvh}
  .contract-document-placeholder{min-height:38dvh}
}

@media(max-width:380px){.contract-detail-dialog .contract-tab{font-size:8px}.contract-detail-dialog .contract-tab .badge{display:none}}
