@font-face{font-family:"DM Serif Text";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-serif-text-latin-ext-400-normal-_k5wxAfb.woff2) format("woff2"),url(/assets/dm-serif-text-latin-ext-400-normal-B-4TzzeT.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"DM Serif Text";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-serif-text-latin-400-normal-B5I2PDKX.woff2) format("woff2"),url(/assets/dm-serif-text-latin-400-normal-DAhbRB_j.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"DM Serif Text";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/dm-serif-text-latin-ext-400-italic-CLgazz9w.woff2) format("woff2"),url(/assets/dm-serif-text-latin-ext-400-italic-DqlgYHqM.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"DM Serif Text";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/dm-serif-text-latin-400-italic-BhFyO3B8.woff2) format("woff2"),url(/assets/dm-serif-text-latin-400-italic-DKGhQyyI.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-italic-CPBsCcxN.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-italic-DJWiFoht.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-italic-DnD1KgkH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--red: #80272c;--red-light: oklch(48% .12 18);--red-subtle: oklch(95% .015 18);--red-dark: oklch(26% .09 18);--ink: oklch(20% .01 18);--text: oklch(28% .01 18);--text-secondary: oklch(45% .008 18);--text-tertiary: oklch(62% .006 18);--border: oklch(88% .006 18);--border-subtle: oklch(92% .004 18);--surface: oklch(99% .002 18);--surface-raised: oklch(100% 0 0);--bg: oklch(96.5% .004 18);--confirmed: oklch(52% .12 155);--confirmed-bg: oklch(95% .03 155);--failed: oklch(52% .14 25);--failed-bg: oklch(95% .03 25);--pending: oklch(52% .1 250);--pending-bg: oklch(95% .03 250);--muted-bg: oklch(94% .004 18);--font-display: "DM Serif Text", Georgia, "Times New Roman", serif;--font-body: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono: "SF Mono", "Cascadia Code", "Consolas", monospace;--text-xs: clamp(.7rem, .65rem + .2vw, .75rem);--text-sm: clamp(.8rem, .75rem + .2vw, .875rem);--text-base: clamp(.9rem, .85rem + .2vw, 1rem);--text-lg: clamp(1.1rem, 1rem + .3vw, 1.25rem);--text-xl: clamp(1.4rem, 1.2rem + .5vw, 1.75rem);--text-2xl: clamp(1.8rem, 1.5rem + .8vw, 2.25rem);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-6: 24px;--sp-8: 32px;--sp-12: 48px;--sp-16: 64px;--radius: 6px;--radius-lg: 10px;--ease-out: cubic-bezier(.25, 1, .5, 1);color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--red: oklch(62% .13 18);--red-light: oklch(70% .11 18);--red-subtle: oklch(24% .04 18);--red-dark: oklch(50% .1 18);--ink: oklch(95% .005 18);--text: oklch(90% .005 18);--text-secondary: oklch(68% .006 18);--text-tertiary: oklch(52% .005 18);--border: oklch(30% .008 18);--border-subtle: oklch(25% .006 18);--surface: oklch(18% .006 18);--surface-raised: oklch(22% .008 18);--bg: oklch(14% .005 18);--confirmed: oklch(68% .12 155);--confirmed-bg: oklch(22% .04 155);--failed: oklch(68% .14 25);--failed-bg: oklch(22% .04 25);--pending: oklch(68% .1 250);--pending-bg: oklch(22% .04 250);--muted-bg: oklch(22% .005 18)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.55;font-size:var(--text-base);-webkit-font-smoothing:antialiased;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:0 var(--sp-6);height:56px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50}.topbar-brand{font-family:var(--font-display);font-size:var(--text-lg);color:var(--red);letter-spacing:-.01em;line-height:1;text-decoration:none}.topbar-nav{display:flex;gap:var(--sp-1);align-items:center}.topbar-link{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius);text-decoration:none;color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;transition:color .12s var(--ease-out),background .12s var(--ease-out)}.topbar-link:hover,.topbar-link.active{background:var(--bg);color:var(--text)}.topbar-right{display:flex;align-items:center;gap:var(--sp-3)}.topbar-initials{width:30px;height:30px;border-radius:50%;background:var(--red-subtle);color:var(--red);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:600}.container{max-width:720px;margin:0 auto;padding:var(--sp-8) var(--sp-6);animation:fade-up .3s var(--ease-out) both}.container--wide{max-width:1080px}.heading-page{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--ink);letter-spacing:-.02em;line-height:1.2}.heading-section{font-size:var(--text-base);font-weight:600;color:var(--ink);letter-spacing:-.01em}.text-secondary{color:var(--text-secondary);font-size:var(--text-sm)}.text-tertiary{color:var(--text-tertiary);font-size:var(--text-xs)}.page-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--sp-8);gap:var(--sp-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:10px var(--sp-4);border-radius:var(--radius);font-size:var(--text-sm);font-weight:500;font-family:var(--font-body);cursor:pointer;border:1px solid transparent;transition:all .12s var(--ease-out);text-decoration:none;line-height:1}.btn:focus-visible{outline:2px solid var(--red);outline-offset:2px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--red);color:#f8f8f8;border-color:var(--red)}.btn-primary:hover:not(:disabled){background:var(--red-light);border-color:var(--red-light)}.btn-primary:active:not(:disabled){background:var(--red-dark)}.btn-secondary{background:var(--surface-raised);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg)}.btn-subtle{background:transparent;color:var(--text-secondary);border:none;padding:var(--sp-2) var(--sp-2)}.btn-subtle:hover:not(:disabled){color:var(--text)}.btn-danger-outline{background:transparent;color:var(--failed);border-color:var(--border)}.btn-danger-outline:hover:not(:disabled){background:var(--failed-bg);border-color:var(--failed)}.btn-sm{padding:6px var(--sp-3);font-size:var(--text-xs)}.btn-full{width:100%}@media(pointer:coarse){.btn{padding:12px var(--sp-4)}.btn-sm{padding:10px var(--sp-3)}}.tag{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:100px;font-size:var(--text-xs);font-weight:500;line-height:1.4}.tag:before{content:"";width:6px;height:6px;border-radius:50%}.tag-scheduled{background:var(--pending-bg);color:var(--pending)}.tag-scheduled:before{background:var(--pending)}.tag-confirmed{background:var(--confirmed-bg);color:var(--confirmed)}.tag-confirmed:before{background:var(--confirmed)}.tag-failed{background:var(--failed-bg);color:var(--failed)}.tag-failed:before{background:var(--failed)}.tag-cancelled{background:var(--muted-bg);color:var(--text-tertiary)}.tag-cancelled:before{background:var(--text-tertiary)}.tab-bar{display:flex;gap:var(--sp-6);border-bottom:1px solid var(--border);margin-bottom:var(--sp-6)}.tab-btn{padding:var(--sp-3) 0;font-size:var(--text-sm);font-weight:500;color:var(--text-tertiary);border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;font-family:var(--font-body);transition:color .12s var(--ease-out)}.tab-btn:hover{color:var(--text-secondary)}.tab-btn[aria-selected=true]{color:var(--red);border-bottom-color:var(--red)}.job-list{display:flex;flex-direction:column;gap:var(--sp-2)}.job-row{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--sp-4) var(--sp-4) var(--sp-4) var(--sp-6);display:flex;align-items:center;gap:var(--sp-4);cursor:pointer;text-decoration:none;color:inherit;transition:border-color .15s var(--ease-out),transform .15s var(--ease-out);position:relative}.job-row:before{content:"";position:absolute;left:0;top:var(--sp-3);bottom:var(--sp-3);width:3px;border-radius:0 2px 2px 0;background:var(--border);transition:background .15s var(--ease-out)}.job-row:hover{border-color:var(--border)}.job-row:hover:before{background:var(--red)}@media(hover:hover){.job-row:hover{transform:translateY(-1px)}}.job-name{font-family:var(--font-display);font-size:var(--text-lg);color:var(--ink);line-height:1.2}.job-details{color:var(--text-secondary);font-size:var(--text-sm);margin-top:2px}.job-info{flex:1;min-width:0}.job-side{text-align:right;flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:var(--sp-1)}.job-date{font-size:var(--text-xs);color:var(--text-tertiary)}.empty-state{text-align:center;padding:var(--sp-12) var(--sp-6);color:var(--text-tertiary)}.empty-state p{margin-top:var(--sp-2);font-size:var(--text-sm)}.field{margin-bottom:var(--sp-4)}.field-label{display:block;font-size:var(--text-sm);font-weight:500;margin-bottom:var(--sp-2);color:var(--text)}.field-input{width:100%;padding:10px var(--sp-3);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-base);font-family:var(--font-body);background:var(--surface-raised);color:var(--text);transition:border-color .12s var(--ease-out)}.field-input:focus{outline:none;border-color:var(--red)}.field-input:focus-visible{outline:2px solid var(--red);outline-offset:-1px}.field-input::placeholder{color:var(--text-tertiary)}.field-hint{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:var(--sp-1)}.field-error{font-size:var(--text-xs);color:var(--failed);margin-top:var(--sp-1)}@media(pointer:coarse){.field-input{padding:12px var(--sp-3)}}.feedback-ok{font-size:var(--text-sm);color:var(--confirmed);margin-top:var(--sp-2)}.feedback-err{font-size:var(--text-sm);color:var(--failed);margin-top:var(--sp-2)}.section{margin-bottom:var(--sp-8)}.section-head{margin-bottom:var(--sp-4)}.divider{border:none;border-top:1px solid var(--border-subtle);margin:var(--sp-6) 0}.details{display:grid;grid-template-columns:140px 1fr;gap:var(--sp-2) var(--sp-4);font-size:var(--text-sm)}.details dt{color:var(--text-tertiary)}.details dd{color:var(--text)}.banner{border-radius:var(--radius-lg);padding:var(--sp-6);margin-bottom:var(--sp-6)}.banner-confirmed{background:var(--confirmed-bg);border:1px solid oklch(80% .06 155)}.banner-confirmed .banner-label{color:var(--confirmed);font-size:var(--text-sm);font-weight:500}.banner-confirmed .banner-sublabel{font-size:var(--text-xs);color:var(--confirmed);margin-top:var(--sp-3);opacity:.8}.banner-confirmed .banner-value{font-family:var(--font-display);font-size:var(--text-xl);color:var(--confirmed);margin-top:var(--sp-1)}.banner-confirmed .banner-detail{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--sp-2)}.banner-failed{background:var(--failed-bg);border:1px solid oklch(80% .06 25)}.banner-failed .banner-label{color:var(--failed);font-size:var(--text-sm);font-weight:500}.banner-failed .banner-value{font-weight:500;color:var(--failed);margin-top:var(--sp-1)}@media(prefers-color-scheme:dark){.banner-confirmed{border-color:#1d442c}.banner-failed{border-color:#562d2a}}.log-viewer{background:#0d0a0a;color:#bebebe;border-radius:var(--radius);padding:var(--sp-4);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.7;max-height:220px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.log-viewer .info{color:#82a2c3}.log-viewer .ok{color:#69b183}.log-viewer .err{color:#df7f78}.code-inline{background:var(--muted-bg);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:var(--sp-2) var(--sp-3);font-family:var(--font-mono);font-size:var(--text-xs);word-break:break-all;display:block}.selected-restaurant{border:1px solid var(--red);border-radius:var(--radius-lg);padding:var(--sp-4) var(--sp-6);display:flex;align-items:center;justify-content:space-between;background:var(--red-subtle)}.selected-restaurant .name{font-family:var(--font-display);font-size:var(--text-lg);color:var(--ink)}.selected-restaurant .meta{font-size:var(--text-xs);color:var(--text-secondary);margin-top:2px}.summary{background:var(--surface-raised);border:1px solid var(--border);border-left:3px solid var(--red);border-radius:2px var(--radius-lg) var(--radius-lg) 2px;padding:var(--sp-6)}.option-list{display:flex;flex-direction:column;gap:var(--sp-2)}.option{border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4);cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:border-color .12s var(--ease-out),background .12s var(--ease-out)}.option:hover{border-color:var(--text-tertiary)}.option[aria-selected=true]{border-color:var(--red);background:var(--red-subtle)}.option-label{font-weight:500;font-size:var(--text-sm)}.option-meta{font-size:var(--text-xs);color:var(--text-tertiary)}.platform-block{border-top:1px solid var(--border-subtle)}.platform-block:last-child{border-bottom:1px solid var(--border-subtle)}.platform-row{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) 0}.platform-name{font-weight:500;font-size:var(--text-sm)}.platform-status{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:2px}.platform-actions{display:flex;gap:var(--sp-2)}.platform-form{padding:var(--sp-4) 0 var(--sp-6);border-top:1px solid var(--border-subtle)}.back-link{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--text-secondary);font-size:var(--text-sm);text-decoration:none;cursor:pointer;border:none;background:none;font-family:var(--font-body);padding:0;margin-bottom:var(--sp-6);transition:color .12s var(--ease-out)}.back-link:hover{color:var(--text)}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-8)}.detail-header h1{font-family:var(--font-display);font-size:var(--text-xl);color:var(--ink);line-height:1.2}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--sp-6)}.login-box{width:100%;max-width:380px}.login-brand{margin-bottom:var(--sp-6)}.login-brand h1{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--red);letter-spacing:-.02em}.login-brand p{color:var(--text-tertiary);font-size:var(--text-sm);margin-top:var(--sp-1)}.notfound{max-width:480px;margin:0 auto;padding:var(--sp-16) var(--sp-6) var(--sp-12);text-align:center}.notfound-eyebrow{font-size:var(--text-xl);font-weight:500;color:var(--text-tertiary);letter-spacing:.12em}.notfound-title{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--ink);letter-spacing:-.02em;line-height:1.2;margin-top:var(--sp-3)}.notfound-body{color:var(--text-secondary);font-size:var(--text-base);line-height:1.5;margin:var(--sp-4) auto var(--sp-8);max-width:36ch}@media(max-width:640px){.container{padding:var(--sp-6) var(--sp-4)}.topbar{padding:0 var(--sp-4)}.job-row{flex-direction:column;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-4) var(--sp-4) var(--sp-4) var(--sp-6)}.job-side{text-align:left;align-items:flex-start;flex-direction:row;gap:var(--sp-3)}.detail-header{flex-direction:column;gap:var(--sp-2)}.details{grid-template-columns:120px 1fr}.page-header{flex-direction:column;align-items:flex-start;gap:var(--sp-3)}.page-header .btn{align-self:flex-start}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.job-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.job-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.job-table th{text-align:left;font-weight:500;color:var(--text-tertiary);font-size:var(--text-xs);padding:var(--sp-2) var(--sp-4) var(--sp-2) 0;border-bottom:1px solid var(--border);white-space:nowrap}.job-table td{padding:var(--sp-4) var(--sp-4) var(--sp-4) 0;border-bottom:1px solid var(--border-subtle);color:var(--text);vertical-align:middle}.job-table tbody tr:last-child td{border-bottom:none}.job-table-row{cursor:pointer}.job-table-row:hover td{background:var(--surface)}.job-table-platform{font-family:var(--font-display);font-size:var(--text-base);color:var(--ink);text-transform:capitalize}.job-table-user{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-tertiary)}.mb-0{margin-bottom:0}.mt-1{margin-top:var(--sp-1)}.mt-3{margin-top:var(--sp-3)}.mb-3{margin-bottom:var(--sp-3)}.mb-4{margin-bottom:var(--sp-4)}.mb-6{margin-bottom:var(--sp-6)}.mb-8{margin-bottom:var(--sp-8)}.pt-3{padding-top:var(--sp-3)}.flex-1{flex:1}.row-center{display:flex;align-items:center;gap:var(--sp-3)}.text-capitalize{text-transform:capitalize}.is-hidden{visibility:hidden}.platform-status-expired{color:var(--failed)}.platform-status-connected{color:var(--confirmed)}.field-label-optional{color:var(--text-tertiary);font-weight:400}.form-narrow{max-width:360px}
