:root{--admin-line:#ded8ce}.admin-demo-banner{background:#e9e1d2;padding:13px 6%;display:flex;justify-content:center;align-items:center;gap:12px;font-size:10px;letter-spacing:.025em;color:var(--ink);border-block:1px solid #d6ccbb}.admin-demo-banner strong{letter-spacing:.12em;font-size:9px}.status-dot{width:6px;height:6px;border-radius:50%;background:#6e5e40}.admin-login-layout{display:grid;grid-template-columns:1fr 1fr;gap:12%;max-width:1320px;margin:auto;padding:90px 6% 105px;align-items:center}.login-story h1{font-size:clamp(42px,4.2vw,63px);letter-spacing:-.04em;margin:25px 0}.login-story>.eyebrow{color:var(--muted)}.login-story>p:not(.eyebrow){max-width:375px;color:#716c64;font-size:14px}.login-note{display:flex;gap:20px;margin-top:30px;max-width:400px}.note-number{font:22px Georgia,serif;color:#a69371;padding-top:3px}.login-note p{font-size:12px;color:#716c64}.login-story .text-button{width:fit-content;margin-top:38px}.login-card{background:white;border:1px solid var(--admin-line);border-radius:var(--media-radius);padding:38px}.login-card>.eyebrow{color:var(--muted)}.login-card h2{font-size:41px;margin-top:16px}.login-copy{font-size:12px;color:#716c64;margin-top:14px}.mode-note{border:1px solid #d9cdb8;background:#f6f1e8;border-radius:var(--input-radius);padding:18px;margin:24px 0;font-size:12px;line-height:1.7}.mode-note strong{font-weight:600;font-size:12px}.mode-note p{font-size:11px;color:#6a6256;margin-top:6px}.login-card fieldset{padding:0;border:0;margin:0 0 14px;min-width:0}.login-card label{display:block;font-size:12px;margin:17px 0 8px}.login-card input{display:block;width:100%;min-height:46px;border:1px solid #dedad3;border-radius:var(--input-radius);padding:12px 14px;font:13px Arial,sans-serif;background:#f4f2ee;color:#716c64;opacity:1}.login-disabled{width:100%;margin-top:23px;justify-content:space-between;background:#e2ded6!important;color:#696259!important}.demo-entry{border-top:1px solid var(--admin-line);margin-top:25px;padding-top:25px}.demo-entry>p{font-size:12px}.demo-entry .button{margin:15px 0 12px;width:100%;justify-content:space-between}.demo-entry .small{font-size:10px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-layout{display:grid;grid-template-columns:245px 1fr;max-width:1600px;margin:auto;min-height:850px}.admin-sidebar{background:var(--black);color:var(--ivory);padding:40px 25px}.admin-sidebar>.eyebrow{color:#b9ac94;font-size:9px}.sidebar-brand{font:20px Georgia,serif;margin:13px 0 35px}.admin-nav{display:flex;flex-direction:column;gap:10px;font-size:12px}.admin-nav a{display:flex;justify-content:space-between;gap:12px;padding:13px 10px;border-radius:var(--cell-radius);min-height:44px;color:#d2cbbf}.admin-nav a.active,.admin-nav a:hover{background:#ffffff14;color:white}.admin-nav a:after{display:none!important}.sidebar-foot{border-top:1px solid #ffffff30;margin-top:45px;padding-top:25px}.sidebar-foot .eyebrow{color:var(--champagne)}.sidebar-foot>p:not(.eyebrow){color:#bdb5a8;font-size:11px;margin-top:15px;line-height:2}.sidebar-foot>a{font-size:11px;display:block;margin-top:24px;min-height:44px;padding-top:10px;color:#d5c8b0}.admin-main{padding:45px 6%}.admin-section{padding-bottom:45px;margin-bottom:45px;border-bottom:1px solid var(--admin-line);scroll-margin-top:35px}.admin-section:last-child{border-bottom:0;margin-bottom:0}.admin-title{display:flex;justify-content:space-between;align-items:start;gap:25px}.admin-title h1{font-size:clamp(35px,3vw,48px);letter-spacing:-.035em;margin-top:18px}.admin-section .eyebrow{color:var(--muted);font-size:9px}.mode-badge{border:1px solid #ccbfa9;background:#e9e1d2;white-space:nowrap;padding:8px 12px;border-radius:var(--cell-radius);font-size:9px;letter-spacing:.1em}.admin-lede{font-size:13px;color:#716c64;max-width:700px;margin-top:22px}.admin-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}.admin-status-grid article{border:1px solid var(--admin-line);border-radius:var(--media-radius);padding:22px;background:white}.admin-status-grid h2{font:21px/1.4 Georgia,serif;margin:13px 0}.admin-status-grid article>p:last-child{font-size:11px;color:#716c64}.admin-section>h2{font-size:36px;margin-top:18px}.access-list{margin-top:28px}.access-list>div{display:grid;grid-template-columns:1fr auto;gap:8px 25px;padding:20px 0;border-top:1px solid var(--admin-line);font-size:12px}.access-list strong{font-size:11px;font-weight:400;color:#6e5e40}.access-list p{grid-column:1/-1;font-size:11px;color:#716c64}.setup-list{list-style:none;counter-reset:setup;padding:0;margin-top:30px}.setup-list li{position:relative;padding-left:43px;margin-top:25px;counter-increment:setup}.setup-list li:before{content:'0' counter(setup);position:absolute;left:0;top:0;font:23px Georgia,serif;color:#a69371}.setup-list strong{font-size:13px;font-weight:400}.setup-list p{font-size:12px;color:#716c64;margin-top:7px;max-width:670px}.demo-controls{display:flex;flex-wrap:wrap;gap:13px;margin:27px 0 17px}.demo-controls .button{font-size:11px}@media(max-width:1100px){.admin-status-grid{grid-template-columns:1fr}.admin-layout{grid-template-columns:215px 1fr}.admin-title{flex-direction:column}.admin-login-layout{gap:7%;padding-inline:6%}.login-card{padding:28px}}@media(max-width:760px){.admin-demo-banner{flex-wrap:wrap;gap:6px 10px;padding:12px 20px;text-align:center}.admin-demo-banner>span:last-child{flex-basis:100%;font-size:9px}.admin-login-layout{grid-template-columns:1fr;padding:45px 7% 60px;gap:35px}.login-story h1{font-size:44px}.login-story>p:not(.eyebrow){font-size:12px}.login-note{margin-top:20px}.login-story .text-button{margin-top:22px}.login-card{padding:27px 24px}.admin-layout{grid-template-columns:1fr}.admin-sidebar{padding:25px 7%}.sidebar-brand{margin-bottom:20px}.admin-nav{position:static;display:flex;flex-direction:row;flex-wrap:wrap;background:transparent;padding:0;box-shadow:none;font-size:10px;gap:8px}.admin-nav a{padding:10px;gap:10px;background:#ffffff0c}.sidebar-foot{display:none}.admin-main{padding:35px 7%}.admin-title h1{font-size:37px}.admin-section{padding-bottom:35px;margin-bottom:35px}.admin-section>h2{font-size:33px}.access-list>div{grid-template-columns:1fr;gap:7px}.mode-badge{font-size:8px}.admin-status-grid article{padding:20px}.demo-controls{flex-direction:column}.admin-section .mode-note{margin-bottom:0}}
.login-card form .button{width:100%;justify-content:space-between;margin:23px 0 18px}.login-card form .button:disabled{cursor:default}.login-card input:enabled{background:white;color:var(--ink)}.admin-workspace-title{font:48px/1.1 Georgia,serif;margin-top:20px;letter-spacing:-.03em}@media(max-width:760px){.admin-workspace-title{font-size:38px}}
/* Phase 5 / private studio dashboard */
.dashboard-logout{margin-top:26px}.dashboard-logout .button{width:100%;padding:14px;background:#f8f6f2;color:#222;font-size:12px}.stat-number{font-size:38px!important}.request-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.request-heading h2,.detail-card h2{font-size:34px;margin:14px 0 22px}.request-filters{display:flex;gap:16px;align-items:end;margin:24px 0}.request-filters label{flex:1;font-size:12px}.request-filters input,.request-filters select,.review-form select,.review-form textarea{display:block;width:100%;min-height:46px;background:white;color:#222;border:1px solid #d8d2c8;border-radius:10px;padding:12px;font:14px Arial,sans-serif;margin-top:8px}.request-filters .button{padding:15px 24px}.request-section>.small{margin:16px 0;font-size:12px;color:#716c64}.request-table-wrap{overflow-x:auto}.request-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.request-table th{font-weight:400;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#716c64;border-bottom:1px solid #c6b69a;padding:16px 12px}.request-table td{padding:23px 12px;border-bottom:1px solid #ded8ce;vertical-align:top;max-width:250px;overflow-wrap:anywhere}.request-table td>span:not(.request-badge),.request-table small{display:block;margin-top:8px;color:#716c64;line-height:1.5}.request-ref{font-weight:600;text-decoration:underline;text-underline-offset:4px}.request-badge{display:inline-block;padding:9px 11px;border-radius:8px;border:1px solid #d2c3a8;background:#eee5d7;color:#50412d;font-size:11px;white-space:nowrap}.request-badge.is-confirmed{background:#e9eee7;border-color:#becbb7;color:#394932}.request-badge.is-closed{background:#eeeae6;border-color:#d5cec7;color:#6b625a}.request-empty{border:1px solid #ded8ce;border-radius:16px;background:#fff;padding:52px 30px;margin-top:24px;text-align:center}.request-empty h3{font:30px Georgia,serif;margin:16px 0}.request-empty p{font-size:13px;color:#716c64;max-width:460px;margin:auto}.request-empty a{margin-top:24px}.request-pagination{display:flex;gap:14px;margin-top:24px}.request-pagination .button{font-size:12px}.request-detail-head{margin-top:32px}.request-detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:24px}.detail-card{padding:28px;border:1px solid #ded8ce;border-radius:16px;background:white;margin-bottom:24px;min-width:0}.request-details{margin-top:26px}.request-details>div{border-top:1px solid #e5dfd6;padding:16px 0;display:grid;grid-template-columns:1fr 1.5fr;gap:15px}.request-details dt{font-size:11px;color:#716c64}.request-details dd{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.review-form label:not(.review-confirm){font-size:12px;display:block;margin-top:20px}.review-confirm{display:flex;gap:12px;font-size:12px;line-height:1.8;margin:24px 0;align-items:start}.review-confirm input{width:20px;height:20px;flex-shrink:0;margin-top:3px;accent-color:#6c5c3f}.review-form>.button{width:100%;justify-content:space-between;font-size:12px}.review-form>.small{font-size:11px;margin-top:16px;color:#716c64}.review-history{list-style:none;padding:0}.review-history li{border-top:1px solid #ded8ce;padding:20px 0}.review-history p{font-size:12px;margin-bottom:10px}.review-history small{font-size:10px;line-height:1.8;color:#716c64;overflow-wrap:anywhere}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.request-section{min-width:0}.admin-main{min-width:0}@media(max-width:1200px){.request-detail-grid{grid-template-columns:1fr}.request-filters{flex-wrap:wrap}.request-filters label{min-width:180px}}@media(max-width:760px){.request-heading{align-items:start;flex-direction:column}.request-filters{flex-direction:column;align-items:stretch}.request-filters label{min-width:0}.request-table{min-width:650px}.detail-card{padding:22px}.request-details>div{grid-template-columns:1fr;gap:8px}.request-heading h2,.detail-card h2{font-size:30px}.request-empty{padding:38px 22px}.request-detail-grid{gap:0}.request-detail-head{margin-top:25px}.dashboard-logout{max-width:200px}.admin-nav a{font-size:12px}}
.request-pagination{position:static;inset:auto;padding:0;background:transparent;box-shadow:none;flex-wrap:wrap}.request-details dd{margin:0}
/* Phase 6 / manual payment review */
.payment-panel{scroll-margin-top:30px}.payment-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}.payment-summary article{padding:20px 16px;background:#f8f6f2;border:1px solid #ded8ce;border-radius:12px}.payment-summary article>.eyebrow{font-size:9px;letter-spacing:.1em;min-height:30px}.payment-summary article>p:last-child{font:26px Georgia,serif;margin-top:14px}.payment-explainer{font-size:12px;line-height:1.9;padding:18px 20px;border-left:2px solid #c6b69a;background:#f7f3ed;margin-bottom:30px}.payment-explainer p+p{margin-top:7px}.payment-columns{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,1fr);gap:30px}.payment-columns h3{margin:0 0 14px;font-size:28px}.payment-record{align-self:start;border:1px solid #ded8ce;border-radius:16px;padding:22px;background:#f8f6f2}.payment-record h3{margin-top:14px}.payment-form label:not(.review-confirm){display:block;font-size:12px;margin:18px 0 0}.payment-form input:not([type=checkbox]):not([type=hidden]),.payment-form textarea,.payment-form select{display:block;width:100%;min-height:46px;border:1px solid #d8d2c8;border-radius:10px;padding:12px;background:white;font:14px Arial,sans-serif;color:#222;margin-top:8px;min-width:0}.payment-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.payment-form>.button{margin:22px 0 12px;width:100%;font-size:12px}.payment-entry{border:1px solid #ded8ce;border-radius:12px;padding:22px;margin-top:18px;overflow-wrap:anywhere}.payment-entry-head{display:flex;gap:12px;justify-content:space-between;align-items:start;flex-wrap:wrap}.payment-entry h4{font:30px Georgia,serif;margin:12px 0 0}.payment-entry details{border-top:1px solid #ded8ce;margin-top:16px;padding-top:15px;font-size:12px}.payment-entry summary{cursor:pointer;min-height:44px;display:list-item;padding-block:10px}.payment-entry .review-history li{padding-block:14px}.payment-columns>div{min-width:0}.payment-entry .request-badge{white-space:normal}.payment-panel .request-empty h3{font-size:26px}.payment-entry .request-details{margin-top:20px}.payment-entry .request-details>div{grid-template-columns:1fr 1.5fr}.payment-entry .request-details dd{font-size:12px}.payment-form input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:#6c5c3f}@media(max-width:1250px){.payment-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-columns{grid-template-columns:1fr}.payment-record{max-width:none}}@media(max-width:760px){.payment-summary{gap:10px}.payment-summary article{padding:16px 12px}.payment-summary article>p:last-child{font-size:23px}.payment-entry,.payment-record{padding:18px}.payment-entry .request-details>div{grid-template-columns:1fr;gap:6px}.payment-form-grid{grid-template-columns:1fr}.payment-panel .request-heading h2{font-size:30px}.payment-panel{padding:20px}.payment-columns{gap:24px}}
/* Clear payment states: text, symbol and colour work together. */
:root{--pay-green:#205b38;--pay-green-bg:#e5f4e9;--pay-green-line:#98c9a7;--pay-yellow:#705100;--pay-yellow-bg:#fff2c2;--pay-yellow-line:#dec16a;--pay-red:#9c3026;--pay-red-bg:#fdebe7;--pay-red-line:#e2a39a}.payment-green,.metric-green{--state-ink:var(--pay-green);--state-bg:var(--pay-green-bg);--state-line:var(--pay-green-line)}.payment-yellow,.metric-yellow{--state-ink:var(--pay-yellow);--state-bg:var(--pay-yellow-bg);--state-line:var(--pay-yellow-line)}.payment-red,.metric-red{--state-ink:var(--pay-red);--state-bg:var(--pay-red-bg);--state-line:var(--pay-red-line)}.payment-neutral,.metric-neutral{--state-ink:#56534e;--state-bg:#f0eeea;--state-line:#ccc5bb}.payment-state{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--state-line);border-radius:8px;padding:10px 12px;background:var(--state-bg);color:var(--state-ink);font:600 12px/1.5 Arial,sans-serif;max-width:100%;white-space:normal}.request-table td>.payment-state{display:inline-flex;margin-top:0;color:var(--state-ink)}.payment-status-banner{border:1px solid var(--state-line);border-left:5px solid var(--state-ink);border-radius:12px;padding:22px 24px;background:var(--state-bg);color:var(--state-ink);margin:24px 0}.payment-status-banner>div{display:flex;gap:12px;align-items:center}.payment-status-banner strong{font-size:20px;line-height:1.4}.payment-status-icon{font:700 20px/1 Arial,sans-serif;border:1px solid currentColor;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;flex-shrink:0}.payment-status-banner>p{font-size:13px;margin:12px 0 0;line-height:1.8}.payment-pending-chip{display:inline-block;color:var(--pay-yellow)!important;background:var(--pay-yellow-bg);border:1px solid var(--pay-yellow-line);border-radius:7px;font-size:11px;padding:7px 10px;margin-top:12px}.payment-summary article[class^=metric-]{background:var(--state-bg);border-color:var(--state-line);color:var(--state-ink)}.payment-summary article>p:last-child{font-weight:700}.payment-explainer[class*=payment-]{background:var(--state-bg);border-left-color:var(--state-ink);color:var(--state-ink)}.payment-review-button{background:var(--pay-green);color:white}.payment-review-button:hover{background:#17452a}.payment-legend{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:12px;margin-top:25px}.payment-legend>span{display:inline-flex;gap:8px;align-items:center}.payment-legend>span:before{content:'';width:10px;height:10px;border-radius:50%}.legend-green:before{background:var(--pay-green)}.legend-yellow:before{background:#b38400}.legend-red:before{background:var(--pay-red)}.payment-overview .payment-number,.payment-overview .payment-balance{font-size:16px;font-weight:700}.payment-amount-green{color:var(--pay-green)}.payment-amount-yellow{color:var(--pay-yellow)}.payment-amount-red{color:var(--pay-red)}.payment-overview .payment-state-cell{min-width:175px}.payment-row-green{--row-line:var(--pay-green-line)}.payment-row-yellow{--row-line:var(--pay-yellow-line)}.payment-row-red{--row-line:var(--pay-red-line)}.payment-row-neutral{--row-line:#ccc5bb}.payment-overview tbody tr{border-left:4px solid var(--row-line)}@media(max-width:760px){.payment-status-banner{padding:18px 16px}.payment-status-banner strong{font-size:18px}.payment-overview{display:block;min-width:0;width:100%;margin-top:22px}.payment-overview thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.payment-overview tbody{display:block}.payment-overview tbody tr{display:block;border:1px solid #ded8ce;border-left:5px solid var(--row-line);border-radius:14px;background:white;padding:18px;margin-bottom:18px}.payment-overview td{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:12px;align-items:center;padding:14px 0;max-width:none;width:100%;border-color:#e8e2d9;font-size:14px}.payment-overview td[data-label]:before{content:attr(data-label);font-size:12px;font-weight:400;color:#625e56}.payment-overview .payment-request-cell{display:block;padding-top:0}.payment-overview .payment-state-cell{display:block;min-width:0}.payment-overview .payment-state-cell:before{display:none}.payment-overview .payment-actions{display:block;border:0;padding-bottom:0}.payment-overview .payment-actions:before{display:none}.payment-overview .payment-actions .text-button{margin-top:12px;justify-content:space-between;min-height:48px;font-size:13px}.payment-overview .payment-state{font-size:13px}.payment-overview .payment-balance{font-size:20px}.payment-overview .payment-pending-chip{width:fit-content}}
.request-table td>span.payment-state{display:inline-flex;margin-top:0;color:var(--state-ink)}
.payment-overview .payment-number,.payment-overview .payment-balance{white-space:nowrap}
