:root{font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;color:#22282b;background:#fff;font-size:15px;--gold:#a28348;--line:#e1e4e6;--muted:#757e86;--dark:#171a1b}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;background:white;color:#30383e;border:1px solid #d9dde0;padding:10px 16px;border-radius:2px;font-size:14px}button:hover{border-color:var(--gold);background:#faf8f3}button.primary{background:var(--gold);color:white;border-color:var(--gold)}button:disabled{opacity:.5;cursor:wait}a{color:#876b35}aside{position:fixed;inset:0 auto 0 0;width:238px;background:var(--dark);color:#d4d6d7;padding:30px 0;display:flex;flex-direction:column}.brand{padding:0 27px 30px;color:#c9ad70;font-family:Georgia,serif;font-size:22px;letter-spacing:2px;line-height:1.7}.brand small{display:block;font-family:Arial,sans-serif;font-size:9px;letter-spacing:6px;color:#b4b6b4;text-align:center}.nav{display:flex;flex-direction:column;gap:4px}.nav button{text-align:left;border:0;background:transparent;color:#e1e2e2;padding:15px 24px;font-size:14px;border-left:4px solid transparent;display:flex;align-items:center;gap:14px}.nav button.selected{background:#a283481e;border-left-color:#bc9e61;color:#d3b574}.nav svg{width:18px;height:18px;flex-shrink:0}.account{margin-top:auto;padding:20px 26px;font-size:12px;line-height:1.9;color:#aeb4b8}.account button{padding:5px 8px;background:none;color:#d0d5d7;margin:8px 5px 0 0;font-size:12px}main{margin-left:238px;padding:30px 40px 60px;max-width:1700px}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px;gap:15px}h1{font-family:Georgia,"Songti SC",serif;font-size:38px;margin:0 0 8px;line-height:1.2;color:#15191b}h2{font-family:Georgia,"Songti SC",serif;font-size:21px;margin:0 0 17px}h3{font-size:15px;font-weight:600}.muted{color:var(--muted);font-size:13px;line-height:1.7}.panel{border:1px solid var(--line);padding:20px;margin-bottom:18px;border-radius:2px}.today-grid{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(250px,1fr);gap:20px}.empty{text-align:center;padding:45px 18px;color:var(--muted)}.empty svg{width:35px;height:35px;margin-bottom:12px;stroke:#9da5ab}.empty strong{display:block;color:#69717b;margin-bottom:8px;font-weight:500}.empty button{margin-top:18px}.side-empty{background:#f7f8f9;padding:32px 15px}.toolbar,.tabs,.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.toolbar{justify-content:space-between}.tabs{border-bottom:1px solid var(--line);gap:0}.tabs button{border:0;background:none;border-bottom:2px solid transparent;padding:12px 16px}.tabs button.selected{border-color:var(--gold);color:#8b6f3c}.table-wrap{overflow:auto;width:100%}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;background:#f5f6f7;font-weight:500;color:#626c73;padding:13px 14px;white-space:nowrap}td{padding:16px 14px;border-bottom:1px solid #eceeef;vertical-align:top;line-height:1.5}tr.clickable{cursor:pointer}tr.clickable:hover{background:#faf9f6}.status{display:inline-block;font-size:12px;padding:4px 8px;color:#5d656d;background:#f1f3f5;white-space:nowrap}.status.approved,.status.published,.status.completed,.status.first_night{color:#376555;background:#edf5ef}.status.review,.status.pending,.status.unverified,.status.blocked{background:#faf3e7;color:#896834}.status.returned,.status.refunded,.status.cancelled{background:#f9eceb;color:#a15047}.onboarding{display:flex;gap:17px;align-items:center;padding:18px 5px;border-bottom:1px solid #eee;cursor:pointer}.onboarding:last-child{border:0}.num{background:#ede5d5;color:#89703e;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;flex-shrink:0}.onboarding strong{font-size:14px;display:block;margin-bottom:5px}.line-item{padding:12px 0;border-bottom:1px solid #eee;line-height:1.7}.line-item:last-child{border:0}.notice{padding:13px 16px;background:#faf7ef;border-left:3px solid var(--gold);font-size:13px;line-height:1.7;margin:15px 0}.error{color:#9d3e32;background:#fff2ef;padding:12px;font-size:14px;white-space:pre-wrap}.login{max-width:480px;margin:9vh auto;padding:36px;border-top:4px solid var(--gold);box-shadow:0 10px 50px #18202712}.login .brand{padding:0 0 28px;text-align:center}.login label{display:block;margin:17px 0}.login input{display:block;width:100%;margin-top:8px}.login h1{font-size:28px}input,select,textarea{border:1px solid #d4d9dd;padding:10px;background:#fff;border-radius:2px;min-width:0;max-width:100%;color:#252c31}textarea{resize:vertical;min-height:105px;line-height:1.6}input[type=checkbox]{width:18px;height:18px;vertical-align:middle;accent-color:var(--gold)}dialog{border:1px solid #dfe2e5;padding:0;width:min(940px,94vw);max-height:91vh;box-shadow:0 15px 60px #0003}dialog::backdrop{background:#15191b88}.dialog-head{padding:22px 26px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.dialog-head h2{margin:0}.dialog-body{padding:25px 26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:8px;font-size:13px}.field.full{grid-column:1/-1}.field.check{flex-direction:row;align-items:center}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.details{display:grid;grid-template-columns:1fr 1fr;gap:20px}.details dt{font-size:12px;color:#7b848b;margin-bottom:8px}.details dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:20px 0}.metric{padding:18px 0;border-top:2px solid #c6b087}.metric strong{font-family:Georgia,serif;font-size:30px;display:block;margin-top:12px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.search{width:240px}.mobile-menu{display:none}.files{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.allocation{display:grid;grid-template-columns:1fr 140px;gap:10px;margin:8px 0}#toast{position:fixed;bottom:25px;right:25px;background:#202728;color:white;padding:16px 24px;z-index:10;max-width:90vw}#offline{position:sticky;top:0;padding:12px;background:#a53e2c;color:white;text-align:center;z-index:20}.help{font-size:13px;line-height:1.8;color:#707b83}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.link-button{border:0;color:#8a703e;background:none;padding:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:1500px){main{padding:40px 50px}}@media(max-width:1100px){aside{width:200px}.nav button{padding-left:16px;font-size:13px}.brand{font-size:19px;padding-left:17px;padding-right:17px}main{margin-left:200px;padding:28px 24px}.today-grid{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}.metric-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){aside{position:static;width:100%;padding:15px 0}.brand{padding:0 20px 12px;font-size:19px}.brand small{text-align:left;font-size:8px;letter-spacing:4px}.nav{flex-direction:row;overflow-x:auto;padding:0 10px}.nav button{padding:10px 12px;white-space:nowrap;font-size:12px;border-left:0;border-bottom:2px solid transparent}.nav button.selected{border-bottom-color:var(--gold)}.nav svg{display:none}.account{padding:10px 20px;display:flex;align-items:center;gap:10px}.account button{margin:0}.account .muted{display:none}main{margin:0;padding:25px 18px}h1{font-size:30px}.today-grid,.columns,.right-column,.form-grid,.details{grid-template-columns:1fr}.field.full{grid-column:1}.panel{padding:16px}header{margin-bottom:20px}.tabs{flex-wrap:nowrap;overflow:auto}.tabs button{white-space:nowrap}.dialog-body{padding:20px}.login{margin:4vh 18px;padding:25px}.search{width:100%}.metric-grid{gap:12px}.metric strong{font-size:26px}.toolbar>div{width:100%}}

#environment-bar{position:sticky;top:0;background:#8b5a19;color:#fff;padding:11px 20px;text-align:center;font-size:13px;z-index:25}body:has(#environment-bar:not([hidden])) aside{top:39px}

.manual{max-width:780px;margin:auto}.manual-section{padding:18px 0;border-bottom:1px solid var(--border,#e5e4df)}.manual-section h3{margin:0 0 12px}.manual-steps{padding-left:28px}.manual-steps li{padding:0 0 15px 9px;line-height:1.8}.manual-prose,.details dd{white-space:pre-wrap;line-height:1.8;overflow-wrap:anywhere}.copy-template{width:100%;min-height:260px;line-height:1.75;resize:vertical;margin-bottom:12px}.manual-meta{margin:24px 0;overflow-wrap:anywhere}.manual-meta summary{cursor:pointer;padding:12px;background:#f4f3ee}.task-guide{padding:18px;border:1px solid #c7b687;margin:16px 0;background:#fbfaf6}.task-guide button{margin:4px}.material-choice{padding:16px 0;border-bottom:1px solid #ddd}.checklist-item{display:flex;gap:10px;padding:8px 0;align-items:flex-start}.checklist-item input{width:auto;flex-shrink:0}.field:has(.checklist-item){grid-column:1/-1}.manual-section a{overflow-wrap:anywhere}

/* Facebook Page reader: one document scroll, with persistent reading controls. */
body:has(dialog[open]){overflow:hidden}
.reader-mode #environment-bar{position:static}
.guide-reader{color:#252c31;font-size:16px;line-height:1.6}
.reader-sticky{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}
.reader-header{max-width:1060px;margin:0 auto;padding:14px 24px;display:flex;gap:20px;align-items:center}
.reader-header button{flex-shrink:0;min-height:42px}
.reader-heading{flex:1;min-width:0}.reader-heading h1{font-size:26px;line-height:1.3;margin:0 0 3px}.reader-heading p{font-size:14px;color:#647078;margin:0}
.reader-tabs{display:grid;grid-template-columns:repeat(4,1fr);max-width:1060px;margin:auto;padding:0 24px}
.reader-tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;padding:12px 8px;background:#fff;font-size:16px;line-height:1.4}
.reader-tabs button[aria-selected=true]{color:#80652f;border-bottom-color:var(--gold);background:#faf8f2;font-weight:600}
.reader-main{margin:0 auto;max-width:1060px;padding:18px 24px 32px;min-width:0}
.reader-main h2{font-family:inherit;font-size:18px;margin:0 0 10px;line-height:1.5}
.reader-intro{margin:0 0 12px;color:#5f6970;font-size:15px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
#reader-progress{white-space:nowrap;color:#80652f}
.reader-steps{list-style:none;margin:0;padding:0;border:1px solid var(--line)}
.reader-steps li+li{border-top:1px solid var(--line)}
.reader-step summary{display:flex;align-items:center;gap:12px;padding:13px 16px;cursor:pointer;list-style:none;font-size:16px;line-height:1.6}
.reader-step summary::-webkit-details-marker{display:none}.reader-step summary>span:nth-child(2){flex:1;min-width:0}
.reader-step[open]>summary{background:#faf8f2}.reader-number{display:grid;place-items:center;flex:0 0 28px;height:28px;background:#eee8db;color:#755d2f;font-weight:600;font-size:15px}
.reader-chevron{font-size:20px;flex-shrink:0}.reader-step[open] .reader-chevron{transform:rotate(180deg)}
.reader-step-body{padding:0 16px 14px 56px}.reader-prose{font:inherit;white-space:pre-wrap;line-height:1.75;overflow-wrap:anywhere;margin:8px 0 12px}
.reader-read{display:flex;gap:9px;align-items:center;font-size:15px;color:#566168}.reader-read input{flex-shrink:0}
.reader-pending{display:inline-block;margin-left:10px;padding:1px 6px;background:#fff0d5;color:#825716;font-size:14px;vertical-align:middle}
.reader-warning{border-left:3px solid #c39b51;background:#fff9ec;padding:8px 12px;font-size:15px;margin:10px 0}
.reader-boundary{font-size:15px;border-left:3px solid var(--gold);padding:9px 12px;background:#f7f5ee;margin:14px 0}
.reader-version-note{margin:0 0 12px;font-size:15px;color:#647078}
.reader-fold{border-bottom:1px solid var(--line);padding:0 2px}.reader-fold summary{cursor:pointer;padding:12px 0;font-size:16px;font-weight:500}.reader-fold>p{padding:0 12px}.reader-reference{margin-top:18px;border-top:1px solid var(--line)}
.reader-section{padding:12px 0;border-bottom:1px solid var(--line)}.reader-checks{margin:8px 0;padding-left:24px}.reader-checks li{padding:3px 0}
.reader-copy{border:1px solid var(--line);padding:16px;margin-bottom:14px}.reader-copy-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.reader-copy-head h2{margin:0}.reader-copy-head button{flex-shrink:0}
.reader-admin{border:1px dashed #cfd3d6;background:#fafbfc;padding:12px 16px;margin-top:18px;color:#58636b;font-size:15px}.reader-admin summary{cursor:pointer;font-weight:600}.reader-admin p{margin:8px 0}
.reader-task-actions{padding:14px 0}.reader-task-actions button{margin:0 8px 8px 0}.reader-task-actions p{font-size:15px;margin:0;color:#657078}
@media(max-width:600px){.reader-header{padding:10px 14px;gap:8px;flex-wrap:wrap}.reader-heading{order:-1;flex-basis:100%}.reader-heading h1{font-size:24px}.reader-header button:last-child{margin-left:auto}.reader-tabs{padding:0 10px;grid-template-columns:repeat(4,minmax(0,1fr))}.reader-tabs button{font-size:15px;padding:10px 4px;overflow-wrap:anywhere;min-height:58px}.reader-main{padding:14px 14px 28px}.reader-step summary{padding:11px 10px;gap:9px}.reader-step-body{padding:0 12px 14px}.reader-pending{margin-left:0;display:table;margin-top:5px}.reader-copy{padding:12px}.reader-copy-head{align-items:flex-start;flex-direction:column;gap:8px}.reader-prose{line-height:1.75}.reader-intro{gap:5px}.reader-admin{padding:10px 12px}}
.fb-selectors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.fb-selectors label{min-width:0;display:flex;flex-direction:column;gap:7px;font-size:15px}.fb-bindings{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.fb-bindings dt{color:#687179;font-size:14px}.fb-bindings dd{margin:4px 0;overflow-wrap:anywhere}.fb-preview{padding:14px;background:#faf9f4;border:1px solid #e1e4e6;min-height:100px}.fb-validation{font-size:15px;line-height:1.65;margin:12px 0}.fb-validation ul{margin:8px 0;padding-left:22px}.fb-copy-notice:not(:empty){padding:10px 12px;background:#f3f5f2;border-left:3px solid #9a8149;overflow-wrap:anywhere}.field[hidden]{display:none}@media(max-width:600px){.fb-selectors,.fb-bindings{grid-template-columns:minmax(0,1fr)}.fb-composer .actions button{width:100%}}

.fb-selectors select{width:100%;min-width:0}

.password-control{position:relative;display:block;width:100%;min-width:0}.password-control input{width:100%;padding-right:48px}.password-toggle{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:42px;height:40px;min-width:0;padding:9px;border:0;background:transparent;color:#596269;display:flex;align-items:center;justify-content:center}.password-toggle:hover{background:#eeeae2}.password-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}.password-toggle svg{width:22px;height:22px;pointer-events:none}

/* Touch targets for tablets without shrinking text or changing desktop workflows. */
@media (pointer:coarse){button,input:not([type=checkbox]):not([type=radio]),select{min-height:44px}input,select,textarea{font-size:16px}.check input{min-width:22px;min-height:22px}.dialog-head button{min-width:44px}.password-toggle{min-height:44px;height:44px}}
@media(max-width:1024px){dialog{max-width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.dialog-head{flex-wrap:wrap}.dialog-head h2{overflow-wrap:anywhere}.form-grid>*{min-width:0}textarea,input,select{max-width:100%}}

/* Keep long tables inside their own scroll area, not the mobile page. */
.today-grid>div,.columns>*,.panel,.right-column,.table-wrap{min-width:0;max-width:100%}
.dialog-head{position:sticky;top:0;z-index:2;background:#fff;gap:8px}.dialog-head h2{min-width:0;flex:1}.dialog-head button{flex-shrink:0}
@media(max-width:700px){.toolbar{flex-wrap:wrap}.today-grid,.columns,.form-grid{grid-template-columns:minmax(0,1fr)}.dialog-head{padding:14px 18px}.dialog-head h2{flex-basis:100%}.dialog-head [data-action=close]{margin-left:auto}}

.operations-card{display:flex;flex-direction:column;gap:12px;padding:24px;margin:0 0 22px;border:2px solid #a28348;background:#fffdf5;color:#244b47;text-decoration:none;border-radius:8px;min-height:150px}.operations-card strong{font-size:26px}.operations-card small{font-size:14px}.operations-card:focus-visible{outline:3px solid #244b47}@media(max-width:700px){.operations-card{padding:18px}.operations-card strong{font-size:23px}}
