.portal-card{width:100%;max-width:480px;padding:clamp(22px,4vw,34px);display:grid;gap:14px}
.portal-card h2,.desk-side h2,.job-head h2,.panel h3{font-family:Georgia,"Times New Roman",serif;line-height:1.1;margin:0}
.portal-card h2{font-size:2rem}
.portal-card p{color:#4d5b55;margin:0;line-height:1.6}
.portal-card label{color:#33403b;gap:8px;font-weight:800;display:grid}
.portal-card input,.portal-card select,.admin-bar select,.file-row select{color:#1e2724;background:#fffdf7;border:1px solid #1e272433;width:100%;padding:12px 13px;font:inherit}
.portal-steps{display:grid;gap:10px;margin-top:8px}
.portal-steps li{display:grid;grid-template-columns:28px 1fr;gap:10px;color:#4d5b55}
.portal-steps b{font-family:Georgia,serif;color:#c35a2e}
.loading{color:#4d5b55;padding:40px 0}
.desk-wrap{padding:8px 0 80px;display:grid;gap:18px}
#setup{justify-items:center}
.admin-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:#1e2724;color:#f9f5ec;padding:10px 14px}
.admin-bar .eyebrow{color:#b8c864}
.admin-bar select{width:auto;min-width:240px;padding:8px 10px}
.desk-grid{display:grid;grid-template-columns:290px minmax(0,1fr);gap:22px;align-items:start}
.desk-side{padding:20px;display:grid;gap:10px}
.desk-side h2{font-size:1.6rem}
.job-list{display:grid;gap:4px}
.job-btn{text-align:left;padding:10px 12px;border:1px solid transparent;background:transparent;cursor:pointer;display:grid;gap:2px}
.job-btn:hover{background:#e7ece0}
.job-btn.on{background:#e7ece0;border-left:5px solid #c35a2e}
.job-btn b{font-weight:700}
.job-btn span{font-size:.85rem;color:#55625d}
.desk-main{display:grid;gap:18px;min-width:0}
.panel{background:#fffcf4db;border:1px solid #1e27242e;padding:clamp(18px,3vw,26px);display:grid;gap:14px}
.job-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start}
.job-head h2{font-size:clamp(1.8rem,3vw,2.6rem)}
.job-head p{margin:6px 0 0;color:#4d5b55}
.tag{display:inline-block;border:1px solid #1e272433;padding:2px 10px;font-size:.8rem;background:#fffdf7}
.drop{border:2px dashed #1e272440;padding:26px;text-align:center;background:#fffdf7;display:grid;gap:6px;justify-items:center}
.drop.over{border-color:#c35a2e;background:#f7efe3}
.drop p{margin:0;color:#55625d;font-size:.92rem}
.linkish{background:none;border:0;text-decoration:underline;cursor:pointer;font:inherit;font-weight:700;padding:0}
.busy{font-size:.9rem;color:#8a5a12}
.drawer{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;padding-top:6px}
.folder{position:relative;text-align:left;padding:16px 12px 10px;background:#e7ece0;border:1px solid #1e272422;display:grid;gap:2px;cursor:pointer;min-height:76px}
.folder::before{content:"";position:absolute;left:-1px;top:-8px;width:46%;height:8px;background:#d9c98f;border:1px solid #1e272422;border-bottom:0}
.folder .no{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.75rem;color:#55625d}
.folder .nm{font-weight:700;line-height:1.25}
.folder .ct{font-size:.8rem;color:#55625d;font-variant-numeric:tabular-nums}
.folder.has .ct{color:#c35a2e;font-weight:700}
.folder.on{background:#1e2724;color:#f9f5ec}
.folder.on .no,.folder.on .ct{color:#d7e4cc}
.files{display:grid;border-top:1px solid #1e272422}
.file-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 0;border-bottom:1px solid #1e272422;align-items:start}
.file-row .fn{font-weight:700;word-break:break-word}
.file-row .fn button{text-align:left}
.file-row .meta{font-size:.85rem;color:#55625d}
.file-row .act{display:flex;gap:8px;align-items:center}
.file-row select{width:auto;padding:6px 8px;font-size:.85rem}
.chip{display:inline-block;background:#d9c98f;color:#3b3117;font-size:.75rem;padding:1px 7px;font-family:ui-monospace,Menlo,Consolas,monospace}
.empty{color:#55625d;padding:12px 0;margin:0}
.small-btn{border:1px solid #1e272433;background:#fffdf7;padding:6px 10px;cursor:pointer;font:inherit;font-size:.85rem}
.small-btn:hover{border-color:#1e2724}
dialog{border:1px solid #1e27242e;padding:0;max-width:520px;width:calc(100% - 32px)}
dialog::backdrop{background:#1e272466}
.row-end{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#1e2724;color:#f9f5ec;padding:10px 16px;z-index:50;max-width:calc(100% - 32px)}
@media(max-width:860px){.desk-grid{grid-template-columns:1fr}}
.trade-pick{border:1px solid #1e272433;padding:12px 14px;display:grid;gap:8px;background:#fffdf7}
.trade-pick legend{font-weight:800;color:#33403b;padding:0 6px}
.trade-pick legend span{font-weight:400;color:#55625d}
#tradeBoxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 14px}
#tradeBoxes label{display:flex;gap:8px;align-items:center;font-weight:400}
#tradeBoxes input{width:auto}
.std-list{display:grid;gap:0;border-top:1px solid #1e272422}
.std-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;padding:10px 0;border-bottom:1px solid #1e272422;align-items:start}
.std-row .n{font-family:Georgia,serif;color:#c35a2e;font-weight:700}
.std-row b{display:block}
.std-row span{color:#55625d;font-size:.88rem}
.status-pill{font-size:.75rem;padding:2px 8px;border:1px solid #1e272433;white-space:nowrap;background:#fffdf7}
.status-pill.done{background:#d7e4cc;border-color:#687f35}
.status-pill.todo{color:#55625d}
.scope-q{display:grid;gap:10px}
.scope-q label{display:grid;gap:6px;font-weight:700;color:#33403b}
.scope-q textarea{width:100%;min-height:54px;padding:10px;border:1px solid #1e272433;background:#fffdf7;font:inherit}
.profile{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 18px;font-size:.9rem;color:#4d5b55}
.profile b{display:block;color:#1e2724;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid #1e272433}
.auth-tabs button{padding:10px;background:#fffdf7;border:0;cursor:pointer;font:inherit;font-weight:700;color:#55625d}
.auth-tabs button.on{background:#1e2724;color:#f9f5ec}
.auth-form{display:grid;gap:14px}
.auth-form[hidden]{display:none}
.profile-btn{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:10px 12px;border:1px solid #1e272433;background:#fffdf7;cursor:pointer;font:inherit;font-weight:700;text-align:left}
.profile-btn:hover,.profile-btn.on{border-color:#1e2724;background:#e7ece0}
.pct{font-size:.8rem;padding:2px 8px;background:#f2d5c9;color:#66301a;font-weight:700}
.pct.full{background:#d7e4cc;color:#243325}
.pf-section{display:grid;gap:14px}
.pf-section h3{margin:0}
.pf-use{color:#55625d;font-size:.88rem;margin:-8px 0 0}
.pf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px 18px}
.pf-grid label{display:grid;gap:6px;font-weight:700;color:#33403b;align-content:start}
.pf-grid label.wide{grid-column:1/-1}
.pf-grid input,.pf-grid select,.pf-grid textarea{width:100%;padding:10px 12px;border:1px solid #1e272433;background:#fffdf7;font:inherit;font-weight:400;color:#1e2724}
.pf-grid textarea{min-height:70px}
.pf-grid input[type=color]{height:44px;padding:4px}
.pf-hint{font-weight:400;font-size:.82rem;color:#55625d}
.req{color:#c35a2e}
.pf-file{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-weight:400}
.pf-logo{max-height:56px;max-width:180px;border:1px solid #1e272422;background:#fff;padding:4px}
.pf-save{position:sticky;bottom:0;background:#f4f0e8;border-top:1px solid #1e272433;padding:12px 0;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.missing{background:#f7efe3;border-left:5px solid #c35a2e;padding:12px 14px;color:#66301a}
