.app-hub,.app-page{max-width:1120px;width:100%;margin:36px auto 100px;padding:0 16px;overflow-x:clip}
.app-form,.app-result,.app-board,.app-hero,.app-notes,.app-more{min-width:0;max-width:100%}
.app-hero h1,.app-hub-hero h1{overflow-wrap:anywhere}
.app-form input,.app-form select,.app-form textarea{min-width:0;max-width:100%}
.carton-list{display:grid;gap:12px;margin:4px 0 12px}
.carton-card{border:1px solid var(--line);border-radius:12px;padding:12px 12px 4px;background:#fbfbf8}
.carton-card .row-del{margin:0 0 10px}
.app-field-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.app-kpis b{overflow-wrap:anywhere;word-break:break-word}
.app-hub-hero,.app-hero{max-width:720px;margin-bottom:28px}
.app-hub-hero h1,.app-hero h1{font-size:clamp(34px,5vw,52px);margin:8px 0 12px;line-height:1.15}
.app-hub-hero p,.app-hero p{color:var(--muted);font-size:16px;line-height:1.8;margin:0}
.app-hub-grid,.apps-strip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.app-hub-card{display:flex;flex-direction:column;gap:10px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:16px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);min-height:170px}
.app-hub-card strong{font-size:18px}
.app-hub-card small{color:var(--muted);line-height:1.65;flex:1}
.app-hub-card span{color:var(--green);font-size:13px;font-weight:700}
.app-hub-card:hover{border-color:#b7c4b6}
.app-hub-note,.app-notes{color:#44504c;line-height:1.9;max-width:780px}
.app-notes{margin-top:48px}
.app-notes h2,.app-faq h2,.app-more h2{font:700 27px Georgia,"Noto Serif SC",serif;margin:36px 0 14px}
.app-more{margin-top:48px}
.apps-strip{max-width:1240px;margin:0 auto;padding:10px 24px 48px}
.apps-strip-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px}
.apps-strip-head h2{margin:6px 0 0;font-size:28px}
.apps-strip-head a{color:var(--green);text-decoration:none;font-weight:700;font-size:14px}
.app-board{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:22px;align-items:start}
.app-form,.app-result{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow)}
.app-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:var(--green);margin-bottom:14px}
.app-form input,.app-form select,.app-form textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:15px Inter,"Noto Sans SC",sans-serif;color:var(--ink);background:#fbfbf8}
.app-form textarea{resize:vertical}
.app-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.app-field-row-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.app-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.app-btn,.app-btn-plain{border:0;border-radius:10px;padding:11px 16px;font-weight:700;cursor:pointer}
.app-btn{background:var(--green);color:#fff}
.app-btn-plain{background:#eef1e9;color:var(--green)}
.app-result{min-height:240px}
.app-result-empty{color:var(--muted);margin:0}
.app-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 16px}
.app-kpis div{background:#f4f8ee;border-radius:12px;padding:12px 14px}
.app-kpis span{display:block;color:#6e7774;font-size:12px;margin-bottom:4px}
.app-kpis b{font-size:22px}
.app-result ul{margin:0;padding-left:18px;line-height:1.8;color:#44504c}
.app-result-mail{display:flex;flex-direction:column;min-height:320px}
.app-mail-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.app-result-mail pre{margin:0;white-space:pre-wrap;word-break:break-word;background:#f7f6f1;border-radius:12px;padding:14px;flex:1;font:14px/1.7 ui-monospace,Consolas,monospace}
.app-faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin-bottom:10px}
@media (max-width:900px){
  .app-hub-grid,.apps-strip-grid,.app-board,.app-field-row,.app-field-row-4,.app-kpis{grid-template-columns:1fr}
  .app-field-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .apps-strip-head{align-items:start;flex-direction:column}
  .app-form,.app-result{padding:16px}
  .apps-strip{padding-left:16px;padding-right:16px}
}
