:root{font:16px/1.5 "Helvetica Neue",Helvetica,Arial,sans-serif;color:#363636;background:#faf9f7}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;gap:24px;padding:20px 6%;background:#f2f1ef;border-bottom:1px solid #c5b7a8}.brand{font-size:38px;font-weight:300;letter-spacing:-2px}header span:nth-child(2){font-size:12px;color:#686563}header button{margin-left:auto}main{max-width:1100px;margin:auto;padding:36px 24px}h1{font-size:34px;font-weight:400}h2{font-size:22px;font-weight:400}.card{border:1px solid #c5b7a8;background:#efefed;padding:26px;margin:24px 0}.login{max-width:430px;margin:40px auto}label{display:block;margin:14px 0}input,select,button{font:inherit;padding:10px 14px;border:1px solid #bba995;border-radius:0;background:#fbfaf8;color:inherit}input,select{width:100%;display:block;margin-top:5px}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}.primary{background:#454341;color:#ffffff}nav{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}nav button[aria-current=page]{background:#e4e2de;text-decoration:underline;text-underline-offset:5px}.muted{color:#686563;font-size:14px}.bird{width:110px;height:110px;object-fit:contain}.status{display:flex;align-items:center;gap:20px;background:#e9e9e6}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left}th,td{padding:12px;border-bottom:1px solid #c5b7a8;white-space:nowrap}th{font-weight:400;color:#686563}#message{position:sticky;bottom:0;margin:0;background:#454341;color:white;text-align:center;padding:14px}#message:empty{display:none}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:600px){header{padding:16px;gap:12px}main{padding:20px 16px}.card{padding:18px}.form-grid{grid-template-columns:1fr}h1{font-size:28px}}

fieldset{border:1px solid #bba995;margin:20px 0;padding:14px}.check{display:flex;gap:10px;align-items:center}.check input{width:auto;margin:0}details{border-top:1px solid #c5b7a8;padding:16px 0}summary{cursor:pointer}.invite-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #c5b7a8;padding:14px 0}#invite-result input{font-size:13px}

h1,h2,h3{color:#363636}button:hover:not(:disabled){background:#e3dfda}.primary:hover:not(:disabled){background:#5b5650;color:white}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid #997b5e;outline-offset:3px}.check input{accent-color:#53735c}#message[data-kind="success"]{background:#46664e}#message[data-kind="error"]{background:#80513e}.confirmed{color:#375b41;background:#e0e9df;padding:4px 8px}button[data-approve]{border-color:#7b947c;color:#375b41;background:#e0e9df}

#taxi-alert:not(:empty){margin-top:20px;padding:14px 18px;background:#eee3d2;border:1px solid #bba995;color:#654923}

/* Phone layout: controls remain reachable; wide tables scroll within their card. */
main,.card,.form-grid>*{min-width:0}button,input,select{min-height:44px}button{touch-action:manipulation}#connection{margin:0;padding:12px 20px;background:#eee3d2;color:#654923;border-bottom:1px solid #bba995}#connection[hidden]{display:none}#message{overflow-wrap:anywhere;padding-bottom:max(14px,env(safe-area-inset-bottom))}
@media(max-width:600px){
 body{padding-bottom:env(safe-area-inset-bottom)}header{padding-top:max(12px,env(safe-area-inset-top));gap:10px}.brand{font-size:32px}header button{font-size:14px;padding:8px 12px}header span:nth-child(2){max-width:75px;line-height:1.3}main{padding:20px 14px}nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:20px 0}nav button{font-size:14px;padding:10px 8px}h1{margin:20px 0 12px}h2{font-size:21px}.card{padding:16px;margin:18px 0}.status{align-items:flex-start;gap:12px}.bird{width:66px;height:80px;flex-shrink:0}.status>div{min-width:0;flex:1}.status h2{margin-top:0}.status button{width:100%}.form-grid{gap:0}input,select{max-width:100%;font-size:16px}label{overflow-wrap:anywhere}.invite-row{align-items:flex-start;flex-wrap:wrap}.invite-row>div{min-width:0;overflow-wrap:anywhere}fieldset{min-width:0;padding:10px}th,td{padding:10px;font-size:14px}.login{margin:16px auto}
}
