:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#14251f;background:#eef4f0;font-size:16px}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:linear-gradient(150deg,#edf3ef,#dce9e2)}
.shell{width:min(100%,460px);margin:0 auto;padding:24px 18px}
header{display:flex;align-items:center;gap:12px;margin:0 0 22px}
header strong{display:block;font-size:1.25rem}
header span{display:block;color:#66756f;font-size:.82rem}
.mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#14563f;color:#f5e4c5;font:700 1.45rem Georgia,serif}
.card{background:#fff;border:1px solid #d8e2dd;border-radius:22px;padding:24px;box-shadow:0 18px 50px rgba(24,66,51,.12)}
.hidden{display:none!important}
.eyebrow{margin:0 0 10px;color:#d56834;font-size:.74rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
h1{margin:0 0 14px;font:700 2rem/1.04 Georgia,serif;letter-spacing:-.02em}
p{color:#5c6b65;line-height:1.55}
button,textarea{font:inherit}
.primary,.secondary{width:100%;border:0;border-radius:12px;padding:14px 16px;font-weight:750;cursor:pointer}
.primary{margin-top:12px;background:#14563f;color:#fff}
.primary:hover{background:#0e4734}
.primary:disabled{opacity:.55;cursor:wait}
.secondary{margin-top:10px;background:#edf4f0;color:#14563f}
.fine{font-size:.78rem;text-align:center;margin:14px 0 0}
.statusline{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #e5ebe8;padding-bottom:15px;margin-bottom:20px;color:#55645e;font-size:.85rem}
.link{border:0;background:transparent;color:#14563f;font-weight:700;cursor:pointer}
dl{margin:20px 0;display:grid;gap:12px}
dl div{background:#f5f8f6;border-radius:11px;padding:11px 13px}
dt{color:#78857f;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
dd{margin:3px 0 0;font-weight:650;overflow-wrap:anywhere}
label{display:block;font-weight:700;margin-bottom:7px}
textarea{width:100%;resize:vertical;border:1px solid #cbd8d2;border-radius:11px;padding:11px;color:#14251f}
.message{min-height:24px;margin:14px 0 0;font-weight:650}
.message.ok{color:#176441}
.message.error{color:#a23c34}
@media(max-width:360px){.shell{padding:16px 12px}
.card{padding:20px}
h1{font-size:1.7rem}
}
input,select{width:100%;border:1px solid #cbd8d2;border-radius:11px;padding:11px;color:#14251f;background:#fff;font:inherit}
input:focus,textarea:focus{outline:3px solid rgba(20,86,63,.16);border-color:#14563f}
.auth-link{display:block;margin:14px auto 0}
.microsoft{width:100%;border:1px solid #b9c7c0;border-radius:12px;padding:13px 16px;background:#fff;color:#14251f;font-weight:750;cursor:pointer}
.microsoft span{margin-right:8px;color:#1769aa;font-size:1.15em}
.microsoft:disabled{opacity:.55;cursor:wait}
.auth-divider{display:flex;align-items:center;gap:10px;margin:16px 0 12px;color:#78857f;font-size:.76rem}
.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:#d8e2dd}
.message:empty{display:none}
.review-hint{text-align:left;margin-top:0}
.review-lines{display:grid;gap:9px;margin:18px 0}
.review-line{padding:10px;border:1px solid #d8e2dd;border-radius:12px;background:#f7faf8}
.review-line>input{font-weight:700;margin-bottom:8px}
.review-line>div{display:grid;grid-template-columns:1fr 1fr 34px;gap:7px}
.review-line button{border:0;border-radius:9px;color:#9d3f38;background:#f7e9e7;font-size:1.1rem;cursor:pointer}
.review-add{padding-top:14px;border-top:1px solid #e0e8e4}
.review-add>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.review-add .secondary{margin-top:8px}
.review-adjustment{display:grid;grid-template-columns:1.5fr .7fr;gap:8px;margin-top:16px}
.review-total{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:14px;border-radius:11px;color:#fff;background:#17324d}
.review-cancel{display:block;margin:14px auto 0}
