.cgysp-portal{--cgysp-primary:#173d6a;--cgysp-accent:#f2a541;max-width:1120px;margin:32px auto;padding:0 16px;color:#202833;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.65}.cgysp-portal *{box-sizing:border-box}.cgysp-portal h1,.cgysp-portal h2,.cgysp-portal h3,.cgysp-portal h4{line-height:1.3;margin:0 0 12px;color:#182433}.cgysp-portal h1{font-size:clamp(25px,3vw,36px);margin-top:7px}.cgysp-portal h2{font-size:23px}.cgysp-portal h3{font-size:19px}.cgysp-portal h4{font-size:16px}.cgysp-portal p{margin:8px 0 14px}.cgysp-portal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:28px 30px;background:linear-gradient(125deg,#f4f7fb,#fff);border:1px solid #e3e9f0;border-radius:18px}.cgysp-brand-mark{display:inline-flex;background:var(--cgysp-primary);color:#fff;padding:4px 10px;border-radius:7px;font-size:13px;font-weight:700;letter-spacing:1px}.cgysp-portal-header p{color:#64748b;margin-bottom:0}.cgysp-project-code{font-size:12px;color:#64748b;background:#fff;border:1px solid #e3e9f0;border-radius:8px;padding:8px 10px;white-space:nowrap}.cgysp-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 24px;padding:8px;background:#f7f9fb;border:1px solid #e6ebf1;border-radius:12px}.cgysp-tabs a{color:#334155;text-decoration:none;padding:9px 13px;border-radius:8px;font-weight:600;font-size:14px}.cgysp-tabs a:hover{background:#e7edf5;color:var(--cgysp-primary)}.cgysp-panel{padding:26px;margin:18px 0;border:1px solid #e4e9ef;border-radius:16px;background:#fff;box-shadow:0 5px 20px rgba(22,39,62,.035);scroll-margin-top:24px}.cgysp-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}.cgysp-section-heading>div{display:flex;align-items:center;gap:12px}.cgysp-section-heading h2{margin:0}.cgysp-step{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#eaf0f7;color:var(--cgysp-primary);font-weight:800;font-size:13px}.cgysp-status{display:inline-flex;padding:4px 9px;background:#f2f5f8;border-radius:999px;color:#4b5b6e;font-size:12px;white-space:nowrap}.cgysp-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.cgysp-field{min-width:0;display:flex;flex-direction:column;gap:6px}.cgysp-field label{font-weight:650;color:#344256}.cgysp-field label small,.cgysp-field>small{display:block;font-size:12px;color:#78869a;font-weight:400}.cgysp-field input[type=text],.cgysp-field input[type=email],.cgysp-field input[type=url],.cgysp-field input[type=number],.cgysp-field textarea,.cgysp-field select{width:100%;max-width:100%;padding:10px 12px;border:1px solid #cfd8e3;border-radius:8px;background:#fff;color:#1f2937;font:inherit;box-shadow:none}.cgysp-field textarea{resize:vertical;min-height:88px}.cgysp-field input:focus,.cgysp-field textarea:focus{outline:2px solid #c6d7ed;border-color:#5d83b0}.cgysp-form-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;margin-top:5px}.cgysp-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--cgysp-primary);border-radius:8px;padding:10px 15px;background:var(--cgysp-primary);color:#fff!important;text-decoration:none;font-weight:650;cursor:pointer;line-height:1.25}.cgysp-button:hover{filter:brightness(1.08);color:#fff}.cgysp-button-secondary{background:#fff;color:var(--cgysp-primary)!important}.cgysp-button-warning{background:#fff6e9;border-color:#e8b56b;color:#8a4b00!important}.cgysp-button-small{font-size:12px;padding:7px 10px}.cgysp-help,.cgysp-muted{color:#64748b;font-size:13px}.cgysp-help{grid-column:1/-1;background:#f6f8fb;border-radius:8px;padding:11px 13px}.cgysp-color-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 12px}.cgysp-color-field{display:flex;flex-direction:column;gap:7px;padding:10px;border:1px solid #e2e8f0;border-radius:10px;font-size:13px;font-weight:650}.cgysp-swatch{display:block;height:62px;border-radius:7px;border:1px solid rgba(0,0,0,.08)}.cgysp-color-field input[type=color]{width:100%;height:26px;border:0;background:transparent;padding:0;cursor:pointer}.cgysp-color-field input[type=text]{width:100%;min-width:0;border:1px solid #d5dce5;border-radius:6px;padding:6px;font-size:12px;text-transform:uppercase}.cgysp-logo-preview{display:flex;align-items:center;gap:15px;margin-bottom:18px;padding:14px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px}.cgysp-logo-preview img{max-width:180px;max-height:90px;object-fit:contain}.cgysp-logo-preview span{color:#64748b;font-size:12px}.cgysp-empty{padding:28px;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px}.cgysp-page-card{border:1px solid #e2e8f0;border-radius:13px;padding:20px;margin:14px 0;background:#fff}.cgysp-page-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.cgysp-page-title h3{margin:5px 0}.cgysp-page-title small{color:#64748b;font-weight:500;font-size:13px}.cgysp-page-type{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.cgysp-revision-info{font-size:12px;color:#64748b}.cgysp-version-note{padding:12px 14px;background:#f8fafc;border-left:3px solid #9bb4d2;border-radius:5px;margin:12px 0}.cgysp-version-note p{margin-bottom:0}.cgysp-conversation{border-top:1px solid #e8edf2;margin-top:16px;padding-top:15px}.cgysp-chat-item{margin:10px 0;padding:12px 14px;border-radius:10px;background:#f7f9fc}.cgysp-chat-item.is-client{background:#f0f6ff}.cgysp-chat-meta{display:flex;justify-content:space-between;gap:10px;color:#4b5b6e;font-size:12px}.cgysp-chat-item p{margin:7px 0 0;white-space:normal}.cgysp-inline-file{display:inline-block;font-size:12px;margin:8px 8px 0 0;color:#235a91}.cgysp-message-form{margin-top:15px}.cgysp-message-form .cgysp-field{grid-column:1/-1}.cgysp-confirm-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:15px;padding-top:15px;border-top:1px solid #edf0f4}.cgysp-confirm-actions form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cgysp-change-reason{padding:9px 10px;border:1px solid #d7dee7;border-radius:7px;min-width:220px;font:inherit}.cgysp-file-list{display:flex;flex-direction:column;gap:9px}.cgysp-file-row{display:flex;align-items:center;gap:12px;padding:11px;border:1px solid #e4e9ef;border-radius:9px}.cgysp-file-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:8px;background:#edf2f7;color:#44556c;font-size:10px;font-weight:800}.cgysp-file-row>div{flex:1;min-width:0}.cgysp-file-row strong,.cgysp-file-row small{display:block;overflow-wrap:anywhere}.cgysp-file-row small{color:#64748b;font-size:12px}.cgysp-notice{margin:14px 0;padding:12px 15px;background:#eff8f1;border:1px solid #c9e8d0;border-radius:9px;color:#216638}.cgysp-portal-footer{display:flex;justify-content:space-between;gap:12px;color:#8490a0;font-size:12px;padding:16px 5px}.cgysp-invalid{padding:24px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.cgysp-invalid h2{margin-top:0}.cgysp-portal input[type=file]{font-size:13px;max-width:100%}@media(max-width:760px){.cgysp-portal{margin:16px auto;padding:0 10px}.cgysp-portal-header{padding:20px;flex-direction:column}.cgysp-project-code{white-space:normal}.cgysp-panel{padding:18px}.cgysp-form{grid-template-columns:1fr}.cgysp-color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cgysp-section-heading{align-items:flex-start}.cgysp-page-title{flex-direction:column}.cgysp-portal-footer{flex-direction:column}.cgysp-tabs{gap:3px}.cgysp-tabs a{padding:8px;font-size:12px}}
.cgysp-autosave-status{grid-column:1/-1;font-size:12px;color:#64748b;background:#f8fafc;border:1px solid #e8edf3;border-radius:7px;padding:8px 10px}.cgysp-brand-preview{grid-column:1/-1;padding:22px 24px;border-radius:12px;border:1px solid #e2e8f0;background:var(--preview-background,#f4f6f8);color:var(--preview-text,#202833);margin:4px 0 14px}.cgysp-brand-preview h3{font-size:25px;margin:7px 0 8px;color:var(--preview-primary,#173d6a)}.cgysp-brand-preview p{margin:0 0 14px}.cgysp-preview-eyebrow{font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--preview-primary,#173d6a)}.cgysp-preview-cta{display:inline-block;background:var(--preview-accent,#f2a541);color:#202833!important;padding:8px 14px;border-radius:6px;text-decoration:none;font-size:13px;font-weight:700}.cgysp-tree-preview{margin-top:8px;padding:12px 14px;border:1px solid #e4e9ef;border-radius:8px;background:#f8fafc;color:#344256;font-size:13px}.cgysp-tree-preview ul{margin:0;padding-left:19px;list-style:disc}.cgysp-tree-preview ul ul{margin-top:5px;list-style:circle}.cgysp-tree-preview li{margin:4px 0}.cgysp-revision-editor{padding:12px 14px;margin:12px 0;border:1px solid #dcdcde;border-radius:6px;background:#fafafa}.cgysp-revision-editor summary{cursor:pointer;font-weight:600}.cgysp-revision-editor form{margin-top:12px}
.cgysp-tree-preview li[draggable=true]{cursor:grab;padding:3px 5px;border-radius:5px}.cgysp-tree-preview li[draggable=true]:hover{background:#edf3fa}.cgysp-tree-preview li.is-dragging{opacity:.45}.cgysp-tree-preview li.is-drop-target{outline:1px dashed #4776a8;background:#e7f0fb}.cgysp-tree-label:before{content:'↕';display:inline-block;margin-right:7px;color:#91a0b2;font-size:11px}

/* Hide the active WordPress theme header only on the client portal page. */
body.cgysp-portal-page .wp-site-blocks > header,
body.cgysp-portal-page header.wp-block-template-part,
body.cgysp-portal-page .site-header,
body.cgysp-portal-page #masthead,
body.cgysp-portal-page .elementor-location-header,
body.cgysp-portal-page .ast-primary-header-bar,
body.cgysp-portal-page .main-header-bar,
body.cgysp-portal-page .header-main,
body.cgysp-portal-page .site-branding,
body.cgysp-portal-page .wp-block-site-title,
body.cgysp-portal-page .wp-block-navigation:not(.cgysp-tabs) { display:none !important; }
body.cgysp-portal-page .wp-site-blocks { padding-top:0 !important; margin-top:0 !important; }
body.cgysp-portal-page .cgysp-portal { margin-top:24px; }

/* V1.0.3 visual refresh: client project portal */
.cgysp-portal {
  --cgysp-primary: #173d6a;
  --cgysp-accent: #f2a541;
  max-width: 1180px;
  margin-top: 30px;
  margin-bottom: 54px;
  color: #263448;
  font-size: 15px;
  line-height: 1.72;
}
.cgysp-portal-header {
  position: relative;
  overflow: hidden;
  padding: clamp(24px, 4vw, 38px);
  border-color: #dfe7f0;
  border-radius: 20px;
  background: radial-gradient(circle at 100% 0%, rgba(242,165,65,.14), transparent 18rem), linear-gradient(125deg,#f0f5fb 0%,#fff 72%);
  box-shadow: 0 12px 35px rgba(26,49,78,.055);
}
.cgysp-portal-header:after {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  right: -80px;
  bottom: -120px;
  border: 1px solid rgba(23,61,106,.10);
  border-radius: 50%;
  box-shadow: 0 0 0 22px rgba(23,61,106,.025), 0 0 0 44px rgba(23,61,106,.02);
  pointer-events: none;
}
.cgysp-brand-mark { padding: 6px 12px; border-radius: 8px; letter-spacing: .08em; box-shadow: 0 4px 10px rgba(23,61,106,.15); }
.cgysp-portal-header h1 { margin-top: 15px; margin-bottom: 7px; font-weight: 800; letter-spacing: -.035em; }
.cgysp-portal-header p { color: #66778c; font-size: 14px; }
.cgysp-project-code { position: relative; z-index: 1; padding: 9px 12px; border-color: #dfe7f0; color: #50627a; box-shadow: 0 2px 8px rgba(26,49,78,.025); }
.cgysp-tabs { position: sticky; top: 12px; z-index: 10; gap: 5px; padding: 7px; margin: 18px 0 24px; border-color: rgba(221,229,238,.92); background: rgba(248,250,252,.94); box-shadow: 0 7px 20px rgba(27,47,73,.045); backdrop-filter: blur(12px); }
.cgysp-tabs a { padding: 9px 14px; color: #526278; font-size: 13px; transition: color .15s ease, background .15s ease, box-shadow .15s ease; }
.cgysp-tabs a:hover { color: var(--cgysp-primary); background: #e9f0f8; }
.cgysp-panel { padding: clamp(19px, 3vw, 30px); margin: 20px 0; border-color: #e1e8f0; border-radius: 17px; box-shadow: 0 8px 28px rgba(27,47,73,.04); }
.cgysp-section-heading { margin-bottom: 23px; padding-bottom: 15px; border-bottom: 1px solid #edf1f5; }
.cgysp-section-heading h2 { font-size: 21px; font-weight: 750; letter-spacing: -.025em; }
.cgysp-step { width: 36px; height: 36px; border-radius: 11px; background: #eaf1f8; box-shadow: inset 0 0 0 1px rgba(23,61,106,.04); }
.cgysp-status { padding: 5px 10px; background: #f3f6fa; border: 1px solid #e5ebf2; color: #56677d; font-weight: 650; }
.cgysp-form { gap: 17px 20px; }
.cgysp-field { gap: 7px; }
.cgysp-field label { color: #35465d; font-size: 13px; font-weight: 700; }
.cgysp-field input[type=text], .cgysp-field input[type=email], .cgysp-field input[type=url], .cgysp-field input[type=number], .cgysp-field textarea, .cgysp-field select {
  min-height: 42px;
  padding: 10px 12px;
  border-color: #d5dee8;
  border-radius: 9px;
  background: #fcfdff;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.cgysp-field textarea { min-height: 100px; }
.cgysp-field input:focus, .cgysp-field textarea:focus, .cgysp-field select:focus { outline: none; border-color: #6f95bd; box-shadow: 0 0 0 3px rgba(48,103,158,.11); background: #fff; }
.cgysp-button { min-height: 40px; padding: 11px 16px; border-radius: 9px; font-size: 13px; font-weight: 750; box-shadow: 0 3px 8px rgba(23,61,106,.10); transition: transform .15s ease, box-shadow .15s ease, filter .15s ease; }
.cgysp-button:hover { filter: brightness(1.06); box-shadow: 0 6px 13px rgba(23,61,106,.15); transform: translateY(-1px); }
.cgysp-button-secondary { border-color: #d6e0eb; color: #274d76 !important; background: #fff; box-shadow: none; }
.cgysp-button-warning { background: #fff8ee; border-color: #efcf9e; color: #8a4b00 !important; box-shadow: none; }
.cgysp-help, .cgysp-autosave-status { border: 1px solid #e6edf4; border-radius: 9px; background: #f7f9fc; color: #68788e; }
.cgysp-autosave-status { padding: 9px 12px; }
.cgysp-color-field { padding: 11px; border-color: #e1e8f0; border-radius: 11px; background: #fcfdff; }
.cgysp-swatch { height: 70px; border-radius: 8px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.04); }
.cgysp-logo-preview { border-style: solid; border-color: #e1e8f0; border-radius: 12px; background: #fbfcfe; }
.cgysp-brand-preview { border-radius: 14px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.5); }
.cgysp-page-card { margin: 15px 0; padding: clamp(16px, 2.5vw, 23px); border-color: #e1e8f0; border-radius: 14px; box-shadow: 0 3px 12px rgba(27,47,73,.025); }
.cgysp-page-title h3 { font-size: 18px; font-weight: 750; letter-spacing: -.015em; }
.cgysp-page-type { display: inline-block; padding: 3px 7px; border-radius: 5px; background: #f1f5f9; color: #6b7b8f; font-size: 10px; font-weight: 750; }
.cgysp-revision-info { padding: 8px 10px; border-radius: 7px; background: #f8fafc; }
.cgysp-version-note { border-left-color: #6d91b8; background: #f5f8fc; }
.cgysp-conversation { border-top-color: #e8edf3; }
.cgysp-chat-item { padding: 14px 15px; border: 1px solid #e9eef4; border-radius: 12px; background: #f8fafc; }
.cgysp-chat-item.is-client { border-color: #dce9f8; background: #f1f7ff; }
.cgysp-chat-item.is-staff { border-color: #e8edf3; background: #fafbfd; }
.cgysp-chat-meta { color: #66768b; }
.cgysp-change-reason { min-height: 40px; border-color: #d7e0ea; border-radius: 8px; }
.cgysp-file-row { padding: 13px; border-color: #e2e9f1; border-radius: 11px; background: #fff; transition: border-color .15s ease, background .15s ease; }
.cgysp-file-row:hover { border-color: #c9d8e8; background: #fbfdff; }
.cgysp-file-icon { width: 44px; height: 44px; border-radius: 10px; background: #edf3f9; color: #34597f; }
.cgysp-notice { border-radius: 10px; }
.cgysp-empty { border-color: #dbe5ef; border-radius: 12px; background: #f8fafc; }
.cgysp-portal-footer { margin-top: 28px; padding: 18px 5px; border-top: 1px solid #e8edf3; color: #8592a4; }
@media (max-width: 760px) {
  .cgysp-portal { margin-top: 14px; }
  .cgysp-portal-header { border-radius: 15px; }
  .cgysp-tabs { position: static; overflow-x: auto; flex-wrap: nowrap; }
  .cgysp-tabs a { flex: 0 0 auto; }
  .cgysp-section-heading { flex-direction: column; }
  .cgysp-color-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .cgysp-confirm-actions form { width: 100%; }
  .cgysp-change-reason { min-width: 0; width: 100%; }
}

.cgysp-portal .cgysp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.cgysp-portal .cgysp-form-grid>.cgysp-field{min-width:0}@media(max-width:760px){.cgysp-portal .cgysp-form-grid{grid-template-columns:1fr}}
