.workspace-module-shell{padding:24px;max-width:1600px;margin:0 auto}.workspace-module-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.workspace-module-head h1{font-size:26px;margin:3px 0 6px;color:var(--gray-900)}.workspace-module-head>div>p:last-child{margin:0;color:var(--gray-500);font-size:10px;line-height:1.6;max-width:760px}.module-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-bottom:13px}.module-summary-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.module-summary-grid article{background:#fff;border:1px solid var(--gray-200);border-radius:13px;padding:15px 16px;box-shadow:var(--shadow-xs)}.module-summary-grid span{display:block;font-size:8px;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-500);font-weight:700}.module-summary-grid strong{display:block;font-size:24px;margin-top:5px;line-height:1.1;color:var(--gray-900)}.module-summary-grid strong.summary-text{font-size:16px;margin-top:8px}.module-summary-grid small{display:block;margin-top:5px;color:var(--gray-400);font-size:8px}.module-card{background:#fff;border:1px solid var(--gray-200);border-radius:14px;box-shadow:var(--shadow-xs);overflow:hidden;margin-bottom:13px}.module-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px;border-bottom:1px solid var(--gray-100)}.module-card-head h2{font-size:14px;margin:0 0 4px}.module-card-head p{font-size:9px;color:var(--gray-500);margin:0}.module-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.module-search{height:38px;min-width:260px;display:flex;align-items:center;gap:8px;border:1px solid var(--gray-200);background:var(--gray-25);border-radius:10px;padding:0 11px}.module-search:focus-within{background:#fff;border-color:var(--green-500);box-shadow:0 0 0 3px rgba(100,116,139,.10)}.module-search svg{width:15px;height:15px;color:var(--gray-400)}.module-search input{border:0;background:transparent;outline:0;width:100%;font:inherit;font-size:9px;color:var(--gray-900)}.module-filter-tabs{display:flex;gap:3px;padding:3px;background:var(--gray-100);border-radius:9px;overflow:auto}.module-filter-tabs button{border:0;background:transparent;border-radius:7px;padding:8px 10px;font-size:8px;font-weight:700;color:var(--gray-500);white-space:nowrap;cursor:pointer}.module-filter-tabs button.is-active{background:#fff;color:var(--green-900);box-shadow:var(--shadow-xs)}.module-table-wrap{overflow:auto}.module-table{width:100%;border-collapse:collapse;min-width:850px}.module-table th{text-align:left;padding:10px 13px;background:var(--gray-25);border-bottom:1px solid var(--gray-200);font-size:7px;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-500)}.module-table td{padding:12px 13px;border-bottom:1px solid var(--gray-100);font-size:9px;color:var(--gray-700);vertical-align:middle}.module-table tr:last-child td{border-bottom:0}.module-table tbody tr:hover{background:#fbfdfc}.module-table td b{display:block;color:var(--gray-900);font-size:9px;line-height:1.35}.module-table td small{display:block;color:var(--gray-400);font-size:7.5px;margin-top:3px;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.module-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;white-space:nowrap}.module-row-actions button{border:1px solid var(--gray-200);background:#fff;border-radius:7px;padding:6px 8px;font:inherit;font-size:7.5px;font-weight:700;color:var(--gray-600);cursor:pointer}.module-row-actions button:hover{border-color:var(--green-400);color:var(--green-800)}.module-row-actions button.danger{color:#b42318}.module-row-actions button.success-link,.module-row-actions button.primary-link{color:var(--green-800);border-color:#c2cedd;background:#f2fbf7}.module-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:7px;font-weight:800;text-transform:capitalize}.module-status.success{background:#eaf8f1;color:#334155}.module-status.blue{background:#eaf1ff;color:#315ea8}.module-status.amber{background:#fff5df;color:#9a6412}.module-status.violet{background:#f3efff;color:#6847b9}.module-status.danger{background:#fff0ee;color:#b42318}.module-status.neutral{background:var(--gray-100);color:var(--gray-600)}.country-chip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:9px;padding:13px}.country-chip{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--gray-200);background:#fff;border-radius:11px;padding:11px 12px;cursor:pointer;transition:.16s ease}.country-chip:hover{transform:translateY(-1px);border-color:#c2cedd;box-shadow:var(--shadow-xs)}.country-chip.is-active{border-color:var(--green-500);background:#f3fbf7;box-shadow:0 0 0 2px rgba(100,116,139,.10)}.country-chip.is-inactive{opacity:.58}.country-code{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--gray-100);font-size:10px;font-weight:800;color:var(--gray-700)}.country-chip.is-active .country-code{background:var(--green-100);color:var(--green-800)}.country-chip b{display:block;font-size:9px;color:var(--gray-900)}.country-chip small{display:block;font-size:7.5px;color:var(--gray-500);margin-top:3px}.module-empty,.module-error,.module-loading{padding:30px;text-align:center;color:var(--gray-500);font-size:9px}.module-empty.large{padding:52px}.module-error b{display:block;color:#b42318;font-size:11px}.module-error p{margin:6px 0 12px}.module-loading span{width:24px;height:24px;border:3px solid var(--gray-200);border-top-color:var(--green-500);border-radius:50%;display:inline-block;animation:moduleSpin .7s linear infinite}.module-loading p{margin:8px 0 0}@keyframes moduleSpin{to{transform:rotate(360deg)}}.voucher-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:11px;padding:13px}.voucher-type-card{border:1px solid var(--gray-200);border-radius:12px;padding:14px;display:grid;gap:10px;background:linear-gradient(145deg,#fff,#fbfdfc)}.voucher-type-card.is-inactive{opacity:.58}.voucher-type-card>div{min-width:0}.voucher-type-card .voucher-kind{display:inline-flex;padding:4px 7px;border-radius:999px;background:var(--green-50);color:var(--green-800);font-size:7px;font-weight:800;text-transform:uppercase}.voucher-type-card h3{font-size:12px;margin:8px 0 4px}.voucher-type-card p{font-size:8px;color:var(--gray-500);line-height:1.5;margin:0;min-height:24px}.voucher-type-card>strong{font-size:20px;color:var(--green-800)}.voucher-type-card footer{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--gray-100);padding-top:9px}.voucher-type-card footer small{font-size:7px;color:var(--gray-400)}.voucher-type-card footer span{display:flex;gap:5px}.voucher-type-card footer button{border:0;background:transparent;color:var(--gray-600);font-size:7.5px;font-weight:700;cursor:pointer}.voucher-type-card footer button.danger{color:#b42318}.voucher-code-text{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}.module-modal{position:fixed;inset:0;z-index:100000;background:rgba(30,41,59,.46);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;padding:18px}.module-modal.is-open{display:flex}.module-modal-card{width:min(1180px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:17px;box-shadow:0 30px 90px rgba(0,0,0,.24)}.module-modal-card.compact{width:min(620px,96vw)}.module-modal-card>header{position:sticky;top:0;z-index:2;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:17px 19px;border-bottom:1px solid var(--gray-100)}.module-modal-card>header h2{margin:2px 0 0;font-size:17px}.module-modal-card>header>button{border:0;background:var(--gray-100);width:31px;height:31px;border-radius:9px;font-size:18px;cursor:pointer}.module-modal-card form{padding:17px 19px}.module-form-section{padding:14px 0;border-bottom:1px solid var(--gray-100)}.module-form-section:first-child{padding-top:0}.module-form-section:last-of-type{border-bottom:0}.module-form-section h3{font-size:11px;margin:0 0 11px}.module-form-grid{display:grid;gap:11px}.module-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.module-form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.module-form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.module-form-grid label{display:grid;gap:5px;font-size:8px;font-weight:700;color:var(--gray-600)}.module-form-grid input,.module-form-grid select,.module-form-grid textarea{width:100%;box-sizing:border-box;border:1px solid var(--gray-200);border-radius:9px;background:#fff;padding:9px 10px;font:inherit;font-size:9px;color:var(--gray-900);outline:0}.module-form-grid textarea{resize:vertical;min-height:78px;line-height:1.5}.module-form-grid input:focus,.module-form-grid select:focus,.module-form-grid textarea:focus{border-color:var(--green-500);box-shadow:0 0 0 3px rgba(100,116,139,.10)}.module-form-grid .switch-field{display:flex;align-items:center;gap:8px;align-self:end;height:38px;border:1px solid var(--gray-200);border-radius:9px;padding:0 10px}.module-form-grid .switch-field input{width:auto}.module-form-grid .span-2{grid-column:span 2}.module-modal-card form>footer{display:flex;justify-content:flex-end;gap:8px;padding-top:15px}.contracts-record-table{min-width:980px}.contract-action-menu{min-width:210px}.catalog-list-head{align-items:flex-end}
@media(max-width:1100px){.module-summary-grid.four{grid-template-columns:repeat(2,1fr)}.module-form-grid.four{grid-template-columns:repeat(2,1fr)}.module-form-grid.three{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.workspace-module-shell{padding:14px}.workspace-module-head,.module-card-head,.module-responsive-head{align-items:stretch;flex-direction:column}.module-summary-grid,.module-summary-grid.four{grid-template-columns:1fr 1fr}.module-search{min-width:0;width:100%}.module-head-actions{align-items:stretch;flex-direction:column}.module-filter-tabs{width:100%}.module-form-grid.two,.module-form-grid.three,.module-form-grid.four{grid-template-columns:1fr}.module-form-grid .span-2{grid-column:auto}.country-chip-grid,.voucher-type-grid{grid-template-columns:1fr}.module-modal{padding:8px}.module-modal-card{max-height:96vh}.module-modal-card>header,.module-modal-card form{padding:14px}.workspace-module-head h1{font-size:22px}}

/* v15.2 — preserve the operational contract cards and expose case dates in the workspace */
.case-actions{flex-wrap:wrap;justify-content:flex-end}
.case-identity{align-items:stretch}
.case-person{min-width:285px}
.case-meta.case-meta-expanded{flex:1;display:grid;grid-template-columns:repeat(5,minmax(118px,1fr));gap:0;border-left:1px solid var(--gray-100)}
.case-meta.case-meta-expanded>span,.case-meta.case-meta-expanded>.case-meta-action{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-width:0;padding:4px 15px;border:0;border-right:1px solid var(--gray-100);background:transparent;text-align:left;font:inherit;color:inherit}
.case-meta.case-meta-expanded>.case-meta-action{cursor:pointer;border-radius:8px;transition:background var(--fast),color var(--fast)}
.case-meta.case-meta-expanded>.case-meta-action:hover{background:var(--green-50);color:var(--green-900)}
.case-meta.case-meta-expanded small{font-size:7px;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-400)}
.case-meta.case-meta-expanded strong{display:block;max-width:100%;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.case-meta.case-meta-expanded em{display:block;max-width:100%;font-style:normal;font-size:7px;color:var(--gray-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.schedule-dialog{width:min(760px,94vw)}
.schedule-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:18px 20px 8px}
.schedule-form-grid label{display:grid;gap:6px;font-size:9px;font-weight:700;color:var(--gray-600)}
.schedule-form-grid input,.schedule-form-grid select{width:100%;box-sizing:border-box;border:1px solid var(--gray-200);border-radius:9px;padding:10px 11px;font:inherit;font-size:10px;outline:0;background:#fff;color:var(--gray-900)}
.schedule-form-grid input:focus,.schedule-form-grid select:focus{border-color:var(--green-500);box-shadow:0 0 0 3px rgba(100,116,139,.10)}
.schedule-assignee-field{grid-column:1/-1;padding:11px 12px;border:1px solid #dcefe7;border-radius:11px;background:#f5fbf8}
.schedule-assignee-field span{font-size:8px;font-weight:500;color:var(--gray-500)}
.schedule-file-field{grid-column:1/-1;border:1px dashed var(--gray-300);border-radius:11px;padding:12px;background:var(--gray-25)}
.schedule-file-field input{border:0;padding:6px 0;background:transparent}
.schedule-file-field span{font-size:8px;font-weight:500;color:var(--gray-500)}
.schedule-document-actions{display:flex;gap:8px;padding:6px 20px 2px}
#caseScheduleError{padding:0 20px}
.contract-list-row[data-contracts-action="open"]{cursor:pointer}
.contract-list-row .status-chip{text-transform:none;white-space:nowrap}
.contract-list-actions .button.small{min-height:32px;padding:0 14px}
@media(max-width:1320px){.case-identity{flex-direction:column}.case-meta.case-meta-expanded{width:100%;border-left:0;border-top:1px solid var(--gray-100);padding-top:10px}}
@media(max-width:900px){.case-meta.case-meta-expanded{grid-template-columns:repeat(2,minmax(0,1fr))}.case-meta.case-meta-expanded>*{border-bottom:1px solid var(--gray-100)}.schedule-form-grid{grid-template-columns:1fr}.schedule-file-field{grid-column:auto}}
@media(max-width:620px){.case-meta.case-meta-expanded{grid-template-columns:1fr}.case-actions .button{flex:1 1 46%;justify-content:center}.contract-list-actions .status-chip{display:none}}

/* v15.4 seven-step operational workflow */
.full-workflow{grid-template-columns:repeat(7,1fr)}
.workflow-step:disabled{opacity:.65;cursor:wait}


/* v15.4.5 contracts shared subgrid */

@media (min-width: 901px) {

  #page-contracts .contracts-list {
    display: grid !important;

    grid-template-columns:
      minmax(280px, 2.15fr)
      minmax(170px, 1.15fr)
      105px
      minmax(155px, 1fr)
      135px
      188px;

    column-gap: 0 !important;
    row-gap: 9px !important;
    align-items: stretch;
  }

  #page-contracts .contract-list-row {
    grid-column: 1 / -1;

    display: grid !important;
    grid-template-columns: subgrid !important;

    column-gap: 0 !important;
    align-items: center !important;

    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  #page-contracts .contract-list-row
  > .contract-list-person,

  #page-contracts .contract-list-row
  > .contract-list-cell,

  #page-contracts .contract-list-row
  > .contract-list-actions {
    min-width: 0;
    box-sizing: border-box;
  }

  #page-contracts .contract-list-person {
    padding-right: 18px;
  }

  #page-contracts .contract-list-cell {
    display: grid !important;
    align-content: center;
    gap: 3px;

    padding-left: 14px;
    padding-right: 14px;

    border-left: 1px solid
      rgba(225, 232, 229, .72);
  }

  #page-contracts
  .contract-list-row
  > .contract-list-cell:nth-of-type(4) {
    display: grid !important;
  }

  #page-contracts .contract-list-cell small {
    display: block;
    margin: 0 0 3px;
    line-height: 1;
  }

  #page-contracts .contract-list-cell strong {
    display: block;
    width: 100%;
    min-width: 0;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  #page-contracts .contract-list-assignee {
    display: flex !important;
    align-items: center;
    gap: 6px;
  }

  #page-contracts .contract-list-progress {
    width: 100%;
    margin-top: 3px;
  }

  #page-contracts .contract-list-actions {
    display: grid !important;

    grid-template-columns:
      minmax(112px, 1fr)
      58px;

    align-items: center;
    gap: 7px;

    width: 100%;
    padding-left: 12px;

    border-left: 1px solid
      rgba(225, 232, 229, .72);
  }

  #page-contracts
  .contract-list-actions
  .status-chip {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-width: 0;
    max-width: none;

    box-sizing: border-box;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  #page-contracts
  .contract-list-actions
  .button {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 58px;
    min-width: 58px;
    padding-left: 0;
    padding display: flex;
    align-items: center;
    justify-content: center;

    width: 58px;
   -right: 0;
  }
}

