:root{
      --mo-bg:#ffffff;
      --mo-text:#0b1220;
      --mo-muted:#5a6472;
      --mo-border:rgba(15, 23, 42, .12);
      --mo-soft:rgba(15, 23, 42, .06);
      --mo-primary:#1f6feb;
      --mo-primary-2:#1557c9;
      --mo-danger:#d92d20;
      --mo-shadow:0 12px 30px rgba(15, 23, 42, .08);
      --mo-label-gap:10px;
    }

 

    .wrap{
      max-width: 980px;
      margin: 0 auto;
    }

    .mo-calc *{ box-sizing:border-box; }

    .mo-calc__card{
      background:var(--mo-bg);
      border:1px solid var(--mo-border);
      border-radius:18px;
      padding:18px;
      box-shadow: var(--mo-shadow);
    }

    .mo-calc__head{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
    .mo-calc__title{ font-size:20px; font-weight:700; letter-spacing:-.02em; }
    .mo-calc__sub{ margin-top:4px; font-size:14px; color:var(--mo-muted); }

    .mo-calc__grid{
      display:grid;
      grid-template-columns: 1.1fr 1fr;
      gap:16px;
      margin-top:14px;
    }
    .docsdesk-calc .mo-calc__card {
      background: linear-gradient(110deg, rgba(227, 245, 254, 0.3) 5.79%, rgba(239, 253, 250, 0.3) 47.51%, rgba(182, 223, 252, 0.3) 85.76%, rgba(188, 227, 253, 0.3) 135.12%);
    }
    .docsonline-calc .mo-calc__card{
      background: linear-gradient(355deg, rgba(239, 220, 253, 0.5) 9.99%, rgba(246, 242, 250, 0.5) 95.96%);
    }

    .chat-calc .mo-calc__card{
      background: var(---Light-30, linear-gradient(180deg, rgba(251, 233, 207, 0.3) 0%, rgba(255, 199, 174, 0.3) 100% 100% ));
    }

    .mail-calc .mo-calc__card{
      background: linear-gradient(355deg, rgba(255, 207, 139, 0.3) 9.99%, rgba(255, 250, 239, 0.3) 95.96%);
    }


    .mo-calc__section{
      border:1px solid var(--mo-border);
      border-radius:16px;
      padding:14px;
      background: rgba(255, 255, 255, 0.4);
    }

    .mo-calc__label{ display:block; font-size:13px; font-weight:600; color:var(--mo-muted); margin-bottom:var(--mo-label-gap); }

    .mo-calc__products{ display:grid; gap:20px; }
    .mo-calc__check{
      display:flex; gap:10px; align-items:center;
      padding:10px 12px;
      border:1px solid var(--mo-border);
      border-radius:10px;
      background:#fff;
      cursor:pointer;
      user-select:none;
    }
    .mo-calc__check:hover{ border-color: rgba(31,111,235,.35); }
    .mo-calc__check input{ width:18px; height:18px; accent-color: var(--mo-primary); }

    .mo-calc__hint{ margin-top:10px; font-size:12px; color:var(--mo-muted); line-height:1.35; }

    .mo-calc__row{ display:flex; gap:12px; flex-wrap:wrap;margin-bottom: 15px;}
    .mo-calc__field{ flex:1 1 180px; min-width:180px; }

    .mo-calc__select, .mo-calc input.mo-calc__input{
      width:100%;
      padding:12px 12px;
      border:1px solid var(--mo-border);
      border-radius:14px;
      background:#fff;
      outline:none;
      font-size:14px;
      height: auto;
      line-height: 1;
    }
    .mo-calc input.mo-calc__input[type="number"]{
      -moz-appearance:textfield;
      appearance:textfield;
    }
    .mo-calc .mo-calc__input[type="number"]::-webkit-outer-spin-button,
    .mo-calc .mo-calc__input[type="number"]::-webkit-inner-spin-button{
      -webkit-appearance:none;
      margin:0;
    }
    .mo-calc__select{
      -webkit-appearance:none;
      -moz-appearance:none;
      appearance:none;
      padding-right:48px;
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.5 6 6l4.5-4.5' fill='none' stroke='%230b1220' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-repeat:no-repeat;
      background-size:10px 6px;
      background-position:right 16px center;
    }
    .mo-calc__select::-ms-expand{ display:none; }
    .mo-calc__select:focus, .mo-calc__input:focus{
      border-color: rgba(31,111,235,.55);
      box-shadow: 0 0 0 4px rgba(31,111,235,.12);
    }

    .mo-calc__result{
      margin-top:12px;
      padding:12px 12px;
      border:1px dashed rgba(31,111,235,.35);
      border-radius:14px;
      background: rgba(31,111,235,.06);
    }
    .mo-calc__resultLabel{ font-size:12px; color:var(--mo-muted); }
    .mo-calc__resultValue{ margin-top:4px; font-size:22px; font-weight:750; letter-spacing:-.02em; }
    .mo-calc__resultMeta{ margin-top:4px; font-size:12px; color:var(--mo-muted); }

    .mo-calc__actions{
      display:flex; gap:10px; align-items:center; flex-wrap:wrap;
      margin-top:12px;
    }
    .mo-calc__error{ color:var(--mo-danger); font-size:12px; min-height:16px; }

    .mo-btn{
      border:1px solid var(--mo-border);
      background:#fff;
      color:var(--mo-text);
      padding:11px 14px;
      border-radius:10px;
      font-weight:650;
      cursor:pointer;
      transition: .15s ease;
    }
    .mo-btn:hover{ transform: translateY(-1px); }
    .mo-btn:active{ transform: translateY(0); }
    .mo-btn--primary{
      background: linear-gradient(90deg, #13bcfe 0%, #9575cd 100%);
      border-color: var(--mo-primary);
      color:#fff;
	border:none;
    }
    .mo-btn--primary:hover{ background: #5f68de; border-color: var(--mo-primary-2); }
    .mo-btn--ghost{ background: rgba(15, 23, 42, .03); }

    .mo-calc__edu{
      margin-top:12px;
      padding:12px;
      border:1px solid rgba(245, 158, 11, .35);
      background: rgba(245, 158, 11, .08);
      border-radius:10px;
    }
    .mo-calc__eduTitle{ font-weight:750; }
    .mo-calc__eduText{ margin:10px 0; font-size:13px; color:var(--mo-muted); line-height:1.35; }

    /* Modal */
    .mo-modal{ position:fixed; inset:0; display:none; z-index:9999; }
    .mo-modal[aria-hidden="false"]{ display:block; }
    .mo-modal__overlay{
      position:absolute; inset:0;
      background: rgba(3, 7, 18, .55);
      backdrop-filter: blur(4px);
    }
    .mo-modal__dialog{
      position:relative;
      width:min(680px, 92vw);
      margin: 6vh auto;
      background:#fff;
      border-radius:14px;
      border:1px solid var(--mo-border);
      box-shadow: 0 20px 50px rgba(0,0,0,.25);
      padding:16px;
    }
    .mo-modal__close{
      position:absolute; top:10px; right:12px;
      width:36px; height:36px;
      border-radius:12px;
      border:1px solid var(--mo-border);
      background:#fff;
      cursor:pointer;
      font-size:22px;
      line-height:1;
    }
    .mo-modal__head{ padding-right:44px; }
    .mo-modal__title{ font-size:18px; font-weight:800; }
    .mo-modal__subtitle{ margin-top:4px; font-size:13px; color:var(--mo-muted); }

    .mo-modal__sum{
      margin-top:12px;
      padding:12px;
      border-radius:14px;
      border:1px dashed rgba(31,111,235,.35);
      background: rgba(31,111,235,.06);
    }
    .mo-modal__sumLabel{ font-size:12px; color:var(--mo-muted); }
    .mo-modal__sumValue{ margin-top:4px; font-size:24px; font-weight:800; letter-spacing:-.02em; }
    .mo-modal__sumMeta{ margin-top:6px; font-size:12px; color:var(--mo-muted); }

    .mo-form{ margin-top:12px; }
    .mo-form__grid{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:12px;
    }
    .mo-form__field{ display:flex; flex-direction:column; gap:6px; }
    .mo-form__label{ font-size:12px; color:var(--mo-muted); font-weight:650; }
    .mo-form__input{
      padding:12px 12px;
      border:1px solid var(--mo-border);
      border-radius:14px;
      outline:none;
      font-size:14px;
    }
    .mo-form__input:focus{
      border-color: rgba(31,111,235,.55);
      box-shadow: 0 0 0 4px rgba(31,111,235,.12);
    }
    .mo-form__err{ font-size:12px; color:var(--mo-danger); min-height:16px; }
    .mo-form__actions{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-top:12px; }
    .mo-form__ok{ color: #067647; font-weight:650; }

    /* Consent */
    .mo-form__consent{
      margin-top: 10px;
      padding: 10px 12px;
      border: 1px solid var(--mo-border);
      border-radius: 14px;
      background: rgba(15, 23, 42, .02);
    }
    .mo-form__consentRow{
      display:flex;
      gap:10px;
      align-items:center;
      cursor:pointer;
      user-select:none;
      font-size: 13px;
      color: var(--mo-muted);
      line-height: 1.35;
    }
    .mo-form__consentRow input{
      width:18px;
      height:18px;
      margin-top: 2px;
      accent-color: var(--mo-primary);
    }
    .mo-form__consent a{
      color: var(--mo-primary);
      text-decoration: none;
    }
    .mo-form__consent a:hover{ text-decoration: underline; }

    @media (max-width: 860px){
      body{ padding: 14px; }
      .mo-calc__grid{ grid-template-columns:1fr; }
      .mo-form__grid{ grid-template-columns:1fr; }
    }