:root{--wine:#801922;--wine-d:#5e1219;--cream:#fffdf8;--sand:#eee9dd;--ink:#231f1e;
--ok:#1d7a3d;--warn:#b3761c;--danger:#a31621;--radius:10px}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Segoe UI",Tahoma,"Noto Kufi Arabic",sans-serif;background:var(--cream);
color:var(--ink);min-height:100vh;font-size:15px}
.topbar{background:var(--wine);color:#fff;padding:.7rem 1rem;display:flex;flex-wrap:wrap;
gap:.6rem;align-items:center;justify-content:space-between}
.brand{font-weight:700;font-size:1.05rem}.brand span{font-weight:400;opacity:.85;font-size:.85rem}
.topbar nav{display:flex;flex-wrap:wrap;gap:.2rem}
.topbar a{color:#fff;text-decoration:none;padding:.35rem .6rem;border-radius:6px;font-size:.9rem}
.topbar a:hover{background:rgba(255,255,255,.15)}
.topbar a.muted{opacity:.75}
main{max-width:1100px;margin:1rem auto;padding:0 .8rem 3rem}
h1{font-size:1.25rem;color:var(--wine);margin:.6rem 0}
h2{font-size:1.05rem;margin:.8rem 0 .4rem}
.card{background:#fff;border:1px solid var(--sand);border-radius:var(--radius);
padding:.9rem;margin:.6rem 0;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.grid{display:grid;gap:.6rem}
@media(min-width:700px){.grid.cols3{grid-template-columns:repeat(3,1fr)}
.grid.cols2{grid-template-columns:repeat(2,1fr)}}
table{width:100%;border-collapse:collapse;background:#fff;font-size:.87rem}
th{background:var(--wine);color:#fff;padding:.45rem .5rem;text-align:right;font-weight:600}
td{padding:.45rem .5rem;border-bottom:1px solid var(--sand)}
tr:hover td{background:#faf6ee}
.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--sand)}
.badge{display:inline-block;padding:.1rem .5rem;border-radius:20px;font-size:.75rem;color:#fff}
.badge.ok{background:var(--ok)}.badge.warn{background:var(--warn)}.badge.danger{background:var(--danger)}
.badge.wine{background:var(--wine)}
.alert{padding:.6rem .8rem;border-radius:8px;margin:.35rem 0;font-size:.9rem}
.alert.danger{background:#fbeaec;color:var(--danger);border:1px solid #f0c8cc}
.alert.warn{background:#fdf3e4;color:var(--warn);border:1px solid #eeddc0}
.alert.ok{background:#e8f5ec;color:var(--ok);border:1px solid #c6e5cf}
.btn{display:inline-block;background:var(--wine);color:#fff;border:0;border-radius:8px;
padding:.55rem 1.1rem;font-size:.95rem;cursor:pointer;text-decoration:none;font-family:inherit}
.btn:hover{background:var(--wine-d)}
.btn.secondary{background:#fff;color:var(--wine);border:1px solid var(--wine)}
.btn.big{width:100%;padding:.9rem;font-size:1.05rem}
input,select,textarea{width:100%;padding:.55rem;border:1px solid #d8d0c0;border-radius:8px;
font-family:inherit;font-size:.95rem;background:#fff}
label{display:block;font-size:.85rem;margin:.5rem 0 .2rem;font-weight:600}
.stat{font-size:1.5rem;font-weight:700;color:var(--wine)}
.stat small{font-size:.75rem;color:#8b7f6f;font-weight:400;display:block}
.login-box{max-width:360px;margin:12vh auto;background:#fff;padding:1.6rem;
border-radius:14px;border-top:5px solid var(--wine);box-shadow:0 6px 24px rgba(0,0,0,.08)}
.field-item{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.muted{color:#8b7f6f;font-size:.85rem}
.pill-row{display:flex;gap:.4rem;flex-wrap:wrap;margin:.4rem 0}
#syncbar{position:fixed;bottom:0;right:0;left:0;background:var(--ink);color:#fff;
padding:.45rem .9rem;font-size:.85rem;display:flex;justify-content:space-between;z-index:50}
#syncbar.ok{background:var(--ok)}#syncbar.off{background:var(--warn)}
#map{height:380px;border-radius:var(--radius)}
.day-block{border-inline-start:4px solid var(--wine);padding-inline-start:.7rem;margin:.8rem 0}
