:root{--gsf-blue:#1a3a8f;--gsf-navy:#0d1b3d;--gsf-green:#1e8a4c;--gsf-red:#c0392b;--gsf-line:#e3e7ee;--gsf-bg:#f4f6fb}
.gsfp-app,.gsfp-app *,.gsfp-login-wrap *,.gsfp-wrap *{box-sizing:border-box}

/* ---------- login ---------- */
.gsfp-login-wrap{min-height:80vh;display:flex;align-items:center;justify-content:center;padding:40px 16px;background:linear-gradient(135deg,#0d1b3d 0%,#1a3a8f 55%,#1e8a4c 130%);border-radius:14px}
.gsfp-login{width:100%;max-width:400px;background:#fff;border-radius:16px;padding:34px 30px 28px;box-shadow:0 20px 60px rgba(0,0,0,.35);text-align:center}
.gsfp-login-logo{width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid var(--gsf-blue);margin:0 auto 10px;display:block}
.gsfp-login h1{font-size:21px;line-height:1.25;margin:6px 0 2px;color:var(--gsf-navy);font-weight:700}
.gsfp-sub{color:#6b7488;margin:0 0 22px;font-size:14px}
.gsfp-field{position:relative;width:100%;margin-bottom:14px}
.gsfp-field input{width:100%;height:48px;padding:0 64px 0 16px;border:1.5px solid #d3d9e6;border-radius:10px;font-size:15px;background:#f8f9fd;outline:none;transition:.2s}
.gsfp-field input:focus{border-color:var(--gsf-blue);background:#fff;box-shadow:0 0 0 3px rgba(26,58,143,.12)}
.gsfp-eye{position:absolute;right:8px;top:8px;height:32px;border:0;background:#e9edf8;color:var(--gsf-blue);border-radius:8px;padding:0 10px;font-size:12px;cursor:pointer;font-weight:600}
.gsfp-forgot{display:block;text-align:right;font-size:13px;color:var(--gsf-blue);margin:-2px 0 16px;text-decoration:none}
.gsfp-btn-login{width:100%;height:48px;border:0;border-radius:10px;background:linear-gradient(90deg,var(--gsf-blue),#2b55c9);color:#fff;font-size:16px;font-weight:700;cursor:pointer;letter-spacing:.3px}
.gsfp-btn-login:hover{filter:brightness(1.08)}
.gsfp-msg{margin-top:10px;font-size:13px;color:var(--gsf-green);min-height:18px}.gsfp-msg.bad{color:var(--gsf-red)}

/* ---------- app shell ---------- */
.gsfp-app{display:flex;min-height:80vh;background:var(--gsf-bg);border-radius:12px;overflow:hidden;border:1px solid var(--gsf-line);font-size:15px;color:#1c2333}
.gsfp-side{width:260px;flex:none;background:var(--gsf-navy);color:#fff}
.gsfp-brand{display:flex;align-items:center;gap:10px;padding:18px 16px;border-bottom:1px solid rgba(255,255,255,.1);font-weight:700;font-size:14px;line-height:1.25}
.gsfp-brand img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid #fff}
.gsfp-nav a{display:flex;align-items:center;gap:10px;padding:13px 18px;color:#cfd7ee;text-decoration:none;font-size:14px;border-left:4px solid transparent}
.gsfp-nav a:hover{background:rgba(255,255,255,.07);color:#fff}
.gsfp-nav a.on{background:rgba(30,138,76,.28);border-left-color:#35d07f;color:#fff;font-weight:600}
.gsfp-nav .ic{width:20px;text-align:center}
.gsfp-badge{background:var(--gsf-red);color:#fff;border-radius:10px;font-style:normal;font-size:11px;padding:1px 7px;margin-left:auto}
.gsfp-main{flex:1;min-width:0;padding:22px 26px}
.gsfp-main h2{margin:0 0 16px;font-size:24px;color:var(--gsf-navy)}
.gsfp-panel{display:none}
.gsfp-burger{display:none;margin-bottom:12px;background:var(--gsf-navy);color:#fff;border:0;padding:9px 14px;border-radius:8px}
.gsfp-card{background:#fff;border:1px solid var(--gsf-line);border-radius:12px;padding:18px 20px;margin-bottom:18px;box-shadow:0 1px 3px rgba(20,30,60,.05)}
.gsfp-card h3{margin:0 0 12px;font-size:17px}
.gsfp-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gsfp-grid .full{grid-column:1/-1}
.gsfp-app label{display:block;font-weight:600;font-size:13px;color:#39435c}
.gsfp-app input:not([type=checkbox]):not([type=color]):not([type=file]),.gsfp-app textarea,.gsfp-app select{width:100%;margin-top:5px;padding:10px 12px;border:1.5px solid #d3d9e6;border-radius:8px;font-size:14px;background:#fff;font-family:inherit}
.gsfp-app input:focus,.gsfp-app textarea:focus,.gsfp-app select:focus{outline:none;border-color:var(--gsf-blue)}
.gsfp-inline{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}.gsfp-inline input,.gsfp-inline select{width:auto!important;min-width:220px;margin-top:0!important}
.gsfp-muted{color:#6b7488;font-size:13px}
.gsfp-scroll{overflow-x:auto}
.gsfp-btn{display:inline-block;background:var(--gsf-blue);color:#fff!important;border:0;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;line-height:1.2}
.gsfp-btn:hover{filter:brightness(1.1)}
.gsfp-btn.sm{padding:6px 12px;font-size:12.5px}
.gsfp-btn.alt{background:#e7ecf8;color:var(--gsf-blue)!important}
.gsfp-btn.green{background:var(--gsf-green)}.gsfp-btn.red{background:#fbe9e7;color:var(--gsf-red)!important}
.gsfp-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:14px}
.gsfp-table th{background:#eef1f9;text-align:left;padding:10px;font-size:12.5px;text-transform:uppercase;letter-spacing:.4px;color:#46506b}
.gsfp-table td{padding:10px;border-bottom:1px solid var(--gsf-line);vertical-align:middle}
.gsfp-av{width:40px;height:40px;object-fit:cover;border-radius:6px}
.gsfp-code,.gsfp-app code{background:#eef1f9;padding:4px 8px;border-radius:6px;font-size:13px;word-break:break-all}
.gsfp-callout{background:#eaf7f0;border-left:4px solid var(--gsf-green);padding:10px 14px;border-radius:6px}
.gsfp-pill{display:inline-block;background:#e7ecf8;color:var(--gsf-blue);border-radius:12px;padding:2px 10px;font-size:12px;font-weight:600}
.gsfp-pill.pub{background:#dcf5e7;color:#0f7a3e}.gsfp-pill.draft{background:#fff3cd;color:#8a6500}
.gsfp-up{display:flex;align-items:center;gap:12px;margin:6px 0}.gsfp-up.busy{opacity:.5}
.gsfp-prev{width:110px;height:110px;object-fit:cover;border-radius:8px;border:1px solid var(--gsf-line)}
.gsfp-checks label{display:inline-block;margin:0 16px 8px 0;font-weight:500}
.gsfp-tabs{margin-bottom:14px}.gsfp-tabs a{display:inline-block;padding:8px 16px;border-radius:20px;background:#e7ecf8;color:var(--gsf-blue);text-decoration:none;margin-right:6px;font-weight:600;font-size:13px}.gsfp-tabs a.on{background:var(--gsf-blue);color:#fff}

/* ---------- editor ---------- */
.gsfp-row{margin-bottom:20px}
.gsfp-row>label{margin-bottom:4px}
.gsfp-big{font-size:20px!important;font-weight:600}
.gsfp-fmt{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;align-items:center}
.gsfp-fmt select{width:auto!important;margin:0!important;padding:5px 6px!important;font-size:12px!important}
.gsfp-fmt button{border:1px solid #d3d9e6;background:#fff;border-radius:6px;width:30px;height:30px;cursor:pointer;font-size:13px}
.gsfp-fmt button.on{background:var(--gsf-blue);color:#fff}
.gsfp-fmt .f-color{width:34px;height:30px;padding:0;border:1px solid #d3d9e6;border-radius:6px;background:#fff}
.gsfp-reftable{width:100%;border-collapse:collapse;background:#e9e9e9;margin-bottom:8px}
.gsfp-reftable th,.gsfp-reftable td{border:1px solid #cfcfcf;padding:6px 8px;text-align:left}
.gsfp-reftable input{margin:0!important}
.gsfp-reftable .sn{text-align:center;font-weight:700}
.gsfp-x{border:0;background:#c0392b;color:#fff;border-radius:4px;cursor:pointer;width:26px;height:26px}
.gsfp-note{background:#f2f4f9;border-left:4px solid var(--gsf-blue);padding:10px 14px;font-size:13px;font-style:italic;color:#46506b}
.gsfp-tags{border:1.5px solid #d3d9e6;border-radius:8px;padding:8px;display:flex;flex-wrap:wrap;gap:6px;background:#fff}
.gsfp-tags .gsfp-taginput{flex:1;min-width:160px;border:0!important;margin:0!important;padding:6px!important}
.gsfp-chip,.gsfp-tag{display:inline-block;background:#000;color:#fff;border-radius:0;padding:6px 12px;font-size:13px}
.gsfp-chip b{cursor:pointer;margin-left:6px;opacity:.8}
.gsfp-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--gsf-line)}
.gsfp-statusbar{margin-bottom:12px}.gsfp-view{margin-left:10px;font-size:13px}

/* ---------- article (public) ---------- */
.gsfp-wrap{max-width:860px;margin:30px auto;padding:0 16px;color:#1c2333}
.gsfp-article{background:#fff;padding:30px 34px}
.gsfp-head{text-align:center;margin-bottom:22px}
.gsfp-logo-c{width:96px!important;height:96px;border-radius:50%;object-fit:cover;border:3px solid var(--gsf-blue);display:block;margin:0 auto 8px}
.gsfp-brand-t{font-style:italic;color:#1a3a8f;font-size:24px;font-weight:700;font-family:Georgia,'Times New Roman',serif}
.gsfp-dl{margin-top:14px;background:#1e8a4c;color:#fff;border:0;border-radius:6px;padding:11px 26px;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 2px 6px rgba(30,138,76,.35)}
.gsfp-dl:disabled{opacity:.6}
.gsfp-title{font-size:34px;line-height:1.2;margin:10px 0 8px;color:#0d1b3d}
.gsfp-subtitle{font-size:19px;font-weight:400;color:#47506a;margin:0 0 12px}
.gsfp-meta{font-size:14px;color:#555;margin-bottom:18px;padding-bottom:12px;border-bottom:2px solid #eee}
.gsfp-meta span{font-weight:600}.gsfp-meta i{margin:0 10px;font-style:normal;color:#999}
.gsfp-fig{margin:0 0 20px}.gsfp-fig img{width:100%;height:auto;display:block}
.gsfp-fig figcaption{font-size:13px;color:#666;font-style:italic;padding-top:6px;text-align:center}
.gsfp-quote{border-left:5px solid var(--gsf-blue);background:#f5f7fc;margin:0 0 20px;padding:14px 20px;font-size:20px;font-style:italic;color:#1a3a8f}
.gsfp-body{font-size:17px;line-height:1.75}.gsfp-body img{max-width:100%;height:auto}
.gsfp-video{width:100%;margin:16px 0}
.gsfp-h3{margin:26px 0 10px;font-size:19px}
.gsfp-refs{width:100%;border-collapse:collapse;font-size:14px}
.gsfp-refs th{background:#d9d9d9;text-align:left}.gsfp-refs td,.gsfp-refs th{border:1px solid #c8c8c8;padding:8px 10px;word-break:break-word}.gsfp-refs tbody td{background:#efefef}
.gsfp-gsfnote{font-style:italic;font-size:13.5px;color:#444;background:#f5f5f5;padding:10px 14px;border-left:4px solid #1a3a8f;margin:18px 0}
.gsfp-tagrow{margin:18px 0}.gsfp-tag{margin:0 8px 8px 0}
.gsfp-author{border:3px solid #1e8a4c;border-radius:14px;padding:22px;margin:28px 0 6px;text-align:center;background:#fff}
.gsfp-author-img{width:auto;height:auto;max-width:min(220px,80%);max-height:260px;object-fit:contain;border-radius:0;display:block;margin:0 auto 10px}
.gsfp-author h4{margin:6px 0 2px;font-size:20px}.gsfp-author-mail{color:#555;font-size:14px;margin-bottom:6px}
.gsfp-author-links a{margin:0 6px;font-size:13px}
.gsfp-author-bio{text-align:justify;font-size:15px;line-height:1.65;margin:12px 0}

/* ---------- cards & comments ---------- */
.gsfp-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px}
.gsfp-c{background:#fff;border:1px solid #e3e7ee;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.gsfp-c-img img{width:100%;height:170px;object-fit:cover;display:block}
.gsfp-c-b{padding:14px}.gsfp-c-cat{display:inline-block;background:#1a3a8f;color:#fff;font-size:11px;padding:2px 9px;border-radius:3px;text-transform:uppercase;letter-spacing:.4px}
.gsfp-c h3{font-size:17px;line-height:1.3;margin:8px 0}.gsfp-c h3 a{color:#0d1b3d;text-decoration:none}
.gsfp-c-m{font-size:12.5px;color:#777}
/* ---------- reader comments: professional boxes, author picture, like and reply ---------- */
.gsfp-comments{margin-top:30px;padding:28px 34px;background:linear-gradient(180deg,#f7f9fe,#f2f5fb);border:1px solid #e3e9f5;border-radius:14px}
.gsfp-cm-head{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding-bottom:12px;border-bottom:2px solid #1a3a8f}
.gsfp-cm-head h3{margin:0;font-family:Georgia,serif;font-size:22px;color:#0d1b3d}
.gsfp-cm-count{min-width:26px;padding:3px 9px;border-radius:14px;background:#1a3a8f;color:#fff;font:700 13px Arial,sans-serif;text-align:center}
.gsfp-cm-list{display:flex;flex-direction:column;gap:16px}
.gsfp-cm-thread{display:flex;flex-direction:column;gap:10px}
.gsfp-cm{display:flex;gap:14px;padding:16px 18px;background:#fff;border:1px solid #e0e7f4;border-left:4px solid #c3cfe9;border-radius:12px;box-shadow:0 2px 10px rgba(13,27,61,.05);transition:box-shadow .2s,transform .2s}
.gsfp-cm:hover{box-shadow:0 6px 18px rgba(13,27,61,.09)}
.gsfp-cm.by-author{border-left-color:#c9a227;background:linear-gradient(135deg,#fffdf4,#fff 55%)}
.gsfp-cm.is-reply{padding:13px 16px}
.gsfp-cm-replies{display:flex;flex-direction:column;gap:10px;margin-left:34px;padding-left:16px;border-left:2px dashed #cfd9ee}
.gsfp-cm-av{flex:0 0 48px;width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 0 0 2px #dbe3f4;background:#e8edf8}
.is-reply .gsfp-cm-av{flex-basis:40px;width:40px;height:40px}
.by-author>.gsfp-cm-av{box-shadow:0 0 0 2px #c9a227}
.gsfp-cm-ini{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a3a8f,#2b55c9);color:#fff;font:700 19px Arial,sans-serif}
.gsfp-cm-body{flex:1;min-width:0}
.gsfp-cm-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px}
.gsfp-cm-name,.gsfp-cm-name a{color:#0d1b3d;font:700 15.5px Arial,sans-serif;text-decoration:none}
.gsfp-cm-name a:hover{text-decoration:underline}
.gsfp-cm-badge{display:inline-block;padding:2px 9px;border-radius:12px;background:linear-gradient(135deg,#c9a227,#e2bf4f);color:#3b2d00;font:700 10.5px Arial,sans-serif;letter-spacing:.6px;text-transform:uppercase}
.gsfp-cm-date{margin-left:auto;color:#7a86a6;font:12.5px Arial,sans-serif}
.gsfp-cm-text{color:#27304a;font:15.5px/1.7 Georgia,serif;overflow-wrap:anywhere}
.gsfp-cm-act{display:flex;gap:6px;margin-top:10px}
.gsfp-cm-act button{display:inline-flex;align-items:center;gap:6px;margin:0;padding:6px 13px;border:1px solid #dbe3f4;border-radius:20px;background:#f6f8fd;color:#3b4a73;font:600 13px Arial,sans-serif;cursor:pointer;transition:all .15s}
.gsfp-cm-act button:hover{background:#e7ecf8;border-color:#b9c7e8;color:#1a3a8f}
.gsfp-cm-like b{font-weight:700;color:#c0392b}.gsfp-cm-like b:empty{display:none}
.gsfp-cm-like.on{background:#fff0ee;border-color:#f3b9b2;color:#c0392b}.gsfp-cm-like.on svg{fill:#c0392b;stroke:#c0392b}
.gsfp-cm-like:active svg{transform:scale(1.35)}.gsfp-cm-like svg{transition:transform .15s}
.gsfp-cm-rbox{margin-top:12px}.gsfp-cm-rbox[hidden]{display:none}
.gsfp-cm-new{margin-top:22px;padding:20px;background:#fff;border:1px solid #e0e7f4;border-radius:12px}
.gsfp-cm-new h4{margin:0 0 12px;font-family:Georgia,serif;font-size:18px;color:#0d1b3d}
.gsfp-cform input:not(.gsfp-hp),.gsfp-cform textarea{display:block;width:100%;margin:0 0 10px;padding:10px 12px;border:1.5px solid #d3d9e6;border-radius:8px;font-size:15px;font-family:inherit;background:#fbfcff;box-sizing:border-box}
.gsfp-cform input:focus,.gsfp-cform textarea:focus{outline:0;border-color:#2b55c9;box-shadow:0 0 0 3px rgba(43,85,201,.14);background:#fff}
.gsfp-cf-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gsfp-cf-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.gsfp-cm-cancel{margin:0;padding:9px 16px;border:1px solid #d3d9e6;border-radius:8px;background:#fff;color:#47506a;font:600 13px Arial,sans-serif;cursor:pointer}
.gsfp-rform{padding:14px;background:#f6f8fd;border:1px solid #dbe3f4;border-radius:10px}
@media(max-width:600px){.gsfp-cf-row{grid-template-columns:1fr}.gsfp-cm{padding:13px}.gsfp-cm-replies{margin-left:14px;padding-left:10px}.gsfp-cm-date{margin-left:0;width:100%}}
/* portal > Comments record */
.gsfp-cstats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.gsfp-cstats div{padding:14px;border:1px solid #dfe5f3;border-radius:10px;background:#fff;text-align:center}
.gsfp-cstats b{display:block;font:700 24px Georgia,serif;color:#1a3a8f}.gsfp-cstats span{color:#5b6685;font:600 12px Arial,sans-serif}
.gsfp-ccard.by-author{border-left:4px solid #c9a227}
.gsfp-ccard-top{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.gsfp-ccard-who{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.gsfp-ccard-on{font-size:13px;color:#5b6685;margin-bottom:6px}
.gsfp-cm-tag{display:inline-block;padding:1px 8px;border-radius:10px;background:#e7ecf8;color:#1a3a8f;font:700 11px Arial,sans-serif}
.gsfp-ccard-text{padding:10px 12px;border-radius:8px;background:#f6f8fd;color:#27304a;line-height:1.6;margin-bottom:8px}
.gsfp-ccard-meta{display:flex;gap:16px;margin-bottom:10px;color:#5b6685;font:600 13px Arial,sans-serif}
.gsfp-hp{position:absolute;left:-9999px;opacity:0}
.gsfp-empty{color:#777;font-style:italic}

@media(max-width:820px){
  .gsfp-app{flex-direction:column}.gsfp-side{width:100%;display:none}.gsfp-side.open{display:block}.gsfp-burger{display:inline-block}
  .gsfp-main{padding:16px}.gsfp-grid{grid-template-columns:1fr}.gsfp-article,.gsfp-comments{padding:20px 16px}.gsfp-title{font-size:26px}
}
@media print{.gsfp-dl,.gsfp-comments{display:none}}

.gsfp-body p,.gsfp-body li,.gsfp-body h1,.gsfp-body h2,.gsfp-body h3,.gsfp-body h4,.gsfp-quote,.gsfp-refs tr{page-break-inside:avoid;break-inside:avoid}
.gsfp-body p{margin:0 0 1em;orphans:3;widows:3}
.gsfp-title,.gsfp-subtitle{font-family:Georgia,'Times New Roman',serif}

/* ---------- PDF layout ---------- */
.gsfp-pdfwrap{position:absolute;left:-10000px;top:0;width:602px;background:#fff}
.gsfp-pdfmode{width:602px;max-width:none;margin:0;padding:0;background:#fff;color:#111;font-family:Georgia,'Times New Roman',serif}
.gsfp-pdfmode .gsfp-head{text-align:center;border-bottom:3px solid #1e8a4c;padding-bottom:14px;margin-bottom:22px}
.gsfp-pdfmode .gsfp-logo-c{width:84px!important;height:84px}
.gsfp-pdfmode .gsfp-brand-t{font-size:22px;margin-top:2px}
.gsfp-pdf-cat{display:inline-block;background:#1e8a4c;color:#fff;font:700 11px/1 Arial,sans-serif;letter-spacing:1.5px;text-transform:uppercase;padding:7px 14px;margin-top:12px}
.gsfp-pdfmode .gsfp-title{margin-top:0}
.gsfp-pdfmode .gsfp-meta{font-family:Arial,sans-serif;font-size:12px;border-bottom:1px solid #ccc}
.gsfp-pdfmode .gsfp-body{font-size:14px;line-height:1.7}

.gsfp-pdfmode .gsfp-quote{background:#f5f7fc}
.gsfp-pdfmode .gsfp-refs{font-size:12px}
.gsfp-pdfmode .gsfp-author{margin-bottom:0}

.gsfp-body table{border-collapse:collapse;width:100%;margin:14px 0}.gsfp-body td,.gsfp-body th{border:1px solid #999;padding:8px;vertical-align:top}.gsfp-body th{background:#eee}
.gsfp-body .gsfp-dc{float:left}.gsfp-body p:after{content:'';display:table;clear:none}

.gsfp-danger{border:1px solid #f1c3bd;border-left:5px solid #c0392b;background:#fff8f7}.gsfp-danger h3{color:#c0392b}
.gsfp-btn.danger{background:#c0392b;color:#fff!important}.gsfp-btn.danger:hover{background:#a52f22}
.gsfp-cchk{float:right;font-weight:500;font-size:12.5px}.gsfp-table td input[type=checkbox],.gsfp-table th input[type=checkbox]{width:auto!important;margin:0!important}

/* =====================================================================
   v2 DESIGN – dashboard, sidebar, tables, modal, toasts, login
   ===================================================================== */
.gsfp-i{width:19px;height:19px;flex:none}

/* ---------- login ---------- */
.gsfp-login-wrap{position:relative;overflow:hidden;min-height:86vh;background:radial-gradient(circle at 15% 20%,rgba(53,208,127,.35),transparent 40%),radial-gradient(circle at 85% 80%,rgba(43,85,201,.55),transparent 45%),linear-gradient(135deg,#071230 0%,#10275f 55%,#0f4a3d 120%)}
.gsfp-login-wrap:before,.gsfp-login-wrap:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.05)}
.gsfp-login-wrap:before{width:420px;height:420px;left:-120px;bottom:-160px}.gsfp-login-wrap:after{width:300px;height:300px;right:-80px;top:-100px}
.gsfp-login{position:relative;z-index:1;max-width:420px;padding:40px 34px 30px;border-radius:22px;border-top:5px solid #1e8a4c;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.gsfp-login-logo{width:104px;height:104px;border:4px solid #fff;box-shadow:0 0 0 3px var(--gsf-blue),0 10px 24px rgba(26,58,143,.35)}
.gsfp-login h1{font-family:Georgia,serif;font-size:22px;background:linear-gradient(90deg,#1a3a8f,#1e8a4c);-webkit-background-clip:text;background-clip:text;color:transparent}
.gsfp-btn-login{transition:.2s;box-shadow:0 8px 20px rgba(26,58,143,.35)}.gsfp-btn-login:hover{transform:translateY(-2px)}

/* ---------- shell ---------- */
.gsfp-app{background:#eef1f8;border:0;border-radius:20px;box-shadow:0 20px 60px rgba(13,27,61,.18);position:relative}
.gsfp-side{width:268px;background:linear-gradient(185deg,#0a1535 0%,#11296a 62%,#0e4a3c 140%);display:flex;flex-direction:column}
.gsfp-brand{padding:22px 18px;gap:12px;border-bottom:1px solid rgba(255,255,255,.08);font-size:15px}
.gsfp-brand img{width:48px;height:48px;border:2px solid rgba(255,255,255,.9);box-shadow:0 0 0 3px rgba(53,208,127,.5)}
.gsfp-brand small{display:block;font-weight:500;font-size:11px;opacity:.65;letter-spacing:.6px;text-transform:uppercase;margin-top:2px}
.gsfp-nav{padding:10px 12px 18px;flex:1}
.gsfp-navgroup{font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;color:rgba(255,255,255,.4);padding:16px 10px 6px;font-weight:700}
.gsfp-nav a{border-left:0;border-radius:11px;padding:11px 12px;margin-bottom:3px;gap:12px;font-weight:500;transition:.15s;position:relative}
.gsfp-nav a:hover{background:rgba(255,255,255,.08);transform:translateX(2px)}
.gsfp-nav a.on{background:linear-gradient(90deg,#1e8a4c,#25a85c);color:#fff;box-shadow:0 6px 16px rgba(30,138,76,.4)}
.gsfp-nav .gsfp-logout{margin-top:14px;color:#ffb3a8}.gsfp-nav .gsfp-logout:hover{background:rgba(192,57,43,.25);color:#fff}
.gsfp-badge{background:#ff5a47;box-shadow:0 0 0 3px rgba(255,90,71,.25)}
.gsfp-main{padding:0 28px 30px;background:transparent}
.gsfp-top{display:flex;align-items:center;gap:14px;padding:20px 0 18px;position:sticky;top:0;z-index:5;background:linear-gradient(#eef1f8 75%,rgba(238,241,248,0))}
.gsfp-top h1{margin:0;font-size:25px;color:var(--gsf-navy);line-height:1.1}
.gsfp-date{font-size:12.5px;color:#7a849c}
.gsfp-user{margin-left:auto;display:flex;align-items:center;gap:10px;background:#fff;border-radius:40px;padding:6px 16px 6px 6px;box-shadow:0 2px 10px rgba(13,27,61,.08);font-weight:600;font-size:13.5px}
.gsfp-user small{display:block;font-weight:500;font-size:11px;color:#8590a8}
.gsfp-uav{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#1a3a8f,#1e8a4c);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
.gsfp-burger{display:none;margin:0;background:#fff;color:var(--gsf-navy);border:0;padding:9px 13px;border-radius:10px;font-size:18px;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.gsfp-card{border:0;border-radius:16px;padding:22px 24px;box-shadow:0 4px 22px rgba(13,27,61,.07)}
.gsfp-card h3{font-size:17px;color:var(--gsf-navy);display:flex;align-items:center;gap:10px}
.gsfp-count{background:#e7ecf8;color:var(--gsf-blue);font-size:12px;border-radius:12px;padding:2px 10px;font-weight:700}
.gsfp-btn{border-radius:10px;box-shadow:0 3px 10px rgba(26,58,143,.18);transition:.15s}.gsfp-btn:hover{transform:translateY(-1px)}
.gsfp-btn.alt,.gsfp-btn.red{box-shadow:none}
.gsfp-btn.green{background:linear-gradient(90deg,#1e8a4c,#25a85c);box-shadow:0 3px 10px rgba(30,138,76,.3)}

/* ---------- dashboard ---------- */
.gsfp-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#fff;border-radius:20px;padding:30px 34px;margin-bottom:20px;background:radial-gradient(circle at 90% 20%,rgba(53,208,127,.45),transparent 45%),linear-gradient(120deg,#0d1b3d,#1a3a8f 60%,#1e8a4c 130%);box-shadow:0 14px 34px rgba(26,58,143,.3)}
.gsfp-hero h2{margin:0 0 6px;font-size:27px;color:#fff;font-family:Georgia,serif}.gsfp-hero p{margin:0 0 16px;opacity:.85}
.gsfp-qa{display:flex;flex-wrap:wrap;gap:10px}
.gsfp-qa button{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:10px;padding:9px 16px;font-weight:600;cursor:pointer;font-size:13.5px;backdrop-filter:blur(4px);transition:.15s}
.gsfp-qa button:hover{background:#fff;color:#1a3a8f}
.gsfp-hero-logo{width:104px;height:104px;border-radius:50%;object-fit:cover;border:4px solid rgba(255,255,255,.9);box-shadow:0 8px 24px rgba(0,0,0,.35);flex:none}
.gsfp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:20px}
.gsfp-stat{background:#fff;border-radius:16px;padding:18px;display:flex;align-items:center;gap:14px;box-shadow:0 4px 22px rgba(13,27,61,.07);cursor:pointer;transition:.18s;border-bottom:4px solid transparent}
.gsfp-stat:hover{transform:translateY(-4px);box-shadow:0 10px 28px rgba(13,27,61,.14)}
.gsfp-stat .ico{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;flex:none}
.gsfp-stat .ico svg{width:24px;height:24px}
.gsfp-stat b{display:block;font-size:28px;line-height:1;color:var(--gsf-navy)}.gsfp-stat small{color:#7a849c;font-size:12.5px}
.gsfp-stat.blue .ico{background:linear-gradient(135deg,#2b55c9,#1a3a8f)}.gsfp-stat.blue{border-color:#2b55c9}
.gsfp-stat.green .ico{background:linear-gradient(135deg,#25a85c,#1e8a4c)}.gsfp-stat.green{border-color:#25a85c}
.gsfp-stat.orange .ico{background:linear-gradient(135deg,#f5a524,#e67e22)}.gsfp-stat.orange{border-color:#f5a524}
.gsfp-stat.purple .ico{background:linear-gradient(135deg,#8e5cf7,#6c3fd1)}.gsfp-stat.purple{border-color:#8e5cf7}
.gsfp-stat.red .ico{background:linear-gradient(135deg,#ff6b57,#c0392b)}.gsfp-stat.red{border-color:#ff6b57}
.gsfp-stat.teal .ico{background:linear-gradient(135deg,#1fb5b0,#12857f)}.gsfp-stat.teal{border-color:#1fb5b0}
.gsfp-dgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.gsfp-dgrid .gsfp-card{margin-bottom:0}
.gsfp-h3b{margin-top:24px!important}
.gsfp-bars{display:flex;align-items:flex-end;gap:14px;height:190px;padding-top:10px}
.gsfp-bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.gsfp-bar i{display:block;width:100%;max-width:48px;border-radius:9px 9px 0 0;background:linear-gradient(180deg,#2b55c9,#1a3a8f)}
.gsfp-bar em{font-style:normal;font-size:12px;font-weight:700;color:#1a3a8f;margin-bottom:4px}.gsfp-bar span{font-size:12px;color:#7a849c;margin-top:6px}
.gsfp-hb{display:flex;align-items:center;gap:12px;margin-bottom:13px;font-size:13.5px}.gsfp-hb>span{width:120px;flex:none;font-weight:600;color:#39435c}
.gsfp-hb>div{flex:1;height:12px;background:#eef1f8;border-radius:8px;overflow:hidden}.gsfp-hb i{display:block;height:100%;border-radius:8px;min-width:4px}
.gsfp-hb i.c0{background:linear-gradient(90deg,#2b55c9,#1a3a8f)}.gsfp-hb i.c1{background:linear-gradient(90deg,#25a85c,#1e8a4c)}.gsfp-hb i.c2{background:linear-gradient(90deg,#f5a524,#e67e22)}.gsfp-hb i.c3{background:linear-gradient(90deg,#8e5cf7,#6c3fd1)}
.gsfp-hb b{width:28px;text-align:right}
.gsfp-li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #eef1f8}.gsfp-li:last-child{border:0}
.gsfp-li .th{width:46px;height:46px;border-radius:10px;overflow:hidden;background:#e7ecf8;flex:none;display:flex;align-items:center;justify-content:center;color:#1a3a8f;font-weight:700}
.gsfp-li .th.round{border-radius:50%}.gsfp-li .th img{width:100%;height:100%;object-fit:cover}
.gsfp-li .tx{flex:1;min-width:0}.gsfp-li .tx b{display:block;font-size:14px;color:#1c2333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gsfp-li .tx small{color:#7a849c;font-size:12.5px}

/* ---------- tables, avatars, action buttons ---------- */
.gsfp-table{border-collapse:separate;border-spacing:0}
.gsfp-table th{background:#f3f6fd;border-bottom:2px solid #e3e9f6;color:#5a6684;font-size:11.5px}.gsfp-table th:first-child{border-radius:10px 0 0 0}.gsfp-table th:last-child{border-radius:0 10px 0 0}
.gsfp-table td{border-bottom:1px solid #eef1f8;padding:12px 10px}.gsfp-table tbody tr:hover td{background:#f8faff}
.gsfp-table .c{width:42px;text-align:center}.gsfp-table .r{text-align:right;white-space:nowrap}
.gsfp-table input[type=checkbox]{width:17px!important;height:17px;accent-color:#1a3a8f;cursor:pointer}
.gsfp-avs{width:48px;height:48px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#1a3a8f,#1e8a4c);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;box-shadow:0 2px 8px rgba(13,27,61,.2)}
.gsfp-avs img{width:100%;height:100%;object-fit:cover}.gsfp-avs i{font-style:normal}
.gsfp-thumb{width:64px;height:46px;border-radius:8px;overflow:hidden;background:#e7ecf8}.gsfp-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.gsfp-idpill{background:#e6f6ec;color:#127a3c;font-weight:700;border-radius:20px;padding:4px 11px;font-size:12px;letter-spacing:.3px;white-space:nowrap}
.gsfp-tg{display:block;color:#8590a8;font-weight:400;font-size:11.5px;margin-top:2px}
.gsfp-ib{width:36px;height:36px;border:0;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:#e9eefb;color:#1a3a8f;transition:.15s;text-decoration:none;vertical-align:middle}
.gsfp-ib svg{width:17px;height:17px}.gsfp-ib:hover{transform:translateY(-2px);box-shadow:0 5px 12px rgba(13,27,61,.18)}
.gsfp-ib.del{background:#fdecea;color:#c0392b}.gsfp-ib.view{background:#e6f6ec;color:#127a3c}
.gsfp-empty{text-align:center;padding:24px!important;color:#8590a8}
.gsfp-bulkbar{display:flex;align-items:center;gap:14px;background:linear-gradient(90deg,#e9eefb,#f3f6fd);border:1px solid #d3dcf2;border-radius:12px;padding:10px 16px;margin:14px 0 4px;font-size:14px;color:#1a3a8f}
.gsfp-danger{background:#fff;border-left:5px solid #c0392b!important}

/* ---------- modal & toast ---------- */
.gsfp-modal{position:fixed;inset:0;background:rgba(7,18,48,.6);backdrop-filter:blur(3px);z-index:99999;align-items:center;justify-content:center;padding:16px}
.gsfp-modal-box{background:#fff;border-radius:18px;padding:28px;max-width:430px;width:100%;box-shadow:0 30px 80px rgba(0,0,0,.4);animation:gsfpPop .18s ease}
.gsfp-modal-box h3{margin:0 0 8px;font-size:20px;color:#c0392b}.gsfp-modal-box p{color:#46506b;margin:0 0 14px}
.gsfp-modal-box input{width:100%;padding:11px 12px;border:1.5px solid #d3d9e6;border-radius:9px;margin-bottom:14px;font-size:15px;letter-spacing:1px}
.gsfp-modal-btns{display:flex;justify-content:flex-end;gap:10px}.gsfp-modal-btns .gsfp-btn:disabled{opacity:.4;cursor:not-allowed}
@keyframes gsfpPop{from{transform:scale(.92);opacity:0}to{transform:none;opacity:1}}
.gsfp-toast{position:fixed;right:22px;bottom:22px;z-index:100000;background:#0d1b3d;color:#fff;padding:13px 20px;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.35);font-size:14px;opacity:0;transform:translateY(14px);transition:.3s;border-left:5px solid #25a85c}
.gsfp-toast.bad{border-color:#ff5a47}.gsfp-toast.in{opacity:1;transform:none}

/* ---------- editor polish ---------- */
.gsfp-row>label{text-transform:uppercase;letter-spacing:.6px;font-size:11.5px;color:#5a6684}
.gsfp-ed.gsfp-card{padding:26px 28px}

@media(max-width:900px){
  .gsfp-dgrid{grid-template-columns:1fr}.gsfp-hero{flex-direction:column-reverse;align-items:flex-start;padding:22px}
  .gsfp-main{padding:0 14px 20px}.gsfp-user span:not(.gsfp-uav){display:none}.gsfp-user{padding:4px}
  .gsfp-side{position:fixed;left:0;top:0;bottom:0;width:272px;z-index:9999;transform:translateX(-105%);transition:.25s;display:flex}
  .gsfp-side.open{transform:none}.gsfp-burger{display:inline-block}.gsfp-app{display:block}
}

.gsfp-yreport{background:#fff;padding:6px 4px}.gsfp-yreport h3{font-size:20px;margin-bottom:14px}.gsfp-yreport h4{margin:22px 0 4px;color:#1a3a8f;font-size:15px}
.gsfp-yreport .gsfp-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.gsfp-yreport .gsfp-stat{cursor:default;padding:14px}.gsfp-yreport .gsfp-stat:hover{transform:none}

/* =====================================================================
   v3 – pagination, category grids, author PDF, certificate, sidebar
   ===================================================================== */
.pg-hide{display:none!important}
.gsfp-pager{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;margin-top:18px}.gsfp-pager:empty{display:none}
.gsfp-pager .pgb{min-width:38px;height:38px;border:1px solid #d3dcf2;background:#fff;color:#1a3a8f;border-radius:10px;cursor:pointer;font-weight:700;padding:0 13px;font-size:13.5px;transition:.15s}
.gsfp-pager .pgb:hover:not(:disabled):not(.cur){background:#eef2fb}
.gsfp-pager .pgb.cur{background:linear-gradient(135deg,#1a3a8f,#2b55c9);color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(26,58,143,.3)}
.gsfp-pager .pgb:disabled{opacity:.4;cursor:not-allowed}.gsfp-pager .el{color:#8590a8}
.gsfp-pager .pgi{flex-basis:100%;text-align:center;font-size:12.5px;color:#7a849c;margin-top:2px}
.gsfp-btnrow{display:flex;flex-wrap:wrap;gap:8px}
.gsfp-authfilter{margin-bottom:8px!important}

/* sidebar fits its text */
.gsfp-side{width:max-content;min-width:196px;max-width:236px;flex:none}
.gsfp-brand{padding:18px 14px;font-size:13.5px;gap:10px}.gsfp-brand img{width:42px;height:42px}
.gsfp-nav{padding:8px 10px 16px}.gsfp-nav a{white-space:nowrap;padding:10px 12px;font-size:13.5px}.gsfp-navgroup{padding:14px 8px 5px}

/* public category / latest blocks */
.gsfp-wide{max-width:1180px}
.gsfp-cathead{display:flex;align-items:center;gap:16px;margin-bottom:26px;padding-bottom:16px;border-bottom:3px solid #1e8a4c}
.gsfp-cathead img{width:68px;height:68px;border-radius:50%;object-fit:cover;border:3px solid #1a3a8f}
.gsfp-cathead h1{margin:0;font-size:30px;color:#0d1b3d;font-family:Georgia,serif}.gsfp-cathead p{margin:2px 0 0;color:#6b7488;font-size:14px}
.gsfp-block{margin:10px 0 24px}
.gsfp-cards{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:22px}
.gsfp-c{display:flex;flex-direction:column;background:#fff;border:1px solid #e3e7ee;border-radius:14px;overflow:hidden;transition:.2s;box-shadow:0 2px 10px rgba(13,27,61,.05)}
.gsfp-c:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(13,27,61,.14)}
.gsfp-c-img{position:relative;display:block;aspect-ratio:16/10;background:linear-gradient(135deg,#1a3a8f,#1e8a4c);overflow:hidden}
.gsfp-c-img img{width:100%;height:100%;object-fit:cover;display:block;transition:.4s}.gsfp-c:hover .gsfp-c-img img{transform:scale(1.05)}
.gsfp-c-img .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.85);font-size:34px;font-weight:700;letter-spacing:3px;font-family:Georgia,serif}
.gsfp-c-cat{position:absolute;left:12px;top:12px;background:#1a3a8f;color:#fff;font-size:11px;padding:4px 10px;border-radius:4px;text-transform:uppercase;letter-spacing:.6px;font-weight:700}
.gsfp-c-b{padding:16px 16px 14px;flex:1;display:flex;flex-direction:column}
.gsfp-c h3{font-size:17px;line-height:1.35;margin:0 0 12px}.gsfp-c h3 a{color:#0d1b3d;text-decoration:none}.gsfp-c h3 a:hover{color:#1a3a8f}
.gsfp-c-m{margin-top:auto;display:flex;justify-content:space-between;gap:8px;font-size:12.5px;color:#7a849c;padding-top:10px;border-top:1px solid #eef1f8}
.gsfp-c-m span:first-child{font-weight:600;color:#39435c}
.gsfp-pg{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;margin:26px 0 6px}
.gsfp-pg a,.gsfp-pg span{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:10px;border:1px solid #d3dcf2;background:#fff;color:#1a3a8f;text-decoration:none;font-weight:700;font-size:14px;box-sizing:border-box}
.gsfp-pg a:hover{background:#eef2fb}.gsfp-pg .cur{background:linear-gradient(135deg,#1a3a8f,#2b55c9);color:#fff;border-color:transparent}
.gsfp-pg .off{opacity:.4}.gsfp-pg .el{border:0;background:none;min-width:auto;padding:0 4px}
@media(max-width:900px){.gsfp-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.gsfp-cards{grid-template-columns:1fr}}

/* author report PDF */
.gsfp-rep{font-family:Georgia,'Times New Roman',serif}
.gsfp-rep-author{display:flex;align-items:center;gap:14px;border:2px solid #1e8a4c;border-radius:10px;padding:12px 14px;margin:6px 0 18px;font-family:Arial,sans-serif;font-size:13px;line-height:1.6}
.gsfp-rep-author img{width:66px;height:66px;object-fit:cover;border-radius:6px}.gsfp-rep-author b{font-size:17px}
.gsfp-rep .gsfp-refs{margin-bottom:16px;font-family:Arial,sans-serif;font-size:12px}

/* certificate */
.gsfp-certwrap{width:1122px!important;left:-20000px}
.gsfp-cert{width:1122px;height:794px;box-sizing:border-box;padding:24px;background:#fff}
.gsfp-cert .in{height:100%;box-sizing:border-box;border:10px double #1a3a8f;outline:3px solid #1e8a4c;outline-offset:-24px;padding:34px 64px;text-align:center;background:linear-gradient(#fffdf5,#ffffff);font-family:Georgia,'Times New Roman',serif}
.gsfp-cert .lg{width:92px;height:92px;border-radius:50%;object-fit:cover;border:3px solid #1a3a8f;display:block;margin:0 auto}
.gsfp-cert .org{font-style:italic;color:#1a3a8f;font-size:26px;font-weight:700;margin-top:6px}
.gsfp-cert .ttl{font-size:44px;letter-spacing:4px;text-transform:uppercase;color:#1e8a4c;font-weight:700;margin:16px 0 6px}
.gsfp-cert .sub{font-size:19px;color:#555;font-style:italic}
.gsfp-cert .nm{font-size:50px;color:#0d1b3d;font-style:italic;margin:12px 0 4px}
.gsfp-cert .ln{width:440px;height:3px;background:linear-gradient(90deg,transparent,#1e8a4c,transparent);margin:0 auto 16px}
.gsfp-cert .tx{font-size:19px;line-height:1.65;color:#333;max-width:780px;margin:0 auto}
.gsfp-cert .sg{display:flex;justify-content:space-between;align-items:flex-end;margin-top:30px;padding:0 10px}
.gsfp-cert .sg>div{width:240px;font-size:15px;color:#333;line-height:1.5}
.gsfp-cert .sg span{display:block;border-top:2px solid #333;margin-bottom:6px}
.gsfp-cert .sg .seal{width:122px;height:122px;border-radius:50%;background:radial-gradient(circle,#2b55c9,#1a3a8f);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;border:5px double #fff;box-shadow:0 0 0 4px #c9a227;line-height:1.1}
.gsfp-cert .seal b{font-size:28px}.gsfp-cert .seal i{font-size:16px;font-style:normal}.gsfp-cert .seal em{font-size:9px;font-style:normal;letter-spacing:1px;margin-top:3px;color:#ffe08a}

/* =====================================================================
   v3.1 – compact left menu that fits its text
   ===================================================================== */
.gsfp-side{width:fit-content;min-width:178px;max-width:216px;flex:none}
.gsfp-brand{padding:16px 12px;gap:9px;font-size:13px;line-height:1.2}.gsfp-brand img{width:38px;height:38px}
.gsfp-brand small{font-size:10px;letter-spacing:.4px}
.gsfp-nav{padding:6px 8px 14px}
.gsfp-nav a{padding:9px 10px;gap:9px;font-size:13px;margin-bottom:2px;border-radius:9px}
.gsfp-nav .gsfp-i{width:17px;height:17px}
.gsfp-navgroup{font-size:10px;padding:12px 8px 4px}
.gsfp-main{padding-left:22px;padding-right:22px}
@media(max-width:900px){.gsfp-side{width:260px;max-width:none;min-width:0}.gsfp-main{padding-left:14px;padding-right:14px}}

/* =====================================================================
   v3.2 – compact ranking tables, PDF wrap fixed to viewport, certificate with stamp
   ===================================================================== */
.gsfp-pdfwrap{position:fixed!important;left:-10000px;top:0}
.gsfp-certwrap{left:-20000px}
.gsfp-app .gsfp-yreport table.gsfp-table td,.gsfp-app .gsfp-yreport table.gsfp-table th,.gsfp-app .gsfp-ylist table.gsfp-table td,.gsfp-app .gsfp-ylist table.gsfp-table th{padding:6px 10px!important;height:auto!important;line-height:1.3!important;vertical-align:middle;font-size:13px}
.gsfp-app .gsfp-yreport table.gsfp-table th{font-size:11px!important;white-space:nowrap}
.gsfp-app .gsfp-yreport table.gsfp-table tr,.gsfp-app .gsfp-ylist table.gsfp-table tr{height:auto!important}
.gsfp-rank td:last-child{white-space:nowrap;width:1%}.gsfp-rank .gsfp-btn.sm{padding:4px 11px;font-size:12px}
.gsfp-certfilter{min-width:200px}#gsfp-cert-author{min-width:260px}
.gsfp-cert .lg{width:80px;height:80px}.gsfp-cert .org{font-size:24px;margin-top:4px}
.gsfp-cert .ttl{font-size:42px;margin:12px 0 4px}.gsfp-cert .sub{font-size:18px}.gsfp-cert .nm{font-size:46px;margin:10px 0 2px}.gsfp-cert .ln{margin-bottom:12px}
.gsfp-cert .tx{font-size:18px;line-height:1.6}
.gsfp-cert .in{padding:28px 60px}
.gsfp-cert .sg{margin-top:20px;align-items:flex-end}
.gsfp-cert .sg>div{width:270px}
.gsfp-cert .sg .seal{width:118px;height:118px}
.gsfp-cert .fd{text-align:center}.gsfp-cert .dt{text-align:center}
.gsfp-cert .stamp{width:128px;height:128px;display:block;margin:0 auto 4px;transform:rotate(-8deg);opacity:.92}
.gsfp-cert .fd b,.gsfp-cert .dt b{font-size:15px;color:#0d1b3d}

/* =====================================================================
   v4 – red info box on cards, redesigned one-page certificate
   ===================================================================== */
.gsfp-c-cat,.gsfp-c-m{display:none}
.gsfp-c-img{aspect-ratio:16/11}
.gsfp-c-red{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr auto;grid-template-areas:"cat date" "who who";gap:2px 10px;padding:9px 14px 10px;color:#fff;background:linear-gradient(100deg,#a80019 0%,#d9112e 70%,#e8334a 100%);box-shadow:0 -6px 16px rgba(120,0,16,.25)}
.gsfp-c-red:before{content:"";position:absolute;left:0;top:-4px;width:46px;height:4px;background:#fff}
.gsfp-c-red b{grid-area:cat;font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;font-weight:800;line-height:1.3}
.gsfp-c-red em{grid-area:date;font-style:normal;font-size:11.5px;opacity:.95;white-space:nowrap;line-height:1.3}
.gsfp-c-red i{grid-area:who;font-style:normal;font-size:13px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gsfp-c-b{padding:16px 16px 14px}
.gsfp-c h3{font-size:17px;margin:0 0 12px}
.gsfp-c-more{margin-top:auto;font-size:13px;font-weight:700;color:#c8102e;text-decoration:none;letter-spacing:.3px}.gsfp-c-more:hover{color:#8f0016}
.gsfp-c:hover{box-shadow:0 18px 36px rgba(168,0,25,.16)}

/* certificate */
.gsfp-cert{width:1122px;height:790px;box-sizing:border-box;padding:18px;background:linear-gradient(135deg,#0a1535,#1a3a8f 60%,#0d1b3d);overflow:hidden}
.gsfp-cert .frame{position:relative;height:100%;box-sizing:border-box;padding:10px;background:linear-gradient(135deg,#fffef9,#f4f8ff);border:4px solid #c9a227;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 5px #1a3a8f}
.gsfp-cert .cn{position:absolute;width:54px;height:54px;border:5px solid #1a3a8f;z-index:2}
.gsfp-cert .cn:after{content:"";position:absolute;width:12px;height:12px;background:#c9a227;border-radius:50%}
.gsfp-cert .tl{left:18px;top:18px;border-right:0;border-bottom:0}.gsfp-cert .tl:after{left:-8px;top:-8px}
.gsfp-cert .tr{right:18px;top:18px;border-left:0;border-bottom:0}.gsfp-cert .tr:after{right:-8px;top:-8px}
.gsfp-cert .bl{left:18px;bottom:18px;border-right:0;border-top:0}.gsfp-cert .bl:after{left:-8px;bottom:-8px}
.gsfp-cert .br{right:18px;bottom:18px;border-left:0;border-top:0}.gsfp-cert .br:after{right:-8px;bottom:-8px}
.gsfp-cert .wm{position:absolute;left:50%;top:50%;width:400px;height:400px;margin:-200px 0 0 -200px;border-radius:50%;object-fit:cover;opacity:.06;z-index:0}
.gsfp-cert .in{position:relative;z-index:1;height:100%;box-sizing:border-box;border:6px double #1a3a8f;padding:20px 60px;text-align:center;font-family:Georgia,'Times New Roman',serif;outline:none}
.gsfp-cert .lg{width:76px;height:76px;border-radius:50%;object-fit:cover;border:3px solid #c9a227;display:block;margin:0 auto;box-shadow:0 0 0 3px #1a3a8f}
.gsfp-cert .org{font-style:italic;color:#1a3a8f;font-size:23px;font-weight:700;margin-top:6px}
.gsfp-cert .ttl{margin:10px 0 4px}
.gsfp-cert .ttl b{display:block;font-size:46px;letter-spacing:9px;text-transform:uppercase;color:#0d1b3d;line-height:1.1}
.gsfp-cert .ttl span{display:inline-block;position:relative;font-size:19px;letter-spacing:7px;text-transform:uppercase;color:#b88a0a;font-weight:700;padding:0 18px}
.gsfp-cert .ttl span:before,.gsfp-cert .ttl span:after{content:"";position:absolute;top:50%;width:90px;height:2px;background:linear-gradient(90deg,transparent,#c9a227)}
.gsfp-cert .ttl span:before{right:100%}.gsfp-cert .ttl span:after{left:100%;transform:scaleX(-1)}
.gsfp-cert .sub{font-size:17px;color:#555;font-style:italic;margin-top:8px}
.gsfp-cert .nm{font-size:46px;color:#1a3a8f;font-style:italic;margin:8px 0 2px;line-height:1.15}
.gsfp-cert .ln{width:460px;height:3px;background:linear-gradient(90deg,transparent,#c9a227,transparent);margin:0 auto 12px}
.gsfp-cert .tx{font-size:18px;line-height:1.6;color:#333;max-width:780px;margin:0 auto}
.gsfp-cert .sg{display:flex;justify-content:space-between;align-items:flex-end;margin-top:16px;padding:0 6px}
.gsfp-cert .sg>div{width:270px;font-size:14px;color:#333;line-height:1.5}
.gsfp-cert .sg span{display:block;border-top:2px solid #1a3a8f;margin:0 20px 6px}
.gsfp-cert .fd,.gsfp-cert .dt{text-align:center}
.gsfp-cert .fd b,.gsfp-cert .dt b{font-size:15px;color:#0d1b3d}
.gsfp-cert .stamp{width:128px;height:128px;display:block;margin:0 auto -6px;transform:rotate(-8deg);opacity:.95;position:relative;z-index:2}
.gsfp-cert .sg .seal{width:112px;height:112px;border-radius:50%;background:radial-gradient(circle,#2b55c9,#1a3a8f);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;border:5px double #fff;box-shadow:0 0 0 4px #c9a227;line-height:1.1}
.gsfp-cert .seal b{font-size:27px}.gsfp-cert .seal i{font-size:15px;font-style:normal}.gsfp-cert .seal em{font-size:9px;font-style:normal;letter-spacing:1px;margin-top:3px;color:#ffe08a}

/* =====================================================================
   v5 – full screen, small red category tag, co-author, certificate template
   ===================================================================== */
.gsfp-fsbtn{display:inline-flex;align-items:center;gap:8px;margin-left:10px;background:#fff;color:#1a3a8f;border:0;border-radius:40px;padding:9px 16px;font-weight:700;font-size:13px;cursor:pointer;box-shadow:0 2px 10px rgba(13,27,61,.1);transition:.15s;white-space:nowrap}
.gsfp-fsbtn:hover{background:#1a3a8f;color:#fff;transform:translateY(-1px)}
html.gsfp-fs,html.gsfp-fs body{overflow:hidden!important}
html.gsfp-fs #wpadminbar{display:none!important}
.gsfp-app.is-full{position:fixed!important;left:0;top:0;right:0;bottom:0;z-index:2147483000;width:100vw!important;max-width:none!important;height:100vh;margin:0!important;border-radius:0;display:flex;overflow:hidden;box-shadow:none}
.gsfp-app.is-full .gsfp-main{overflow-y:auto;height:100vh;min-width:0;flex:1}
.gsfp-app.is-full .gsfp-side{height:100vh;overflow-y:auto}
.mce-floatpanel,.mce-window,.mce-menu,.mce-tooltip,.mce-popover{z-index:2147483600!important}
#mce-modal-block{z-index:2147483500!important}
.gsfp-toast{z-index:2147483647}
@media(max-width:900px){.gsfp-fsbtn .lbl{display:none}.gsfp-fsbtn{padding:9px 11px}}

/* cards: small red category tag, then authors and date below */
.gsfp-c-red{display:none!important}
.gsfp-c-tag{position:absolute;left:0;bottom:0;background:linear-gradient(100deg,#a80019,#dc1431);color:#fff;font-size:11px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase;padding:6px 14px;line-height:1.2;max-width:85%;box-shadow:0 4px 10px rgba(120,0,16,.3)}
.gsfp-c-b{display:flex;flex-direction:column;gap:10px;padding:16px 16px 14px}
.gsfp-c h3{margin:0}
.gsfp-c-by{display:grid;grid-template-columns:1fr;gap:10px;padding-top:10px;border-top:1px solid #eef1f8}
.gsfp-c-by.two{grid-template-columns:1fr 1fr}
.gsfp-c-by small{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:1px;color:#c8102e;font-weight:800;margin-bottom:2px}
.gsfp-c-by b{display:block;font-size:13.5px;color:#0d1b3d;line-height:1.3;font-weight:700}
.gsfp-c-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12.5px;color:#7a849c;padding-top:10px;border-top:1px solid #eef1f8}
.gsfp-c-foot .d{font-weight:600}.gsfp-c-foot .gsfp-c-more{margin-top:0}
.gsfp-c:hover{box-shadow:0 18px 36px rgba(13,27,61,.15)}

/* article: author + co-author boxes */
.gsfp-authors{display:grid;grid-template-columns:1fr;gap:18px;margin:28px 0 6px}
.gsfp-authors.two{grid-template-columns:1fr 1fr}.gsfp-authors .gsfp-author{margin:0}
.gsfp-author-role{display:inline-block;background:#c8102e;color:#fff;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:3px 10px;border-radius:3px;margin-bottom:10px}
@media(max-width:640px){.gsfp-authors.two{grid-template-columns:1fr}}

/* certificate template */
.gsfp-cert .in{padding:18px 56px}
.gsfp-cert .lg{width:70px;height:70px}
.gsfp-cert .org{font-size:21px;margin-top:4px}
.gsfp-cert .ttl{margin:6px 0 2px}
.gsfp-cert .ttl b{font-family:'Playfair Display',Georgia,serif;font-size:44px;letter-spacing:9px}
.gsfp-cert .ttl span{font-size:17px;letter-spacing:7px}
.gsfp-cert .rb{display:inline-block;margin:8px 0 0;background:linear-gradient(90deg,#8a6a10,#c9a227,#8a6a10);color:#fff;font-size:12px;font-weight:700;letter-spacing:3px;text-transform:uppercase;padding:5px 22px;border-radius:3px}
.gsfp-cert .sub{margin-top:8px;font-size:16px}
.gsfp-cert .nm{font-family:'Great Vibes','Brush Script MT','Segoe Script',cursive;font-style:normal;font-size:60px;line-height:1.15;margin:2px 0 0;color:#1a3a8f}
.gsfp-cert .ln{margin-bottom:10px}
.gsfp-cert .tx{font-size:17px;line-height:1.55}
.gsfp-cert .frame{background-image:repeating-linear-gradient(45deg,rgba(26,58,143,.035) 0 2px,transparent 2px 16px),linear-gradient(135deg,#fffef9,#f4f8ff)}
.gsfp-cert .sg{margin-top:14px;display:flex;align-items:flex-end;justify-content:space-between;padding:0 14px}
.gsfp-cert .sg>div{width:auto}
.gsfp-cert .st{position:relative;width:160px;height:160px;flex:none}
.gsfp-cert .st .ring{width:160px;height:160px;display:block;transform:rotate(-8deg);opacity:.96}
.gsfp-cert .stlogo{position:absolute;left:50%;top:50%;width:70px;height:70px;margin:-35px 0 0 -35px;border-radius:50%;overflow:hidden;border:2px solid #c9a227;background:#fff}
.gsfp-cert .stlogo img{width:100%;height:100%;object-fit:cover;display:block}
.gsfp-cert .stlogo i{position:absolute;left:0;top:0;right:0;bottom:0;background:rgba(201,162,39,.5);border-radius:50%;display:block}
.gsfp-cert .mid{text-align:center;padding-bottom:14px;color:#333}
.gsfp-cert .mid small{display:block;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#7a6a3a}
.gsfp-cert .mid b{display:block;font-size:16px;color:#0d1b3d;margin:2px 0 6px}
.gsfp-cert .mid em{display:block;font-size:11px;font-style:normal;color:#8a8a8a;letter-spacing:.5px}
.gsfp-cert .sig{width:300px;text-align:center;font-size:14px;color:#333;line-height:1.45}
.gsfp-cert .sig .space{height:56px}
.gsfp-cert .sig span{display:block;border-top:2px solid #1a3a8f;margin:0 10px 6px}
.gsfp-cert .sig b{display:block;font-size:17px;color:#0d1b3d;font-family:'Playfair Display',Georgia,serif}

/* =====================================================================
   v6 – Submissions (admin boxes + public form)
   ===================================================================== */
.gsfp-sboxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:20px}
.gsfp-sbox{position:relative;text-align:left;border:2px solid transparent;border-radius:16px;padding:20px 20px 18px;cursor:pointer;transition:.18s;box-shadow:0 4px 18px rgba(13,27,61,.07);display:block;width:100%}
.gsfp-sbox .n{display:block;font-size:38px;font-weight:800;line-height:1;margin-bottom:8px}
.gsfp-sbox b{display:block;font-size:17px}.gsfp-sbox small{display:block;opacity:.75;font-size:12.5px;margin-top:2px}
.gsfp-sbox:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(13,27,61,.14)}
.gsfp-sbox.is-on{box-shadow:0 0 0 4px rgba(13,27,61,.12),0 12px 26px rgba(13,27,61,.14);transform:translateY(-3px)}
.gsfp-sbox.is-on:after{content:"";position:absolute;left:50%;bottom:-10px;margin-left:-9px;border:9px solid transparent;border-bottom:0;border-top-color:currentColor}
.gsfp-sbox.review{background:linear-gradient(135deg,#fff8d9,#ffe79a);color:#7a5a00;border-color:#f2c94c}
.gsfp-sbox.accepted{background:linear-gradient(135deg,#e4eeff,#b9d1ff);color:#123a8f;border-color:#6b9bf2}
.gsfp-sbox.published{background:linear-gradient(135deg,#dff8e8,#a9e8c3);color:#0d6b33;border-color:#4cc27f}
.gsfp-sbox.rejected{background:linear-gradient(135deg,#fee5e2,#f7b0a8);color:#9c1c10;border-color:#ee7d71}
.gsfp-idpill.sub-review{background:#fff1bd;color:#7a5a00}.gsfp-idpill.sub-accepted{background:#dce8ff;color:#123a8f}
.gsfp-idpill.sub-published{background:#d9f5e4;color:#0d6b33}.gsfp-idpill.sub-rejected{background:#fde0dc;color:#9c1c10}
.gsfp-acts{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;align-items:center;min-width:170px}
.gsfp-acts .gsfp-btn.sm{padding:5px 11px;font-size:12px}
.gsfp-modal-box.wide{max-width:720px;max-height:88vh;overflow:auto}
.gsfp-vgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;margin:8px 0 14px}
.gsfp-vgrid small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:#7a849c}.gsfp-vgrid b{display:block;font-size:14px;color:#1c2333;word-break:break-word}
.gsfp-modal-box h4{margin:14px 0 6px;color:#1a3a8f}
.gsfp-vtext{background:#f6f8fd;border:1px solid #e3e9f6;border-radius:10px;padding:14px;max-height:300px;overflow:auto;line-height:1.65;font-size:14px;color:#2a3350}

/* public form */
.gsfp-sf-wrap{max-width:820px;margin:30px auto;padding:0 14px}
.gsfp-sf{background:#fff;border-radius:20px;box-shadow:0 20px 60px rgba(13,27,61,.14);overflow:hidden;border-top:6px solid #1e8a4c}
.gsfp-sf-head{text-align:center;padding:30px 24px 22px;background:radial-gradient(circle at 85% 10%,rgba(53,208,127,.2),transparent 40%),linear-gradient(135deg,#f3f6ff,#fff)}
.gsfp-sf-head img{width:84px;height:84px;border-radius:50%;object-fit:cover;border:3px solid #1a3a8f;box-shadow:0 0 0 4px #fff,0 8px 20px rgba(26,58,143,.25);margin:0 auto 10px;display:block}
.gsfp-sf-head h2{margin:0;font-size:24px;font-family:Georgia,serif;background:linear-gradient(90deg,#1a3a8f,#1e8a4c);-webkit-background-clip:text;background-clip:text;color:transparent}
.gsfp-sf-head p{margin:6px 0 0;color:#6b7488}
.gsfp-sform{padding:24px 30px 30px}
.gsfp-sf-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.gsfp-sf-grid .full{grid-column:1/-1}
.gsfp-sform label{display:block;font-weight:600;font-size:13px;color:#39435c}
.gsfp-sform input:not([type=checkbox]):not([type=file]),.gsfp-sform select,.gsfp-sform textarea{width:100%;box-sizing:border-box;margin-top:6px;padding:12px 14px;border:1.5px solid #d3d9e6;border-radius:10px;font-size:15px;background:#f9fafe;font-family:inherit;transition:.15s}
.gsfp-sform input:focus,.gsfp-sform select:focus,.gsfp-sform textarea:focus{outline:none;border-color:#1a3a8f;background:#fff;box-shadow:0 0 0 3px rgba(26,58,143,.12)}
.gsfp-sform input[type=file]{margin-top:6px;font-size:14px}
.gsfp-sform .chk{display:flex;gap:10px;align-items:flex-start;font-weight:500}.gsfp-sform .chk input{margin-top:3px;width:auto}
.gsfp-wc{display:block;text-align:right;color:#8590a8;font-weight:400;margin-top:4px}
.gsfp-sf-btn{display:block;width:100%;margin-top:20px;height:52px;border:0;border-radius:12px;background:linear-gradient(90deg,#1a3a8f,#2b55c9);color:#fff;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 8px 20px rgba(26,58,143,.3);transition:.15s}
.gsfp-sf-btn:hover{transform:translateY(-2px)}.gsfp-sf-btn:disabled{opacity:.6;cursor:wait}
.gsfp-sform .gsfp-msg{margin-top:12px;font-size:14px;text-align:center}
.gsfp-sf-ok{text-align:center;padding:50px 30px}.gsfp-sf-ok .tick{width:78px;height:78px;border-radius:50%;background:linear-gradient(135deg,#25a85c,#1e8a4c);color:#fff;font-size:44px;line-height:78px;margin:0 auto 14px;box-shadow:0 10px 24px rgba(30,138,76,.35)}
.gsfp-sf-ok h3{margin:0 0 8px;font-size:26px;color:#0d1b3d}.gsfp-sf-ok p{color:#46506b;line-height:1.6}
@media(max-width:640px){.gsfp-sf-grid{grid-template-columns:1fr}.gsfp-sform{padding:20px 16px 24px}.gsfp-vgrid{grid-template-columns:1fr}}

/* =====================================================================
   v7 – GSF Submission Form (stylish), form builder, attachments
   ===================================================================== */
.is-off{display:none!important}
.gsfp-fld[data-show]:not(.is-off){animation:gsfpIn .28s ease}
@keyframes gsfpIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.gsfp-sf{border-radius:24px;border-top:0;box-shadow:0 24px 70px rgba(13,27,61,.18);position:relative}
.gsfp-sf:before{content:"";display:block;height:7px;background:linear-gradient(90deg,#1a3a8f,#2b55c9 45%,#1e8a4c)}
.gsfp-sf-head{padding:34px 24px 26px;background:radial-gradient(circle at 12% 0%,rgba(43,85,201,.16),transparent 45%),radial-gradient(circle at 92% 100%,rgba(53,208,127,.18),transparent 45%),#fff}
.gsfp-sf-head h2{font-size:28px;letter-spacing:.3px}
.gsfp-sf-head p{font-size:13.5px;letter-spacing:.4px}
.gsfp-sform{padding:26px 34px 34px}
.gsfp-sf-grid{gap:18px 20px}
.gsfp-sform label,.gsfp-sform legend{font-weight:700;font-size:13px;color:#2a3350;letter-spacing:.2px}
.gsfp-sform .rq{color:#c8102e;font-style:normal}
.gsfp-sform .hp{display:block;color:#8590a8;font-weight:500;margin-top:5px;font-size:12px}
.gsfp-sform fieldset{border:0;margin:0;padding:0;min-width:0}.gsfp-sform legend{padding:0;margin-bottom:8px}
.gsfp-sform input:not([type=checkbox]):not([type=radio]):not([type=file]),.gsfp-sform select,.gsfp-sform textarea{height:auto;border-radius:12px;padding:13px 15px;background:#f7f9fe;border:1.5px solid #d6dcec}
.gsfp-sform textarea{min-height:110px;resize:vertical}

/* category cards */
.gsfp-catcards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gsfp-cc{display:block;cursor:pointer;margin:0!important;position:relative}
.gsfp-cc input{position:absolute;opacity:0;pointer-events:none}
.gsfp-cc .cb{display:block;height:100%;border:2px solid #d6dcec;border-top-width:5px;border-radius:14px;padding:16px 14px 14px;background:#fff;transition:.18s;text-align:center}
.gsfp-cc .cb b{display:block;font-size:15px;color:#0d1b3d;line-height:1.3}
.gsfp-cc .cb small{display:block;margin-top:6px;font-size:12px;font-weight:500;color:#7a849c;line-height:1.4}
.gsfp-cc:hover .cb{transform:translateY(-3px);box-shadow:0 10px 22px rgba(13,27,61,.1)}
.gsfp-cc.cc-opinion .cb{border-top-color:#1a3a8f}.gsfp-cc.cc-book-review .cb{border-top-color:#1e8a4c}.gsfp-cc.cc-documentary-global-affairs .cb{border-top-color:#c8102e}
.gsfp-cc input:checked + .cb{background:linear-gradient(180deg,#f3f7ff,#fff);box-shadow:0 0 0 3px rgba(26,58,143,.18),0 10px 22px rgba(13,27,61,.1)}
.gsfp-cc.cc-book-review input:checked + .cb{background:linear-gradient(180deg,#effaf3,#fff);box-shadow:0 0 0 3px rgba(30,138,76,.2),0 10px 22px rgba(13,27,61,.1)}
.gsfp-cc.cc-documentary-global-affairs input:checked + .cb{background:linear-gradient(180deg,#fff1f2,#fff);box-shadow:0 0 0 3px rgba(200,16,46,.18),0 10px 22px rgba(13,27,61,.1)}
.gsfp-cc input:checked + .cb:after{content:"✓";position:absolute;right:10px;top:12px;width:22px;height:22px;border-radius:50%;background:#1a3a8f;color:#fff;font-size:13px;line-height:22px;text-align:center}
.gsfp-cc.cc-book-review input:checked + .cb:after{background:#1e8a4c}.gsfp-cc.cc-documentary-global-affairs input:checked + .cb:after{background:#c8102e}

/* file upload boxes */
.gsfp-filef input[type=file]{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:14px;border:2px dashed #b9c6e6;border-radius:12px;background:#f7f9fe;font-size:13.5px;color:#46506b;cursor:pointer;transition:.15s}
.gsfp-filef input[type=file]:hover{border-color:#1a3a8f;background:#eef3ff}
.gsfp-filef input[type=file]::file-selector-button{margin-right:12px;border:0;border-radius:9px;padding:9px 16px;background:linear-gradient(90deg,#1a3a8f,#2b55c9);color:#fff;font-weight:700;cursor:pointer}
.gsfp-filef.has-file input[type=file]{border-color:#1e8a4c;background:#f0faf4}
.gsfp-opts{display:flex;flex-wrap:wrap;gap:10px 22px}.gsfp-opts label{display:flex;align-items:center;gap:8px;font-weight:500;margin:0}
.gsfp-sform input[type=checkbox],.gsfp-sform input[type=radio]{width:18px;height:18px;accent-color:#1a3a8f;margin:0}
.gsfp-sform .chk.consent{display:flex;gap:12px;align-items:flex-start;background:#f3f7ff;border:1.5px solid #cfdcf6;border-radius:12px;padding:14px 16px;font-weight:600;color:#1a3a8f}
.gsfp-fh h3{margin:6px 0 0;font-size:17px;color:#0d1b3d;padding-bottom:6px;border-bottom:2px solid #e3e9f6}

.gsfp-prog{height:8px;background:#e6ebf7;border-radius:8px;overflow:hidden;margin-top:20px}
.gsfp-prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,#1a3a8f,#25a85c);border-radius:8px;transition:width .25s}
.gsfp-sf-btn{margin-top:18px;height:56px;font-size:17px;letter-spacing:.4px;position:relative}
.gsfp-sf-btn.busy:before{content:"";display:inline-block;width:16px;height:16px;margin-right:10px;vertical-align:-2px;border:3px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:gsfpSpin .7s linear infinite}
@keyframes gsfpSpin{to{transform:rotate(360deg)}}
.gsfp-sf-ok .ref{display:inline-block;margin-top:6px;background:#eef3ff;color:#1a3a8f;padding:5px 14px;border-radius:20px;letter-spacing:.5px}
@media(max-width:700px){.gsfp-catcards{grid-template-columns:1fr}.gsfp-sform{padding:20px 16px 26px}}

/* builder */
.gsfp-fbrow{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid #e3e9f6;border-radius:12px;margin-bottom:8px;background:#fbfcff}
.gsfp-fbrow .no{width:28px;height:28px;border-radius:50%;background:#e7ecf8;color:#1a3a8f;font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;flex:none}
.gsfp-fbrow .tx{flex:1;min-width:0}.gsfp-fbrow .tx b{display:block;font-size:14px;color:#1c2333}.gsfp-fbrow .tx small{color:#7a849c;font-size:12px}
.gsfp-fbrow .ac{display:flex;gap:6px;flex:none}.gsfp-ib:disabled{opacity:.35;cursor:not-allowed}
.gsfp-fbprev{margin-top:18px;border:2px dashed #cdd6ee;border-radius:16px;padding:14px;background:#f7f9fe}.gsfp-fbprev>.gsfp-muted{margin-bottom:8px;font-weight:700}
.gsfp-vatt{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:4px 0 8px}.gsfp-vatt img{width:84px;height:104px;object-fit:cover;border-radius:10px;border:2px solid #e3e9f6}

/* =====================================================================
   v8 – settings boxes, category boxes, stylish post cards, clear form, authors PDF
   ===================================================================== */
.gsfp-sbox .ic{display:block;margin-bottom:10px}.gsfp-sbox .ic svg{width:34px;height:34px;display:block}
.gsfp-sbox.s-code{background:linear-gradient(135deg,#f1ecff,#cfc2ff);color:#4527a0;border-color:#9f86f2}
.gsfp-sbox.s-form{background:linear-gradient(135deg,#dcf7f4,#a5e7df);color:#0b6b63;border-color:#4cc7bb}
.gsfp-sbox.s-login{background:linear-gradient(135deg,#eef1f6,#cdd5e4);color:#2a3a5c;border-color:#8fa0c0}
.gsfp-hbtns{margin-left:auto;display:inline-flex;gap:8px;flex-wrap:wrap}
#gsfp-setsc select{width:auto!important;min-width:64px}

/* editor category boxes */
.gsfp-cat-h{display:none!important}
.gsfp-catpick{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.gsfp-cpk{border:2px solid #cfd8ee;border-top-width:5px;border-radius:14px;background:#fff;padding:14px 12px;cursor:pointer;font-size:14px;color:#0d1b3d;transition:.16s;text-align:center}
.gsfp-cpk:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(13,27,61,.1)}
.gsfp-cpk.cc-opinion{border-top-color:#1a3a8f}.gsfp-cpk.cc-book-review{border-top-color:#1e8a4c}.gsfp-cpk.cc-documentary-global-affairs{border-top-color:#c8102e}
.gsfp-cpk.cc-national-news{border-top-color:#e67e22}.gsfp-cpk.cc-global-news{border-top-color:#6c3fd1}
.gsfp-cpk.on{background:linear-gradient(180deg,#eef3ff,#fff);box-shadow:0 0 0 3px rgba(26,58,143,.2);color:#1a3a8f}
.gsfp-cpk.on b:before{content:"✓ ";color:#1e8a4c}

/* post cards */
.gsfp-cards{gap:26px}
.gsfp-c{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid #e6eaf4;border-radius:20px;overflow:hidden;box-shadow:0 8px 26px rgba(13,27,61,.07);transition:.28s}
.gsfp-c:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#c8102e,#1a3a8f);z-index:3;opacity:0;transition:.25s}
.gsfp-c:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(13,27,61,.16)}.gsfp-c:hover:before{opacity:1}
.gsfp-c-img{position:relative;display:block;aspect-ratio:16/10;background:linear-gradient(135deg,#1a3a8f,#1e8a4c);overflow:hidden}
.gsfp-c-img:after{content:"";position:absolute;left:0;right:0;bottom:0;height:60%;background:linear-gradient(180deg,transparent,rgba(8,18,48,.62));pointer-events:none}
.gsfp-c-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}.gsfp-c:hover .gsfp-c-img img{transform:scale(1.07)}
.gsfp-c-tag{position:absolute;left:0;bottom:16px;z-index:2;background:linear-gradient(100deg,#a80019,#dc1431);color:#fff;font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;padding:7px 16px 7px 14px;border-radius:0 30px 30px 0;line-height:1.2;max-width:88%;box-shadow:0 6px 14px rgba(120,0,16,.35)}
.gsfp-c-play{position:absolute;right:14px;top:14px;z-index:2;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.92);color:#c8102e;display:flex;align-items:center;justify-content:center;font-size:15px;padding-left:3px;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.gsfp-c-b{display:flex;flex-direction:column;padding:18px 20px 20px;flex:1}
.gsfp-c-date{display:flex;align-items:center;gap:10px;font-size:11.5px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;color:#8a93a8}
.gsfp-c-date span+span:before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:#c8102e;margin-right:10px;vertical-align:middle}
.gsfp-c h3{font-family:Georgia,'Times New Roman',serif;font-size:20px;line-height:1.3;margin:9px 0 8px}
.gsfp-c h3 a{color:#0d1b3d;text-decoration:none}.gsfp-c h3 a:hover{color:#c8102e}
.gsfp-c-ex{margin:0 0 14px;color:#5a6684;font-size:14px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gsfp-c-by{display:grid;grid-template-columns:1fr;gap:12px;padding:14px 0;margin-top:auto;border-top:1px dashed #d9e0f0}
.gsfp-c-by.two{grid-template-columns:1fr 1fr}
.gsfp-c .who{display:flex;align-items:center;gap:10px;min-width:0}
.gsfp-c .av{width:40px;height:40px;border-radius:50%;overflow:hidden;flex:none;background:linear-gradient(135deg,#1a3a8f,#1e8a4c);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;box-shadow:0 0 0 2px #fff,0 0 0 3.5px #c8102e}
.gsfp-c .av img{width:100%;height:100%;object-fit:cover;display:block}.gsfp-c .av i{font-style:normal}
.gsfp-c .who .tx{min-width:0}
.gsfp-c .who small{display:block;font-size:10px;letter-spacing:1.1px;text-transform:uppercase;color:#c8102e;font-weight:800;line-height:1.2}
.gsfp-c .who b{display:block;font-size:13.5px;color:#0d1b3d;line-height:1.3;font-weight:700;overflow:hidden;text-overflow:ellipsis}
.gsfp-c-more{align-self:flex-start;margin-top:4px;background:#fff;color:#c8102e!important;border:1.5px solid #c8102e;border-radius:30px;padding:8px 20px;font-weight:700;font-size:13px;text-decoration:none;transition:.18s}
.gsfp-c-more:hover{background:#c8102e;color:#fff!important}
.gsfp-c-foot,.gsfp-c-m,.gsfp-c-red{display:none!important}
.gsfp-cathead{background:linear-gradient(120deg,#0d1b3d,#1a3a8f 65%,#1e8a4c 140%);color:#fff;padding:24px 28px;border-radius:20px;border:0;box-shadow:0 14px 34px rgba(26,58,143,.25)}
.gsfp-cathead h1{color:#fff;font-size:32px}.gsfp-cathead p{color:rgba(255,255,255,.8)}.gsfp-cathead img{border-color:#fff}
.gsfp-docvideo{border-radius:14px;box-shadow:0 12px 30px rgba(13,27,61,.2);margin:0 0 20px;background:#000}

/* clearer, bordered submission form */
.gsfp-sf{border:1px solid #d9e0f2}
.gsfp-sform{padding:28px 36px 36px}
.gsfp-sf-grid{counter-reset:sec;gap:20px 22px}
.gsfp-fh{counter-increment:sec;margin-top:8px}
.gsfp-fh h3{display:flex;align-items:center;margin:0;padding:0 0 10px;border-bottom:3px solid #e3e9f6;font-size:19px;color:#0d1b3d;font-family:Georgia,serif}
.gsfp-fh h3:before{content:counter(sec);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-right:12px;border-radius:50%;background:linear-gradient(135deg,#1a3a8f,#2b55c9);color:#fff;font:700 15px/1 Arial,sans-serif;box-shadow:0 4px 10px rgba(26,58,143,.3)}
.gsfp-sform label,.gsfp-sform legend{font-size:13.5px;font-weight:700;color:#1c2540}
.gsfp-sform input:not([type=checkbox]):not([type=radio]):not([type=file]),.gsfp-sform select,.gsfp-sform textarea{background:#fff;border:2px solid #b7c3e3;border-radius:12px;padding:13px 15px;font-size:15px;color:#111a33;transition:.15s}
.gsfp-sform input:not([type=checkbox]):not([type=radio]):not([type=file]):hover,.gsfp-sform select:hover,.gsfp-sform textarea:hover{border-color:#6f86c9}
.gsfp-sform input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,.gsfp-sform select:focus,.gsfp-sform textarea:focus{border-color:#1a3a8f;box-shadow:0 0 0 4px rgba(26,58,143,.14)}
.gsfp-sform ::placeholder{color:#9aa5c0}
.gsfp-filef input[type=file]{border:2px dashed #8ea2d8;background:#f6f8ff}
.gsfp-known{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#effaf3,#fff);border:2px solid #4cc27f;border-radius:14px;padding:12px 16px}
.gsfp-known img,.gsfp-known .ini{width:54px;height:54px;border-radius:50%;object-fit:cover;flex:none;border:3px solid #fff;box-shadow:0 0 0 2px #4cc27f}
.gsfp-known .ini{display:flex;align-items:center;justify-content:center;background:#1e8a4c;color:#fff;font-weight:800;font-size:20px}
.gsfp-known b{display:block;color:#0d6b33;font-size:15px}.gsfp-known small{display:block;color:#46506b;font-weight:500;font-size:12.5px;margin-top:2px}

/* authors directory PDF */
.gsfp-adir-meta{font-family:Arial,sans-serif;font-size:12px;color:#46506b;margin:0 0 12px}
.gsfp-rep .gsfp-adir{font-size:10.5px;line-height:1.35}.gsfp-adir th{background:#1a3a8f;color:#fff;font-size:10.5px}
.gsfp-adir td{vertical-align:middle}.gsfp-adir tbody tr:nth-child(even) td{background:#f4f7fc}
.gsfp-adir .av{width:38px;height:38px;border-radius:50%;object-fit:cover;display:block}
.gsfp-adir .ini{width:38px;height:38px;border-radius:50%;background:#1a3a8f;color:#fff;text-align:center;line-height:38px;font-weight:700;font-size:14px}
@media(max-width:700px){.gsfp-sform{padding:20px 16px 26px}}

/* =====================================================================
   v9 – video player, documentary pages, fit-to-screen portal
   ===================================================================== */
.gsfp-nav .gsfp-site{margin-top:14px;color:#b9c9ee}.gsfp-nav .gsfp-site:hover{background:rgba(255,255,255,.08);color:#fff}

/* video player */
.gsfp-vp{position:relative;background:#05091a;border-radius:16px;overflow:hidden;box-shadow:0 18px 44px rgba(5,9,26,.4);margin:0 0 20px;line-height:0}
.gsfp-vp video{display:block;width:100%;max-height:70vh;background:#000;aspect-ratio:16/9}
.gsfp-vp .vp-big{position:absolute;left:50%;top:calc(50% - 26px);transform:translate(-50%,-50%);width:92px;height:92px;border-radius:50%;border:0;background:linear-gradient(135deg,#dc1431,#a80019);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding-left:6px;box-shadow:0 0 0 10px rgba(220,20,49,.28),0 14px 34px rgba(0,0,0,.5);transition:.2s;z-index:2}
.gsfp-vp .vp-big:hover{transform:translate(-50%,-50%) scale(1.08)}
.gsfp-vp.playing .vp-big{display:none}
.gsfp-vp .vp-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:linear-gradient(90deg,#0a1535,#13296a);color:#fff;line-height:1.3}
.gsfp-vp .vp-t{font-weight:700;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gsfp-vp .vp-acts{display:flex;gap:8px;flex:none}
.gsfp-vp .vp-fs,.gsfp-vp .vp-dl{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);color:#fff!important;border-radius:9px;padding:8px 14px;font-size:13px;font-weight:700;cursor:pointer;text-decoration:none;transition:.15s;line-height:1.2}
.gsfp-vp .vp-dl{background:linear-gradient(90deg,#1e8a4c,#25a85c);border-color:transparent}
.gsfp-vp .vp-fs:hover{background:#fff;color:#0a1535!important}.gsfp-vp .vp-dl:hover{filter:brightness(1.1)}
.gsfp-vp:fullscreen,.gsfp-vp:-webkit-full-screen{border-radius:0;margin:0;display:flex;flex-direction:column;justify-content:center;background:#000}
.gsfp-vp:fullscreen video,.gsfp-vp:-webkit-full-screen video{max-height:none;height:100%;width:100%}
.gsfp-vp:fullscreen .vp-bar,.gsfp-vp:-webkit-full-screen .vp-bar{display:none}
.gsfp-modal-box.wide .gsfp-vp{margin-bottom:16px}

/* one-click lightbox */
.gsfp-lb{position:fixed;left:0;top:0;right:0;bottom:0;z-index:2147483640;background:rgba(3,7,20,.88);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:18px}
.gsfp-lb .lb-in{position:relative;width:100%;max-width:980px}
.gsfp-lb .lb-x{position:absolute;right:-6px;top:-46px;width:38px;height:38px;border-radius:50%;border:0;background:#fff;color:#0a1535;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.4)}
.gsfp-lb .lb-foot{text-align:center;margin-top:-6px}
.gsfp-lb .gsfp-vp{margin-bottom:14px}

/* documentary cards and pages */
.gsfp-c-img.gsfp-vplay{cursor:pointer}
.gsfp-c-img.gsfp-vplay .gsfp-c-play{left:50%;top:50%;right:auto;width:62px;height:62px;margin:-31px 0 0 -31px;font-size:22px;background:linear-gradient(135deg,#dc1431,#a80019);color:#fff;box-shadow:0 0 0 8px rgba(255,255,255,.28),0 10px 24px rgba(0,0,0,.4);transition:.2s}
.gsfp-c-img.gsfp-vplay:hover .gsfp-c-play{transform:scale(1.12)}
.gsfp-docpage .gsfp-cards{gap:28px}
.gsfp-docpage .gsfp-c-img{aspect-ratio:16/9}
.gsfp-cathead.doc{background:radial-gradient(circle at 85% 20%,rgba(220,20,49,.45),transparent 45%),linear-gradient(120deg,#05091a,#0d1b3d 55%,#13296a)}
.gsfp-cathead.doc h1:before{content:"▶";display:inline-block;margin-right:12px;font-size:.6em;vertical-align:middle;background:#dc1431;border-radius:50%;width:1.6em;height:1.6em;line-height:1.6em;text-align:center;padding-left:.12em}

/* portal fits the screen after login */
.gsfp-app.is-full{box-shadow:none}
.gsfp-app.is-full .gsfp-main{padding-bottom:40px}
@media(max-width:900px){.gsfp-app.is-full{display:block}.gsfp-app.is-full .gsfp-main{height:100vh}}

/* =====================================================================
   v10 – author boxes, download boxes, video editor, email-first form, documentary video cards
   ===================================================================== */
.gsfp-sbox.a-pend{background:linear-gradient(135deg,#fff8d9,#ffe79a);color:#7a5a00;border-color:#f2c94c}
.gsfp-sbox.a-edit{background:linear-gradient(135deg,#e4eeff,#b9d1ff);color:#123a8f;border-color:#6b9bf2}
.gsfp-sbox.a-prof{background:linear-gradient(135deg,#dff8e8,#a9e8c3);color:#0d6b33;border-color:#4cc27f}
.gsfp-sbox.a-dl{background:linear-gradient(135deg,#f1ecff,#cfc2ff);color:#4527a0;border-color:#9f86f2}
.gsfp-sbox.a-works{background:linear-gradient(135deg,#dcf7f4,#a5e7df);color:#0b6b63;border-color:#4cc7bb}
.gsfp-sbox.d-prof{background:linear-gradient(135deg,#dff8e8,#a9e8c3);color:#0d6b33;border-color:#4cc27f}
.gsfp-sbox.d-op{background:linear-gradient(135deg,#e4eeff,#b9d1ff);color:#123a8f;border-color:#6b9bf2}
.gsfp-sbox.d-doc{background:linear-gradient(135deg,#fee5e2,#f7b0a8);color:#9c1c10;border-color:#ee7d71}
.gsfp-sbox.d-cert{background:linear-gradient(135deg,#fff3d1,#f3d77a);color:#6b4e00;border-color:#d9b13a}
.gsfp-aupane,.gsfp-dlpane{animation:gsfpIn .25s ease}
.gsfp-aupane .gsfp-acts .gsfp-btn.sm{padding:6px 12px}

/* video editor */
#gsfp-ve-v{display:block;width:100%;max-height:48vh;background:#000;border-radius:12px;margin:6px 0 12px}
.gsfp-ve-ctrl{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:8px}
.gsfp-ve-ctrl label{margin:0}.gsfp-ve-ctrl input{width:110px!important}
.gsfp-ve-st{min-height:20px;font-size:13.5px;font-weight:600;color:#0d6b33;margin:6px 0}.gsfp-ve-st.bad{color:#c0392b}

/* email-first submission form */
.gsfp-known{display:block;background:linear-gradient(135deg,#effaf3,#fff);border:2px solid #4cc27f;border-radius:16px;padding:16px 18px}
.gsfp-known .kh{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.gsfp-known .kh img,.gsfp-known .kh .ini{width:72px;height:88px;border-radius:12px;object-fit:cover;flex:none;border:3px solid #fff;box-shadow:0 0 0 2px #4cc27f}
.gsfp-known .kh .ini{display:flex;align-items:center;justify-content:center;background:#1e8a4c;color:#fff;font-weight:800;font-size:26px}
.gsfp-known .kd{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;background:#fff;border:1px dashed #b7d9c3;border-radius:12px;padding:12px 14px;margin-bottom:12px}
.gsfp-known .kd .full{grid-column:1/-1}.gsfp-known .kd small{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.9px;color:#7a849c;font-weight:700}
.gsfp-known .kd b{display:block;font-size:14px;color:#1c2333;font-weight:700}.gsfp-known .kd p{margin:0;font-size:13.5px;line-height:1.55;color:#39435c}
.gsfp-newauth{background:#fff8e1;border:2px solid #f2c94c;border-radius:14px;padding:12px 16px}
.gsfp-newauth b{display:block;color:#7a5a00}.gsfp-newauth small{display:block;color:#6b5a2a;font-weight:500;margin-top:2px}
.gsfp-filef .pre-st{display:block;position:relative;margin-top:8px;height:22px;background:#e6ebf7;border-radius:11px;overflow:hidden}
.gsfp-filef .pre-st i{display:block;position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,#1a3a8f,#25a85c);transition:width .2s}
.gsfp-filef .pre-st em{position:relative;z-index:1;display:block;text-align:center;font-style:normal;font-size:12px;font-weight:700;line-height:22px;color:#0d1b3d}
.gsfp-filef.pre-ok input[type=file]{border-color:#1e8a4c;background:#f0faf4}

/* documentary: video boxes with the creator below */
.gsfp-c.vid{background:#0a1228;border-color:#16224a;box-shadow:0 10px 30px rgba(5,9,26,.35)}
.gsfp-c.vid .gsfp-c-img{aspect-ratio:16/9;background:#000}
.gsfp-c.vid .gsfp-c-img .vthumb{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.gsfp-c.vid .gsfp-c-img:after{background:linear-gradient(180deg,transparent 45%,rgba(5,9,26,.8))}
.gsfp-c.vid .gsfp-c-date{color:#8fa2d6}
.gsfp-c.vid h3 a{color:#fff}.gsfp-c.vid h3 a:hover{color:#ff6b81}
.gsfp-c.vid .gsfp-c-ex{color:#a8b5da}
.gsfp-c.vid .gsfp-c-by{border-top-color:#26356b}
.gsfp-c.vid .who b{color:#fff}.gsfp-c.vid .who small{color:#ff6b81}
.gsfp-c.vid .av{box-shadow:0 0 0 2px #0a1228,0 0 0 3.5px #dc1431}
.gsfp-c.vid .gsfp-c-more{background:transparent;border-color:#dc1431;color:#ff6b81!important}.gsfp-c.vid .gsfp-c-more:hover{background:#dc1431;color:#fff!important}

/* =====================================================================
   v11 – authors directory PDF (square pictures), download boxes
   ===================================================================== */
.gsfp-sbox.d-works{background:linear-gradient(135deg,#dcf7f4,#a5e7df);color:#0b6b63;border-color:#4cc7bb}
.gsfp-adir .av{width:44px;height:44px;border-radius:3px;object-fit:cover;display:block}
.gsfp-adir .ini{width:44px;height:44px;border-radius:3px;background:#1a3a8f;color:#fff;text-align:center;line-height:44px;font-weight:700;font-size:16px}
.gsfp-adir th .tl{font-weight:600;font-size:9px;opacity:.9}
.gsfp-adir td.tot{text-align:center;font-weight:800;font-size:13px;color:#1a3a8f}

/* =====================================================================
   v12 – certificate section boxes, bigger logo, certificate ID, custom stamp / signature
   ===================================================================== */
.gsfp-sbox.c-dl{background:linear-gradient(135deg,#fff3d1,#f3d77a);color:#6b4e00;border-color:#d9b13a}
.gsfp-sbox.c-rec{background:linear-gradient(135deg,#e4eeff,#b9d1ff);color:#123a8f;border-color:#6b9bf2}
.gsfp-sbox.c-set{background:linear-gradient(135deg,#eef1f6,#cdd5e4);color:#2a3a5c;border-color:#8fa0c0}
.gsfp-cepane{animation:gsfpIn .25s ease}
#gsfp-cs-stamp-p,#gsfp-cs-sig-p{width:auto;max-width:150px;height:70px;object-fit:contain;background:repeating-conic-gradient(#eef1f8 0 25%,#fff 0 50%) 0 0/14px 14px;padding:4px}

/* certificate: larger logo, ID, custom stamp and signature */
.gsfp-cert .in{position:relative;padding:14px 56px}
.gsfp-cert .lg{width:112px;height:112px;border:4px solid #c9a227;box-shadow:0 0 0 4px #1a3a8f,0 0 0 8px #fff,0 0 0 10px #c9a227,0 10px 24px rgba(26,58,143,.28);margin:4px auto 8px}
.gsfp-cert .org{font-size:22px;margin-top:6px}
.gsfp-cert .ttl b{font-size:42px}
.gsfp-cert .cid{position:absolute;right:30px;top:20px;text-align:right;font-family:Arial,sans-serif;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:#7a6a3a}
.gsfp-cert .cid b{display:block;font-size:14px;letter-spacing:.8px;color:#0d1b3d;margin-top:2px}
.gsfp-cert .ring.cust{width:160px;height:160px;object-fit:contain;transform:rotate(-6deg)}
.gsfp-cert .sig .space{display:flex;align-items:flex-end;justify-content:center}
.gsfp-cert .sigimg{max-height:56px;max-width:230px;object-fit:contain;display:block}

/* certificate v2.2.2: big, stylish GSF logo (appreciation-certificate look) */
.gsfp-cert .in{padding:24px 56px 14px}
.gsfp-cert .lgw{display:flex;align-items:center;justify-content:center;gap:26px;margin:0 0 2px}
.gsfp-cert .lgw i{flex:0 0 190px;height:4px;border-radius:3px;background:linear-gradient(90deg,transparent,#c9a227 70%,#8a6a10);position:relative}
.gsfp-cert .lgw i:last-child{transform:scaleX(-1)}
.gsfp-cert .lgw i:after{content:"";position:absolute;right:-5px;top:50%;width:11px;height:11px;margin-top:-5.5px;background:#c9a227;transform:rotate(45deg)}
.gsfp-cert .lg{width:150px;height:150px;margin:0;background:#fff;border:5px solid #c9a227;box-shadow:0 0 0 5px #1a3a8f,0 0 0 9px #fff,0 0 0 11px #c9a227,0 12px 26px rgba(26,58,143,.32)}
.gsfp-cert .org{font-size:23px;letter-spacing:.5px;margin-top:10px;text-shadow:0 1px 0 #fff}
.gsfp-cert .ttl{margin:6px 0 2px}
.gsfp-cert .ttl b{font-size:40px;letter-spacing:10px}
.gsfp-cert .sub{margin-top:4px}
.gsfp-cert .nm{font-size:44px;margin:4px 0 0}
.gsfp-cert .ln{margin-bottom:8px}
.gsfp-cert .tx{line-height:1.5}
.gsfp-cert .sg{margin-top:8px}
.gsfp-cert .cid{top:16px}

/* automatic styles for headings and quotes inside the article body – change any of them with the editor toolbar (font, size, bold, italic ...) */
.gsfp-body h1,.gsfp-body h2,.gsfp-body h3,.gsfp-body h4,.gsfp-body h5,.gsfp-body h6{font-family:Georgia,'Times New Roman',serif;font-weight:700;line-height:1.25;margin:1.3em 0 .5em;color:#0d1b3d}
.gsfp-body h1{font-size:34px}.gsfp-body h2{font-size:28px}.gsfp-body h3{font-size:22px;color:#1a3a8f}.gsfp-body h4{font-size:18px;color:#1a3a8f}.gsfp-body h5{font-size:16px;color:#47506a}.gsfp-body h6{font-size:14px;font-style:italic;color:#47506a}
.gsfp-body blockquote{margin:1.3em 0;padding:.7em 1.2em;border-left:4px solid #c9a227;background:#f6f8ff;font-family:Georgia,'Times New Roman',serif;font-size:20px;font-style:italic;line-height:1.5;color:#1a3a8f}
.gsfp-body blockquote p{margin:0 0 .5em}

/* =====================================================================
   v11 – GSF Submission Portal as a full-screen web application
   fixed sidebar + fixed top bar, only the work area scrolls, collapsible sidebar
   ===================================================================== */
.gsfp-app.is-full{background:#eef1f8;font-size:14.5px;color:#1c2333}
.gsfp-app.is-full .gsfp-side{width:268px;flex:none;display:flex;flex-direction:column;overflow:hidden;z-index:30;
  background:linear-gradient(185deg,#0a1535 0%,#0d1b3d 55%,#102555 100%);box-shadow:6px 0 28px rgba(5,10,30,.28);transition:width .2s ease}
.gsfp-app.is-full .gsfp-brand{flex:none;gap:12px;padding:18px 18px 16px;border-bottom:1px solid rgba(255,255,255,.09);font:700 15px/1.2 Georgia,'Times New Roman',serif;color:#fff}
.gsfp-app.is-full .gsfp-brand img{width:46px;height:46px;border:2px solid #c9a227;background:#fff}
.gsfp-app.is-full .gsfp-brand small{display:block;margin-top:3px;font:700 10.5px Arial,sans-serif;letter-spacing:1.4px;text-transform:uppercase;color:#f3d87b}
.gsfp-app.is-full .gsfp-nav{flex:1;min-height:0;overflow-y:auto;padding:6px 12px 18px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}
.gsfp-app.is-full .gsfp-nav a.on{background:linear-gradient(90deg,#1e8a4c,#25a85c)}
.gsfp-app.is-full .gsfp-nav .gsfp-allp{color:#f3d87b}
.gsfp-app.is-full .gsfp-main{flex:1;min-width:0;display:flex;flex-direction:column;height:100vh;padding:0;overflow:hidden;background:#eef1f8}
.gsfp-app.is-full .gsfp-top{flex:none;position:relative;top:auto;z-index:10;gap:14px;padding:12px 28px;background:#fff;border-bottom:1px solid #e1e6f2;box-shadow:0 3px 14px rgba(13,27,61,.06)}
.gsfp-app.is-full .gsfp-top h1{font-size:21px;font-family:Georgia,'Times New Roman',serif}
.gsfp-app.is-full .gsfp-burger{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:#eef1f8;box-shadow:none;border-radius:10px;cursor:pointer}
.gsfp-app.is-full .gsfp-burger:hover{background:#dfe6f6}
.gsfp-app.is-full .gsfp-user{background:#f3f6fd;box-shadow:none}
.gsfp-app.is-full .gsfp-fsbtn{background:#f3f6fd;box-shadow:none;margin-left:0}
.gsfp-app.is-full .gsfp-fsbtn:hover{background:#1a3a8f;color:#fff}
/* every section is its own scrolling work area under the fixed top bar */
.gsfp-app.is-full .gsfp-panel{flex:1 1 auto;min-height:0;overflow-y:auto;padding:22px 28px 44px;scroll-behavior:smooth}
.gsfp-app.is-full .gsfp-panel>.gsfp-card:last-child{margin-bottom:0}
.gsfp-app.is-full .gsfp-card{border:1px solid #e6eaf4;box-shadow:0 2px 14px rgba(13,27,61,.05)}
.gsfp-app.is-full .gsfp-panel::-webkit-scrollbar{width:10px}
.gsfp-app.is-full .gsfp-panel::-webkit-scrollbar-thumb{background:#c5cde3;border-radius:10px;border:2px solid #eef1f8}
/* collapsed sidebar (icons only) */
.gsfp-app.is-full.is-mini .gsfp-side{width:78px}
.gsfp-app.is-full.is-mini .gsfp-brand{justify-content:center;padding:16px 8px}
.gsfp-app.is-full.is-mini .gsfp-brand span,.gsfp-app.is-full.is-mini .gsfp-nav a>span,.gsfp-app.is-full.is-mini .gsfp-navgroup{display:none}
.gsfp-app.is-full.is-mini .gsfp-nav{padding:6px 10px 18px}
.gsfp-app.is-full.is-mini .gsfp-nav a{justify-content:center;padding:12px 0}
.gsfp-app.is-full.is-mini .gsfp-nav a .gsfp-badge{position:absolute;top:4px;right:6px;margin:0;padding:0 5px;font-size:10px}
@media(max-width:900px){
  .gsfp-app.is-full{display:block}
  .gsfp-app.is-full .gsfp-side{position:fixed;left:0;top:0;bottom:0;width:272px;transform:translateX(-105%);transition:transform .25s}
  .gsfp-app.is-full .gsfp-side.open{transform:none}
  .gsfp-app.is-full .gsfp-top{padding:10px 14px}
  .gsfp-app.is-full .gsfp-panel{padding:16px 14px 40px}
  .gsfp-app.is-full .gsfp-user>span:last-child{display:none}
}


/* =====================================================================
   v12 – professional author profile box
   ===================================================================== */
.gsfp-wrap .gsfp-author{position:relative;overflow:hidden;padding:0;margin:32px 0 8px;text-align:center;
  background:linear-gradient(180deg,#f4f7ff 0%,#fffdf5 100%);
  border:3px solid #c9a227;border-radius:18px;
  box-shadow:0 0 0 1px #0d1b3d,0 0 0 6px #fff,0 0 0 7px rgba(201,162,39,.55),0 18px 38px rgba(13,27,61,.18)}
.gsfp-wrap .gsfp-author-band{position:relative;height:96px;display:flex;align-items:flex-start;justify-content:center;padding-top:14px;
  background:radial-gradient(circle at 88% -20%,rgba(201,162,39,.45),transparent 48%),linear-gradient(120deg,#0a1535,#0d1b3d 55%,#13296a);
  border-bottom:4px solid #c9a227}
.gsfp-wrap .gsfp-author-kicker,.gsfp-wrap .gsfp-author-role{display:inline-block;margin:0;padding:5px 16px;border-radius:30px;font-size:11px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;line-height:1.3}
.gsfp-wrap .gsfp-author-kicker{background:rgba(255,255,255,.1);border:1px solid rgba(243,216,123,.7);color:#f6df8c}
.gsfp-wrap .gsfp-author-role{background:#c8102e;border:1px solid #ff6b81;color:#fff}
.gsfp-wrap .gsfp-author-in{padding:0 26px 26px}
.gsfp-wrap .gsfp-author-img{display:block;width:auto;height:auto;max-width:min(220px,80%);max-height:260px;object-fit:contain;border-radius:0;margin:-62px auto 14px;background:#fff;border:4px solid #fff;outline:3px solid #c9a227;box-shadow:0 10px 22px rgba(13,27,61,.3)}
.gsfp-wrap .gsfp-author h4{margin:0 0 4px;font:700 24px/1.25 Georgia,'Times New Roman',serif;color:#0d1b3d;letter-spacing:.2px}
.gsfp-wrap .gsfp-author-mail{display:inline-block;margin:2px 0 10px;font-size:13.5px;color:#4a5578;word-break:break-all}
.gsfp-wrap .gsfp-author-mail:before{content:"\2709";margin-right:7px;color:#c9a227;font-size:15px}
.gsfp-wrap .gsfp-author-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:4px 0 4px}
.gsfp-wrap .gsfp-author-links a{margin:0;padding:6px 15px;border:1.5px solid #1a3a8f;border-radius:30px;background:#fff;color:#1a3a8f;font-size:12.5px;font-weight:700;text-decoration:none;transition:.15s}
.gsfp-wrap .gsfp-author-links a:hover{background:#1a3a8f;color:#fff}
.gsfp-wrap .gsfp-author-rule{display:flex;align-items:center;justify-content:center;gap:10px;margin:18px auto 14px;max-width:260px}
.gsfp-wrap .gsfp-author-rule:before,.gsfp-wrap .gsfp-author-rule:after{content:"";flex:1;height:2px;background:linear-gradient(90deg,transparent,#c9a227)}
.gsfp-wrap .gsfp-author-rule:after{background:linear-gradient(270deg,transparent,#c9a227)}
.gsfp-wrap .gsfp-author-rule i{width:9px;height:9px;background:#c9a227;transform:rotate(45deg)}
.gsfp-wrap .gsfp-author-bio{margin:0 0 6px;padding:14px 18px;text-align:justify;font-size:15px;line-height:1.7;color:#2a3350;background:rgba(255,255,255,.75);border-left:4px solid #1e8a4c;border-radius:0 10px 10px 0}
.gsfp-wrap .gsfp-author .gsfp-author-btn{display:inline-block;margin-top:14px;padding:11px 28px;border-radius:30px;background:linear-gradient(135deg,#1a3a8f,#2b55c9);color:#fff;font-weight:700;text-decoration:none;box-shadow:0 8px 16px rgba(26,58,143,.28)}
.gsfp-wrap .gsfp-author .gsfp-author-btn:hover{filter:brightness(1.1)}
.gsfp-wrap .gsfp-authors{gap:26px}
@media(max-width:640px){.gsfp-wrap .gsfp-author-in{padding:0 16px 22px}.gsfp-wrap .gsfp-author-bio{text-align:left}}

/* Submission Form editor */
.gsfp-sx-muted{color:#6b7488;font-size:13px}.gsfp-sx-ch h3{margin:0 0 10px}
.gsfp-sx-code{display:inline-block;padding:3px 9px;border-radius:7px;background:#eef1f8;color:#0d1b3d;font:700 13px Consolas,Menlo,monospace}
.gsfp-sx-sfrow{display:flex;gap:10px;align-items:center;padding:9px 11px;margin-bottom:7px;border:1px solid #d9e0f1;border-radius:11px;background:#fff}
.gsfp-sx-sfrow .no{width:26px;height:26px;border-radius:50%;background:#e0e8fb;color:#1a3a8f;font:700 12px Arial,sans-serif;display:flex;align-items:center;justify-content:center;flex:none}
.gsfp-sx-sfrow .tx{flex:1;min-width:0}.gsfp-sx-sfrow .tx b{display:block;font:700 14px Arial,sans-serif;color:#0d1b3d}.gsfp-sx-sfrow .tx small{color:#8590a8;font-size:12px}
.gsfp-sx-pill{display:inline-block;padding:3px 10px;border-radius:20px;font:700 11px Arial,sans-serif}.gsfp-sx-pill.active{background:#dff3e6;color:#14532d}.gsfp-sx-pill.closed{background:#eceff6;color:#5a647d}
.gsfp-sx-ib{width:30px;height:30px;border:0;border-radius:8px;background:#e7ecf8;color:#1a3a8f;font-size:14px;cursor:pointer}.gsfp-sx-ib:hover:not(:disabled){background:#1a3a8f;color:#fff}.gsfp-sx-ib:disabled{opacity:.35;cursor:default}.gsfp-sx-rm:hover:not(:disabled){background:#b3261e!important}
.gsfp-sx-sfed{margin:-2px 0 10px;padding:14px;border:1px solid #d9e0f1;border-top:0;border-radius:0 0 11px 11px;background:#fbfcff;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.gsfp-sx-sfed label{display:block;font:700 12.5px Arial,sans-serif;color:#3a4560}
.gsfp-sx-sfed input[type=text],.gsfp-sx-sfed input[type=number],.gsfp-sx-sfed select,.gsfp-sx-sfed textarea{display:block;width:100%;margin-top:5px;padding:9px 11px;border:1.5px solid #cfd7ea;border-radius:9px;background:#fff;font:400 14px Arial,sans-serif;box-sizing:border-box}
.gsfp-sx-sfed .full{grid-column:1/-1}
.gsfp-sx-checks{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:5px}.gsfp-sx-checks label{font:400 13.5px Arial,sans-serif;display:flex;gap:6px;align-items:center}
.gsfp-sx-chk{display:flex!important;gap:9px;align-items:center;font:400 14px Arial,sans-serif!important}.gsfp-sx-chk input{width:18px!important;height:18px;margin:0!important}
.gsfp-sx-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.gsfp-sx-sfmsg{min-height:20px;margin-top:10px;font:400 13.5px Arial,sans-serif;color:#0d6b33}.gsfp-sx-sfmsg.bad{color:#b3261e}
.gsfp-sx-sfprev{margin-top:12px;padding:10px;border:1px solid #dfe5f3;border-radius:12px;background:#eef1f9;max-height:720px;overflow:auto}

/* import preface */
.gsfp-ip-bulk{margin:12px 0 8px}.gsfp-ip-bulk input{min-width:240px}.ip-auth{width:100%;min-width:220px;box-sizing:border-box}.ip-auth.bad{border-color:#b3261e!important;background:#fdecea}.gsfp-ip-done{opacity:.6}

/* ============ compact post list – [gsf_category slug="opinion"] ============ */

/* arrange author IDs */
.gsfp-idtable td{vertical-align:middle}
.gsfp-mv{width:30px;height:28px;border:1px solid #cfd7ea;border-radius:6px;background:#fff;color:#1a3a8f;font-size:11px;cursor:pointer;line-height:1}
.gsfp-mv:hover{background:#eef2fb}
.gsfp-idpre{font:700 12px Arial,sans-serif;color:#127a3c;margin-right:6px}
.gsfp-modal-box .gsfp-idn{width:84px;margin:0;padding:7px 8px;font-size:14px;letter-spacing:0;text-align:center}
.gsfp-modal-box .gsfp-idn.bad{border-color:#c0392b;background:#fdf1ef}

/* author profile box: compact, professional size */
.gsfp-wrap .gsfp-author{max-width:560px;margin:22px auto 6px;border-width:2px;border-radius:12px;box-shadow:0 0 0 1px #0d1b3d,0 6px 16px rgba(13,27,61,.14)}
.gsfp-wrap .gsfp-authors .gsfp-author{max-width:none;margin:0}
.gsfp-wrap .gsfp-authors{gap:16px}
.gsfp-wrap .gsfp-author-band{height:64px;padding-top:10px;border-bottom-width:3px}
.gsfp-wrap .gsfp-author-kicker,.gsfp-wrap .gsfp-author-role{padding:4px 13px;font-size:10px;letter-spacing:1.3px}
.gsfp-wrap .gsfp-author-in{padding:0 20px 18px}
.gsfp-wrap .gsfp-author-img{position:relative;z-index:2;max-width:min(120px,55%);max-height:150px;margin:-24px auto 10px;border-width:3px;outline-width:2px;box-shadow:0 6px 14px rgba(13,27,61,.25)}
.gsfp-wrap .gsfp-author h4{font-size:19px;margin:0 0 2px}
.gsfp-wrap .gsfp-author-mail{margin:0 0 8px;font-size:12.5px}
.gsfp-wrap .gsfp-author-mail:before{font-size:13px;margin-right:5px}
.gsfp-wrap .gsfp-author-links{gap:6px;margin:2px 0}
.gsfp-wrap .gsfp-author-links a{padding:4px 12px;font-size:12px}
.gsfp-wrap .gsfp-author-rule{margin:12px auto 10px;max-width:200px}
.gsfp-wrap .gsfp-author-bio{padding:10px 14px;font-size:14px;line-height:1.6}
.gsfp-wrap .gsfp-author .gsfp-author-btn{margin-top:10px;padding:8px 22px;font-size:13px;box-shadow:0 4px 10px rgba(26,58,143,.25)}
@media(max-width:640px){.gsfp-wrap .gsfp-author-in{padding:0 14px 16px}.gsfp-wrap .gsfp-author-img{max-width:min(110px,50%)}}

/* ---- 2.5.2 compact post cards (category pages + Latest Posts block): shorter, tidier, same look ---- */
.gsfp-cards,.gsfp-docpage .gsfp-cards{gap:18px}
.gsfp-c{border-radius:12px;box-shadow:0 3px 14px rgba(13,27,61,.07)}
.gsfp-c:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(13,27,61,.13)}
.gsfp-c-img,.gsfp-docpage .gsfp-c-img,.gsfp-c.vid .gsfp-c-img{aspect-ratio:16/9;max-height:170px;width:100%}
.gsfp-c-img:after{height:45%}
.gsfp-c-tag{bottom:10px;font-size:10px;letter-spacing:1px;padding:5px 12px 5px 10px}
.gsfp-c-play{width:34px;height:34px;right:10px;top:10px;font-size:12px}
.gsfp-c-img.gsfp-vplay .gsfp-c-play{width:48px;height:48px;margin:-24px 0 0 -24px;font-size:17px;box-shadow:0 0 0 6px rgba(255,255,255,.28),0 8px 18px rgba(0,0,0,.4)}
.gsfp-c-b{padding:12px 14px 12px}
.gsfp-c-date{font-size:10.5px;letter-spacing:.7px;gap:8px}
.gsfp-c-date span+span:before{width:3px;height:3px;margin-right:8px}
.gsfp-c h3{font-size:16px;line-height:1.3;margin:6px 0 5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gsfp-c-ex{font-size:13px;line-height:1.5;margin:0 0 8px;-webkit-line-clamp:2}
.gsfp-c-by{gap:8px;padding:9px 0 8px}
.gsfp-c .av{width:30px;height:30px;font-size:12px;box-shadow:0 0 0 1.5px #fff,0 0 0 2.5px #c8102e}
.gsfp-c .who{gap:8px}
.gsfp-c .who small{font-size:9px;letter-spacing:.9px}
.gsfp-c .who b{font-size:12.5px;white-space:nowrap}
.gsfp-c-more{padding:5px 15px;font-size:12px;margin-top:0;border-width:1.3px}
.gsfp-c.vid .av{box-shadow:0 0 0 1.5px #0a1228,0 0 0 2.5px #dc1431}
@media(max-width:560px){.gsfp-c-img,.gsfp-docpage .gsfp-c-img,.gsfp-c.vid .gsfp-c-img{max-height:190px}}

/* ---- 2.5.3 pasted Word formatting is shown exactly as pasted: bullets, numbering, spacing and indents are not overridden ---- */
.gsfp-body ul{list-style:disc outside;margin:0 0 1em 1.6em;padding-left:1.2em}
.gsfp-body ol{list-style:decimal outside;margin:0 0 1em 1.6em;padding-left:1.2em}
.gsfp-body ul ul{list-style-type:circle}.gsfp-body ul ul ul{list-style-type:square}
.gsfp-body li{margin:0 0 .35em}
.gsfp-body li>p{margin:0}

/* National / Global News: fixed byline "News Desk (GSF)" with the GSF logo */
.gsfp-c .av.logo{background:#fff;box-shadow:0 0 0 1.5px #e3e8f4}
.gsfp-c .av.logo img img{object-fit:contain;padding:2px;box-sizing:border-box}
.gsfp-by{display:inline-flex;align-items:center;gap:8px}
.gsfp-bylogo{width:26px;height:26px;border-radius:50%;object-fit:contain;background:#fff;box-shadow:0 0 0 1px #dfe5f2;display:inline-block}

/* [gsf_category_page] and [gsf_home_latest]: always two posts per row (one column only on small phones) */

/* ===== POST BOXES (category page, home page latest, latest block) – one professional style ===== */
.gsfp-bxwrap{max-width:1180px;margin:18px auto}
.gsfp-bxs{display:grid;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}
.gsfp-bxs.c1{grid-template-columns:1fr}.gsfp-bxs.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.gsfp-bxs.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.gsfp-bx{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid #e1e6f0;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(13,27,61,.06);transition:transform .25s,box-shadow .25s,border-color .25s}
.gsfp-bx:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(13,27,61,.15);border-color:#c9d3ea}
.gsfp-bx:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#c8102e,#1a3a8f);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.gsfp-bx:hover:after{transform:scaleX(1)}
.gsfp-bx-img{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#0d1b3d,#1a3a8f 60%,#1e8a4c)}
.gsfp-bx-img img,.gsfp-bx-img .vthumb{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.gsfp-bx:hover .gsfp-bx-img img{transform:scale(1.06)}
.gsfp-bx-img:before{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(180deg,transparent,rgba(8,16,40,.55));z-index:1;pointer-events:none}
.gsfp-bx-img .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.85);font:700 28px Georgia,serif;letter-spacing:4px}
.gsfp-bx-tag{position:absolute;left:14px;top:14px;z-index:2;background:#c8102e;color:#fff;font:800 10.5px/1 Arial,sans-serif;letter-spacing:1.2px;text-transform:uppercase;padding:6px 11px;border-radius:4px;box-shadow:0 3px 10px rgba(0,0,0,.25)}
.gsfp-bx-play{position:absolute;z-index:2;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:rgba(200,16,46,.92);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 0 0 7px rgba(255,255,255,.22);transition:transform .25s}
.gsfp-bx:hover .gsfp-bx-play{transform:scale(1.12)}
.gsfp-bx-img.gsfp-vplay{cursor:pointer}
.gsfp-bx-bd{display:flex;flex-direction:column;flex:1;padding:18px 20px 18px}
.gsfp-bx-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font:700 11px/1.3 Arial,sans-serif;letter-spacing:.8px;text-transform:uppercase;color:#7a849c}
.gsfp-bx-meta span+span:before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:#c8102e;margin-right:12px;vertical-align:middle}
.gsfp-bx h3{margin:9px 0 8px;font:700 20px/1.3 Georgia,"Times New Roman",serif;color:#0d1b3d;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gsfp-bx h3 a{color:inherit;text-decoration:none;background:linear-gradient(#c8102e,#c8102e) 0 100%/0 2px no-repeat;transition:background-size .3s,color .2s}
.gsfp-bx h3 a:hover{color:#c8102e;background-size:100% 2px}
.gsfp-bx-ex{margin:0 0 16px;font:400 14px/1.65 Arial,sans-serif;color:#56627f;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gsfp-bx-ft{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid #edf0f7}
.gsfp-bx .who{display:flex;align-items:center;gap:10px;min-width:0}
.gsfp-bx .av{flex:none;width:36px;height:36px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#1a3a8f,#1e8a4c);color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #fff,0 0 0 3.5px #c8102e}
.gsfp-bx .av img{width:100%;height:100%;object-fit:cover;display:block}.gsfp-bx .av i{font:700 14px Arial,sans-serif;font-style:normal}
.gsfp-bx .av.logo{background:#fff;box-shadow:0 0 0 1.5px #e3e8f4}.gsfp-bx .av.logo img{object-fit:contain;padding:3px;box-sizing:border-box}
.gsfp-bx .nm{display:block;min-width:0;font:700 13px/1.3 Arial,sans-serif;color:#0d1b3d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gsfp-bx .nm small{display:block;font:700 9.5px/1.2 Arial,sans-serif;letter-spacing:1.1px;text-transform:uppercase;color:#c8102e;margin-bottom:2px}
.gsfp-bx-more{flex:none;padding:8px 16px;border:1.5px solid #c8102e;border-radius:30px;color:#c8102e!important;font:800 12px/1 Arial,sans-serif;letter-spacing:.4px;text-decoration:none!important;transition:.2s}
.gsfp-bx-more:hover{background:#c8102e;color:#fff!important}
/* home page "latest" boxes: red top rule + soft navy wash */
.gsfp-bx.home{border-top:4px solid #c8102e;background:linear-gradient(180deg,#fff 60%,#f6f8fd)}
.gsfp-bx.home .gsfp-bx-tag{background:linear-gradient(100deg,#a80019,#dc1431)}
/* documentary boxes: dark cinema look */
.gsfp-bx.vid{background:#0a1228;border-color:#16224a;box-shadow:0 10px 28px rgba(5,9,26,.35)}
.gsfp-bx.vid.home{border-top-color:#dc1431;background:#0a1228}
.gsfp-bx.vid h3 a{color:#fff}.gsfp-bx.vid h3 a:hover{color:#ff6b81}
.gsfp-bx.vid .gsfp-bx-meta{color:#8fa2d6}.gsfp-bx.vid .gsfp-bx-ex{color:#a8b5da}
.gsfp-bx.vid .gsfp-bx-ft{border-top-color:#26356b}.gsfp-bx.vid .nm{color:#fff}.gsfp-bx.vid .nm small{color:#ff6b81}
.gsfp-bx.vid .gsfp-bx-more{border-color:#dc1431;color:#ff6b81!important}.gsfp-bx.vid .gsfp-bx-more:hover{background:#dc1431;color:#fff!important}
.gsfp-bx.vid .av{box-shadow:0 0 0 2px #0a1228,0 0 0 3.5px #dc1431}
@media(max-width:1000px){.gsfp-bxs.c3,.gsfp-bxs.c4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.gsfp-bxs,.gsfp-bxs.c3,.gsfp-bxs.c4{grid-template-columns:1fr;gap:18px}.gsfp-bx h3{font-size:18px}.gsfp-bx-bd{padding:16px}}

/* ---- eye icon: how many people have read / watched a post ---- */
.gsfp-views{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 9px;border-radius:20px;background:#eef2fb;color:#1a3a8f;font:700 12px/1 Arial,sans-serif;letter-spacing:.2px;text-transform:none;white-space:nowrap}
.gsfp-views svg{flex:none;display:block}
.gsfp-views b{font-weight:800}
.gsfp-bx-meta .gsfp-views{margin-left:auto}
.gsfp-bx-meta .gsfp-views:before{display:none!important}
.gsfp-bx.vid .gsfp-views{background:rgba(255,255,255,.12);color:#d3ddfa}
.gsfp-meta .gsfp-views-wrap{display:inline-block;vertical-align:middle;font-weight:700}
.gsfp-meta .gsfp-views{padding:3px 10px 3px 8px;font-size:12px}
.gsfp-pdfmode .gsfp-views-wrap{display:none}
/* admin: Views section */
.gsfp-vstats{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 16px}
.gsfp-vs{min-width:150px;padding:14px 20px;border-radius:14px;background:#fff;box-shadow:0 0 0 1px #e2e8f6;border-left:4px solid #c8102e}
.gsfp-vs b{display:block;font:800 26px/1.1 Arial,sans-serif;color:#0d1b3d}.gsfp-vs small{color:#6b7694;font-weight:600}
.gsfp-vbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px}
.gsfp-vt{display:flex;flex-wrap:wrap;gap:6px}
.gsfp-vt button{padding:8px 16px;border:0;border-radius:20px;background:#e7ecf8;color:#1a3a8f;font:600 13px Arial,sans-serif;cursor:pointer}
.gsfp-vt button.on{background:#0d1b3d;color:#fff}
#gsfp-v-q{min-width:240px;padding:9px 14px;border:1px solid #cfd8ee;border-radius:10px;font:400 14px Arial,sans-serif}
.gsfp-vtable td{vertical-align:middle}
.gsfp-views.big{padding:5px 12px;font-size:13px}
