:root{--color-bg: #f7f8f5;--color-surface: #ffffff;--color-surface-muted: #f3f4f1;--color-border: #dde2da;--color-border-strong: #c9cfc4;--color-text: #18212b;--color-text-muted: #5f6b76;--color-text-subtle: #7a858f;--color-sidebar: #40464a;--color-sidebar-text: #f0f2f4;--color-sidebar-text-muted: #9ba1a6;--color-brand: #a6ce39;--color-brand-hover: #95ba33;--color-brand-soft: #f4fae8;--color-brand-text: #3d6b10;--color-danger: #b91c1c;--color-danger-soft: #fee2e2;--color-warning: #d97706;--color-warning-soft: #fef3c7;--color-info: #2563eb;--color-info-soft: #dbeafe;--color-success: #16a34a;--color-success-soft: #dcfce7;--etal-logo-green: #94c93d;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}.portal{min-height:100%;display:flex;flex-direction:column}.chrome{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;padding-top:calc(14px + env(safe-area-inset-top));background:var(--color-sidebar);color:var(--color-sidebar-text)}.brand{display:flex;align-items:baseline;gap:4px;white-space:nowrap}.brand-production{font-weight:700;letter-spacing:.02em}.brand-etal{font-style:italic;font-weight:700;color:var(--etal-logo-green)}.brand-tm{font-size:8px;vertical-align:super;color:var(--color-sidebar-text-muted)}.brand-divider{color:var(--color-sidebar-text-muted);margin:0 2px}.brand-portal{color:var(--color-sidebar-text-muted);font-weight:500}.content{flex:1;width:100%;max-width:880px;margin:0 auto;padding:24px 16px 48px}.foot{padding:16px 20px calc(16px + env(safe-area-inset-bottom));text-align:center;font-size:12px;color:var(--color-text-subtle)}.center{text-align:center;padding-top:48px}.muted{color:var(--color-text-muted);line-height:1.5}.notice{color:var(--color-danger);font-size:13px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:14px}.card.narrow{max-width:420px;margin:32px auto 0}.card h1{font-size:20px;font-weight:600;letter-spacing:-.01em}.field{display:flex;flex-direction:column;gap:6px}.field span{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.field input{height:42px;padding:0 12px;font:inherit;font-size:16px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);outline:none}.field input:focus{border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand-soft)}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}button{font:inherit;font-weight:600;border:none;cursor:pointer;border-radius:var(--radius-md);transition:background .14s ease-out}button.primary{height:42px;padding:0 18px;background:var(--color-brand);color:var(--color-text)}button.primary:hover{background:var(--color-brand-hover)}button.primary:disabled{opacity:.5;cursor:default}button.ghost{height:36px;padding:0 12px;background:transparent;color:inherit;opacity:.85}.chrome button.ghost{color:var(--color-sidebar-text)}button.ghost:hover{opacity:1}.jobs{display:flex;flex-direction:column;gap:16px}.jobs-head{display:flex;align-items:baseline;gap:10px}.jobs-head h1{font-size:25px;font-weight:600;letter-spacing:-.01em}.count{font-size:12px;font-weight:600;color:var(--color-text-muted);background:var(--color-surface-muted);border-radius:999px;padding:2px 10px}.fy-group{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.fy-group summary{display:flex;align-items:center;gap:10px;padding:14px 20px;font-size:15px;font-weight:600;cursor:pointer;list-style:none;border-bottom:1px solid transparent}.fy-group[open] summary{border-bottom-color:var(--color-border)}.fy-group summary::-webkit-details-marker{display:none}.fy-group summary:after{content:"›";margin-left:auto;font-weight:700;color:var(--color-text-subtle);transform:rotate(90deg);transition:transform .14s ease-out}.fy-group[open] summary:after{transform:rotate(-90deg)}.fy-group ul{list-style:none}.job-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-top:1px solid var(--color-border)}.fy-group ul .job-row:first-child{border-top:none}.job-main{display:flex;flex-direction:column;gap:2px;min-width:0}.job-name{font-weight:600;font-size:14px}.job-client{font-size:12px;color:var(--color-text-muted)}.chip{flex-shrink:0;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:3px 10px}.chip-brand{background:var(--color-brand-soft);color:var(--color-brand-text)}.chip-info{background:var(--color-info-soft);color:var(--color-info)}.chip-warning{background:var(--color-warning-soft);color:var(--color-warning)}.chip-success{background:var(--color-success-soft);color:var(--color-success)}.chip-neutral{background:var(--color-surface-muted);color:var(--color-text-subtle)}.job-row-button{width:100%;background:transparent;text-align:left;border-radius:0;font-weight:400;cursor:pointer;transition:background .14s ease-out}.job-row-button:hover{background:var(--color-surface-muted)}.sheet-backdrop{position:fixed;inset:0;z-index:50;background:#18212b99;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--color-surface);width:100%;max-height:82vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;flex-direction:column;overflow:hidden}@media(min-width:640px){.sheet-backdrop{align-items:stretch;justify-content:flex-end}.sheet{width:440px;max-height:none;height:100%;border-radius:var(--radius-lg) 0 0 var(--radius-lg)}}.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 14px;border-bottom:1px solid var(--color-border)}.sheet-title{display:flex;flex-direction:column;gap:8px;min-width:0}.sheet-title h2{font-size:18px;font-weight:600;letter-spacing:-.01em}.sheet-head button.ghost{color:var(--color-text-muted);flex-shrink:0}.sheet-title .chip{align-self:flex-start}.sheet-body{padding:16px 20px 24px;overflow-y:auto}.sheet-section{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:10px}.sheet-note{margin-top:12px;font-size:12px;color:var(--color-text-subtle)}.file-list{list-style:none;display:flex;flex-direction:column;gap:8px}.file-row{display:flex;align-items:center;gap:8px;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.file-open{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding:12px 14px;background:transparent;text-align:left;font-weight:400;border-radius:0}.file-open:hover{background:var(--color-surface-hover, var(--color-surface-muted))}.file-name{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-date{font-size:12px;color:var(--color-text-muted)}.file-share{flex-shrink:0;margin-right:10px;height:32px;padding:0 12px;font-size:13px;background:var(--color-brand);color:var(--color-text)}.file-share:hover{background:var(--color-brand-hover)}
