
      .calTopGrid{display:grid;grid-template-columns: 220px 220px 1fr 1fr auto;align-items:end;margin:8px 0 14px 0;gap:16px;}
      .calTopGrid .field label{
        display:block;
        font-size:12px;
        opacity:.78;
        margin:0 0 6px 2px;
      }
      .calTopGrid input{
        width:100%;
        height:40px;
        padding:8px 12px;
        border-radius:12px;
        border:1px solid rgba(255,255,255,.10);
        background:rgba(255,255,255,.02);
        color:inherit;
        outline:none;
      }.calTopGrid select{
        width:100%;
        height:40px;
        padding:8px 12px;
        border-radius:12px;
        border:1px solid rgba(255,255,255,.10);
        background:rgba(255,255,255,.02);
        color:inherit;
        outline:none;
      }
      .calActions{display:flex;align-items:end;gap:8px;}
      .calActions .btn{
        height:40px;
        padding:0 16px;
        border-radius:12px;
      }

      .calTwoCols{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:14px;
        align-items:start;
      }
      .calCard{border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.02);overflow:hidden;min-width:0;padding:16px;}
      .calCard h3{
        margin:0 0 6px 0;
        font-size:16px;
      }
      .calSub{
        font-size:12px;
        opacity:.75;
        margin:0 0 10px 0;
      }

      .calLinkBox{
        display:flex;
        gap:8px;
        align-items:center;
        padding-bottom:2px;
      }
      .calLinkBox input{
        width:18px;
        height:18px;
        margin:0;
      }

      .gtbl{
        width:100%;
        max-width:100%;
        overflow:hidden;
      }
      .gtbl sub{
        font-size:.72em;
        line-height:0;
        vertical-align:sub;
        position:relative;
        bottom:-0.28em;
      }.calCard sub{
        font-size:.72em;
        line-height:0;
        vertical-align:sub;
        position:relative;
        bottom:-0.28em;
      }

      .gtblRow{
        display:grid;
        grid-template-columns: 214px 82px 68px minmax(0, 1fr);
        column-gap:2px;
        align-items:start;
        border-bottom:1px solid rgba(255,255,255,.06);
      }

      .gtblRow.isSection{
        grid-template-columns:1fr;
        background:rgba(255,255,255,.03);
        border-bottom:1px solid rgba(255,255,255,.08);
      }
      .gtblRow.isSection .gtblCell{
        grid-column:1 / -1;
        padding:8px 10px;
        font-weight:700;
        letter-spacing:.2px;
      }

      .gtblRow.isHead{
        border-bottom:1px solid rgba(255,255,255,.08);
      }

      .gtblHead{
        padding:10px 6px;
        font-size:13px;
        opacity:.9;
        font-weight:600;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
        justify-self:start;
      }

      .gtblCell{
        padding:10px 6px;
        font-size:13px;
        min-height:44px;
        display:flex;
        align-items:center;
        border-bottom:none;
        background:transparent;
        min-width:0;
      }

      .gtblCell.p{
        white-space:normal;
        overflow:hidden;
        padding-right:1px;
        line-height:1.12;
      }
      .pWithInfo{
        display:inline;
        max-width:100%;
      }
      .pWithInfo > span:first-child{
        overflow:visible;
        text-overflow:clip;
        display:inline;
      }

      .gtblCell.v{
        white-space:nowrap;
        justify-content:flex-start;
        padding-left:0;
        padding-right:2px;
        margin-left:0;
        font-variant-numeric:tabular-nums;
      }
      .gtblCell.v.twoLine{
        white-space:normal;
        line-height:1.15;
        align-items:flex-start;
      }

      .gtblCell.f{
        white-space:nowrap;
        overflow:visible;
        line-height:1.12;
        font-size:12px;
        padding-left:0;
        padding-right:0;
        margin-left:-2px;
        min-width:0;
        justify-content:flex-start;
      }.gtblCell.s{
        white-space:nowrap;
        overflow:visible;
        line-height:1.12;
        font-size:12px;
        padding-left:0;
        padding-right:0;
        margin-left:-2px;
        min-width:0;
        justify-content:flex-start;
      }


      .gtblCell.s{
        margin-left:42px;
        padding-left:16px;
      }

      .gtblRow > .gtblHead:nth-child(2){
        padding-left:0;
        margin-left:0;
      }.gtblRow > .gtblHead:nth-child(3){
        padding-left:0;
        margin-left:0;
      }

      .qi{
        display:inline-block;
        vertical-align:baseline;
        margin-left:6px;
        width:16px;
        height:16px;
        border-radius:999px;
        border:1px solid rgba(255,255,255,.18);
        background:rgba(255,255,255,.04);
        font-size:11px;
        line-height:14px;
        text-align:center;
        opacity:.85;
        cursor:help;
        user-select:none;
      }

      @media (max-width: 1100px){
        .calTopGrid{
          grid-template-columns:1fr;
        }
        .calTwoCols{
          grid-template-columns:1fr;
        }
        .calActions{
          justify-content:flex-start;
        }
        .gtblRow{
          grid-template-columns: 206px 78px 64px minmax(0, 1fr);
          column-gap:6px;
        }
        .gtblCell.s{
          margin-left:28px;
          padding-left:10px;
        }
      }
    












      .calDiag{
        margin-top:12px;
        padding-top:12px;
        border-top:1px solid rgba(255,255,255,.08);
      }
      .calDiagHead{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:10px;
        margin:0 0 8px 0;
      }
      .calDiagTitle{
        font-size:12px;
        opacity:.78;
        margin:0;
      }
      .calDiagZoomBtn{
        border:1px solid rgba(255,255,255,.12);
        background:rgba(255,255,255,.04);
        color:inherit;
        border-radius:10px;
        padding:6px 10px;
        font-size:12px;
        line-height:1.1;
        cursor:pointer;
        white-space:nowrap;
      }
      .calDiagZoomBtn:hover{
        background:rgba(255,255,255,.08);
      }
      .calDiagLayout{
        display:grid;
        grid-template-columns:minmax(0,1fr) 84px;
        gap:4px;
        align-items:start;
      }
      .calSvgWrap{
        border:1px solid rgba(0,0,0,.15);
        background:#ffffff;
        width:100%;
        overflow:hidden;
        min-width:0;
        cursor:zoom-in;
      }
      .calSvgWrap svg{
        width:100%;
        height:auto;
        display:block;
      }
      .calDiagLegend{
        border:1px solid rgba(0,0,0,.15);
        background:#ffffff;
        padding:6px 6px;
        min-width:0;
      }
      .calDiagModalOverlay{
        position:fixed;
        inset:0;
        z-index:99999;
        background:rgba(0,0,0,.56);
        display:flex;
        align-items:center;
        justify-content:center;
        padding:18px;
      }
      .calDiagModal{
        width:min(96vw, 1800px);
        max-height:92vh;
        overflow:auto;
        border-radius:14px;
        border:1px solid rgba(255,255,255,.12);
        background:#e9edf2;
        color:#111;
        box-shadow:0 24px 64px rgba(0,0,0,.35);
        padding:14px;
      }
      .calDiagModalHead{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        margin:0 0 12px 0;
      }
      .calDiagModalTitle{
        font-size:15px;
        font-weight:600;
      }
      .calDiagModalClose{
        border:1px solid rgba(0,0,0,.18);
        background:#fff;
        color:#111;
        border-radius:10px;
        padding:8px 12px;
        font-size:13px;
        cursor:pointer;
        white-space:nowrap;
      }
      .calDiagModalBody .calDiagLayout{
        grid-template-columns:minmax(0,1fr) 96px;
        gap:10px;
      }
      .calDiagModalBody .calSvgWrap{
        cursor:default;
      }
      .calDiagModalBody .calDiagLegend{
        padding:8px 8px;
      }
      .calDiagLegendTitle{
        display:none;
      }
      .calDiagLegendRow{
        display:grid;
        grid-template-columns:18px 1fr;
        gap:4px;
        align-items:baseline;
        font-size:12px;
        line-height:1.4;
        margin:2px 0;
      }
      .calDiagLegendKey{
        white-space:nowrap;
      }
      .calDiagLegendVal{
        white-space:nowrap;
      }
      .calDiagNote{
        font-size:11px;
        opacity:.70;
        margin:8px 0 0 0;
      }
      @media (max-width: 980px){
        .calDiagLayout{
          grid-template-columns:1fr;
        }
      }
    