*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}#root,.ant-layout{min-height:100vh}.ant-layout-header{display:flex;align-items:center;padding:0 24px;background:#001529;box-shadow:0 2px 8px #00000026}.ant-layout-content{padding:24px;margin:0;min-height:280px;background:#fff}.ant-layout-sider{background:#001529}.logo{height:32px;margin:16px;background:#fff3;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px}.page-header{background:#fff;padding:16px 24px;margin-bottom:16px;border-radius:8px;box-shadow:0 1px 3px #0000001a}.page-content{background:#fff;padding:24px;border-radius:8px;box-shadow:0 1px 3px #0000001a}.ant-table-thead>tr>th{background-color:#fafafa;font-weight:600}.status-tag{border-radius:12px}.upload-area{border:2px dashed #d9d9d9;border-radius:8px;background:#fafafa;padding:20px;text-align:center;cursor:pointer;transition:all .3s}.upload-area:hover{border-color:#1890ff}.stats-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:8px;padding:20px;margin-bottom:16px}.stats-number{font-size:2em;font-weight:700;margin-bottom:8px}.stats-label{font-size:.9em;opacity:.9}.att-month-scroll{overflow-x:auto;overflow-y:hidden;border:1px solid #eee;border-radius:6px}.att-month-viewport{max-width:1032px}.att-month-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.att-month-table th,.att-month-table td{border:1px solid #f0f0f0;padding:8px 10px;white-space:nowrap;text-align:center}.att-first-col{position:sticky;left:0;background:#fafafa;z-index:1;font-weight:600;min-width:140px}.att-day-head,.att-day-cell{min-width:88px}.att-today{background:#fffbe6!important}.att-cell-stack{display:flex;flex-direction:column;gap:4px;align-items:center}
