:root{color:#17202a;background:#f3f6f4;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}.loginPage{background:#10231a;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.loginPanel{background:#fff;border-radius:8px;gap:28px;width:100%;max-width:420px;padding:34px;display:grid;box-shadow:0 24px 80px #0000003d}.loginBrand span,.toolbar p,.metricCard span,.panel header span,.facts span,.formGrid span,.filters span,.sidebarStats span{color:#6f8278;margin-bottom:6px;font-size:12px;display:block}.loginBrand h1,.toolbar h1{color:#10231a;margin:0;font-size:30px;line-height:1.2}.loginForm{gap:16px;display:grid}.loginForm label,.filters label,.formGrid label,.adminForm label{gap:8px;display:grid}.loginForm input,.filters input,.filters select,.formGrid input,.formGrid textarea,.adminForm input,.adminForm select,.pagination select{color:#17202a;background:#fff;border:1px solid #d8dfda;border-radius:8px;width:100%;min-height:42px;padding:10px 12px}.loginError,.error{color:#a43f3f;background:#fff4f2;border:1px solid #f3c3bb;border-radius:8px;margin:0;padding:12px 14px}.toastMessage{color:#237a49;text-align:center;z-index:80;background:#edf9f1;border:1px solid #bde6ca;border-radius:8px;min-width:220px;padding:12px 22px;position:fixed;top:24px;left:50%;transform:translate(-50%);box-shadow:0 14px 38px #237a4924}.shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{color:#f7fbf8;background:#10231a;flex-direction:column;gap:24px;padding:28px 20px;display:flex}.brand span{color:#8db59d;margin-bottom:8px;font-size:13px;display:block}.brand strong{font-size:26px;display:block}.menus{gap:10px;display:grid}.menus button{color:#dbe9e1;text-align:left;background:0 0;border:1px solid #ffffff1a;border-radius:8px;min-height:46px;padding:0 14px}.menus button.active{color:#10231a;background:#e9f8ef;font-weight:700}.sidebarStats{background:#ffffff12;border:1px solid #ffffff14;border-radius:8px;gap:4px;padding:16px;display:grid}.sidebarStats strong{font-size:32px}.sidebarStats small{color:#c5d8cd}.content{min-width:0;padding:28px}.toolbar{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex;position:relative}.toolbar p{margin-top:0}.topProfile{position:relative}.topAvatarButton{background:#fff;border:1px solid #d8dfda;border-radius:999px;justify-content:center;align-items:center;width:48px;height:48px;padding:0;display:flex;overflow:hidden}.topAvatarButton img,.profileSummary img{object-fit:cover;width:100%;height:100%}.topAvatarButton span,.profileSummary>span{color:#fff;background:#2f8b57;justify-content:center;align-items:center;width:100%;height:100%;font-weight:700;display:flex}.profilePopover{z-index:20;background:#fff;border:1px solid #dfe7e2;border-radius:8px;gap:8px;width:250px;padding:12px;display:grid;position:absolute;top:58px;right:0;box-shadow:0 18px 48px #10231a29}.profileSummary{grid-template-columns:48px 1fr;align-items:center;gap:12px;padding:6px;display:grid}.profileSummary img,.profileSummary>span{border-radius:999px;width:48px;height:48px;overflow:hidden}.profileSummary strong{margin-bottom:4px;display:block}.profileSummary small{color:#64736a}.profilePopover button{color:#17202a;text-align:left;background:#f4f8f6;border:0;border-radius:8px;min-height:38px;padding:0 12px}.toolbar button,.filters button,.actions button,.rowActions button,.pagination button,.primary{border:0;border-radius:8px;justify-content:center;align-items:center;min-height:40px;padding:0 14px;display:inline-flex}.toolbar button,.filters button,.actions button,.rowActions button,.pagination button{color:#17202a;background:#e8efeb}.primary{color:#fff;background:#2f8b57}.metricGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.metricCard,.panel,.tablePanel,.detail,.empty{background:#fff;border:1px solid #dfe7e2;border-radius:8px}.metricCard{padding:18px}.metricCard strong{color:#10231a;font-size:30px;line-height:1.2;display:block}.chartGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.panel{min-height:300px;padding:20px}.panel header{margin-bottom:20px}.panelHeaderActions{justify-content:space-between;align-items:center;display:flex}.panel header strong{font-size:20px}.barRows{gap:14px;display:grid}.barRow{grid-template-columns:92px 1fr 36px;align-items:center;gap:12px;display:grid}.barRow span{color:#4f6258;font-size:13px}.barTrack{background:#eef4f0;border-radius:999px;height:14px;overflow:hidden}.barTrack i{border-radius:inherit;background:#2f8b57;height:100%;display:block}.barTrack.category i{background:#6c8fbf}.lineChart{gap:10px;display:grid}.lineChart svg{background:#f7faf8;border-radius:8px;width:100%;height:184px;overflow:visible}.lineGrid{fill:none;stroke:#e1ece5;stroke-width:1px}.lineAxis{stroke:#cddbd2;stroke-width:1.5px}.lineTick{fill:#6f8278;font-size:11px}.lineArea{fill:#2f8b571f}.lineStroke{fill:none;stroke:#2f8b57;stroke-linecap:round;stroke-linejoin:round;stroke-width:5px}.lineDot{cursor:pointer;fill:#fff;stroke:#2f8b57;stroke-width:4px}.lineDot.active{fill:#2f8b57}.lineTooltip rect{fill:#10231a}.lineTooltip text{fill:#fff;font-size:12px;font-weight:700}.lineLabels{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.lineLabels div{justify-items:center;gap:4px;display:grid}.lineLabels span{color:#4f6258;font-size:12px}.miniOrder{color:#17202a;text-align:left;background:#f7faf8;border:1px solid #edf2ef;border-radius:8px;gap:6px;width:100%;margin-bottom:10px;padding:12px;display:grid}.miniOrder span{color:#2f8b57;font-size:12px;font-weight:700}.miniOrder small,td small{color:#64736a}.filters{background:#fff;border:1px solid #dfe7e2;border-radius:8px;grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) minmax(130px,1fr) 150px 150px minmax(280px,1.5fr) 84px;align-items:end;gap:14px;margin-bottom:18px;padding:16px;display:grid}.dateRangeInputs{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.dateRangeInputs em{color:#6f8278;font-style:normal}.listLayout{grid-template-columns:minmax(680px,1fr) minmax(360px,520px);gap:18px;display:grid}.tablePanel{overflow:hidden}.tableScroller{overflow:auto hidden}table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1140px}.colOrder{width:148px}.colCustomer{width:146px}.colAppointment{width:220px}.colCategory{width:110px}.colStatus{width:108px}.colCreatedAt{width:168px}.colActions{width:248px}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #edf2ef;height:76px;padding:12px 14px}.orderCell,.customerCell,.appointmentCell,.categoryCell,.statusCell,.actionCell{vertical-align:middle;line-height:1.45}.appointmentCell,.categoryCell,.statusCell,.createdAtCell,.actionCell{text-align:center}.orderCell strong,.customerCell strong,.customerCell small,.appointmentCell,.categoryCell,.createdAtCell{text-overflow:ellipsis;overflow:hidden}.orderCell strong,.customerCell strong,.customerCell small{white-space:nowrap}.appointmentCell{white-space:normal}th{color:#64736a;white-space:nowrap;background:#f7faf8;font-size:13px;font-weight:600}th:nth-child(3),th:nth-child(4),th:nth-child(5),th:nth-child(6),th:nth-child(7){text-align:center}tbody tr{cursor:pointer}tbody tr.selected,tbody tr:hover{background:#f2fbf5}td strong{overflow-wrap:anywhere;margin-bottom:5px;display:block}.statusPill{color:#2f8b57;white-space:nowrap;background:#e9f8ef;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.createdAtCell{color:#64736a;white-space:normal;word-break:break-word;font-size:13px}.rowActions{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;max-width:218px;margin:0 auto;display:flex}.rowActions button{white-space:nowrap;flex:0 0 68px;min-height:32px;padding:0 8px;font-size:12px}.pagination{justify-content:flex-end;align-items:center;gap:10px;padding:14px;display:flex}.pagination span{color:#64736a;margin-right:auto}.pagination select{width:108px;min-height:36px}.detail{align-self:start;padding:20px}.detailHeader{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.detailHeader span{color:#2f8b57;font-size:12px;font-weight:700}.detailHeader h2{margin:6px 0;font-size:24px}.detailHeader p{color:#64736a;margin:0}.actions,.formGrid{flex-wrap:wrap;gap:8px;display:flex}.facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0;display:grid}.facts div{background:#f7faf8;border-radius:8px;padding:13px}.facts strong{word-break:break-word;line-height:1.45}.photos{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin-bottom:18px;display:grid}.photos img{aspect-ratio:1;object-fit:cover;border-radius:8px;width:100%}.formGrid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px;display:grid}.formGrid textarea{resize:vertical;min-height:86px}.accountLayout{grid-template-columns:minmax(320px,430px) 1fr;gap:18px;display:grid}.adminForm{gap:14px;display:grid}.avatarUpload{align-items:center;gap:14px;display:flex}.avatarUpload img{object-fit:cover;border-radius:999px;width:64px;height:64px}.uploadButton{color:#17202a;cursor:pointer;background:#e8efeb;border-radius:8px;justify-content:center;align-items:center;min-height:38px;padding:0 14px;display:inline-flex}.uploadButton input{display:none}.formActions{gap:10px;display:flex}.formActions button,.adminActions button,.dangerButton{color:#17202a;background:#e8efeb;border:0;border-radius:8px;justify-content:center;align-items:center;min-height:38px;padding:0 14px;display:inline-flex}.dangerButton{color:#9f2e22;background:#ffe9e5}.dangerTextButton{color:#9f2e22!important;background:#ffe9e5!important}.adminUsers{gap:12px;display:grid}.adminUserCard{background:#f7faf8;border:1px solid #edf2ef;border-radius:8px;grid-template-columns:54px 1fr auto;align-items:center;gap:14px;padding:14px;display:grid}.adminUserCard img,.adminAvatar{border-radius:999px;width:54px;height:54px}.adminUserCard img{object-fit:cover}.adminAvatar{color:#fff;background:#2f8b57;justify-content:center;align-items:center;font-size:22px;font-weight:700;display:flex}.adminUserCard strong{margin-bottom:4px;display:block}.adminUserCard span{color:#64736a;font-size:13px}.adminActions{gap:8px;display:flex}.wide{grid-column:1/-1}.empty,.emptyInline{color:#64736a;padding:18px}.error{margin-bottom:16px}.modalBackdrop{z-index:50;background:#10231a6b;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:8px;width:100%;max-width:520px;padding:22px;box-shadow:0 24px 80px #0000003d}.modal header{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.modal header span{color:#6f8278;margin-bottom:6px;font-size:12px;display:block}.modal header strong{font-size:22px}.modal header button{background:#f0f4f2;border:0;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;font-size:24px;line-height:1;display:flex}.confirmModal p{color:#4f6258;margin:0 0 18px;line-height:1.6}.toolbar .topAvatarButton{border-radius:999px;width:48px;height:48px;min-height:48px;padding:0}.toolbar .profilePopover button{border-radius:8px;justify-content:flex-start;width:100%;min-height:38px;padding:0 12px}@media (width<=1180px){.metricGrid,.chartGrid,.listLayout,.filters,.accountLayout{grid-template-columns:1fr}.listLayout{flex-direction:column;display:flex}}@media (width<=820px){.shell{grid-template-columns:1fr}.sidebar{min-height:auto}.content{padding:18px}.tablePanel{overflow:hidden}.tableScroller{overflow-x:auto}table{min-width:1140px}}
