/* =====================================================================
   STAM Elementor Widgets — shared design system
   Scoped with .stam- prefixes; safe alongside any theme.
   Elementor's own widget controls override these via inline/custom CSS,
   these rules just provide the base premium look out of the box.
   ===================================================================== */

.stam-scope, .stam-scope * { box-sizing: border-box; }
.stam-scope {
  --stam-ink:#14201F; --stam-ink-soft:#3C4A48; --stam-paper:#F4F2EC; --stam-paper-raised:#FFFFFF;
  --stam-ledger:#1C3D3A; --stam-ledger-2:#254F4B; --stam-brass:#A87A3E; --stam-brass-deep:#8C6530;
  --stam-growth:#3E7A55; --stam-growth-soft:#E4EEE6; --stam-amber:#B4832F; --stam-amber-soft:#F3E7D2;
  --stam-rule:#D8D2C2; --stam-rule-soft:#E7E3D6;
  --stam-serif:'Fraunces', Georgia, serif; --stam-sans:'Inter', sans-serif;
  font-family: var(--stam-sans); color: var(--stam-ink);
}
.stam-scope h1,.stam-scope h2,.stam-scope h3,.stam-scope h4{font-family:var(--stam-serif); font-weight:600; line-height:1.15; margin:0;}
.stam-scope p{margin:0;}
.stam-scope img{max-width:100%; display:block;}
.stam-scope a{text-decoration:none; color:inherit;}
.stam-scope button{all:unset; box-sizing:border-box; font-family:inherit; cursor:pointer;}

