:root{font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#132620;background:radial-gradient(circle at top left,rgba(255,214,153,.45),transparent 32%),linear-gradient(180deg,#f6efe4,#f1f4ee,#e7f0e7);line-height:1.5;font-weight:400;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}.app-shell{min-height:100vh;padding:24px 16px 48px}.page-chrome{margin:0 auto;max-width:720px}.screen-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd1;border:1px solid rgba(255,255,255,.6);border-radius:28px;box-shadow:0 24px 80px #1a3d2f1f;padding:22px}.login-card{margin-top:10vh}.hero-eyebrow{color:#9a5b17;font-size:.85rem;font-weight:700;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}h1,h2,p{margin:0}h1{font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.12;margin-bottom:12px}h2{font-size:1.05rem;margin-bottom:4px}.muted{color:#557369}.small{font-size:.82rem}.stack-form,.tip-list,.task-list,.result-grid{margin-top:18px}.stack-form{display:grid;gap:14px}.stack-form label{display:grid;gap:6px}.stack-form span{color:#355249;font-weight:600}input{background:#fbfcf8;border:1px solid #d8e2d5;border-radius:16px;padding:14px 16px}.primary-button,.secondary-button,.ghost-button{border:none;border-radius:16px;min-height:48px;padding:12px 18px;transition:transform .2s ease,opacity .2s ease}.primary-button:hover,.secondary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.primary-button{background:linear-gradient(135deg,#1d6a4f,#2b8b63);color:#fff;font-weight:700}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled{cursor:not-allowed;opacity:.65;transform:none}.secondary-button{background:#f3ead8;color:#824d15;font-weight:700}.ghost-button{align-self:start;background:transparent;color:#355249;padding-left:0}.full-width{width:100%}.button-row{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}.notice{border-radius:18px;margin-top:16px;padding:12px 14px}.notice.error{background:#fff0ed;color:#a74736}.notice.warm{background:#fff4e2;color:#8a5719}.notice.neutral{background:#eef5ef;color:#33524a}.page-header{align-items:start;display:flex;justify-content:space-between;gap:16px}.summary-strip{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px}.summary-strip div{background:linear-gradient(180deg,#fef7ea,#eef5ef);border-radius:20px;padding:14px}.summary-strip strong{display:block;font-size:1.45rem}.summary-strip span{color:#557369;font-size:.85rem}.task-list{display:grid;gap:14px;list-style:none;padding:0}.task-card{background:#f9fbf5eb;border:1px solid #e1eadf;border-radius:22px;display:grid;gap:12px;padding:16px}.task-order{color:#9a5b17;font-weight:700;margin-bottom:6px}.task-meta{align-items:center;display:flex;gap:10px;justify-content:space-between}.status-badge{border-radius:999px;display:inline-flex;font-size:.8rem;font-weight:700;padding:6px 10px}.status-badge.pending,.status-badge.ready,.status-badge.shot{background:#edf3ef;color:#3d6357}.status-badge.retake_required,.status-badge.service_required{background:#fff0e8;color:#a4542b}.status-badge.submitted,.status-badge.passed{background:#e3f4ea;color:#176744}.template-frame,.preview-frame,.capture-stage{margin-top:18px}.template-frame,.preview-frame{overflow:hidden;position:relative;border-radius:24px;background:#0f1d18}.template-frame img,.preview-frame img{width:100%}.tip-list{color:#355249;display:grid;gap:10px;padding-left:18px}.capture-placeholder{align-items:center;aspect-ratio:3 / 4;background:radial-gradient(circle at top,rgba(255,204,130,.22),transparent 30%),linear-gradient(160deg,#dfe9dd,#ecf4ea 55%,#f8efe2);border:2px dashed #5d887b;border-radius:26px;color:#355249;display:flex;justify-content:center;padding:20px;text-align:center}.hidden-input{display:none}.guide-overlay{border:3px solid rgba(255,212,115,.96);box-shadow:0 0 0 9999px #0e1d1642;position:absolute}.overlay-label{background:#0e1d16c7;border-radius:999px;bottom:18px;color:#fff6dc;font-size:.82rem;left:18px;padding:8px 12px;position:absolute}.result-banner{border-radius:999px;display:inline-flex;font-size:.85rem;font-weight:700;margin-bottom:14px;padding:8px 14px}.result-banner.auto_pass{background:#e2f4e8;color:#176744}.result-banner.manual_review{background:#fff4de;color:#8a5719}.result-banner.retake,.result-banner.failed,.result-banner.service_required{background:#fff0e8;color:#a4542b}.result-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.result-cell{background:#f7faf5;border:1px solid #e1eadf;border-radius:18px;padding:14px}.result-cell span{color:#557369;display:block;font-size:.82rem;margin-bottom:6px}.reason-block{margin-top:20px}.reason-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.reason-tags span{background:#edf3ef;border-radius:999px;color:#355249;font-size:.82rem;padding:8px 10px}.service-panel{background:linear-gradient(180deg,#fff8ea,#f0f5ef);border-radius:22px;margin-top:18px;padding:16px}@media (max-width: 640px){.app-shell{padding:16px 12px 36px}.screen-card{border-radius:24px;padding:18px}.button-row,.summary-strip,.result-grid{grid-template-columns:1fr}.page-header{flex-direction:column}}
