/* Shared mobile layout for the prototype and signed-in portal. */
html{scrollbar-gutter:stable}
img,video{max-width:100%}
.shell,main,.two>section,.card,.task-content,.content-row .grow,.person-top>div,.title>div{min-width:0}
.card,.note,.title,header,.content-row,.modal-feedback{overflow-wrap:anywhere}
input,textarea,select{max-width:100%;min-width:0}
input:focus-visible,textarea:focus-visible{outline:3px solid #f7ab74;outline-offset:2px}
@media(max-width:1000px) and (min-width:761px){
 aside{width:190px;padding:28px 16px}aside img{width:155px}.shell{margin-left:190px}
 header{padding-left:24px;padding-right:24px}main{padding:30px 24px}
 .stats{grid-template-columns:1fr}.stat{padding:18px}.stat strong{font-size:28px}
}
@media(max-width:760px){
 html{scrollbar-gutter:auto}
 body{font-size:15px;-webkit-text-size-adjust:100%}
 button,select{min-height:44px;touch-action:manipulation}
 aside{border-right:0;border-bottom:1px solid var(--line);padding:16px}
 aside img{width:150px;height:34px;object-position:left}
 nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:6px;margin-top:14px}
 nav:empty{display:none}
 nav button{font-size:13px;padding:10px 12px;white-space:normal;border:1px solid var(--line);border-radius:8px}
 header{padding:14px 16px;gap:12px;align-items:flex-start}
 header>label{display:block;width:100%;font-size:12px;overflow-wrap:anywhere}
 header>label>span{font-size:13px}
 #breadcrumb{font-size:12px}
 .account-actions{width:100%;gap:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .account-actions button{font-size:12px;white-space:normal;padding:10px}
 .account-actions button:last-child{grid-column:1/-1}
 .demo{padding:10px 16px;line-height:1.6}
 main{padding:24px 16px;min-height:60vh}
 .title{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:22px}
 .title>button{align-self:flex-start;font-size:14px}
 h1{font-size:28px;line-height:1.2;letter-spacing:-.5px}h2{font-size:20px;line-height:1.35}
 .eyebrow{font-size:10px;letter-spacing:1.5px}
 .stats{grid-template-columns:1fr;gap:12px;margin-bottom:24px}
 .stat{padding:18px}.stat strong{font-size:28px}.stat span{font-size:12px}
 .card{padding:18px;border-radius:12px}.two{gap:18px}
 .section-title{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-top:24px}
 .section-title>button{max-width:100%;font-size:13px}
 .row{flex-wrap:wrap;gap:6px 12px}
 .row>strong{text-align:right;max-width:100%}
 .person-top{align-items:flex-start;gap:12px}.person-top p{font-size:13px}
 .money{font-size:27px}.detail-hero{padding:21px 18px;margin-bottom:18px}
 .detail-hero .row{flex-direction:column;gap:5px;font-size:12px}
 .detail-hero .money{font-size:34px;line-height:1.25;margin:12px 0}
 .subgrid{grid-template-columns:1fr;gap:0;margin-top:18px}
 .subgrid>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #ffffff26}
 .subgrid>div:last-child{border-bottom:0}.subgrid strong{font-size:21px}.subgrid span{font-size:12px;text-align:right}
 .content-row{gap:10px;align-items:flex-start;flex-wrap:wrap;padding:18px 0}
 .content-row .grow{min-width:0;flex:1 1 160px}
 .content-row h3{line-height:1.4}.content-row p{font-size:13px}
 .content-row>button{font-size:13px;max-width:100%;white-space:normal}
 .content-row>.badge{align-self:center}.badge{white-space:normal}
 .output-tools{width:100%;justify-content:space-between;gap:10px}.output-tools button{font-size:13px}
 .task{gap:11px}.task .row{display:block}.task .badge{margin:4px 0}
 .task-content button{max-width:100%;font-size:13px}.icon,.avatar{width:38px;height:38px}
 .filters{display:grid;grid-template-columns:1fr;gap:12px}
 .filters label{font-size:13px;gap:7px}.filters select{width:100%;min-width:0;font-size:16px}
 .guideline{padding:18px;margin:18px 0}.guideline h3{font-size:24px}
 .guideline-links{display:grid;grid-template-columns:1fr;gap:12px}
 .guideline-links a{min-height:44px;display:flex;align-items:center;justify-content:center;font-size:14px}
 dialog{width:calc(100vw - 20px);max-width:550px;max-height:calc(100dvh - 20px);margin:auto;padding:20px 16px 0;overscroll-behavior:contain;scroll-padding:20px;border-radius:13px}
 dialog input,dialog select,dialog textarea{font-size:16px;min-height:46px;padding:12px}
 dialog input[type=file]{padding:10px 6px;font-size:13px}
 dialog input[type=file]::file-selector-button{min-height:38px;margin-right:7px}
 dialog label{font-size:14px;margin-top:18px}dialog textarea{min-height:110px;resize:vertical}
 .campaign-people input{width:22px;height:22px;min-height:22px;flex-shrink:0}
 .campaign-people label{min-height:44px;margin:6px 0}
 .modal-actions{position:sticky;bottom:0;background:white;margin:18px -16px 0;padding:14px 16px max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:12px;z-index:2}
 .modal-actions button{min-height:46px;font-size:15px}.modal-feedback{font-size:14px;margin-top:16px}
 .help{font-size:13px;line-height:1.6}
 .auth{margin:24px 16px;max-width:none;padding:24px 18px;min-height:0}
 .auth input{font-size:16px;min-height:48px}.auth button{width:100%;min-height:48px}
 footer{padding:18px 16px max(18px,env(safe-area-inset-bottom));flex-wrap:wrap;gap:12px}
 footer button{font-size:12px;min-height:44px}
 #toast{bottom:max(16px,env(safe-area-inset-bottom));right:16px;left:16px;max-width:none;font-size:14px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
