.spp-gallery,.spp-master{--spp-ink:#102c4f;--spp-accent:#157c80;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;color:var(--spp-ink);font-size:16px;line-height:1.6}.spp-gallery *,.spp-master *{box-sizing:border-box}.spp-gallery{max-width:1400px;margin:0 auto;padding:65px 5%;background:linear-gradient(140deg,#f0f5fb,#fff 70%)}.spp-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:32px}.spp-eyebrow{font-size:10px;letter-spacing:2px;font-weight:bold;color:#2a747c}.spp-heading h2{font-size:clamp(30px,3.5vw,46px);line-height:1.15;letter-spacing:-1px;margin:12px 0 16px;color:#102c4f}.spp-heading p{margin:0;color:#596d83;font-size:15px}.spp-stamp{font-size:12px;border-left:2px solid #b0cdd5;padding:10px 0 10px 20px;white-space:nowrap;color:#527084}.spp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.spp-card{background:white;border:1px solid #dde6ee;border-radius:16px;box-shadow:0 10px 30px #183b5b09;overflow:hidden;display:flex;flex-direction:column;scroll-margin-top:100px}.spp-visual{position:relative;aspect-ratio:1.6;background:#102c4f}.spp-visual img{width:100%;height:100%;object-fit:cover;display:block}.spp-tag{position:absolute;top:17px;left:17px;background:#ffffffed;color:#173d61;padding:6px 11px;border-radius:30px;letter-spacing:1px;font-size:9px;font-weight:bold}.spp-body{padding:26px;display:flex;flex-direction:column;flex:1}.spp-body h3{font-size:24px;line-height:1.25;letter-spacing:-.5px;margin:0 0 14px;color:#102c4f}.spp-body p{font-size:13px;color:#5a6c80;line-height:1.75;margin:0 0 18px;flex:1}.spp-offer{font-size:13px;color:#12646d}.spp-code{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin:17px 0 10px;font-size:10px;color:#5b7083}.spp-detail-button{font:inherit!important;font-size:12px!important;background:transparent!important;border:0!important;padding:10px 0!important;color:#193d61!important;text-align:left;cursor:pointer}.spp-cta{display:flex!important;align-items:center;justify-content:space-between;gap:15px;min-height:52px;border:0;border-radius:7px;background:#102c4f!important;color:white!important;font:600 13px/1.5 Arial,sans-serif!important;text-decoration:none!important;padding:15px 18px!important;cursor:pointer}.spp-cta:hover{background:#1a6573!important}.spp-share{font-size:11px;text-align:center;padding:12px 0 0;color:#356975!important;text-decoration:underline}.spp-dialog{max-width:650px;width:90%;max-height:85vh;overflow:auto;border:0;border-radius:16px;padding:40px;color:#102c4f;background:white;box-shadow:0 25px 80px #0005;font:16px/1.75 Arial,sans-serif}.spp-dialog::backdrop{background:#071d36c9}.spp-dialog h3{font-size:29px;line-height:1.25;margin:18px 0}.spp-dialog h4{font-size:17px}.spp-close{float:right;font:28px Arial,sans-serif;border:0;background:#edf2f5;color:#102c4f;border-radius:50%;width:42px;height:42px;cursor:pointer}.spp-master{max-width:1150px;margin:35px auto;padding:35px 25px}.spp-master h1{font-size:38px;line-height:1.2}.spp-master-list{display:grid;gap:10px;margin:25px 0}.spp-master-list>div{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:18px;border:1px solid #dce5ee;border-radius:8px;background:#f8fafc}.spp-master-list strong{flex:1;min-width:230px}.spp-master-list span{font-size:12px;color:#5a7185}.spp-master-list form{margin:0}.spp-master-list button,.spp-image-editor button{padding:10px 16px;border:1px solid #b6c6d5;background:white;color:#102c4f;border-radius:6px;cursor:pointer}.spp-form{display:grid;gap:20px;max-width:850px}.spp-form label{display:grid;gap:7px;font-size:14px}.spp-form input:not([type=checkbox]),.spp-form textarea{width:100%;padding:13px;font:16px/1.5 Arial,sans-serif;border:1px solid #b5c5d5;border-radius:6px;background:white;color:#102c4f;box-sizing:border-box}.spp-form .spp-check{display:flex;align-items:center;gap:12px}.spp-check input{width:22px;height:22px}.spp-image-editor{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.spp-image-preview{width:180px;height:120px;object-fit:cover;border-radius:8px}.spp-notice{background:#e6f5ee;padding:15px;border-radius:6px}.spp-gallery :focus-visible,.spp-master :focus-visible{outline:3px solid #169f9c;outline-offset:4px}@media(max-width:1000px){.spp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spp-stamp{display:none}}@media(max-width:600px){.spp-gallery{padding:35px 18px}.spp-grid{grid-template-columns:1fr}.spp-heading h2{font-size:32px}.spp-body h3{font-size:25px}.spp-dialog{padding:26px}.spp-master{padding:24px 15px}}

.spp-edit-link{align-self:flex-start;margin-bottom:14px;padding:8px 12px;border:1px solid #157c80;border-radius:6px;background:#edf8f7;color:#124f57!important;font-weight:bold;font-size:13px;text-decoration:none!important}.spp-edit-link:hover{background:#d8efed}#spp-editor{scroll-margin-top:100px}

.spp-web-access { text-align: center; padding: 1rem; }
.spp-web-access a { display: inline-block; padding: .6rem 1rem; color: #123063; background: #eef4ff; border-radius: .5rem; font-weight: 600; }
.spp-master #loginform { max-width: 28rem; }
.spp-master #loginform label { display: block; }
.spp-master #loginform .input { display: block; width: 100%; padding: .55rem; }
.spp-master #loginform .button-primary { padding: .6rem 1rem; color: #fff; background: #123063; border: 0; border-radius: .5rem; cursor: pointer; }
