:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17211b;background:#eef3ef;font-synthesis:none}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{min-height:44px}.app-shell{width:min(100%,46rem);min-height:100vh;margin:0 auto;padding:max(1rem,env(safe-area-inset-top)) 1rem max(2rem,env(safe-area-inset-bottom))}.app-header{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:.75rem .25rem 1.25rem}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(2.2rem,10vw,3.5rem);line-height:.95}h2{margin-bottom:1rem;font-size:1.35rem}h3{margin:0;font-size:1rem}.eyebrow,.step{margin-bottom:.25rem;color:#3d6d50;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.panel,.notice{margin-bottom:1rem;border:1px solid #d2ddd5;border-radius:1rem;background:#fff;box-shadow:0 .5rem 1.5rem #17211b0f}.panel{padding:1.1rem}.notice{padding:.9rem 1rem;color:#24462f;background:#e5f3e9}.section-heading,.item-card-heading,.button-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}label{display:grid;gap:.35rem;color:#35443a;font-size:.82rem;font-weight:700}input,textarea{width:100%;min-height:44px;border:1px solid #b9c8bd;border-radius:.65rem;padding:.7rem .75rem;color:#17211b;background:#fbfdfb;font-size:1rem}textarea{resize:vertical;line-height:1.45}input:focus,textarea:focus,button:focus-visible{outline:3px solid rgb(44 112 68 / 24%);outline-offset:2px}.form-grid,.item-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.item-grid label:first-child,.item-grid label:nth-child(4){grid-column:span 2}.item-list{display:grid;gap:.75rem;margin-bottom:1rem}.item-card{border:1px solid #dbe4dd;border-radius:.8rem;padding:.9rem;background:#f8fbf8}.item-card-heading{margin-bottom:.8rem}.item-count,.support-hint{color:#66746a;font-size:.82rem}.primary-button,.secondary-button,.print-button,.mic-button{border-radius:.7rem;padding:.7rem 1rem;font-weight:800;cursor:pointer}.primary-button,.print-button{border:0;color:#fff;background:#226b3b}.primary-button:disabled,.print-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.5}.secondary-button{border:1px solid #91aa98;color:#265d38;background:#fff}.full-width,.print-button{width:100%}.print-button{min-height:52px;font-size:1.05rem}.mic-button{display:flex;align-items:center;gap:.5rem;border:1px solid #c4d2c7;color:#285d39;background:#f4f8f5}.mic-button.recording{border-color:#a82c2c;color:#fff;background:#b43737}.link-button,.danger-link{border:0;padding:.25rem;text-decoration:underline;background:transparent;cursor:pointer}.link-button{color:#285d39;font-size:.8rem}.print-connection{display:grid;justify-items:end;gap:.2rem}.connection-status{display:flex;align-items:center;gap:.4rem;color:#66746a;font-size:.78rem;font-weight:700}.status-dot{width:.65rem;height:.65rem;border-radius:50%;background:#8a958d}.connection-status.checking .status-dot{background:#d19524}.connection-status.online{color:#226b3b}.connection-status.online .status-dot{background:#2d914d;box-shadow:0 0 0 3px #2d914d26}.connection-status.offline{color:#992b2b}.connection-status.offline .status-dot{background:#b43737}.danger-link{min-height:32px;color:#9b2929;font-size:.8rem}.hint,.interim,.field-error,.warning{margin:.65rem 0;font-size:.85rem;line-height:1.4}.hint{color:#647168}.interim{color:#44634f;font-style:italic}.field-error,.warning{color:#992b2b}.review-panel{border-color:#d1b060;background:#fffcf4}.conflict-list{display:grid;gap:.6rem;margin:1rem 0}.conflict{display:flex;align-items:start;gap:.6rem;border-radius:.6rem;padding:.7rem;background:#fff4d8;font-weight:500}.conflict input{width:22px;min-height:22px;margin:0}.extraction-summary{display:grid;gap:.5rem}.extraction-summary div{display:grid;grid-template-columns:7rem 1fr}.extraction-summary dt{font-weight:800}.extraction-summary dd{margin:0}.button-row{justify-content:flex-end;margin-top:1rem}@media(max-width:520px){.app-header,.section-heading{align-items:start}.form-grid{grid-template-columns:1fr}.speech-panel .section-heading{display:grid}.mic-button{width:100%;justify-content:center}.print-connection{justify-items:end;max-width:10rem}}
