:root{--mineral:#40514f;--mineral-deep:#33403d;--zest:#beda81;--zest-hover:#cbe39a;--stone:#edede1;--white:#fff;--on-zest:#28332f;--success:#52765d;--warning:#a66b2c;--warning-text:#9a6228;--error:#9b4a43;--info:#40514f;--white-90:#ffffffe6;--white-78:#ffffffc7;--white-68:#ffffffad;--white-42:#ffffff6b;--white-25:#ffffff40;--white-16:#ffffff29;--white-09:#ffffff17;--white-06:#ffffff0f;--mineral-80:#40514fcc;--mineral-68:#40514fad;--mineral-42:#40514f6b;--mineral-30:#40514f4d;--mineral-24:#40514f3d;--mineral-18:#40514f2e;--mineral-10:#40514f1a;--surface-0:var(--stone);--surface-1:var(--white);--surface-2:var(--mineral);--text-strong:var(--mineral-deep);--text-body:var(--mineral-deep);--text-muted:var(--mineral-80);--text-inverse:var(--white);--border-soft:var(--mineral-10);--border-default:var(--mineral-18);--border-strong:var(--mineral-42);--font-sans:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"DM Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--space-9:4rem;--space-10:5rem;--radius:0px;--control-height:54px;--control-height-compact:44px;--transition-fast:.15s ease;--transition:.16s ease;--transition-slow:.22s ease;--shadow:0 8px 30px #28332f14;--content-max:1200px;--text-max:760px}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;text-rendering:optimizelegibility}html,body{min-height:100%;margin:0;padding:0}body{background:var(--surface-0);color:var(--text-body);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:1rem;line-height:1.55}img{max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4{font-family:var(--font-sans);color:var(--text-strong);margin:0;font-style:normal}h1{letter-spacing:-.045em;font-size:clamp(2.25rem,5vw,3.75rem);font-weight:650;line-height:1}h2{letter-spacing:-.035em;font-size:clamp(1.8rem,3vw,2.75rem);font-weight:650;line-height:1.08}h3,h4{font-size:1.25rem;font-weight:650;line-height:1.2}a{color:inherit;text-decoration:none}p{margin:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--mineral);outline-offset:3px;box-shadow:0 0 0 3px var(--zest)}.container{width:100%;max-width:var(--content-max);padding-left:var(--space-6);padding-right:var(--space-6);margin:0 auto}.container-narrow{width:100%;max-width:var(--text-max);padding-left:var(--space-6);padding-right:var(--space-6);margin:0 auto}.section{padding-top:var(--space-8);padding-bottom:var(--space-10)}.app-header{background:var(--surface-2);min-height:68px;color:var(--text-inverse);align-items:center;display:flex}.app-header-inner{width:100%;max-width:var(--content-max);min-height:inherit;padding-left:var(--space-6);padding-right:var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-5);margin:0 auto;display:flex}.app-brand{align-items:center;gap:var(--space-4);border-radius:var(--radius);display:inline-flex}.app-logo{width:112px;height:auto;display:block}.app-brand-label{font-family:var(--font-sans);color:var(--white-68);font-size:.92rem;font-style:normal;font-weight:650}.app-nav{align-items:center;gap:var(--space-5);display:flex}.app-nav-link{min-height:var(--control-height-compact);border-radius:var(--radius);font-family:var(--font-sans);color:var(--white-90);transition:color var(--transition), border-color var(--transition);border-bottom:2px solid #0000;align-items:center;font-size:.92rem;font-weight:500;display:inline-flex}.app-nav-link:hover{color:var(--white);border-bottom-color:var(--white-25)}.app-nav-link.is-active{color:var(--white);border-bottom-color:var(--zest);font-weight:650}.app-nav-link:focus-visible{outline:3px solid var(--zest);outline-offset:3px;box-shadow:none}.app-nav form{margin:0;display:inline-flex}.app-nav-logout{color:var(--white-68);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:0;font-size:.84rem;font-weight:400}.app-nav-logout:hover{color:var(--white-90);border-bottom-color:#0000}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius);min-height:52px;font-family:var(--font-sans);text-align:center;cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);border:1px solid #0000;padding:.75rem 1.25rem;font-size:.95rem;font-weight:700;line-height:1.2;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{cursor:not-allowed;transform:none}.btn-accent{background:var(--zest);color:var(--on-zest)}.btn-accent:hover:not(:disabled){background:var(--zest-hover)}.btn-accent:disabled{background:var(--mineral-18);color:var(--mineral-80)}.btn-primary{background:var(--mineral);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--mineral-deep)}.btn-primary:disabled{background:var(--mineral-42);color:var(--white-78)}.btn-secondary{color:var(--mineral);border-color:var(--mineral-30);background:0 0}.btn-secondary:hover:not(:disabled){border-color:var(--mineral);background:var(--mineral-10)}.btn-secondary:disabled{color:var(--mineral-42);border-color:var(--mineral-18)}.btn-danger{color:var(--error);border-color:var(--error);background:0 0}.btn-danger:hover:not(:disabled){background:var(--error);color:var(--white)}.btn-block{width:100%}.btn-link{min-height:0;font-family:var(--font-sans);color:var(--mineral);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:.9rem;font-weight:650;text-decoration:underline}.btn-tiny{min-width:var(--control-height-compact);min-height:var(--control-height-compact);padding:0 var(--space-3);border-radius:var(--radius);border:1px solid var(--mineral-30);color:var(--mineral);font-family:var(--font-sans);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;justify-content:center;align-items:center;font-size:.85rem;font-weight:650;line-height:1.2;display:inline-flex}.btn-tiny:hover:not(:disabled){border-color:var(--mineral);background:var(--mineral-10)}.btn-tiny:disabled{color:var(--mineral-42);border-color:var(--mineral-18);cursor:not-allowed}.btn-tiny.btn-danger{color:var(--error);border-color:var(--error)}.btn-tiny.btn-danger:hover:not(:disabled){background:var(--error);color:var(--white)}.card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius);padding:var(--space-6);transition:border-color var(--transition)}.form-group{margin-bottom:var(--space-5);flex-direction:column;display:flex}.label{font-family:var(--font-sans);color:var(--text-strong);margin-bottom:var(--space-2);font-size:.78rem;font-weight:650}.input,.select,.textarea{width:100%;min-height:var(--control-height);background:var(--white);border:1px solid var(--mineral-24);border-radius:var(--radius);font-family:var(--font-sans);color:var(--text-body);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:.85rem 1rem;font-size:1rem;line-height:1.4}.textarea{resize:vertical;min-height:96px;line-height:1.55}.input:hover,.select:hover,.textarea:hover{border-color:var(--mineral-42)}.input::placeholder,.textarea::placeholder{color:var(--mineral-42)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{border-color:var(--zest);box-shadow:0 0 0 3px #beda8173, 0 0 0 5px var(--mineral);outline:none}.input.error,.select.error,.textarea.error{border-color:var(--error)}.helper-text{color:var(--text-muted);margin-top:var(--space-2);font-size:.82rem;line-height:1.4}.error-text{color:var(--error);margin-top:var(--space-2);font-size:.82rem;font-weight:500;line-height:1.4}.form-alert{color:var(--error);background:var(--white);border:1px solid var(--error);border-radius:var(--radius);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-4);border-left-width:3px;font-size:.9rem}.form-success{color:var(--success);background:var(--white);border:1px solid var(--success);border-radius:var(--radius);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-4);border-left-width:3px;font-size:.9rem}.send-block{align-items:flex-start;gap:var(--space-5);flex-direction:column;display:flex}.recipient-fieldset{gap:var(--space-2);border:none;flex-direction:column;margin:0;padding:0;display:flex}.recipient-fieldset .label{margin-bottom:var(--space-2);padding:0}.recipient-option{align-items:center;gap:var(--space-3);min-height:var(--control-height-compact);color:var(--text-body);cursor:pointer;font-size:1rem;display:flex}.recipient-option input[type=checkbox]{width:20px;height:20px;accent-color:var(--mineral);cursor:pointer}.centre-screen{min-height:100vh;padding:var(--space-6);justify-content:center;align-items:center;display:flex}.centre-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius);width:100%;max-width:460px;padding:var(--space-8)}.card-logo{width:130px;height:auto;display:block}.centre-card h1{margin-bottom:var(--space-4);font-size:clamp(2.25rem,5vw,3rem)}.centre-card h1.card-heading{margin-bottom:var(--space-6)}.centre-card .lede{color:var(--text-muted);margin-bottom:var(--space-6);font-size:1rem}.modal-scrim{padding:var(--space-6);z-index:100;background:#33403d9e;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius);width:100%;max-width:520px;box-shadow:var(--shadow);padding:var(--space-7)}.modal-title{font-family:var(--font-sans);color:var(--text-strong);margin-bottom:var(--space-4);font-size:1.25rem;font-style:normal;font-weight:650;line-height:1.2}.modal-body{color:var(--text-body);margin-bottom:var(--space-6);font-size:1rem}.modal-actions{justify-content:flex-end;gap:var(--space-3);display:flex}.screen{padding-top:var(--space-8);padding-bottom:var(--space-9)}.screen-head{margin-bottom:var(--space-8)}.screen-title{font-family:var(--font-sans);letter-spacing:-.045em;color:var(--text-strong);margin-bottom:var(--space-4);font-size:clamp(2.25rem,5vw,3.5rem);font-style:normal;font-weight:650;line-height:1}.screen-lede{color:var(--text-muted);max-width:var(--text-max);font-size:1rem;line-height:1.55}.eyebrow{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.14em;color:var(--mineral);margin-bottom:var(--space-3);font-size:.72rem;font-weight:700}.stack{gap:var(--space-5);flex-direction:column;display:flex}.stack-sm{gap:var(--space-2);flex-direction:column;display:flex}.row-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.capture-textarea{min-height:280px;font-size:1.0625rem;line-height:1.6}.capture-count{color:var(--text-muted);margin-top:var(--space-2);text-align:right;font-size:.82rem}.capture-count.is-over{color:var(--warning-text);font-weight:500}.photo-grid{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));display:grid}.photo-thumb{aspect-ratio:1;border-radius:var(--radius);border:1px solid var(--border-default);background:var(--stone);position:relative;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-thumb-remove{border-radius:var(--radius);background:var(--mineral);width:34px;height:34px;color:var(--white);cursor:pointer;transition:background var(--transition-fast);border:none;font-size:1rem;line-height:1;position:absolute;top:0;right:0}.photo-thumb-remove:hover{background:var(--mineral-deep)}.photo-caption-input{width:100%;margin-top:var(--space-2);min-height:var(--control-height-compact);padding:.5rem .75rem;font-size:.9rem}.file-field{align-self:flex-start;align-items:center;display:inline-flex}.file-field input[type=file]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-field:has(input[type=file]:focus-visible){outline:3px solid var(--mineral);outline-offset:3px;box-shadow:0 0 0 3px var(--zest)}.editor-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius);padding:var(--space-6);margin-bottom:var(--space-5)}.editor-card-title{font-family:var(--font-sans);letter-spacing:0;color:var(--text-strong);margin-bottom:var(--space-5);font-size:1.25rem;font-style:normal;font-weight:650;line-height:1.2}.field-row{gap:var(--space-3);margin-bottom:var(--space-3);grid-template-columns:1fr 2fr;align-items:start;display:grid}.action-row{gap:var(--space-2);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-soft);grid-template-columns:2rem 1fr 180px;align-items:start;display:grid}.action-row-num{min-height:var(--control-height);font-family:var(--font-mono);color:var(--text-muted);justify-content:center;align-items:center;font-size:.85rem;display:inline-flex}.action-row-controls{gap:var(--space-2);grid-column:2/-1;display:inline-flex}.block-editor{background:var(--stone);border:1px solid var(--border-default);border-radius:var(--radius);padding:var(--space-4);margin-bottom:var(--space-4)}.block-editor .block-editor{background:var(--white);margin-bottom:var(--space-3)}.block-editor-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.block-type-tag{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);margin-bottom:var(--space-2);font-size:.72rem;font-weight:700;display:inline-block}.table-cell-input{min-height:var(--control-height-compact);padding:.5rem .75rem;font-size:.95rem}.history-list{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.history-row{justify-content:space-between;align-items:center;gap:var(--space-5);padding:var(--space-5) var(--space-6);background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius);transition:border-color var(--transition);display:flex}.history-row:hover{border-color:var(--mineral-42)}.history-main{min-width:0}.history-name{color:var(--text-strong);font-size:1.25rem;font-weight:650;line-height:1.2}.history-meta{color:var(--text-muted);margin-top:var(--space-1);font-size:.82rem}.history-controls{align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.pill{min-height:28px;padding:0 var(--space-3);border-radius:var(--radius);font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.14em;white-space:nowrap;border:1px solid #0000;align-items:center;font-size:.72rem;font-weight:700;display:inline-flex}.pill-draft{background:var(--mineral-10);color:var(--mineral)}.pill-sent{background:var(--white);border-color:var(--success);color:var(--success)}.spinner{border:2px solid #28332f40;border-top-color:currentColor;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{max-width:460px;margin:var(--space-9) 0}.empty-state h2{letter-spacing:-.035em;margin-bottom:var(--space-4);font-size:1.8rem;line-height:1.08}.empty-state p{color:var(--text-muted)}@media (max-width:900px){.container,.container-narrow,.app-header-inner{padding-left:var(--space-5);padding-right:var(--space-5)}}@media (max-width:600px){.app-header{min-height:60px}.app-header-inner{gap:var(--space-3)}.app-logo{width:100px}.app-brand-label{display:none}.app-nav{gap:var(--space-4)}.app-nav-link{font-size:.88rem}.screen{padding-top:var(--space-6)}.screen-head{margin-bottom:var(--space-6)}.editor-card,.card{padding:var(--space-5)}.field-row,.action-row{grid-template-columns:1fr}.action-row-num{justify-content:flex-start;min-height:0}.action-row-controls{grid-column:1}.action-row-controls .btn-tiny{flex:1}.block-editor-head{flex-direction:column;align-items:stretch}.history-row{flex-direction:column;align-items:flex-start}.history-controls{flex-wrap:wrap;width:100%}.history-controls .btn{flex:1}.row-actions>.btn:not(.btn-tiny),.row-actions>form>.btn:not(.btn-tiny),.send-block>.btn{width:100%}.row-actions>form:has(>.btn:not(.btn-tiny)){width:100%}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}.centre-card{padding:var(--space-6)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.spinner{animation:none}}
