/* Google Fonts @import removed 2026-07-30 — Inter is now SELF-HOSTED from
   /fonts/ via @font-face in cosani-design-system.css. Google Fonts is blocked
   in China and the factory users are on plm.giorgiocosani.com. Shipping only
   400/500/600 faces is also what caps font-weight at 600 app-wide. */

/* ==========================================================================
   Cosani PLM — Apple / iOS typography
   Loaded AFTER cosani-plm.css so these rules win on equal specificity.

   FONT ONLY: no font-size, color, padding or layout values are changed.
   To revert: remove the <link> to this file from cosani-plm-prototype.html.

   Why a webfont is required: the team is on Windows, where SF Pro and
   -apple-system do not exist and silently fall back to Segoe UI (verified
   on the live site). Inter is the open-source typeface designed as a
   neutral SF substitute.

   Note: Google Fonts is blocked in China, so factory users on
   plm.giorgiocosani.com fall back to Segoe UI — same as today. To fix,
   self-host Inter from /fonts/ and replace the @import above with:
     @font-face{font-family:Inter;font-weight:400 700;font-display:swap;
                src:url(/fonts/InterVariable.woff2) format('woff2-variations')}
   ========================================================================== */

body{
  font-family:Inter,-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",
              "Helvetica Neue","Segoe UI",system-ui,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-synthesis-weight:none;
  font-feature-settings:"kern" 1,"liga" 1,"cv11" 1;
  letter-spacing:-0.011em;
}

/* Optical tracking — Apple tightens letter-spacing as type grows. */
h1,h2,h3,h4{letter-spacing:-0.021em;font-weight:600}
.pagehead h1{letter-spacing:-0.028em;font-weight:600}
.card h3{letter-spacing:-0.017em;font-weight:600}
.kpi .v{letter-spacing:-0.028em}
.btn,button,.searchbtn,.view-toggle,.session-btn{letter-spacing:-0.01em}

/* Tabular numerals — digits align in columns instead of jittering. */
td,th,.kpi .v,.pill,input,select,textarea,
.report-card .big,.sumchip .n,.shipment-kpi span,.ship-metric span,
.production-cell .v,.cut-metric span,.import-metric span,.bom-metric span,
.receiver-stat span,.dashboard-mini-metric span{
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
}

/* Weight cap. cosani-plm.css has 156 rules at font-weight 800+ (some 950),
   which render as Heavy/Black. Apple's UI scale is 400 / 500 / 600. */

.btn,.tab,.portal-product-meta,.portal-color-empty,.portal-color-more{font-weight:500}

.login-email, .brand, .searchbtn, .search-type, .search-title, .search-open, .search-ai-status, .search-ai-config button, .session-btn, .view-toggle, .kpi .v, .pill, .scard .sw, .scard .meta .a, .scard-select-badge, .style-bulk-title, .cad-chip, .cad-upload-hint, .modal .mh, .ns-color-row .fi[readonly], .iconbtn, .portalbar .gold, .cut-ticket-label, .cut-ticket-number, .cut-ticket-revision, .ai-score, .ai-action-title, .ai-kind, .cut-title, .cut-metric span, .cut-doc-title, .cut-doc-share-lock, .cut-connection-row .k, .ship-metric span, .inspection-title, .production-title, .production-cell .k, .production-cell .v, .shipment-kpi span, .shipment-compact-details > summary, .shipment-company-list span, .connected-chip, .order-muted, .orders-action, .order-needed, .order-style-chip, .order-more, .order-container-pill, .shipment-source summary, .shipment-filter-block label, .shipment-filter-count, .shipment-next-date, .shipment-next-title, .shipment-card-timing span, .shipment-panel-title, .shipment-style-strip button, .shipment-info-block .k, .shipment-info-block .v, .sumchip .n, .ac-cat, .ac-title, .date-badge, .ac-when span, .startbadge, .tierhead, .live-row .kind, .live-row .mainline, .risk, .dashboard-mini-metric span, .carrier, .package-title, .item-name, .sample-code, .sample-log-title, .sample-chat-meta, .sample-label-title, .sample-label-meta .k, .sample-label-measure-title, .report-card .big, .report-card .label, .ta-when, .ta-date-badge, .work-kind, .work-title, .photo-thumb, .portal-file-btn, .portal-action-summary span, .portal-action-title, .portal-action-date, .portal-action-head .portal-action-date, .approval-state, .approval-request-meta span, .labdip-style-reference span, .labdip-local-reference img, .labdip-local-reference > span, .labdip-reference-file img, .labdip-reference-type, .labdip-reference-name small, .labdip-option-letter, .factory-choice, .approved-choice, .labdip-option-details span, .labdip-history summary, .labdip-recommend, .spec-waiting, .spec-history summary, .spec-edit-labels, .style-identity-art, .cost-edit, .cost-value, .cost-label, .cost-guidance span, .cost-history-head span, .style-image-preview, .style-color-preview, .style-image-empty span, .component-thumb, .component-title, .portal-hero-swatch, .profile-avatar, .profile-name, .settings-title, .access-title, .library-card .library-title, .library-thumb, .library-title, .bom-metric span, .bom-tools span, .bom-colorway-strip span, .bom-nomination-summary span, .qc-photo, .import-review-title, .import-metric span, .import-key, .receiver-title, .receiver-tag, .receiver-stat span, .receiver-map-row .k, .receiver-map-row .v, .receiver-size-chip, .receiver-ledger div, .cutlink, .cut-colorway-code, .ta-cat-chip, .ta-group-head, .ta-ev-cat, .ship-lane span, .ship-stop span, .ship-cd, .mobile-scroll-hint, .dashboard-clear-title, .status-stepper > button, .style-material-row dt, .style-full-loading, .portal-product-eyebrow, .portal-color-chip b, .portal-color-chip em, .portal-product-toggle, .wh-feedback .wh-size{
  font-weight:600;
}

b,strong{font-weight:600}
