:root{--bg:#fff;--text:#111;--muted:#6b7280;--line:#e5e7eb;--primary:#a4825f;--danger:#a4825f;--ghost:#f3f4f6;--card-bg:#fff;--card-radius:14px;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 8px 24px #0000000f}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji}.container{max-width:820px;margin:28px auto;padding:0 16px 40px}.section{margin:18px 0 22px}.section-title{color:var(--muted);margin:6px 0 10px;font-size:14px}.card{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--card-radius);box-shadow:var(--shadow-sm);padding:16px}.grid{gap:14px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:640px){.grid-2{grid-template-columns:1fr}}.btn{cursor:pointer;border:none;border-radius:12px;align-items:center;gap:8px;font-weight:600;transition:transform 20ms,filter .15s,background .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--primary);color:#fff;padding:14px 18px}.btn-primary:hover{filter:brightness(1.03)}.btn-danger{background:var(--danger);color:#fff;padding:14px 18px}.btn-danger:hover{filter:brightness(1.03)}.btn-ghost{background:var(--ghost);color:#111;border:1px solid var(--line);padding:8px 12px}.btn-ghost:hover{filter:brightness(.98)}.label{color:var(--muted);margin-bottom:6px;font-size:13px}.icon-btn{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;width:50px;height:50px;transition:background .15s,filter .15s;display:inline-flex}.icon-btn:hover{filter:brightness(.98);background:#fafafa}.icon{fill:currentColor;width:18px;height:18px;display:inline-block}.admin-wrap{gap:20px;max-width:100%;margin:24px auto;padding:0 16px;display:grid}.card{background:#fff;border:1px solid #eee;border-radius:12px;padding:14px;box-shadow:0 1px #00000005}.section-title{margin-bottom:10px;font-size:16px;font-weight:700}.filters-row,.filters-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filters-center{flex-wrap:wrap;flex:auto;align-items:center;gap:8px;min-width:420px;display:flex}.filters-right{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;display:flex}.admin-filters{align-items:center;gap:8px;display:grid}.admin-filters>*{min-width:0}.room-list{gap:8px;display:grid}.room-item{grid-template-columns:1fr auto auto;align-items:center;gap:8px;display:grid}.btn{appearance:none;cursor:pointer;background:#f4f4f4;border:none;border-radius:10px;padding:8px 12px}.btn:hover{background:#ededed}.btn-brown{color:#fff;background:#a4825f}.btn-brown:hover{filter:brightness(.95)}.btn-ghost{background:#f7f7f7}.btn-browncl{font-size:10px}.input,select,input[type=date],input[type=time]{background:#fff;border:1px solid #e6e6e6;border-radius:8px;width:100%;height:34px;padding:0 8px}.table-scroll{-webkit-overflow-scrolling:touch;width:100%;overflow:auto hidden}.daily-table{table-layout:auto;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #eee;border-radius:12px;width:max-content;min-width:100%}.daily-table thead th{background:#fafafa;border-bottom:1px solid #eee;padding:10px;font-weight:600}.daily-table th,.daily-table td{white-space:nowrap;vertical-align:middle;text-align:center;border-top:1px solid #f3f3f3;padding:10px}.sticky-col{z-index:1;background:#fff;position:sticky;left:0;box-shadow:1px 0 #eee}.cell-dates--two{grid-template-columns:64px 1fr 180px;align-items:center;gap:8px;display:grid}.cell-actual{gap:4px;display:grid}.truncate{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.daily-table select.input{cursor:pointer;background:#fff;border:1px solid #e6e6e6;padding-right:28px}.admin-sidenav nav{gap:8px;display:grid}.admin-sidenav a{color:#333;background:0 0;border-radius:8px;padding:10px 12px;font-weight:500;text-decoration:none;display:block}.admin-sidenav a.active{background:var(--primary);color:#fff;font-weight:700}.logout-btn{white-space:nowrap;text-overflow:unset;margin-top:50px;overflow:visible}.filters-row{grid-template-rows:auto auto auto;align-items:center;gap:10px;display:grid}.filters-left{flex-wrap:wrap;grid-row:1;align-items:center;gap:8px;display:flex}.filters-center{flex-wrap:wrap;grid-row:2;align-items:center;gap:8px;display:flex}.filters-right{flex-wrap:wrap;grid-row:3;justify-content:flex-end;align-items:center;gap:8px;display:flex}.w-120{width:120px}.w-140{width:140px}.w-160{width:160px}.cell-namephone{grid-template-columns:1fr 160px;align-items:center;gap:8px;min-width:280px;display:grid}.cell-namephone .input{width:100%}.th-mini{border:1px solid var(--line);cursor:pointer;background:#f7f7f7;border-radius:8px;align-items:center;gap:4px;padding:4px 8px;font-size:13px;display:inline-flex}.th-mini:hover{filter:brightness(.98)}.cell-pair{grid-template-columns:1fr;row-gap:6px;display:grid}.th-pair{align-items:center;gap:6px;display:inline-flex}.th-sort-btn{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;padding:0}.th-sort-btn:hover{text-decoration:underline}.th-sep{color:#999}.input{width:auto}.new-daily-grid{grid-template-columns:200px 120px 1fr 1fr 180px 120px;grid-auto-rows:minmax(40px,auto);align-items:center;gap:8px;margin-bottom:10px;display:grid}.new-daily-grid .input{width:auto;max-width:100%}.new-daily-grid select.input{min-width:140px}@media (max-width:1280px){.daily-table{min-width:1200px}.cell-dates--two{grid-template-columns:48px 1fr 150px}.daily-table th,.daily-table td{padding:8px;font-size:14px}}@media (max-width:1024px){.daily-table{min-width:1000px}.cell-dates--two{grid-template-columns:42px 1fr 130px}.daily-table th,.daily-table td{padding:6px;font-size:13px}.w-160{width:140px}.filters-center{gap:6px}.filters-right{justify-content:flex-start}}@media (max-width:768px){.daily-table{min-width:900px}.cell-dates--two{grid-template-columns:36px 1fr 110px}.daily-table th,.daily-table td{padding:6px;font-size:12px}.cell-namephone{grid-template-columns:1fr}}.badge-pending{background:#f5e8c8;border:1px solid #e9d7a7}.badge-doing{background:#d9ecff;border:1px solid #bcdfff}.badge-done{background:#d5f5d5;border:1px solid #b6e6b6}.badge-hold{background:#ffd6d6;border:1px solid #ffb3b3}
