:root{font-family:Inter,system-ui,sans-serif;color:#eef2ff;background:#0b1220}*{box-sizing:border-box}body{margin:0;min-height:100vh;padding-bottom:82px}header{position:sticky;top:0;z-index:5;background:#111827;padding:16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #263244}header strong{font-size:22px}header small{display:block;color:#94a3b8}button{border:0;border-radius:10px;padding:10px 14px;background:#263244;color:#fff;font-weight:600}main{padding:14px;max-width:900px;margin:auto}h1{font-size:26px;margin:8px 0 16px}h2{font-size:20px;margin:24px 0 12px}.notice{padding:10px 12px;border-radius:10px;background:#172033;color:#cbd5e1;margin-bottom:12px}.notice.error{background:#451a1a;color:#fecaca}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card{background:#111827;border:1px solid #263244;border-radius:14px;padding:14px;margin-bottom:10px}.metric strong{display:block;font-size:28px;color:#f59e0b}.metric span,.muted{color:#94a3b8}.row{display:flex;gap:10px;justify-content:space-between;align-items:center}.row>div{min-width:0}.title{font-weight:700}.subtitle{font-size:13px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subtitle.wrap{white-space:normal}.pill{display:inline-block;font-size:12px;padding:4px 8px;border-radius:99px;background:#263244}.done{opacity:.55;text-decoration:line-through}.tappable{cursor:pointer}.search{margin-bottom:12px}.filterbar{display:flex;gap:8px;margin-bottom:12px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:10;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:#111827;border-top:1px solid #263244}.bottom-nav button{background:transparent;padding:6px 2px;font-size:20px;color:#94a3b8}.bottom-nav button span{display:block;font-size:11px;margin-top:2px}.bottom-nav button.active{color:#f59e0b}.fab{position:fixed;right:18px;bottom:88px;width:56px;height:56px;border-radius:50%;font-size:30px;padding:0;background:#f59e0b;color:#111827;box-shadow:0 8px 30px #0008}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.menu-grid button{min-height:76px;text-align:left;font-size:15px}.menu-grid small{display:block;color:#94a3b8;margin-top:5px}.menu-grid .disabled{opacity:.55}.wide{width:100%;margin-top:14px}dialog{width:min(92vw,520px);border:1px solid #334155;border-radius:16px;background:#111827;color:#fff;padding:18px}dialog::backdrop{background:#000a}label{display:block;margin:12px 0 6px;color:#cbd5e1}input,textarea,select{width:100%;border:1px solid #334155;background:#0b1220;color:#fff;border-radius:10px;padding:12px;font-size:16px}textarea{min-height:90px}menu{padding:12px 0 0;display:flex;justify-content:flex-end;gap:8px}@media(min-width:700px){.grid{grid-template-columns:repeat(4,1fr)}.menu-grid{grid-template-columns:repeat(4,1fr)}}

.feature-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.feature-actions button{padding:7px 10px;font-size:13px}
.feature-meta{font-size:12px;color:#94a3b8;margin-top:5px;line-height:1.4}
.money{font-size:18px;font-weight:700;color:#f59e0b}
.empty{color:#94a3b8;text-align:center;padding:28px 14px}

/* BreedCloud 1.4.0 - mobiele rapportages */
.report-card{border-left:3px solid #f59e0b}
.report-info{font-size:13px;color:#cbd5e1;margin-top:10px;line-height:1.6}
.report-work{margin:10px 0 0;line-height:1.5;white-space:pre-wrap}
.report-card .feature-actions{border-top:1px solid #263244;padding-top:10px}

/* BreedCloud 1.4.1 - rapportbijlagen */
.attachments-panel{
 margin-top:12px;
 padding-top:12px;
 border-top:1px solid #263244;
}
.attachment-header{
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:10px;
 margin-bottom:10px;
}
.attachment-row{
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:10px;
 padding:10px 0;
 border-bottom:1px solid #263244;
}
.attachment-row:last-child{border-bottom:0}
.attachment-name{
 font-weight:600;
 word-break:break-word;
}
.attachment-actions{
 display:flex;
 gap:6px;
 flex-shrink:0;
}
.attachment-actions button{
 padding:7px 9px;
 font-size:12px;
}
.attachment-empty{
 padding:12px 0;
}
