@font-face { font-family: "Baloo 2"; font-weight: 400; font-style: normal; font-display: swap; } @font-face { font-family: "Baloo 2"; font-weight: 600; font-style: normal; font-display: swap; } * { box-sizing: border-box; margin: 0; padding: 0; font-family: "Baloo 2", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; line-height: 1.4; } html, body { width: 100%; min-height: 100%; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: 100%; -webkit-overflow-scrolling: touch; -webkit-tap-highlight-color: transparent; overflow-x: hidden; } body { color: #25352b; background: #edf8f1; } button, input { font: inherit; } button { border: 0; background: transparent; color: inherit; } .apply-view { min-height: 100vh; overflow-y: auto; background: #edf8f1; } .page-header { position: sticky; top: 0; z-index: 10; display: grid; grid-template-columns: 44px 1fr 44px; align-items: center; min-height: calc(54px + env(safe-area-inset-top)); padding: env(safe-area-inset-top) 12px 0; background: #f8fff9; border-bottom: 1px solid #cce9d7; box-shadow: 0 4px 14px rgba(75, 137, 95, 0.14); } .page-header h1 { min-width: 0; color: #173a28; font-size: 1.35em; font-weight: 800; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .help-button { width: 36px; height: 36px; justify-self: end; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #fff3c8; border: 1px solid #e9cc70; } .help-button img { width: 18px; height: 18px; display: block; } .content { display: flex; flex-direction: column; gap: 18px; padding: 18px 12px; } .reminder-section { padding: 14px 10px 4px; } .reminder-section h3 { margin-bottom: 10px; color: #788279; font-size: 1.05em; font-weight: 800; } .reminder-section p { color: #2f302d; font-size: 1em; font-weight: 700; } .apply-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: stretch; } .surface-card { border: 1px solid #b7e0c6; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 20px rgba(69, 129, 89, 0.12); } .input-card { min-height: 56px; display: flex; align-items: center; gap: 10px; padding: 0 14px; background: #fffdf7; border-color: #f0d97d; } .input-card label { flex-shrink: 0; font-weight: 800; color: #26352c; } .input-card input { min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; color: #27342d; font-weight: 600; } .input-card input::placeholder { color: #8d9088; } .apply-button { min-width: 96px; min-height: 56px; padding: 0 22px; border-radius: 999px; background: #f3c74e; color: #3f2b00; font-weight: 800; box-shadow: 0 8px 18px rgba(155, 119, 23, 0.18); } .records-section { padding: 16px; border-radius: 16px; background: #fbfffc; border: 1px solid #cce9d7; } .records-section h3 { margin-bottom: 14px; color: #173a28; font-weight: 800; } .record-list { display: flex; flex-direction: column; gap: 12px; } .record-card { position: relative; min-height: 74px; display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; padding: 12px; } .record-status { color: #d54e42; font-size: 0.9em; font-weight: 800; } .record-user { min-width: 0; display: flex; align-items: center; gap: 10px; } .record-avatar { width: 44px; height: 44px; flex-shrink: 0; border-radius: 50%; overflow: hidden; background: #d7f5e2; display: flex; align-items: center; justify-content: center; color: #1e6b43; font-weight: 800; } .record-avatar img { width: 100%; height: 100%; object-fit: cover; } .record-info { min-width: 0; } .record-name { color: #25352b; font-weight: 700; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .record-id { color: #6d756f; font-size: 0.82em; } .record-cancel { padding: 6px 12px; border-radius: 999px; background: #f3c74e; color: #3f2b00; font-weight: 800; } .modal-layer { position: fixed; inset: 0; z-index: 30; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(0, 0, 0, 0.5); } .modal-card { width: min(100%, 360px); padding: 16px; border-radius: 14px; background: #ffffff; display: flex; flex-direction: column; align-items: center; gap: 10px; box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18); } .modal-card h3 { color: rgba(0, 0, 0, 0.8); font-weight: 800; font-size: 1.3em; } .modal-card p { color: rgba(0, 0, 0, 0.8); font-weight: 700; font-size: 1.05em; text-align: center; } .modal-primary { width: 80%; padding: 8px 12px; border-radius: 999px; background: #f3c74e; color: #3f2b00; font-weight: 800; } .toast { position: fixed; left: 50%; bottom: calc(22px + env(safe-area-inset-bottom)); z-index: 40; max-width: calc(100% - 40px); transform: translateX(-50%); padding: 9px 13px; border-radius: 999px; background: rgba(22, 56, 36, 0.92); color: #fff; font-size: 0.9em; font-weight: 700; text-align: center; } [hidden] { display: none !important; } @media (max-width: 420px) { .apply-row { grid-template-columns: 1fr; } .apply-button { width: 100%; } }