:root{--bg:#f4f7f6;--surface:#fff;--ink:#17211f;--muted:#64706d;--line:#dfe7e4;--brand:#12372a;--accent:#00a65a;--danger:#b42318;--warn:#fff6db;--radius:10px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}.topbar{height:64px;background:var(--brand);color:#fff;display:flex;align-items:center;gap:28px;padding:0 max(20px,calc((100vw - 1240px)/2));position:sticky;top:0;z-index:5}.topbar a,.topbar .link{color:#fff;text-decoration:none}.brand{font-weight:800;font-size:20px}.topbar nav{display:flex;gap:18px;flex:1}.link{border:0;background:transparent;cursor:pointer;font:inherit}.shell{max-width:1240px;margin:0 auto;padding:28px 20px 70px}h1{font-size:30px;margin:0 0 6px}h2{font-size:18px;margin:0 0 16px}.page-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:24px}.actions{display:flex;gap:8px;flex-wrap:wrap}.muted{color:var(--muted);margin-top:4px}.grid{display:grid;gap:16px}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card,.stat,.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:16px;box-shadow:0 1px 2px #00000008}.auth-card{max-width:420px;margin:8vh auto}.stat{display:flex;flex-direction:column}.stat strong{font-size:26px}.stack{display:flex;flex-direction:column;gap:12px}.inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}label{display:flex;flex-direction:column;gap:5px;font-weight:600}input,select,textarea,button,.button{font:inherit}input,select,textarea{width:100%;border:1px solid #cbd6d2;border-radius:6px;padding:10px 11px;background:#fff}textarea{min-height:90px}input[type=color]{height:42px;padding:3px}.check{flex-direction:row;align-items:center;font-weight:500}.check input{width:auto}button,.button{border:1px solid #b9c8c3;background:#fff;color:var(--ink);padding:9px 13px;border-radius:6px;text-decoration:none;cursor:pointer;display:inline-block}button.primary,.button.primary{background:var(--brand);border-color:var(--brand);color:#fff}button.danger,.button.danger{background:#fff0ee;color:var(--danger);border-color:#f1b7b0}.flash{padding:12px 16px;border-radius:8px;margin-bottom:16px;background:#eaf7ef}.flash.error{background:#fff0ee;color:#8a1c13}.warning{background:var(--warn)}.row-link,.item,.bed-row{display:flex;flex-direction:column;padding:11px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.row-link:last-child,.item:last-child{border-bottom:0}.row-link:hover{background:#f8faf9}.row-link span,.item span,.bed-row span,.tile span,.tile small{color:var(--muted)}.item.flex{flex-direction:row;justify-content:space-between;align-items:center}.chip{display:inline-block;padding:5px 9px;background:#eef5f2;border-radius:999px;margin:0 6px 6px 0}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.tile{display:flex;flex-direction:column;padding:14px;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:inherit}.timeline-item{display:grid;grid-template-columns:170px 1fr;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}.timeline-item time{color:var(--muted)}.timeline-item div{display:flex;flex-direction:column}.manifest-person{display:grid;grid-template-columns:1fr 110px auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.status{font-weight:700}.status-btn{padding:6px 9px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line)}fieldset{border:1px solid var(--line);border-radius:8px}small{color:var(--muted)}@media(max-width:780px){.cols-2,.cols-3,.cols-4{grid-template-columns:1fr}.page-head{flex-direction:column}.topbar{padding:0 14px;gap:12px}.topbar nav{gap:10px;overflow:auto}.shell{padding:20px 14px}.timeline-item{grid-template-columns:1fr;gap:4px}.manifest-person{grid-template-columns:1fr}.manifest-person .actions{display:flex;flex-wrap:wrap}}