/* Workspace v15.5 — traveler directory */
.travelers-page{padding:28px 30px 60px;max-width:1480px;margin:0 auto}
.travelers-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}
.travelers-hero h1{margin:3px 0 7px;font-size:30px;line-height:1.1;color:var(--text-1)}
.travelers-hero p:last-child{margin:0;color:var(--text-2);font-size:13px}
.traveler-directory-count{min-width:118px;padding:13px 17px;border:1px solid var(--border-1);border-radius:14px;background:var(--surface-1);display:flex;align-items:center;justify-content:space-between;gap:16px}
.traveler-directory-count span{font-size:11px;color:var(--text-3);text-transform:uppercase;letter-spacing:.07em}
.traveler-directory-count strong{font-size:24px;color:var(--text-1)}
.traveler-directory-card{overflow:hidden}
.traveler-directory-toolbar{gap:20px;flex-wrap:wrap}
.traveler-directory-search{width:min(440px,100%)}
.traveler-directory-list{padding:0 16px 16px}
.traveler-directory-item{border:1px solid var(--border-1);border-radius:13px;background:var(--surface-1);overflow:hidden;margin-top:9px;transition:border-color .18s ease,box-shadow .18s ease}
.traveler-directory-item.is-open{border-color:rgba(71,85,105,.34);box-shadow:0 8px 22px rgba(51,65,85,.07)}
.traveler-directory-summary{width:100%;display:grid;grid-template-columns:auto minmax(220px,1fr) minmax(130px,auto) auto;align-items:center;gap:13px;border:0;background:transparent;padding:14px 16px;text-align:left;cursor:pointer;color:inherit}
.traveler-directory-summary:hover{background:var(--surface-2)}
.traveler-avatar{flex:0 0 auto}
.traveler-primary{display:flex;flex-direction:column;min-width:0;gap:3px}
.traveler-primary>b{font-size:13.5px;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.traveler-primary small,.traveler-contact small{font-size:11.5px;color:var(--text-2);font-weight:500}
.traveler-primary em{font-size:10.5px;color:var(--text-3);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.traveler-contact{display:flex;flex-direction:column;align-items:flex-end;gap:3px;text-align:right}
.traveler-contact b{font-size:11px;color:var(--text-1)}
.traveler-chevron{width:16px;height:16px;color:var(--text-3);transition:transform .18s ease}
.traveler-directory-item.is-open .traveler-chevron{transform:rotate(180deg)}
.traveler-history{padding:0 16px 16px;border-top:1px solid var(--border-1);background:var(--surface-2)}
.traveler-history[hidden]{display:none}
.traveler-history-table-wrap{overflow:auto;padding-top:12px}
.traveler-history-table{width:100%;border-collapse:collapse;min-width:820px;font-size:12px;background:var(--surface-1);border:1px solid var(--border-1);border-radius:10px;overflow:hidden}
.traveler-history-table th{padding:9px 11px;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.055em;color:var(--text-3);background:var(--surface-2);border-bottom:1px solid var(--border-1)}
.traveler-history-table td{padding:10px 11px;border-bottom:1px solid var(--border-1);vertical-align:middle;color:var(--text-2)}
.traveler-history-table tr:last-child td{border-bottom:0}
.traveler-history-table td>b{display:block;color:var(--text-1);font-size:12px}
.traveler-history-table td>small{display:block;margin-top:2px;color:var(--text-3);font-size:10px}
.traveler-history-actions{display:flex;justify-content:flex-end;gap:6px;white-space:nowrap}
.traveler-history-empty{padding:18px 2px 2px;color:var(--text-3);font-size:12px}
.traveler-directory-empty{margin:0 16px 16px}

/* Catalog Gemini helpers */
.catalog-ai-section{background:linear-gradient(135deg,rgba(71,85,105,.06),rgba(100,116,139,.035));border:1px solid rgba(71,85,105,.16)!important;border-radius:12px;margin:12px 16px;padding:15px!important}
.catalog-ai-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:11px}
.catalog-ai-head h3{margin:0 0 4px!important}
.catalog-ai-head p{margin:0;color:var(--text-2);font-size:11.5px;line-height:1.5}
.catalog-ai-import{display:grid;grid-template-columns:180px minmax(260px,1fr) auto;align-items:stretch;gap:8px}
.catalog-ai-import select,.catalog-ai-import textarea{width:100%;border:1px solid var(--border-1);border-radius:9px;background:var(--surface-1);color:var(--text-1);font:inherit;padding:9px 10px}
.catalog-ai-import textarea{resize:vertical;min-height:72px}
.catalog-ai-import .button{align-self:end;height:38px}

@media(max-width:800px){
  .travelers-page{padding:20px 16px 50px}.travelers-hero{align-items:flex-start}.traveler-directory-count{display:none}
  .traveler-directory-summary{grid-template-columns:auto minmax(0,1fr) auto}.traveler-contact{display:none}
  .catalog-ai-head{flex-direction:column}.catalog-ai-import{grid-template-columns:1fr}.catalog-ai-import .button{width:100%}
}