/* Buttons */
.stam-btn{display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:8px; padding:13px 24px !important; border-radius:4px !important; font-weight:600; font-size:15px; border:1px solid transparent !important; transition:.15s ease; box-sizing:border-box; text-align:center !important; cursor:pointer;}
.stam-btn-primary{background:var(--stam-ledger) !important; color:#fff !important;}
.stam-btn-primary:hover{background:var(--stam-ledger-2) !important; color:#fff !important;}
.stam-btn-brass{background:var(--stam-brass) !important; color:#fff !important;}
.stam-btn-brass:hover{background:var(--stam-brass-deep) !important; color:#fff !important;}
.stam-btn-ghost{background:transparent !important; color:var(--stam-ink) !important; border-color:var(--stam-rule) !important;}
.stam-btn-block{width:100% !important;}
.stam-btn-sm{padding:9px 16px !important; font-size:13.5px;}

/* Header */
.stam-header{display:flex; align-items:center; justify-content:space-between; padding:18px 32px; background:rgba(244,242,236,.94); backdrop-filter:blur(10px); border-bottom:1px solid var(--stam-rule); position:relative; z-index:50;}
.stam-header-logo{display:flex; align-items:center; gap:10px;}
.stam-header-logo img{max-height:40px; width:auto;}
.stam-header-logo-text{font-family:var(--stam-serif); font-size:22px; font-weight:700; color:var(--stam-ledger);}
.stam-header-nav{display:flex; align-items:center; gap:28px;}
.stam-header-nav a{font-size:14.5px; font-weight:500; color:var(--stam-ink-soft); border-bottom:1px solid transparent; padding:4px 0;}
.stam-header-nav a:hover{color:var(--stam-ink); border-color:var(--stam-brass);}
.stam-header-actions{display:flex; align-items:center; gap:12px;}
.stam-header-burger{display:none !important; align-items:center; justify-content:center; background:none; border:none; padding:6px; cursor:pointer; color:var(--stam-ink); line-height:1;}
.stam-header-mobile{display:none; padding:16px 24px 22px; border-top:1px solid var(--stam-rule); background:var(--stam-paper);}
.stam-header-mobile.stam-open{display:block;}
.stam-header-mobile > a{display:block; padding:10px 0; border-bottom:1px solid var(--stam-rule-soft);}
.stam-header-mobile-actions{display:flex; gap:10px; margin-top:16px;}
@media(max-width:900px){ .stam-header-nav, .stam-header-actions .stam-desktop-only{display:none !important;} .stam-header-burger{display:flex !important;} }

/* Footer */
.stam-footer{padding:56px 32px 30px; background:var(--stam-paper);}
.stam-footer-disclaimer{background:var(--stam-rule-soft); font-size:12.5px; color:var(--stam-ink-soft); padding:14px; text-align:center; margin:-56px -32px 44px;}
.stam-footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; max-width:1180px; margin:0 auto;}
.stam-footer-logo{margin-bottom:14px;}
.stam-footer-logo img{max-height:40px; width:auto;}
.stam-footer-logo-text{font-family:var(--stam-serif); font-size:21px; font-weight:700; color:var(--stam-ledger);}
.stam-footer-col h5{font-size:13px; font-weight:700; margin-bottom:14px;}
.stam-footer-col a{display:block; font-size:14px; color:var(--stam-ink-soft); margin-bottom:10px;}
.stam-footer-brand-about{font-size:14px; color:var(--stam-ink-soft); margin-top:12px; max-width:34ch;}
.stam-footer-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; max-width:1180px; margin:36px auto 0; padding-top:20px; border-top:1px solid var(--stam-rule); font-size:12.5px; color:var(--stam-ink-soft);}
@media(max-width:768px){ .stam-footer-grid{grid-template-columns:1fr 1fr;} }

/* Hero */
.stam-hero{padding:70px 32px; display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; max-width:1180px; margin:0 auto;}
.stam-hero-eyebrow{font-size:14.5px; color:var(--stam-brass-deep); font-weight:600; margin-bottom:16px;}
.stam-hero h1{font-size:48px; letter-spacing:-.01em;}
.stam-hero-lead{margin-top:18px; font-size:17px; color:var(--stam-ink-soft); max-width:46ch;}
.stam-hero-note{margin-top:16px; font-size:13px; color:var(--stam-ink-soft);}
.stam-hero-ctas{display:flex; gap:12px; margin-top:28px; flex-wrap:wrap;}
@media(max-width:900px){ .stam-hero{grid-template-columns:1fr;} }

/* Statement card (used in hero) */
.stam-statement{background:var(--stam-paper-raised); border:1px solid var(--stam-rule); border-radius:8px; overflow:hidden; box-shadow:0 24px 48px -28px rgba(20,32,31,.28);}
.stam-statement-head{padding:18px 22px; border-bottom:1px solid var(--stam-rule-soft); display:flex; justify-content:space-between;}
.stam-bureau-row{display:flex; justify-content:space-between; align-items:center; padding:14px 22px; border-bottom:1px solid var(--stam-rule-soft);}
.stam-badge{font-size:12.5px; font-weight:600; padding:5px 12px; border-radius:99px; white-space:nowrap; display:inline-block;}
.stam-badge-notstarted{background:var(--stam-rule-soft); color:var(--stam-ink-soft);}
.stam-badge-progress{background:var(--stam-amber-soft); color:var(--stam-amber);}
.stam-badge-submitted{background:#E4E9EE; color:#3B5570;}
.stam-badge-review{background:#EFE6F1; color:#77507E;}
.stam-badge-resolved{background:var(--stam-growth-soft); color:var(--stam-growth);}
.stam-statement-foot{padding:18px 22px; background:var(--stam-rule-soft);}
.stam-progress-track{height:8px; background:var(--stam-rule); border-radius:99px; overflow:hidden; margin-top:6px;}
.stam-progress-fill{height:100%; background:var(--stam-growth); border-radius:99px;}

/* Trust strip */
.stam-trust-strip{display:grid; grid-template-columns:repeat(4,1fr); max-width:1180px; margin:0 auto; padding:20px 32px;}
.stam-trust-item{padding:0 22px; border-left:1px solid var(--stam-rule);}
.stam-trust-item:first-child{border-left:none; padding-left:0;}
.stam-trust-icon{display:block; color:var(--stam-brass); margin-bottom:18px; line-height:1;}
.stam-trust-num{font-family:var(--stam-serif); font-size:32px; color:var(--stam-ledger); display:block;}
.stam-trust-label{font-size:13px; color:var(--stam-ink-soft); margin-top:6px;}
@media(max-width:768px){
	.stam-trust-strip{grid-template-columns:1fr 1fr;}
	.stam-trust-item{border-left:none; padding-left:0;}
}
@media(max-width:480px){
	.stam-trust-strip{grid-template-columns:1fr;}
}

/* Media + text split */
.stam-media-text{display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center; max-width:1180px; margin:0 auto; padding:48px 32px;}
.stam-media-text.stam-reverse{direction:rtl;} .stam-media-text.stam-reverse > *{direction:ltr;}
.stam-mt-heading{font-size:30px;}
.stam-mt-eyebrow{font-size:14px; color:var(--stam-brass-deep); font-weight:600; margin-bottom:14px;}
.stam-mt-body{margin-top:14px; color:var(--stam-ink-soft); font-size:15.5px;}
.stam-photo{position:relative; overflow:hidden; border-radius:8px; background:var(--stam-ledger);}
.stam-photo img{width:100%; height:100%; object-fit:cover; filter:grayscale(55%) contrast(1.08);}
.stam-photo::after{content:""; position:absolute; inset:0; background:linear-gradient(160deg, rgba(28,61,58,.55), rgba(168,122,62,.28)); mix-blend-mode:multiply;}
.stam-photo.ratio-square{aspect-ratio:1/1;} .stam-photo.ratio-portrait{aspect-ratio:4/5;} .stam-photo.ratio-wide{aspect-ratio:16/10;}
@media(max-width:900px){ .stam-media-text{grid-template-columns:1fr;} }

/* Steps v2 — dark connected timeline (matches client-provided design) */
.stam-steps-wrap{background:#16211F; padding:56px 32px; border-radius:8px; max-width:1180px; margin:0 auto; overflow:hidden;}
.stam-steps-heading{color:#fff; font-size:32px;}
.stam-steps-head{max-width:640px; margin:0 0 34px; text-align:left;}
.stam-steps-subheading{color:#B7BFBA; font-size:15px; margin-top:12px;}
.stam-steps-v2{position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:26px; z-index:1; width:100%; min-width:0;}
.stam-steps-connector{position:absolute; height:2px; background:#A87A3E; top:32px; left:calc(100% / (var(--stam-steps-cols, 4) * 2)); right:calc(100% / (var(--stam-steps-cols, 4) * 2)); z-index:0;}
.stam-step-v2{position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; text-align:center; min-width:0;}
.stam-step-badge{width:64px; height:64px; border-radius:50%; background:#1C3D3A; border:2px solid #A87A3E; display:flex; align-items:center; justify-content:center; overflow:hidden; margin-bottom:16px; flex-shrink:0;}
.stam-step-badge i{color:#F4F2EC; font-size:22px;}
.stam-step-badge img{width:100%; height:100%; object-fit:cover;}
.stam-step-num{font-family:var(--stam-sans); font-weight:700; font-size:13px; color:#A87A3E; margin-bottom:8px;}
.stam-step-title{color:#fff; font-size:17px; margin-bottom:8px; width:100%; overflow-wrap:break-word;}
.stam-step-text{color:#B7BFBA; font-size:13.5px; width:100%; overflow-wrap:break-word;}
@media(max-width:900px){
	.stam-steps-v2{grid-template-columns:1fr 1fr;}
	.stam-steps-connector{display:none;}
}
@media(max-width:600px){
	.stam-steps-v2{grid-template-columns:1fr;}
	.stam-steps-wrap{padding:40px 22px;}
}

/* Pricing plans */
.stam-plans{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:1180px; margin:0 auto; padding:20px 32px;}
.stam-plan-card{background:var(--stam-paper-raised); border:1px solid var(--stam-rule); border-radius:8px; padding:30px 26px; display:flex; flex-direction:column; position:relative;}
.stam-plan-card.stam-featured{border-color:var(--stam-brass); box-shadow:0 20px 40px -26px rgba(168,122,62,.5);}
.stam-plan-flag{position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:var(--stam-brass); color:#fff; font-size:12px; font-weight:700; padding:4px 12px; border-radius:99px; white-space:nowrap;}
.stam-plan-price .stam-num{font-family:var(--stam-serif); font-size:38px;}
.stam-plan-price .stam-per{font-size:13px; color:var(--stam-ink-soft);}
.stam-plan-desc{margin-top:8px; font-size:14px; color:var(--stam-ink-soft);}
.stam-plan-list{list-style:none; margin:20px 0; padding:0; flex:1;}
.stam-plan-list li{font-size:14px; padding-left:20px; position:relative; margin-bottom:10px; color:var(--stam-ink-soft);}
.stam-plan-list li::before{content:"—"; position:absolute; left:0; color:var(--stam-brass-deep);}
@media(max-width:900px){ .stam-plans{grid-template-columns:1fr; max-width:420px;} }

/* Compare table */
.stam-compare{max-width:1180px; margin:0 auto; padding:20px 32px; overflow-x:auto; -webkit-overflow-scrolling:touch; box-sizing:border-box;}
.stam-compare table{width:100%; min-width:560px; border-collapse:collapse; background:var(--stam-paper-raised); border:1px solid var(--stam-rule); border-radius:8px; overflow:hidden;}
.stam-compare th, .stam-compare td{padding:14px 20px; border-bottom:1px solid var(--stam-rule-soft); text-align:left; font-size:14px; white-space:nowrap;}
.stam-compare th{font-size:12px; color:var(--stam-ink-soft);}
.stam-compare-feature{font-weight:600;}
@media(max-width:600px){
	.stam-compare{padding:16px 18px;}
	.stam-compare th, .stam-compare td{padding:12px 14px; font-size:13px;}
}

/* Testimonials */
.stam-testimonials{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; max-width:1180px; margin:0 auto; padding:20px 32px;}
.stam-quote-card{background:var(--stam-paper-raised); border:1px solid var(--stam-rule); border-radius:8px; padding:26px;}
.stam-quote-text{font-size:15px; line-height:1.6;}
.stam-quote-attrib{display:flex; align-items:center; gap:10px; margin-top:16px;}
.stam-result-tag{margin-top:12px; font-size:13px; color:var(--stam-growth); font-weight:600;}
.stam-quote-name{font-size:13.5px; font-weight:600;}
.stam-quote-meta{font-size:12.5px; color:var(--stam-ink-soft);}
.stam-avatar{width:38px; height:38px; border-radius:50%; overflow:hidden; position:relative; flex-shrink:0;}
.stam-avatar img{width:100%; height:100%; object-fit:cover; filter:grayscale(40%);}
@media(max-width:900px){ .stam-testimonials{grid-template-columns:1fr; max-width:420px;} }

/* Value grid / team grid */
.stam-value-grid, .stam-team-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; max-width:1180px; margin:0 auto; padding:20px 32px;}
.stam-team-photo{position:relative; overflow:hidden; border-radius:8px; aspect-ratio:16/10; background:#E7E3D6; margin-bottom:16px;}
.stam-team-photo img{display:block; width:100%; height:100%; object-fit:cover;}
.stam-value-icon{display:inline-block; line-height:1; margin-bottom:18px; color:#1C3D3A;}
.stam-value-card{background:var(--stam-rule-soft); border-radius:8px; padding:28px 26px;}
.stam-value-grid h4{font-size:18px; margin-bottom:10px;}
.stam-value-grid p{font-size:14px; color:var(--stam-ink-soft);}
.stam-team-name{font-size:16px;}
.stam-team-role{font-size:13px; color:var(--stam-brass-deep); font-weight:600;}
.stam-team-bio{font-size:13.5px; color:var(--stam-ink-soft);}
@media(max-width:900px){ .stam-value-grid, .stam-team-grid{grid-template-columns:1fr;} }

/* Timeline */
.stam-timeline{max-width:1180px; margin:0 auto; padding:20px 32px; border-left:2px solid var(--stam-rule); margin-left:52px;}
.stam-timeline-item{position:relative; padding-bottom:30px;}
.stam-timeline-item::before{content:""; position:absolute; left:-27px; top:4px; width:10px; height:10px; border-radius:50%; background:var(--stam-brass);}
.stam-timeline-item h4{font-size:16px; margin-top:4px;}
.stam-timeline-item p{margin-top:6px; font-size:14px; color:var(--stam-ink-soft);}
.stam-timeline-year{color:var(--stam-brass-deep); font-size:13px; font-weight:700;}

/* FAQ */
.stam-faq{max-width:820px; margin:0 auto; padding:20px 32px; box-sizing:border-box;}
.stam-faq-item{border-bottom:1px solid var(--stam-rule);}
.stam-faq-q{
	display:flex !important; width:100% !important; max-width:100% !important; box-sizing:border-box;
	align-items:flex-start; justify-content:space-between; gap:16px; text-align:left;
	background:none !important; border:none !important; outline:none !important;
	padding:20px 0 !important; margin:0;
	font-family:var(--stam-serif); font-size:16px; font-weight:600; color:var(--stam-ink) !important;
	cursor:pointer; user-select:none;
}
.stam-faq-q span:first-child{flex:1 1 auto; min-width:0; overflow-wrap:break-word; word-break:break-word; color:inherit !important; text-align:left !important;}
.stam-faq-a{max-height:0; overflow:hidden; transition:max-height .25s ease;}
.stam-faq-a-inner{padding-bottom:20px; font-size:14.5px; color:var(--stam-ink-soft); overflow-wrap:break-word; word-break:break-word;}
.stam-faq-plus{position:relative; width:20px; height:20px; flex:0 0 20px; margin-top:2px;}
.stam-faq-plus::before,.stam-faq-plus::after{content:"";position:absolute;background:var(--stam-ink-soft);top:50%;left:50%;transform:translate(-50%,-50%);}
.stam-faq-plus::before{width:12px;height:2px;} .stam-faq-plus::after{width:2px;height:12px;transition:transform .2s;}
.stam-faq-item.stam-open .stam-faq-plus::after{transform:translate(-50%,-50%) scaleY(0);}
@media(max-width:600px){ .stam-faq{padding:16px 18px;} .stam-faq-q{font-size:15px;} }

/* CTA banner */
.stam-cta-banner{text-align:center; padding:60px 32px; max-width:1180px; margin:0 auto;}
.stam-cta-banner h2{font-size:32px; max-width:20ch; margin:0 auto;}
.stam-cta-text{margin-top:14px; color:var(--stam-ink-soft); font-size:16px;}

/* Contact */
.stam-contact{display:grid; grid-template-columns:1fr 1fr; gap:48px; max-width:1180px; margin:0 auto; padding:20px 32px;}
.stam-contact-eyebrow{font-size:14px; color:var(--stam-brass-deep); font-weight:600; margin-bottom:14px;}
.stam-field-hint{font-weight:400; color:var(--stam-ink-soft); font-size:12.5px;}
.stam-contact-info-icon{width:36px; height:36px; border-radius:50%; background:var(--stam-growth-soft) !important; color:var(--stam-growth) !important; display:flex !important; align-items:center; justify-content:center; flex-shrink:0; font-size:15px;}
.stam-contact-info-icon i, .stam-contact-info-icon svg{color:inherit !important; fill:currentColor !important;}
.stam-contact-info-heading{font-family:var(--stam-sans); font-size:16px; font-weight:700; margin-bottom:6px;}
.stam-ci-label{font-size:12.5px; color:var(--stam-ink-soft);}
.stam-ci-value{font-size:14.5px; font-weight:600;}
.stam-contact h2{font-size:30px;}
.stam-contact-text{margin-top:12px; color:var(--stam-ink-soft);}
.stam-field{margin-bottom:16px;} .stam-field label{display:block; font-size:13.5px; font-weight:600; margin-bottom:6px;}
.stam-contact-form{margin-top:24px;}
.stam-input{width:100% !important; box-sizing:border-box; padding:12px 14px !important; border:1px solid var(--stam-rule) !important; border-radius:4px !important; font-family:inherit; font-size:15px; background:var(--stam-paper-raised) !important; color:var(--stam-ink) !important; -webkit-appearance:none; appearance:auto;}
.stam-field-row{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.stam-contact-info-item{display:flex; gap:14px; padding:16px 0; border-bottom:1px solid var(--stam-rule);}
.stam-form-success{display:none; background:var(--stam-growth-soft); color:var(--stam-growth); padding:14px; border-radius:4px; margin-top:14px; font-size:14px; font-weight:600;}
.stam-form-success.stam-show{display:block;}
.stam-form-error{display:none; background:#F7E7E2; color:#A4432F; padding:14px; border-radius:4px; margin-top:14px; font-size:14px; font-weight:600;}
.stam-form-error.stam-show{display:block;}
@media(max-width:900px){ .stam-contact{grid-template-columns:1fr;} }

/* Auth forms */
.stam-auth-card{max-width:440px; margin:0 auto; background:var(--stam-paper-raised); border:1px solid var(--stam-rule); border-radius:8px; padding:36px 32px; box-shadow:0 24px 56px -34px rgba(20,32,31,.3);}
.stam-plan-chip{display:inline-flex; background:var(--stam-growth-soft); color:var(--stam-growth); padding:7px 14px; border-radius:99px; font-size:13px; font-weight:600; margin-bottom:18px;}
.stam-checkbox-row{display:flex; gap:8px; font-size:13px; color:var(--stam-ink-soft); margin:14px 0;}
.stam-auth-switch{text-align:center; margin-top:18px; font-size:13.5px; color:var(--stam-ink-soft);}

/* Portal shell */
.stam-portal{display:grid; grid-template-columns:250px 1fr; min-height:70vh; max-width:100%;}
.stam-portal-sidebar{border-right:1px solid var(--stam-rule); padding:26px 18px; display:flex !important; flex-direction:column; width:auto !important; float:none !important;}
.stam-portal-user{display:flex; align-items:center; gap:10px; padding-bottom:18px; border-bottom:1px solid var(--stam-rule); margin-bottom:16px;}
.stam-portal-nav a{display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:4px; font-size:14px; color:var(--stam-ink-soft); margin-bottom:2px;}
.stam-portal-nav a.stam-active{background:var(--stam-ledger); color:#fff;}
.stam-portal-nav a:hover{background:var(--stam-rule-soft); color:var(--stam-ink);}
.stam-portal-main{padding:30px 34px; min-width:0; max-width:100%; box-sizing:border-box; overflow-x:hidden;}
.stam-portal-topbar{display:flex; justify-content:space-between; margin-bottom:26px; gap:14px; flex-wrap:wrap;}
@media(max-width:900px){ .stam-portal{grid-template-columns:1fr;} .stam-portal-sidebar{display:none;} }
@media(max-width:600px){
	.stam-portal-main{padding:18px 14px 90px;}
	.stam-portal-topbar{flex-direction:row; align-items:flex-start;}
	.stam-portal-topbar h1{font-size:21px !important;}
	.stam-ledger-table{min-width:0; width:100%;}
	.stam-ledger-table th, .stam-ledger-table td{padding:10px 12px; font-size:12.5px;}
	.stam-card-head{padding:14px 16px; font-size:14px;}
	.stam-card-pad{padding:16px;}
	.stam-doc-row, .stam-feed-item, .stam-invoice-row{padding:12px 16px;}
}

/* Portal cards / tables shared with dashboard, docs, results, messages, billing */
.stam-card{background:var(--stam-paper-raised); border:1px solid var(--stam-rule); border-radius:8px; margin-bottom:20px; overflow-x:auto; box-sizing:border-box;}
.stam-card-head{padding:18px 22px; border-bottom:1px solid var(--stam-rule-soft); font-weight:700; font-size:15px;}
.stam-card-pad{padding:22px;}
.stam-stat-row{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:20px;}
@media(max-width:640px){ .stam-stat-row{grid-template-columns:1fr 1fr; gap:12px;} }
@media(max-width:400px){ .stam-stat-row{grid-template-columns:1fr;} }
.stam-stat-card{background:var(--stam-paper-raised); border:1px solid var(--stam-rule); border-radius:8px; padding:18px 20px;}
.stam-stat-card .stam-v{font-family:var(--stam-serif); font-size:26px;}
.stam-stat-card .stam-d{font-size:12.5px; margin-top:6px; color:#3E7A55;}
.stam-ledger-table{width:100%; border-collapse:collapse;}
.stam-ledger-table th{text-align:left; font-size:12px; color:var(--stam-ink-soft); padding:0 22px 10px;}
.stam-ledger-table td{padding:14px 22px; border-top:1px solid var(--stam-rule-soft); font-size:14px;}
.stam-feed-item{display:flex; gap:14px; padding:16px 22px; border-bottom:1px solid var(--stam-rule-soft);}
.stam-feed-item > div{min-width:0; overflow-wrap:break-word;}
.stam-feed-item:last-child{border-bottom:none;}
.stam-feed-dot{width:8px; height:8px; border-radius:50%; background:var(--stam-brass); margin-top:6px; flex-shrink:0;}
.stam-upload-zone{border:2px dashed var(--stam-rule); border-radius:8px; padding:36px 18px; text-align:center; margin-bottom:20px; cursor:pointer;}
.stam-upload-zone.stam-drag{border-color:var(--stam-brass); background:var(--stam-amber-soft);}
.stam-doc-row{display:flex; align-items:center; gap:14px; padding:14px 22px; border-bottom:1px solid var(--stam-rule-soft); min-width:0;}
.stam-doc-row > div:not(.stam-doc-ic){min-width:0; overflow-wrap:break-word;}
.stam-doc-row:last-child{border-bottom:none;}
.stam-doc-name{font-weight:600; font-size:14px;}
.stam-doc-meta{font-size:12.5px; color:var(--stam-ink-soft); margin-top:2px;}
.stam-upload-progress-track{height:5px; background:var(--stam-rule-soft); border-radius:99px; overflow:hidden; margin-top:6px; max-width:220px;}
.stam-upload-progress-fill{height:100%; background:var(--stam-growth); border-radius:99px; transition:width .15s ease;}
.stam-upload-pct{font-size:12.5px; font-weight:600; color:var(--stam-ink-soft); flex-shrink:0;}
.stam-doc-ic{width:34px; height:34px; border-radius:8px; background:var(--stam-rule-soft); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.stam-billing-plan-card{display:flex; justify-content:space-between; align-items:center; padding:20px 22px; background:var(--stam-growth-soft); border-radius:8px; margin-bottom:20px;}
.stam-invoice-row{display:flex; gap:14px; padding:13px 22px; border-bottom:1px solid var(--stam-rule-soft); font-size:14px;}
.stam-toggle-row{display:flex; justify-content:space-between; align-items:center; padding:14px 0; border-bottom:1px solid var(--stam-rule-soft);}
.stam-switch{position:relative; width:42px; height:24px; flex-shrink:0;}
.stam-switch input{opacity:0; width:0; height:0;}
.stam-slider-tg{position:absolute; inset:0; background:var(--stam-rule); border-radius:99px; cursor:pointer; transition:.2s;}
.stam-slider-tg::before{content:"";position:absolute; width:18px; height:18px; left:3px; top:3px; background:#fff; border-radius:50%; transition:.2s;}
.stam-switch input:checked + .stam-slider-tg{background:var(--stam-growth);}
.stam-switch input:checked + .stam-slider-tg::before{transform:translateX(18px);}
.stam-empty-state{text-align:center; padding:40px 20px; color:var(--stam-ink-soft);}
.stam-notif-btn{position:relative !important; display:flex !important; align-items:center !important; justify-content:center !important; width:40px !important; height:40px !important; min-width:40px !important; padding:0 !important; border-radius:50% !important; border:1px solid var(--stam-rule) !important; background:var(--stam-paper-raised) !important; color:var(--stam-ink) !important; cursor:pointer; line-height:0;}
.stam-notif-btn svg{display:block !important; width:17px !important; height:17px !important; flex-shrink:0; color:var(--stam-ink) !important;}
.mobile-portal-bar{display:none !important;}
@media(max-width:900px){
	.mobile-portal-bar{
		display:flex !important; position:fixed; bottom:0; left:0; right:0; z-index:70;
		background:var(--stam-paper-raised); border-top:1px solid var(--stam-rule);
		justify-content:space-around; padding-bottom:env(safe-area-inset-bottom,0px);
	}
	.mobile-portal-bar a{display:flex !important; flex-direction:column; align-items:center; gap:4px; padding:10px 6px; font-size:10.5px; color:var(--stam-ink-soft) !important; flex:1; text-decoration:none !important;}
	.mobile-portal-bar a .ic{font-size:17px;}
	.mobile-portal-bar a.stam-active{color:var(--stam-ledger) !important;}
	.stam-portal-main{padding-bottom:80px;}
}
.stam-notif-dot{position:absolute; top:8px; right:9px; width:7px; height:7px; border-radius:50%; background:var(--stam-brass);}
.stam-notif-panel{position:absolute; right:0; top:50px; width:300px; background:var(--stam-paper-raised); border:1px solid var(--stam-rule); border-radius:8px; box-shadow:0 20px 44px -20px rgba(0,0,0,.25); z-index:60; display:none;}
.stam-notif-panel.stam-open{display:block;}
.stam-notif-panel .stam-row{padding:12px 16px; border-bottom:1px solid var(--stam-rule-soft); font-size:13px;}

.stam-form-ok{display:none; background:#E4EEE6; color:#3E7A55; padding:14px; border-radius:4px; margin-top:14px; font-size:14px; font-weight:600;}
.stam-form-ok.stam-show{display:block;}

/* Message boxes (error / success): always dark text, even on dark site backgrounds */
.stam-scope .stam-form-error, .stam-scope .stam-form-error *,
.stam-scope .stam-form-ok, .stam-scope .stam-form-ok *{color:#000 !important;}

/* Portal: status badges + document icon = black text; "Last update" = white */
.stam-scope .stam-badge, .stam-scope .stam-badge *{color:#000 !important;}
.stam-scope .stam-doc-ic{color:#000 !important;}
.stam-scope .stam-lastup{color:#fff !important;}
