:root{--ink:#17211b;--muted:#69736d;--cream:#f4f3ed;--paper:#fff;--green:#154f3b;--lime:#c8f04d;--line:#dde1dc;--red:#a23b31;--shadow:0 18px 60px rgba(27,47,37,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,sans-serif;display:grid;grid-template-columns:250px 1fr;min-height:100vh}h1,h2,.brand,.mark{font-family:"Arial Black",Arial,sans-serif}aside{position:sticky;top:0;height:100vh;background:#0d2018;color:white;padding:32px 22px;display:flex;flex-direction:column}.brand{font-size:25px;font-weight:800;color:white;text-decoration:none;letter-spacing:-1px}.brand span,.mark span{color:var(--lime)}.brand small{display:block;color:#8fa69a;font:600 10px Arial;letter-spacing:2.4px;margin-top:5px}nav{display:flex;flex-direction:column;gap:7px;margin-top:58px}.nav-link{color:#9eb0a7;text-decoration:none;border-radius:11px;padding:11px 13px;font-weight:600;font-size:14px}.nav-link:hover,.nav-link.active{background:#19372b;color:white}.nav-link.active:before{content:'•';color:var(--lime);margin-right:9px}.user-card{margin-top:auto;border-top:1px solid #294036;padding:20px 6px 0;display:flex;flex-direction:column}.user-card span{font-weight:700}.user-card small{color:#8fa69a;margin:3px 0 8px}.link-button{border:0;background:none;color:var(--lime);padding:0;cursor:pointer;font-weight:700}main{padding:38px 5vw 70px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px}header small,.panel-title small,.eyebrow{font-weight:800;letter-spacing:2px;font-size:10px;color:#76837c}header h1{font-size:30px;margin:6px 0 0;letter-spacing:-1.4px}.profile{border:1px solid var(--line);border-radius:10px;padding:10px 14px;text-decoration:none;color:var(--ink);background:white;font-weight:600}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.stat,.panel,.drawer,.role-card{background:var(--paper);border:1px solid rgba(35,54,44,.08);border-radius:18px;box-shadow:var(--shadow)}.stat{padding:22px}.stat small{color:var(--muted);display:block}.stat strong{font:800 32px Arial;display:block;margin-top:14px}.panel{overflow:hidden}.panel-title{padding:24px 26px 18px;display:flex;justify-content:space-between;align-items:center}.panel-title h2{font-size:19px;margin:5px 0 0}.panel-title a{color:var(--green);font-weight:700}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{text-align:left;padding:12px 22px;background:#f5f7f4;color:#78827d;font-size:11px;text-transform:uppercase;letter-spacing:.7px}td{padding:16px 22px;border-top:1px solid #edf0ed;font-size:13px;vertical-align:middle}td strong,td small{display:block}td small{color:var(--muted);margin-top:3px}.empty{text-align:center;color:var(--muted);padding:35px}.badge{display:inline-block;border-radius:20px;padding:5px 9px;font-weight:700;font-size:11px;text-transform:capitalize}.badge.active{background:#e3f3e9;color:#17613e}.badge.inactive{background:#f5e7e4;color:var(--red)}button,.primary,.ghost{font:700 13px Arial;cursor:pointer}.primary{border:0;background:var(--green);color:white;border-radius:10px;padding:12px 18px}.primary:hover{background:#0d3a2b}.ghost{border:1px solid var(--line);background:white;color:var(--green);border-radius:8px;padding:8px 10px}.drawer{margin:0 0 18px;padding:0 24px}.drawer summary{padding:18px 0;cursor:pointer;font-weight:800;color:var(--green);list-style:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:5px 0 24px}.form-grid label{font-size:12px;font-weight:700;color:#59645e}.form-grid input,.form-grid select,.search input{display:block;width:100%;margin-top:7px;border:1px solid #ccd3ce;border-radius:9px;background:white;padding:11px 12px;color:var(--ink);font:14px Arial}.form-grid input:focus,.form-grid select:focus,.search input:focus{outline:3px solid rgba(200,240,77,.45);border-color:var(--green)}.form-grid .wide{grid-column:1/-1}.form-grid button{justify-self:start}.form-grid.one{grid-template-columns:1fr}.form-grid label small{display:block;margin-top:5px;color:var(--muted)}.form-panel{padding:0 26px}.narrow{max-width:650px}.stack{display:flex;flex-direction:column;gap:12px}.role-card{padding:0 22px}.role-card summary{display:flex;justify-content:space-between;align-items:center;padding:19px 0;cursor:pointer}.role-card summary strong,.role-card summary small{display:block}.role-card summary small{color:var(--muted);margin-top:4px}.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 0 20px;border-top:1px solid var(--line)}.permission{display:flex;gap:10px;padding:11px;border-radius:10px;background:#f7f8f5}.permission input{accent-color:var(--green)}.permission strong,.permission small{display:block}.permission small{font-size:11px;color:var(--muted);margin-top:2px}.role-card form>.primary{margin-bottom:20px}.notice,.error{padding:13px 15px;border-radius:10px;margin-bottom:18px;font-weight:600;font-size:13px}.notice{background:#e7f2dc;color:#315625}.error{background:#fae9e5;color:#8e332a}.search{display:flex;gap:7px;min-width:360px}.search input{margin:0}code{font-size:11px;color:#4e5a54;white-space:normal}.login-body{display:block;background:#e9ece4;min-height:100vh;padding:5vh 5vw}.login-panel{max-width:1020px;min-height:680px;margin:auto;display:grid;grid-template-columns:1.15fr .85fr;background:white;border-radius:26px;overflow:hidden;box-shadow:0 35px 100px rgba(22,50,36,.14)}.login-art{background:linear-gradient(155deg,#174c3a,#0b251b 70%);color:white;padding:58px;display:flex;flex-direction:column;justify-content:space-between}.login-art .eyebrow{color:var(--lime)}.login-art h1{font-size:52px;line-height:1.02;letter-spacing:-2.5px;margin:18px 0}.login-art p{max-width:370px;color:#b7c5bd;line-height:1.6}.login-art>small{letter-spacing:2px;color:#91a99c}.login-form{padding:70px 52px;display:flex;flex-direction:column;justify-content:center}.mark{font-size:25px;font-weight:800;margin-bottom:55px}.login-form h2{font-size:27px;margin:0}.login-form>p{color:var(--muted);margin:9px 0 26px}.login-form label{font-size:12px;font-weight:700;display:block;margin:14px 0}.login-form input{display:block;width:100%;padding:13px 12px;margin-top:7px;border:1px solid #cfd5d0;border-radius:10px;font:14px Arial}.login-form .primary{width:100%;margin-top:15px;padding:14px}.hint{color:#87918c;text-align:center;margin-top:20px}
@media(max-width:900px){body{grid-template-columns:78px 1fr}aside{padding:27px 12px}.brand{font-size:0}.brand span{font-size:22px}.brand small,.nav-link{font-size:0}.nav-link{padding:14px;text-align:center}.nav-link:after{content:'◆';font-size:10px}.user-card span,.user-card small{display:none}.stats{grid-template-columns:1fr 1fr}.login-panel{grid-template-columns:1fr}.login-art{display:none}}
@media(max-width:600px){main{padding:25px 18px}header{align-items:flex-start}.stats{grid-template-columns:1fr}.form-grid,.permission-grid{grid-template-columns:1fr}.search{min-width:0}.panel-title{align-items:flex-start;gap:15px;flex-direction:column}body{grid-template-columns:1fr}aside{display:none}.login-body{padding:0}.login-panel{min-height:100vh;border-radius:0}.login-form{padding:35px}}

/* Club identity */
.brand{display:flex;align-items:center;gap:11px}
.brand-logo{width:48px;height:48px;object-fit:contain;border-radius:50%;background:#fff;flex:0 0 auto}
.brand-copy{color:#fff}.brand-copy b{color:var(--lime)}
.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:42px}
.login-club-logo{width:76px;height:76px;object-fit:contain;border-radius:50%;background:#fff;box-shadow:0 8px 30px rgba(20,54,39,.12)}
.login-brand .mark{margin-bottom:0}
@media(max-width:900px){.brand{justify-content:center}.brand-logo{width:50px;height:50px}.brand-copy{display:none}}

/* Phase 2 finance */
.finance-stat strong{font-size:23px}.finance-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:18px;margin-bottom:20px}.quick-actions{display:flex;flex-direction:column;gap:10px;padding:0 24px 24px}.quick-actions a{display:block;text-decoration:none;color:var(--green);background:#f1f5ef;border-radius:10px;padding:12px 14px;font-weight:700}.quick-actions span{color:var(--muted);font-size:12px;padding:5px}.amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.amount.income{color:#17613e;font-weight:700}.amount.expense{color:var(--red);font-weight:700}.badge.draft{background:#fff1cf;color:#765612}.badge.posted{background:#e3f3e9;color:#17613e}.badge.void{background:#eeeeee;color:#666}.receipt-sheet{max-width:760px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:38px;box-shadow:var(--shadow)}.receipt-head{display:grid;grid-template-columns:72px 1fr auto;gap:18px;align-items:center;border-bottom:2px solid var(--ink);padding-bottom:24px}.receipt-head img{width:70px;height:70px;object-fit:contain;border-radius:50%}.receipt-head h2{margin:4px 0}.receipt-head p{margin:0;color:var(--muted);font-size:12px}.receipt-head>strong{font-size:17px}.receipt-sheet dl{margin:28px 0}.receipt-sheet dl div{display:grid;grid-template-columns:180px 1fr;padding:10px 0;border-bottom:1px solid #edf0ed}.receipt-sheet dt{color:var(--muted)}.receipt-sheet dd{margin:0;font-weight:700}.receipt-total{display:flex;justify-content:space-between;align-items:center;background:#eff4ec;border-radius:12px;padding:20px}.receipt-total strong{font-size:25px;color:var(--green)}.receipt-note{color:var(--muted);font-size:11px;margin:20px 0}.print-button{margin-top:5px}
@media(max-width:900px){.finance-grid{grid-template-columns:1fr}.finance-stat strong{font-size:19px}}
@media print{aside,header,.print-button{display:none!important}body{display:block;background:#fff}main{padding:0}.receipt-sheet{box-shadow:none;border:0;max-width:none}}

/* Phase 3 payments */
.gateway-banner{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#102d22,#174f3b);color:#fff;border-radius:18px;padding:24px 28px;margin-bottom:18px;box-shadow:var(--shadow)}.gateway-banner small{color:var(--lime);letter-spacing:1.8px;font-weight:800}.gateway-banner h2{margin:6px 0}.gateway-banner p{margin:0;color:#b8cbc1}.inline-action{display:inline-block;text-decoration:none;margin:2px}.badge.paid,.badge.matched{background:#e3f3e9;color:#17613e}.badge.pending{background:#fff1cf;color:#765612}.badge.failed,.badge.mismatch{background:#f5e7e4;color:var(--red)}.badge.cancelled,.badge.expired,.badge.missing{background:#eee;color:#5d625f}.mock-checkout,.return-card{max-width:540px;margin:30px auto;background:#fff;border-radius:22px;padding:42px;text-align:center;box-shadow:var(--shadow)}.mock-checkout>img,.return-card>img{width:92px;height:92px;object-fit:contain;border-radius:50%;margin-bottom:20px}.mock-checkout>small,.return-card>small{display:block;letter-spacing:2px;color:var(--muted);font-weight:800}.mock-checkout h2{margin:12px 0 5px}.mock-checkout>strong{display:block;font-size:35px;color:var(--green);margin:28px}.mock-checkout>div{display:flex;justify-content:center;gap:10px}.return-card h1{margin:15px}.return-card p{color:var(--muted);line-height:1.6;margin-bottom:30px}.return-card a{text-decoration:none;display:inline-block}
@media(max-width:600px){.gateway-banner{align-items:flex-start;gap:18px;flex-direction:column}.mock-checkout,.return-card{padding:28px}.mock-checkout>div{flex-direction:column}}

/* Phase 4 membership */
.membership-hero{display:flex;justify-content:space-between;align-items:center;gap:28px;background:linear-gradient(135deg,#123c2d,#0b261c);color:#fff;border-radius:20px;padding:30px 32px;margin-bottom:20px;box-shadow:var(--shadow)}.membership-hero small{color:var(--lime);letter-spacing:1.8px;font-weight:800}.membership-hero h2{font-size:28px;margin:8px 0}.membership-hero p{color:#b8cbc1;margin:0}.membership-hero>div:last-child{display:flex;gap:10px;white-space:nowrap}.membership-hero .ghost{display:inline-block;text-decoration:none}.member-card{display:grid;grid-template-columns:1fr 1.3fr;gap:30px;align-items:center;background:linear-gradient(135deg,#fff,#f1f5ec);border:1px solid var(--line);border-radius:20px;padding:28px 32px;margin-bottom:18px;box-shadow:var(--shadow)}.member-card small{color:var(--green);letter-spacing:1.5px;font-weight:800}.member-card h2{font-size:29px;margin:8px 0 3px}.member-card p{margin:0;color:var(--muted)}.member-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:0}.member-card dl div{border-left:2px solid var(--lime);padding-left:14px}.member-card dt{font-size:11px;color:var(--muted)}.member-card dd{margin:6px 0 0;font-weight:700}.empty-state{max-width:620px;background:#fff;border-radius:20px;padding:42px;box-shadow:var(--shadow);text-align:center;margin:auto}.empty-state p{color:var(--muted);line-height:1.6}.badge.expired,.badge.suspended{background:#f5e7e4;color:var(--red)}
.program-hero>div:last-child{display:block;white-space:normal;min-width:0}.program-hero h2{overflow-wrap:anywhere}
.event-hero>div:last-child{display:block;white-space:normal;min-width:0}.event-hero h2{overflow-wrap:anywhere}.waiver-check{display:flex;align-items:center;gap:10px}.form-grid .waiver-check input{width:auto;margin:0;padding:0;flex:0 0 auto}

/* Phase 8 crew finance */
.approval-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:-7px 0 20px}.approval-flow span{background:#eaf1e6;color:var(--green);border-radius:10px;padding:11px;text-align:center;font-size:11px;font-weight:800}.inline-form{display:flex;align-items:center;gap:7px;white-space:nowrap}.inline-form select{max-width:145px}.claim-workflow{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:18px}.approval-history{list-style:none;margin:0;padding:0 25px 25px}.approval-history li{border-left:3px solid var(--lime);padding:4px 0 16px 17px}.approval-history strong,.approval-history span,.approval-history small{display:block}.approval-history span{color:var(--muted);font-size:12px;margin-top:4px}.approval-history small{margin-top:5px}.claim-action{padding:0 24px 24px}.approval-action{display:flex;flex-wrap:wrap;align-items:flex-end;gap:9px}.approval-action label{flex:1 1 100%;font-size:12px;font-weight:700}.approval-action input{display:block;width:100%;margin-top:7px;border:1px solid #ccd3ce;border-radius:9px;padding:11px}.reject{color:var(--red);border-color:#e5c4bf}.payment-proof{display:flex;justify-content:space-between;align-items:center;background:#e3f3e9;color:#17613e;border-radius:13px;padding:16px 20px;margin-bottom:18px}.payment-proof strong,.payment-proof span{display:block}.payment-proof span{font-size:12px}.badge.submitted,.badge.manager_approved,.badge.treasurer_approved,.badge.approved{background:#fff1cf;color:#765612}.badge.rejected{background:#f5e7e4;color:var(--red)}.badge.assigned{background:#e3f3e9;color:#17613e}
@media(max-width:900px){.approval-flow{grid-template-columns:1fr 1fr}.claim-workflow{grid-template-columns:1fr}}
@media(max-width:600px){.approval-flow{grid-template-columns:1fr}.payment-proof{align-items:flex-start;gap:6px;flex-direction:column}}

/* Phase 9 KSS Shop */
.shop-hero{display:flex;justify-content:space-between;align-items:center;gap:25px;background:linear-gradient(135deg,#183f31,#0d241b);color:#fff;border-radius:20px;padding:30px 32px;margin-bottom:20px;box-shadow:var(--shadow)}.shop-hero small{color:var(--lime);font-weight:800;letter-spacing:1.8px}.shop-hero h2{font-size:29px;margin:8px 0}.shop-hero p{color:#b8cbc1;margin:0}.shop-hero>a{text-decoration:none;white-space:nowrap}.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.shop-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow);min-width:0}.shop-icon{display:grid;place-items:center;width:58px;height:58px;background:var(--green);color:var(--lime);border-radius:15px;font:900 16px "Arial Black";margin-bottom:18px}.shop-card>small{color:var(--muted);font-weight:800;letter-spacing:1.2px}.shop-card h3{margin:7px 0}.shop-card p{color:var(--muted);font-size:13px;line-height:1.5;min-height:39px}.shop-buy{display:grid;grid-template-columns:minmax(0,1fr) 65px;gap:8px}.shop-buy select,.shop-buy input{border:1px solid #ccd3ce;border-radius:9px;padding:10px;min-width:0}.shop-buy .primary{grid-column:1/-1}.shop-order-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.shop-order-actions>a{justify-self:start;text-decoration:none}.refund-proof{background:#f5e7e4;color:var(--red)}
@media(max-width:1050px){.shop-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.shop-hero{align-items:flex-start;flex-direction:column}.shop-grid,.shop-order-actions{grid-template-columns:1fr}}

/* Complete member portal */
.portal-welcome{display:flex;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(135deg,#174a38,#0d291f);color:#fff;border-radius:20px;padding:30px 32px;margin-bottom:20px;box-shadow:var(--shadow)}.portal-welcome small{color:var(--lime);font-weight:800;letter-spacing:1.8px}.portal-welcome h2{font-size:30px;margin:8px 0}.portal-welcome p{color:#b8cbc1;margin:0}.portal-welcome>a{text-decoration:none;white-space:nowrap}.portal-preview{display:flex;align-items:center;gap:15px;background:#fff1cf;color:#765612;border-radius:12px;padding:13px 16px;margin-bottom:16px}.portal-preview strong,.portal-preview span{display:block}.portal-preview span{font-size:12px;flex:1}.portal-preview a{color:#765612;font-weight:800}.portal-actions,.portal-modules{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}.portal-actions .drawer{margin:0}.portal-profile{margin-bottom:20px}.portal-module{min-width:0}.portal-module>p{padding:0 25px 20px;color:var(--muted);font-size:13px}.portal-module table{min-width:540px}
@media(max-width:900px){.portal-actions,.portal-modules{grid-template-columns:1fr}}
@media(max-width:600px){.portal-welcome{align-items:flex-start;flex-direction:column}.portal-preview{align-items:flex-start;flex-direction:column}}
@media(max-width:900px){.membership-hero,.member-card{grid-template-columns:1fr;align-items:flex-start;flex-direction:column}.member-card dl{width:100%}}
@media(max-width:600px){.membership-hero>div:last-child,.member-card dl{display:flex;flex-direction:column}.membership-hero{padding:24px}.member-card{padding:24px}}

/* Safe finance import */
.form-grid textarea{display:block;width:100%;margin-top:7px;border:1px solid #ccd3ce;border-radius:9px;background:white;padding:12px;color:var(--ink);font:12px/1.55 Consolas,monospace;resize:vertical}.form-grid textarea:focus{outline:3px solid rgba(200,240,77,.45);border-color:var(--green)}.import-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.import-summary article{background:#fff;border-radius:15px;padding:20px;box-shadow:var(--shadow)}.import-summary small,.import-summary strong{display:block}.import-summary small{color:var(--muted)}.import-summary strong{font-size:21px;margin-top:10px}.import-commit{padding:20px 24px;display:flex;align-items:center;gap:18px;border-top:1px solid var(--line)}.import-commit small{color:var(--muted)}.import-mismatch{background:#fff5f3}.badge.valid,.badge.imported{background:#e3f3e9;color:#17613e}.badge.mismatch{background:#f5e7e4;color:var(--red)}.badge.preview{background:#fff1cf;color:#765612}.table-wrap select{min-width:150px;border:1px solid #ccd3ce;border-radius:8px;padding:8px;background:white}
@media(max-width:900px){.import-summary{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.import-summary{grid-template-columns:1fr}.import-commit{align-items:flex-start;flex-direction:column}}
.member-card dl .wide{grid-column:1/-1}
.member-card{grid-template-columns:minmax(170px,.65fr) minmax(0,1.35fr)}.member-card dl{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.member-card dd{overflow-wrap:anywhere}

/* Finance review and annual controls */
nav{gap:17px;margin-top:38px;overflow-y:auto;padding-right:3px}.nav-section{display:flex;flex-direction:column;gap:5px}.nav-section>small{color:#5f7c6d;font-size:9px;font-weight:800;letter-spacing:1.8px;padding:0 12px 5px}.nav-section .nav-link{padding:9px 13px}.finance-alert{display:flex;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(135deg,#173f31,#0e281f);color:white;border-radius:18px;padding:22px 25px;margin-bottom:20px;box-shadow:var(--shadow)}.finance-alert small{color:var(--lime);font-weight:800;letter-spacing:1.4px}.finance-alert strong,.finance-alert p{display:block}.finance-alert strong{margin-top:7px}.finance-alert p{color:#b7c9bf;margin:6px 0 0;font-size:13px}.finance-alert .ghost{text-decoration:none;white-space:nowrap}.badge.verified{background:#e3f3e9;color:#17613e}.badge.review{background:#fbe6df;color:#963b2e}.badge.current{background:#e6efca;color:#42600e}.year-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.year-heading>a{color:var(--green);font-weight:700;text-decoration:none}.year-heading>div{display:flex;align-items:center;gap:10px}.source-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 24px 24px}.source-summary div{background:#f4f6f2;border-radius:12px;padding:15px;min-width:0}.source-summary span,.source-summary strong{display:block}.source-summary span{color:var(--muted);font-size:11px}.source-summary strong{font-size:18px;margin-top:7px;font-variant-numeric:tabular-nums}.check-ok{color:#17613e;font-weight:700}.check-review{color:var(--red);font-weight:700}
@media(max-width:900px){.nav-section>small{display:none}.finance-alert{align-items:flex-start;flex-direction:column}.source-summary{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.source-summary{grid-template-columns:1fr}.year-heading{align-items:flex-start;gap:12px;flex-direction:column}}

/* Controlled document register */
.document-hero{display:flex;justify-content:space-between;align-items:center;gap:25px;background:linear-gradient(135deg,#123c2d,#0b261c);color:#fff;border-radius:20px;padding:28px 31px;margin-bottom:20px;box-shadow:var(--shadow)}.document-hero small{color:var(--lime);font-weight:800;letter-spacing:1.7px}.document-hero h2{margin:7px 0;font-size:27px}.document-hero p{margin:0;color:#b8cbc1}.document-hero>span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:30px;padding:10px 14px;white-space:nowrap;font-size:12px;font-weight:700}.document-filters{display:grid;grid-template-columns:minmax(220px,1fr) 210px 150px auto auto;gap:9px;margin-bottom:18px}.document-filters input,.document-filters select{border:1px solid #ccd3ce;border-radius:10px;background:#fff;padding:11px 12px;font:13px Arial;color:var(--ink)}.document-filters .ghost{text-decoration:none;text-align:center}.document-detail{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px}.document-meta{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;padding:0 26px 26px;margin:0}.document-meta div{padding:14px 0;border-top:1px solid var(--line)}.document-meta .wide{grid-column:1/-1}.document-meta dt{font-size:11px;color:var(--muted)}.document-meta dd{margin:6px 0 0;font-weight:700;overflow-wrap:anywhere}.document-meta a{color:var(--green)}.document-files{padding-bottom:18px}.document-file{display:flex;align-items:center;gap:13px;margin:0 20px 10px;padding:13px;border-radius:12px;background:#f2f5f0;text-decoration:none;color:var(--ink)}.document-file>span{display:grid;place-items:center;width:48px;height:48px;border-radius:10px;background:var(--green);color:#fff;font-size:11px;font-weight:900}.document-file strong,.document-file small{display:block}.document-file small{color:var(--muted);margin-top:4px}.issue-chip{display:inline-block;border-radius:20px;background:#fbe6df;color:#963b2e;padding:5px 8px;margin:2px;font-size:10px}.badge.final{background:#e3f3e9;color:#17613e}.badge.archived{background:#eee;color:#666}.member-documents{margin-top:20px}
.document-shortcut{display:block;background:#eef4ea;border:1px solid var(--line);border-radius:13px;padding:14px 16px;margin-bottom:18px;color:var(--green);text-decoration:none}.document-shortcut strong,.document-shortcut small{display:block}.document-shortcut small{color:var(--muted);margin-top:4px}
@media(max-width:1050px){.document-filters{grid-template-columns:1fr 1fr 1fr}.document-detail{grid-template-columns:1fr}}
@media(max-width:700px){.document-hero{align-items:flex-start;flex-direction:column}.document-filters{grid-template-columns:1fr}.document-meta{grid-template-columns:1fr}.document-meta .wide{grid-column:auto}}

/* Phase 10 WordPress integration */
.code-block{margin:0 24px 18px;padding:18px;border-radius:13px;background:#0e281f;color:#d9e7df;overflow:auto;white-space:pre-wrap;word-break:break-word}.code-block code{color:inherit;font:12px/1.65 Consolas,monospace}.panel>.code-block+p{padding:0 24px 22px;color:var(--muted);font-size:13px}.join-card{max-width:920px}.join-card .shop-grid{text-align:left;margin:25px 0}.join-card .shop-card strong{display:block;color:var(--green);font-size:22px;margin:14px 0 5px}.join-card .shop-card small{display:block}.join-card .quick-actions{align-items:center;padding:0 0 24px}.join-card .quick-actions a{color:#fff;background:var(--green)}

/* Mobile navigation and touch layout */
.mobile-nav-toggle,.mobile-menu-button,.mobile-nav-close,.mobile-nav-backdrop{display:none}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 26px 12px}.panel-head h2{margin:0}.panel-head small{color:var(--muted)}.panel>.form-grid{padding:12px 26px 26px}.table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
@media(max-width:700px){
body{display:block;min-width:0;overflow-x:hidden}
aside{display:flex!important;position:fixed;inset:0 auto 0 0;width:min(86vw,320px);height:100dvh;z-index:1002;transform:translateX(-105%);transition:transform .22s ease;box-shadow:20px 0 55px rgba(8,28,20,.28);padding-top:64px}
#mobile-nav-toggle:checked~aside{transform:translateX(0)}
#mobile-nav-toggle:checked~.mobile-nav-backdrop{display:block;position:fixed;inset:0;z-index:1001;background:rgba(4,18,12,.48)}
.mobile-menu-button{display:flex;align-items:center;gap:8px;position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:1003;background:var(--green);color:#fff;border-radius:28px;padding:13px 17px;box-shadow:0 10px 30px rgba(15,63,46,.3);font-weight:800;cursor:pointer}
.mobile-menu-button span{font-size:18px;line-height:1}.mobile-nav-close{display:grid;place-items:center;position:absolute;right:16px;top:14px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:27px;cursor:pointer}
aside nav{margin-top:10px;padding-bottom:28px}.nav-section>small{display:block}
aside .brand{display:flex;font-size:25px!important;text-align:left}aside .brand span{font-size:inherit}aside .brand small{display:block;font-size:9px}aside .nav-link{font-size:14px!important;text-align:left}aside .nav-link:after{display:none!important;content:none!important}aside .user-card span,aside .user-card small{display:block}
main{width:100%;min-width:0;padding:25px 16px calc(95px + env(safe-area-inset-bottom))}
header{align-items:flex-start;gap:14px;margin-bottom:24px}header h1{font-size:27px;line-height:1.1}.profile{padding:10px 12px;white-space:nowrap}
.panel{border-radius:15px}.panel-head{padding:20px 18px 8px}.panel-head h2{font-size:20px}.panel>.form-grid{grid-template-columns:1fr;padding:12px 18px 22px;gap:14px}
.form-grid input,.form-grid select,.form-grid textarea{font-size:16px;min-height:48px}.form-grid .primary{width:100%;min-height:48px}
.table-wrap{overflow-x:auto}.table-wrap table{min-width:720px}.table-wrap th,.table-wrap td{padding:13px 15px;white-space:nowrap}
.notice,.error{line-height:1.45}
}

/* Operations portal */
.operations-workspace .panel{padding:24px}.operations-workspace .form-grid{padding:0}.operations-workspace .operations-nav{display:flex;flex-wrap:wrap;gap:8px;padding:16px}.operations-nav a.ghost{display:inline-flex;padding:9px 12px;text-decoration:none}.form-grid textarea{font:inherit;resize:vertical}.operations-workspace td{vertical-align:top}.operations-workspace h2{margin-top:0}.operations-workspace video{border-radius:12px}.operations-workspace #member-qr{margin:20px 0}.operations-workspace .permission input{width:auto}.operations-workspace .panel .panel{background:#f7f9f6}.operations-workspace .form-grid>div{align-self:end}@media(max-width:600px){.operations-workspace .panel{padding:16px}}
