:root {
  color-scheme: light;
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", sans-serif;
  color: #17231f;
  background: #f5f7f4;
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; }
.app-header { display: flex; justify-content: space-between; align-items: end; padding: calc(24px + env(safe-area-inset-top)) 20px 22px; background: #12382f; color: white; }
.brand { margin: 0 0 4px; font-size: 14px; letter-spacing: .08em; opacity: .85; }
h1 { margin: 0; font-size: 27px; }
main { width: min(100%, 680px); margin: 0 auto; padding: 26px 16px 48px; }
h2 { margin: 0 0 16px; font-size: 20px; }
.workflow { display: grid; gap: 12px; }
.workflow button, .workflow-link { display: grid; grid-template-columns: 44px 1fr auto; align-items: center; min-height: 76px; padding: 12px 16px; border: 1px solid #d8dfda; border-radius: 12px; background: white; color: #26342f; font: inherit; font-size: 18px; font-weight: 700; text-align: left; text-decoration:none; opacity: 1; }
.workflow button span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #e7efeb; color: #12382f; }
.workflow-link span { display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#12382f;color:white}.workflow-link small{font-size:12px;color:#28765d}.header-link{color:white}.order-form{display:grid;gap:18px}.order-form label{display:grid;gap:7px;font-weight:700}.order-form input,.order-form textarea{width:100%;padding:12px;border:1px solid #bac5bf;border-radius:9px;font:inherit}.order-form button,.review-list>button{min-height:52px;border:0;border-radius:9px;background:#12382f;color:white;font:inherit;font-weight:700}.review-list{margin-top:32px}.review-list article{display:grid;gap:5px;margin:10px 0;padding:14px;border-radius:10px;background:white;border-left:5px solid #28765d}.review-list article.review{border-color:#c47a19}.review-list small,.review-list p{margin:0;color:#64746c}.review-list>button{width:100%;margin-top:10px}
.review-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.review-controls input{min-width:0;padding:10px;border:1px solid #bac5bf;border-radius:8px;font:inherit}.review-controls button{grid-column:1/-1;min-height:44px;border:0;border-radius:8px;background:#9b5d0d;color:white;font-weight:700}
.workflow button small { font-size: 12px; font-weight: 500; color: #718078; }
footer { padding: 20px; color: #718078; font-size: 12px; text-align: center; }
.logout { padding: 9px 12px; border: 1px solid #91a79e; border-radius: 8px; color: white; background: transparent; }
.management { margin-top: 34px; }
.status-grid { display: grid; gap: 10px; grid-template-columns: 1fr 1fr; }
.status-grid article, .status-grid a { display: flex; gap: 10px; align-items: center; min-height: 72px; padding: 13px; border: 1px solid #d8dfda; border-radius: 10px; background: white; color: inherit; text-decoration: none; }
.status-grid article div { display: grid; }.status-grid small { color: #718078; }.status-grid a { justify-content: space-between; }.status-grid b { font-size: 20px; }
.ok, .wait { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; color: white; background: #28765d; }.wait { background: #b47a21; }
.login-page { display: grid; min-height: 100vh; place-items: center; padding: 20px; background: #eef2ef; }
.login-card { width: min(100%, 420px); padding: 28px 22px; border-radius: 14px; background: white; box-shadow: 0 8px 30px rgba(20,50,40,.1); }
.brand.dark { color: #426057; }.login-card h1 { color: #17231f; font-size: 24px; }
.login-form { display: grid; gap: 18px; margin-top: 28px; }.login-form label { display: grid; gap: 7px; font-weight: 700; }.login-form input { min-height: 50px; padding: 10px 12px; border: 1px solid #bac5bf; border-radius: 8px; font: inherit; }.login-form button { min-height: 52px; border: 0; border-radius: 9px; background: #12382f; color: white; font: inherit; font-weight: 700; }.error { padding: 10px; border-radius: 8px; color: #8a2727; background: #fff0f0; }
.back { display: inline-block; margin-bottom: 24px; color: #245c4b; }.summary { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 30px; }.summary article { display: grid; padding: 18px; border-radius: 10px; background: white; }.summary strong { font-size: 28px; }.batches { display: grid; gap: 10px; }.batches article { display: grid; gap: 5px; padding: 14px; border: 1px solid #d8dfda; border-radius: 9px; background: white; }.batches small, .empty { color: #718078; }
@media (min-width: 720px) { .workflow { grid-template-columns: 1fr 1fr; } main { padding-top: 36px; } }
.notice.warning{background:#fff1df;color:#8b540c}
.phase2-page{width:min(100%,760px)}.phase2-heading{margin-bottom:20px}.phase2-heading p{margin:0 0 5px;color:#52645c}.phase2-heading h2{margin-bottom:6px}.phase2-heading small{color:#718078}.notice{padding:12px 14px;border-radius:9px}.notice.success{background:#e7f4ed;color:#17593f}.notice.error{background:#fff0f0;color:#8a2727}.phase2-items{display:grid;gap:18px}.phase2-card{padding:16px;border:1px solid #d8dfda;border-radius:14px;background:white;box-shadow:0 4px 16px rgba(20,50,40,.05)}.phase2-card-title{display:flex;justify-content:space-between;gap:10px;align-items:center}.phase2-card-title h2{margin:0;font-size:21px}.review-state{padding:5px 9px;border-radius:999px;background:#eef1ef;color:#56665f;font-size:12px;font-weight:700;white-space:nowrap}.state-draft{background:#e8f1ed;color:#1f624b}.state-review_required{background:#fff1df;color:#8b540c}.state-confirmed{background:#dff3e7;color:#145a3d}.state-cancelled{background:#f1eeee;color:#6d5c5c}.ordered-values,.difference-panel{margin-top:15px;padding:13px;border-radius:10px;background:#f5f7f4}.phase2-card h3{margin:0 0 10px;font-size:15px}.ordered-values dl,.difference-panel dl{display:grid;gap:7px;margin:0}.ordered-values dl div,.difference-panel dl div{display:flex;justify-content:space-between;gap:15px}.ordered-values dt,.difference-panel dt{color:#64746c}.ordered-values dd,.difference-panel dd{margin:0;text-align:right;font-weight:700}.phase2-form{display:grid;gap:13px;margin-top:17px}.phase2-form>label,.form-pair label{display:grid;gap:6px;font-weight:700}.phase2-form input,.phase2-form select,.phase2-form textarea{width:100%;min-height:46px;padding:10px;border:1px solid #bac5bf;border-radius:8px;background:white;font:inherit}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.difference-value{font-variant-numeric:tabular-nums}.primary-action,.confirm-action,.cancel-action{width:100%;min-height:50px;border:0;border-radius:9px;font:inherit;font-weight:700}.primary-action{background:#305f50;color:white}.confirmation-actions{display:grid;grid-template-columns:2fr 1fr;gap:9px;margin-top:10px}.confirm-action{background:#12382f;color:white}.cancel-action{border:1px solid #c8d0cc;background:white;color:#6c3737}@media(max-width:420px){.form-pair{grid-template-columns:1fr}.phase2-card{padding:14px 12px}.confirmation-actions{grid-template-columns:1fr}}
.ocr-evidence{margin-top:15px;padding:13px;border:1px solid #d7c99b;border-radius:10px;background:#fffaf0}.ocr-evidence dl{display:grid;gap:7px;margin:0}.ocr-evidence dl div{display:flex;justify-content:space-between;gap:15px}.ocr-evidence dd{margin:0;text-align:right;font-weight:700}.ocr-evidence small,.evidence-ref{color:#718078;font-size:12px}.ocr-evidence details{margin-top:8px}
