:root{--ink:#172019;--muted:#647068;--paper:#f7f6f0;--panel:#fff;--line:#dfe3da;--sage:#ddf0db;--forest:#155f42;--forest-dark:#0d4731;--amber:#e6a72f;--rose:#b84945;--blue:#275e8b}*{box-sizing:border-box}html{background:var(--paper)}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.45}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}h1,h2,p{margin-top:0}h1,h2{letter-spacing:-.035em;font-family:Georgia,Times New Roman,serif}h1{margin-bottom:0;font-size:clamp(2.15rem,4vw,3.5rem);line-height:1}h2{margin-bottom:0;font-size:1.45rem}label{color:#465047;letter-spacing:.02em;gap:.36rem;font-size:.78rem;font-weight:700;display:grid}input,textarea,select{width:100%;color:var(--ink);background:#fff;border:1px solid #cbd3c8;border-radius:.55rem;outline:none;padding:.64rem .7rem}textarea{resize:vertical;min-height:7rem;line-height:1.55}input:focus,textarea:focus,select:focus{border-color:var(--forest);box-shadow:0 0 0 3px #155f4224}.welcome-shell{background:radial-gradient(circle at top left, #deefd8, transparent 40%), var(--paper);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.welcome-card{border:1px solid var(--line);background:#ffffffe0;border-radius:1.25rem;width:min(100%,43rem);padding:clamp(1.5rem,5vw,3.75rem);box-shadow:0 20px 50px #223b251a}.intro{max-width:35rem;color:var(--muted);margin:1.35rem 0;font-size:1.08rem}.eyebrow,.section-label{color:var(--forest);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.3rem;font-size:.73rem;font-weight:800}.small-print{color:var(--muted);margin:1rem 0 0;font-size:.82rem}.demo-warning{color:#5b4215;background:#fff5d9;border:1px solid #f0ca82;border-radius:.7rem;align-items:flex-start;gap:.7rem;margin:1.15rem 0;padding:.85rem 1rem;font-size:.88rem;display:flex}.demo-warning strong{white-space:nowrap;letter-spacing:.04em}.demo-warning.compact{max-width:76rem;margin:1rem auto 0}.button{border:1px solid #0000;border-radius:.6rem;justify-content:center;align-items:center;min-height:2.6rem;padding:.55rem .9rem;font-size:.88rem;font-weight:800;transition:transform .12s,background .12s;display:inline-flex}.button:not(:disabled):hover{transform:translateY(-1px)}.button.primary{background:var(--forest);color:#fff}.button.primary:not(:disabled):hover{background:var(--forest-dark)}.button.secondary{color:var(--forest-dark);background:#ecf6ed;border-color:#afc5b5}.button.complete{color:#fff;background:#1f7a58}.button.subtle{border-color:var(--line);color:#445149;background:#f8faf8}.button.discard{color:#952f2a;background:#fff4f3;border-color:#efc0bc}.welcome-button{margin-top:.25rem;padding-inline:1.2rem}.auth-mode-toggle{flex-wrap:wrap;gap:.55rem;margin:-.45rem 0 1rem;display:flex}.auth-resend{justify-self:start;padding:0;font-size:.86rem}.text-button,.text-capture-toggle,.undo-button{color:var(--forest-dark);text-underline-offset:3px;background:0 0;border:0;font-weight:800;text-decoration:underline}.app-shell{width:min(100% - 2rem,76rem);margin:0 auto;padding:2.5rem 0 4rem}.app-header{justify-content:space-between;align-items:flex-end;gap:1rem;padding:.5rem 0 1.6rem;display:flex}.header-controls{align-items:center;gap:1rem;display:flex}.mode-badge,.count-pill,.status,.check-badge{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;font-size:.73rem;font-weight:800;display:inline-flex}.mode-badge{padding:.42rem .65rem}.mode-mock{color:#214d7e;background:#e8eef8}.mode-live{color:#794c0a;background:#f7e8cf}.privacy-note{background:var(--sage);color:#274a33;border:1px solid #b9d8c2;border-radius:.7rem;gap:.7rem;max-width:76rem;margin:1rem auto;padding:.85rem 1rem;font-size:.9rem;display:flex}.privacy-note strong{white-space:nowrap}.feedback{border-radius:.6rem;justify-content:space-between;align-items:center;gap:.75rem;margin:1rem 0;padding:.75rem .9rem;font-size:.9rem;display:flex}.feedback.error{color:#7e2622;background:#fff0ef;border:1px solid #ebafac}.feedback.notice{color:#205a35;background:#eef8ef;border:1px solid #b9d8c2}.undo-button{color:#174b2d}.panel,.saved-section,.discarded-section{border:1px solid var(--line);background:var(--panel);border-radius:1rem;padding:1.25rem;box-shadow:0 12px 30px #19281b0b}.panel-heading,.saved-heading,.discarded-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.15rem;display:flex}.panel-heading h2,.saved-heading h2,.discarded-heading h2{margin:0}.mode-caption{color:var(--muted);font-size:.76rem}.upload-dropzone{cursor:pointer;text-align:center;background:linear-gradient(135deg,#f8fcf7,#eef7ed);border:2px dashed #9fb7a3;border-radius:.9rem;place-items:center;min-height:18rem;padding:1.25rem;transition:border-color .12s,background .12s;display:grid}.upload-dropzone:hover,.upload-dropzone:focus{border-color:var(--forest);background:#e9f5e9;outline:none}.upload-copy{color:var(--muted);gap:.45rem;display:grid}.upload-copy strong{color:var(--forest-dark);font-family:Georgia,Times New Roman,serif;font-size:1.45rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.image-preview-wrap{width:min(100%,44rem);color:var(--muted);gap:.65rem;font-size:.8rem;display:grid}.image-preview{object-fit:contain;background:#fff;border:1px solid #c8d4c8;border-radius:.65rem;max-width:100%;max-height:22rem;margin:0 auto;display:block}.upload-actions{flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:.9rem;display:flex}.mock-hint{color:var(--muted);margin:.85rem 0 0;font-size:.83rem}.text-capture{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:1.15rem}.text-capture-toggle{padding:0;font-size:.93rem}.text-capture-content{gap:.75rem;margin-top:.8rem;display:grid}.text-capture-content .button{justify-self:start}.saved-section{margin-top:1.15rem}.summary{color:var(--muted);gap:.75rem;font-size:.8rem;display:flex}.summary b{color:var(--ink)}.tracking-note{color:var(--muted);margin:-.35rem 0 1rem;font-size:.83rem}.empty-copy{color:var(--muted);margin:1rem 0 0;font-size:.93rem}.task-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;display:grid}.task-card{background:#fff;border:1px solid #dce3da;border-radius:.75rem;gap:.7rem;padding:.95rem;display:grid}.task-card.is-complete{background:#fbfdfb}.task-card-heading{justify-content:space-between;align-items:center;gap:.45rem;display:flex}.task-badges{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.task-type{color:var(--muted);text-transform:capitalize;font-size:.74rem;font-weight:800}.status{padding:.32rem .5rem}.status-pending{color:#4b574d;background:#edf0eb}.status-overdue{color:#a03430;background:#fde5e3}.status-completed{color:#286440;background:#dff1e3}.check-badge{color:#805500;background:#fff2d8;padding:.28rem .45rem}.status-explainer{color:var(--rose);margin:-.2rem 0 0;font-size:.72rem;font-weight:700}.field-row{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.task-source{color:var(--muted);background:#f7faf7;border-left:3px solid #d9e9d8;gap:.25rem;padding:.7rem;font-size:.78rem;display:grid}.task-source span{color:var(--forest-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:900}.task-source p{color:#405047;margin:0}.task-source small{font-size:.74rem}.task-actions{grid-template-columns:1fr 1fr 1fr;gap:.55rem;margin-top:.1rem;display:grid}.discarded-section{background:#fafbf9;margin-top:1.15rem;padding-block:1rem}.discarded-heading{margin-bottom:.5rem}.count-pill{color:#556058;background:#edf0eb;min-width:1.8rem;min-height:1.8rem;padding:.2rem .5rem}.discarded-list{gap:.55rem;margin-top:.8rem;display:grid}.discarded-task{background:#fff;border:1px solid #e1e5df;border-radius:.65rem;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem;display:flex}.discarded-task strong{font-size:.9rem}.discarded-task p{color:var(--muted);margin:.2rem 0 0;font-size:.78rem}@media (max-width:850px){.task-grid{grid-template-columns:1fr 1fr}}@media (max-width:620px){.app-shell{width:min(100% - 1.2rem,76rem);padding-top:1.25rem}.app-header,.header-controls,.privacy-note,.demo-warning,.upload-actions{flex-direction:column;align-items:flex-start}.task-grid,.field-row,.task-actions{grid-template-columns:1fr}.summary{flex-wrap:wrap}.feedback,.discarded-task{flex-direction:column;align-items:flex-start}}
