.rdrCalendarWrapper{box-sizing:border-box;background:#fff;display:inline-flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;user-select:none}.rdrDateDisplay{display:flex;justify-content:space-between}.rdrDateDisplayItem{flex:1 1;width:0;text-align:center;color:inherit}.rdrDateDisplayItem+.rdrDateDisplayItem{margin-left:.833em}.rdrDateDisplayItem input{text-align:inherit}.rdrDateDisplayItem input:disabled{cursor:default}.rdrMonthAndYearWrapper{box-sizing:inherit;display:flex;justify-content:space-between}.rdrMonthAndYearPickers{flex:1 1 auto;display:flex;justify-content:center;align-items:center}.rdrNextPrevButton{box-sizing:inherit;cursor:pointer;outline:none}.rdrMonths{display:flex}.rdrMonthsVertical{flex-direction:column}.rdrMonthsHorizontal>div>div>div{display:flex;flex-direction:row}.rdrMonth{width:27.667em}.rdrWeekDays{display:flex}.rdrWeekDay{flex-basis:calc(100% / 7);box-sizing:inherit;text-align:center}.rdrDays{display:flex;flex-wrap:wrap}.rdrInfiniteMonths{overflow:auto}.rdrDateRangeWrapper{-webkit-user-select:none;-moz-user-select:none;user-select:none}.rdrDateInput{position:relative}.rdrDateInput input{outline:none}.rdrDateInput .rdrWarning{position:absolute;font-size:1.6em;line-height:1.6em;top:0;right:.25em;color:red}.rdrDay{box-sizing:inherit;width:calc(100% / 7);position:relative;font:inherit;cursor:pointer}.rdrDayNumber{display:block;position:relative}.rdrDayNumber span{color:#1d2429}.rdrDayDisabled{cursor:not-allowed}@supports (-ms-ime-align: auto){.rdrDay{flex-basis:14.285%!important}}.rdrSelected,.rdrInRange,.rdrStartEdge,.rdrEndEdge,.rdrDayStartPreview,.rdrDayInPreview,.rdrDayEndPreview{pointer-events:none}.rdrDateRangePickerWrapper{display:inline-flex;-webkit-user-select:none;-moz-user-select:none;user-select:none}.rdrStaticRanges{display:flex;flex-direction:column}.rdrStaticRange{font-size:inherit}.rdrInputRange{display:flex}.rdrCalendarWrapper{color:#000;font-size:12px}.rdrDateDisplayWrapper{background-color:#eff2f7}.rdrDateDisplay{margin:.833em}.rdrDateDisplayItem{border-radius:4px;background-color:#fff;box-shadow:0 1px 2px #23394236;border:1px solid transparent}.rdrDateDisplayItem input{cursor:pointer;height:2.5em;line-height:2.5em;border:0px;background:transparent;width:100%;color:#849095}.rdrDateDisplayItemActive{border-color:currentColor}.rdrDateDisplayItemActive input{color:#7d888d}.rdrMonthAndYearWrapper{align-items:center;height:60px;padding-top:10px}.rdrMonthAndYearPickers{font-weight:600}.rdrMonthAndYearPickers select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:10px 30px 10px 10px;border-radius:4px;outline:0;color:#3e484f;background:url("data:image/svg+xml;utf8,<svg width='9px' height='6px' viewBox='0 0 9 6' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g id='Artboard' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' transform='translate(-636.000000, -171.000000)' fill-opacity='0.368716033'><g id='input' transform='translate(172.000000, 37.000000)' fill='%230E242F' fill-rule='nonzero'><g id='Group-9' transform='translate(323.000000, 127.000000)'><path d='M142.280245,7.23952813 C141.987305,6.92353472 141.512432,6.92361662 141.219585,7.23971106 C140.926739,7.5558055 140.926815,8.06821394 141.219755,8.38420735 L145.498801,13 L149.780245,8.38162071 C150.073185,8.0656273 150.073261,7.55321886 149.780415,7.23712442 C149.487568,6.92102998 149.012695,6.92094808 148.719755,7.23694149 L145.498801,10.7113732 L142.280245,7.23952813 Z' id='arrow'></path></g></g></g></svg>") no-repeat;background-position:right 8px center;cursor:pointer;text-align:center}.rdrMonthAndYearPickers select:hover{background-color:#00000012}.rdrMonthPicker,.rdrYearPicker{margin:0 5px}.rdrNextPrevButton{display:block;width:24px;height:24px;margin:0 .833em;padding:0;border:0;border-radius:5px;background:#eff2f7}.rdrNextPrevButton:hover{background:#e1e7f0}.rdrNextPrevButton i{display:block;width:0;height:0;padding:0;text-align:center;border-style:solid;margin:auto;transform:translate(-3px)}.rdrPprevButton i{border-width:4px 6px 4px 4px;border-color:transparent rgb(52,73,94) transparent transparent;transform:translate(-3px)}.rdrNextButton i{margin:0 0 0 7px;border-width:4px 4px 4px 6px;border-color:transparent transparent transparent rgb(52,73,94);transform:translate(3px)}.rdrWeekDays{padding:0 .833em}.rdrMonth{padding:0 .833em 1.666em}.rdrMonth .rdrWeekDays{padding:0}.rdrMonths.rdrMonthsVertical .rdrMonth:first-child .rdrMonthName{display:none}.rdrWeekDay{font-weight:400;line-height:2.667em;color:#849095}.rdrDay{background:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:0;padding:0;line-height:3em;height:3em;text-align:center;color:#1d2429}.rdrDay:focus{outline:0}.rdrDayNumber{outline:0;font-weight:300;position:absolute;left:0;right:0;top:5px;bottom:5px;display:flex;align-items:center;justify-content:center}.rdrDayToday .rdrDayNumber span{font-weight:500}.rdrDayToday .rdrDayNumber span:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:18px;height:2px;border-radius:2px;background:#3d91ff}.rdrDayToday:not(.rdrDayPassive) .rdrInRange~.rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrStartEdge~.rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrEndEdge~.rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrSelected~.rdrDayNumber span:after{background:#fff}.rdrDay:not(.rdrDayPassive) .rdrInRange~.rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrStartEdge~.rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrEndEdge~.rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrSelected~.rdrDayNumber span{color:#ffffffd9}.rdrSelected,.rdrInRange,.rdrStartEdge,.rdrEndEdge{background:currentColor;position:absolute;top:5px;left:0;right:0;bottom:5px}.rdrSelected{left:2px;right:2px}.rdrStartEdge{border-top-left-radius:1.042em;border-bottom-left-radius:1.042em;left:2px}.rdrEndEdge{border-top-right-radius:1.042em;border-bottom-right-radius:1.042em;right:2px}.rdrSelected{border-radius:1.042em}.rdrDayStartOfMonth .rdrInRange,.rdrDayStartOfMonth .rdrEndEdge,.rdrDayStartOfWeek .rdrInRange,.rdrDayStartOfWeek .rdrEndEdge{border-top-left-radius:1.042em;border-bottom-left-radius:1.042em;left:2px}.rdrDayEndOfMonth .rdrInRange,.rdrDayEndOfMonth .rdrStartEdge,.rdrDayEndOfWeek .rdrInRange,.rdrDayEndOfWeek .rdrStartEdge{border-top-right-radius:1.042em;border-bottom-right-radius:1.042em;right:2px}.rdrDayStartOfMonth .rdrDayInPreview,.rdrDayStartOfMonth .rdrDayEndPreview,.rdrDayStartOfWeek .rdrDayInPreview,.rdrDayStartOfWeek .rdrDayEndPreview{border-top-left-radius:1.333em;border-bottom-left-radius:1.333em;border-left-width:1px;left:0}.rdrDayEndOfMonth .rdrDayInPreview,.rdrDayEndOfMonth .rdrDayStartPreview,.rdrDayEndOfWeek .rdrDayInPreview,.rdrDayEndOfWeek .rdrDayStartPreview{border-top-right-radius:1.333em;border-bottom-right-radius:1.333em;border-right-width:1px;right:0}.rdrDayStartPreview,.rdrDayInPreview,.rdrDayEndPreview{background:#ffffff17;position:absolute;top:3px;left:0;right:0;bottom:3px;pointer-events:none;border:0px solid currentColor;z-index:1}.rdrDayStartPreview{border-top-width:1px;border-left-width:1px;border-bottom-width:1px;border-top-left-radius:1.333em;border-bottom-left-radius:1.333em;left:0}.rdrDayInPreview{border-top-width:1px;border-bottom-width:1px}.rdrDayEndPreview{border-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-top-right-radius:1.333em;border-bottom-right-radius:1.333em;right:0}.rdrDefinedRangesWrapper{font-size:12px;width:226px;border-right:solid 1px #eff2f7;background:#fff}.rdrDefinedRangesWrapper .rdrStaticRangeSelected{color:currentColor;font-weight:600}.rdrStaticRange{border:0;cursor:pointer;display:block;outline:0;border-bottom:1px solid #eff2f7;padding:0;background:#fff}.rdrStaticRange:hover .rdrStaticRangeLabel,.rdrStaticRange:focus .rdrStaticRangeLabel{background:#eff2f7}.rdrStaticRangeLabel{display:block;outline:0;line-height:18px;padding:10px 20px;text-align:left}.rdrInputRanges{padding:10px 0}.rdrInputRange{align-items:center;padding:5px 20px}.rdrInputRangeInput{width:30px;height:30px;line-height:30px;border-radius:4px;text-align:center;border:solid 1px rgb(222,231,235);margin-right:10px;color:#6c767a}.rdrInputRangeInput:focus,.rdrInputRangeInput:hover{border-color:#b4bfc4;outline:0;color:#333}.rdrCalendarWrapper:not(.rdrDateRangeWrapper) .rdrDayHovered .rdrDayNumber:after{content:"";border:1px solid currentColor;border-radius:1.333em;position:absolute;top:-2px;bottom:-2px;left:0;right:0;background:transparent}.rdrDayPassive{pointer-events:none}.rdrDayPassive .rdrDayNumber span{color:#d5dce0}.rdrDayPassive .rdrInRange,.rdrDayPassive .rdrStartEdge,.rdrDayPassive .rdrEndEdge,.rdrDayPassive .rdrSelected,.rdrDayPassive .rdrDayStartPreview,.rdrDayPassive .rdrDayInPreview,.rdrDayPassive .rdrDayEndPreview{display:none}.rdrDayDisabled{background-color:#f8f8f8}.rdrDayDisabled .rdrDayNumber span{color:#aeb9bf}.rdrDayDisabled .rdrInRange,.rdrDayDisabled .rdrStartEdge,.rdrDayDisabled .rdrEndEdge,.rdrDayDisabled .rdrSelected,.rdrDayDisabled .rdrDayStartPreview,.rdrDayDisabled .rdrDayInPreview,.rdrDayDisabled .rdrDayEndPreview{filter:grayscale(100%) opacity(60%)}.rdrMonthName{text-align:left;font-weight:600;color:#849095;padding:.833em}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;color:#333}.container{max-width:1400px;margin:0 auto;padding:20px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}.header-left{display:flex;align-items:center;gap:24px;flex-wrap:wrap}header h1{font-size:24px;font-weight:600}.meal-tabs{display:flex;gap:4px;background:#f3f4f6;border-radius:10px;padding:4px}.meal-tab{padding:8px 24px;font-size:15px;font-weight:600;font-family:inherit;border:none;border-radius:8px;cursor:pointer;background:transparent;color:#666;transition:all .2s}.meal-tab:hover{color:#333}.meal-tab.active{background:#fff;color:#e5a200;box-shadow:0 1px 3px #0000001a}.meal-schedule{font-size:15px;font-weight:600;color:#888;padding:6px 16px;background:#f9fafb;border-radius:8px}.sidebar-right{display:flex;flex-direction:column;gap:0}.avg-unused-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 12px 14px;background:#fff;border-radius:12px;box-shadow:0 1px 4px #00000014;cursor:default;text-align:center;width:140px}.avg-unused-pct{font-size:32px;font-weight:700;color:#e53e3e;line-height:1}.avg-unused-label{font-size:12px;color:#aaa;margin-top:4px}.header-right{display:flex;align-items:center;gap:16px}.date-info{font-size:14px;color:#666}.settings-wrapper{position:relative}.settings-toggle{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:10px;background:#f3f4f6;color:#555;cursor:pointer;transition:background .2s}.settings-toggle:hover{background:#e5e7eb}.settings-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:#22c55e}.settings-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.settings-dropdown{position:absolute;right:0;top:48px;z-index:100;background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000026;padding:20px;width:280px}.settings-dropdown h4{font-size:15px;font-weight:600;margin-bottom:16px;color:#333}.settings-checkbox{display:flex;align-items:center;gap:10px;margin-bottom:16px;cursor:pointer;font-size:14px}.settings-checkbox input{width:18px;height:18px;accent-color:#16a34a;cursor:pointer}.settings-field{margin-bottom:14px}.settings-field label{display:block;font-size:12px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.settings-field select{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;background:#fff}.settings-field select:disabled{opacity:.5}.settings-field input[type=range]{width:100%;accent-color:#16a34a}.settings-field input[type=range]:disabled{opacity:.4}.settings-test-btn{width:100%;padding:10px;font-size:14px;font-weight:500;font-family:inherit;color:#4472c4;background:#e8f0fe;border:none;border-radius:8px;cursor:pointer;transition:background .2s}.settings-test-btn:hover{background:#d0e1fd}.settings-test-btn:disabled{opacity:.4;cursor:not-allowed}.main-layout{display:flex;gap:24px;align-items:flex-start}.admin-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:10px;background:#f3f4f6;color:#555;cursor:pointer;transition:background .2s}.admin-toggle:hover{background:#e5e7eb}.admin-page{max-width:800px;margin:0 auto;padding:20px;min-height:100vh}.admin-page-header{display:flex;align-items:center;gap:20px;margin-bottom:32px}.admin-page-header h1{font-size:24px;font-weight:600}.admin-back{padding:8px 16px;font-size:14px;font-family:inherit;color:#4472c4;background:#e8f0fe;border:none;border-radius:8px;cursor:pointer}.admin-back:hover{background:#d0e1fd}.admin-page-login{display:flex;justify-content:center;padding-top:80px}.admin-page-login form{background:#fff;border-radius:16px;padding:40px;box-shadow:0 2px 12px #00000014;display:flex;flex-direction:column;gap:16px;width:320px}.admin-page-login h2{font-size:18px;text-align:center;color:#333}.admin-page-login input{padding:12px 16px;border:1px solid #ddd;border-radius:10px;font-size:16px;font-family:inherit;text-align:center}.admin-page-login button{padding:12px;font-size:16px;font-weight:600;font-family:inherit;color:#fff;background:#4472c4;border:none;border-radius:10px;cursor:pointer}.admin-error{font-size:13px;color:#ef4444;text-align:center}.admin-cards{display:flex;flex-direction:column;gap:24px}.admin-card{background:#fff;border-radius:16px;padding:28px;box-shadow:0 1px 4px #00000014}.admin-card-title{font-size:20px;font-weight:700;color:#333;margin-bottom:20px}.admin-card-row{display:flex;gap:24px;align-items:flex-start}.admin-card-block{flex:1}.admin-card-divider{width:1px;align-self:stretch;background:#e5e7eb}.admin-card-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.admin-card-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#888;margin-bottom:10px}.admin-card-label-row .admin-card-label{margin-bottom:0}.admin-edit-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:#f3f4f6;color:#888;cursor:pointer;transition:all .15s}.admin-edit-btn:hover{background:#e5e7eb;color:#333}.admin-card-value{font-size:24px;font-weight:700;color:#333;margin-bottom:6px}.admin-card-hint{font-size:12px;color:#aaa}.admin-card-inputs{display:flex;flex-direction:column;gap:10px}.admin-time-field{display:flex;align-items:center;gap:10px}.admin-time-field span{font-size:14px;color:#888;width:24px}.admin-time-field input[type=time]{padding:10px 14px;border:1px solid #ddd;border-radius:10px;font-size:18px;font-family:inherit;width:140px}.admin-time-field input[type=time]:focus{outline:none;border-color:#4472c4}.admin-page-actions{margin-top:32px;text-align:center}.admin-save-btn{padding:14px 48px;font-size:16px;font-weight:600;font-family:inherit;color:#fff;background:#16a34a;border:none;border-radius:12px;cursor:pointer;transition:background .2s}.admin-save-btn:hover{background:#15803d}.admin-save-btn:disabled{opacity:.6}.admin-card-desc{font-size:13px;color:#888;margin-bottom:16px;line-height:1.5}.sync-buttons{display:flex;flex-direction:column;gap:8px}.sync-row{display:flex;align-items:center;gap:12px;margin-top:10px}.sync-row .sync-btn{flex:1;margin:0}.sync-row-left{display:flex;flex-direction:column;gap:4px;min-width:180px}.sync-row-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#888}.sync-date{padding:8px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px}.sync-date:focus{outline:none;border-color:#007aff;box-shadow:0 0 0 3px #007aff1a}.sync-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font-size:14px;font-family:inherit;font-weight:500;color:#333;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .2s}.sync-btn:hover:not(:disabled){background:#e5e7eb}.sync-btn:disabled{opacity:.5;cursor:not-allowed}.sync-btn-full{background:#4472c4;color:#fff;border-color:#4472c4}.sync-btn-full:hover:not(:disabled){background:#3a62a8}.spinner-sm{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sync-result{margin-top:12px;padding:10px 16px;border-radius:8px;font-size:13px;text-align:center}.sync-result.ok{background:#dcfce7;color:#16a34a}.sync-result.err{background:#fee2e2;color:#dc2626}.sync-result.warn{background:#fef9c3;color:#a16207}.admin-checkin-form{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;margin-top:12px}.admin-checkin-field{display:flex;flex-direction:column;gap:4px}.admin-checkin-field label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#888}.admin-checkin-field input,.admin-checkin-field select{padding:8px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;min-width:220px;background:#fff}.admin-checkin-field input:focus,.admin-checkin-field select:focus{outline:none;border-color:#007aff;box-shadow:0 0 0 3px #007aff1a}.admin-toggle-row{display:flex;align-items:center;gap:14px;margin-top:12px}.admin-toggle{position:relative;width:48px;height:26px;display:inline-block}.admin-toggle input{opacity:0;width:0;height:0}.admin-toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;background:#ccc;border-radius:26px;transition:background .2s}.admin-toggle-slider:before{content:"";position:absolute;width:20px;height:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s}.admin-toggle input:checked+.admin-toggle-slider{background:#c62828}.admin-toggle input:checked+.admin-toggle-slider:before{transform:translate(22px)}.row-delete-btn{background:none;border:none;cursor:pointer;font-size:18px;color:#ccc;line-height:1;padding:2px 6px;border-radius:4px}.row-delete-btn:hover{color:#ef4444;background:#fef2f2}.emp-filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.emp-filter-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;border:1.5px solid #e5e7eb;border-radius:10px;background:#fff;font-size:13px;font-weight:500;color:#666;cursor:pointer;transition:all .15s}.emp-filter-btn:hover{border-color:#007aff;color:#007aff}.emp-filter-btn.active{border-color:#007aff;color:#007aff;background:#f0f7ff;font-weight:600}.emp-filter-count{font-size:12px;font-weight:700;color:#999;background:#f3f4f6;border-radius:10px;padding:2px 8px;min-width:24px;text-align:center}.emp-filter-btn.active .emp-filter-count{background:#007aff;color:#fff}.emp-ranking-wrap{overflow-x:auto}.emp-ranking-table{width:100%;border-collapse:collapse;font-size:13px}.emp-ranking-table th{text-align:left;padding:10px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#888;border-bottom:1px solid #eee}.emp-ranking-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;text-align:center}.emp-ranking-table th.sortable:hover,.emp-ranking-table th.sortable.active{color:#007aff}.emp-ranking-table th.sortable.active:after{content:" ↓"}.emp-ranking-table td{padding:10px 12px;border-bottom:1px solid #f5f5f5}.emp-ranking-table tr:hover td{background:#fafafa}.emp-bar{position:relative;height:24px;background:#f3f4f6;border-radius:6px;overflow:hidden;min-width:120px}.emp-bar-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#ff8a80,#ef4444);border-radius:6px;transition:width .3s}.emp-bar-value{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;height:100%;font-weight:700;color:#1c1c1e;font-size:12px}.emp-click-cell,.emp-click-num{cursor:pointer}.emp-click-cell:hover .emp-bar{box-shadow:0 0 0 2px #007aff}.emp-click-num{text-align:center}.emp-click-num:hover{background:#f0f7ff}.sched-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) auto;gap:12px;align-items:end;padding:16px;background:#f9fafb;border-radius:12px;margin-bottom:20px}.sched-field{display:flex;flex-direction:column;gap:4px;min-width:0}.sched-field label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#888}.sched-field input,.sched-field select{padding:8px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;background:#fff}.sched-field input:focus,.sched-field select:focus{outline:none;border-color:#007aff;box-shadow:0 0 0 3px #007aff1a}.sched-form .sync-btn{margin:0;height:38px}.shift-cal{width:100%;max-width:700px}.shift-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.shift-cal-title{font-weight:700;font-size:14px;text-transform:capitalize;color:#1c1c1e}.shift-cal-nav{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;width:28px;height:28px;font-size:16px;color:#555}.shift-cal-nav:hover{background:#f0f7ff;border-color:#007aff;color:#007aff}.shift-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.shift-cal-dow{text-align:center;font-size:11px;color:#888;font-weight:600;padding:6px 0;text-transform:uppercase}.shift-cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:500;border-radius:10px;cursor:pointer;background:#fff;border:1px solid #eee;transition:all .15s}.shift-cal-day:hover{border-color:#007aff;background:#f0f7ff}.shift-cal-day.is-shift{background:#34c759;color:#fff;border-color:#34c759;font-weight:700}.shift-cal-day.is-shift:hover{background:#2ea043}.shift-cal-day.is-disabled{cursor:not-allowed;opacity:.5;color:#ccc}.shift-cal-day.is-disabled:hover{border-color:#eee;background:#fff}.exc-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.exc-add-btn-inline{padding:8px 14px;background:#f0f7ff;border:1px dashed #007AFF;color:#007aff;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600}.exc-add-btn-inline:hover{background:#e0efff}.exc-month-nav{display:flex;align-items:center;gap:10px}.exc-month-title{font-weight:700;font-size:14px;text-transform:capitalize;min-width:140px;text-align:center}.exc-add-form-inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr)) auto;gap:8px;padding:12px;background:#f9fafb;border-radius:10px;margin-bottom:16px}.exc-add-form-inline input,.exc-add-form-inline select{padding:7px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;background:#fff}.exc-add-form-inline input:focus,.exc-add-form-inline select:focus{outline:none;border-color:#007aff}.exc-matrix-wrap{overflow-x:auto}.exc-matrix{border-collapse:separate;border-spacing:2px;width:100%;table-layout:fixed}.exc-matrix th,.exc-matrix td{padding:6px 4px;text-align:center;border-bottom:1px solid #f0f0f0;vertical-align:middle}.exc-matrix-emp-col{text-align:left!important;width:240px;padding:6px!important;position:sticky;left:0;background:#fff;z-index:2;font-size:11px;font-weight:600;color:#8e8e93;text-transform:uppercase;letter-spacing:.04em}.exc-matrix-day-head{padding:4px 2px!important}.exc-matrix-dow{font-size:10px;color:#8e8e93;text-transform:uppercase;font-weight:500}.exc-matrix-d{font-size:12px;font-weight:700;color:#333}.exc-matrix-day-head.weekend .exc-matrix-d{color:#888}.exc-matrix-schedule-col{text-align:center;font-size:11px;font-weight:600;color:#8e8e93;text-transform:uppercase;letter-spacing:.04em;padding:8px!important;width:100px}.exc-matrix-schedule-cell{text-align:center;padding:8px!important}.exc-matrix-total-col{text-align:center;font-size:11px;font-weight:600;color:#8e8e93;text-transform:uppercase;letter-spacing:.04em;padding:8px 12px!important;width:60px}.exc-matrix-emp{text-align:left!important;padding:8px 6px!important;position:sticky;left:0;background:#fff;z-index:1}.exc-matrix-name{display:flex;align-items:center;justify-content:space-between;gap:8px}.exc-matrix-name strong{font-size:13px;color:#1c1c1e}.exc-matrix-sub{font-size:11px;color:#888;margin-top:2px}.exc-matrix-resp{font-size:11px;color:#6366f1;margin-top:4px;background:#eef2ff;padding:2px 8px;border-radius:6px;display:inline-block;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.exc-matrix-comment{font-size:11px;color:#666;margin-top:4px;background:#f3f4f6;padding:2px 8px;border-radius:6px;display:-webkit-box;max-width:240px;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:1.35;white-space:normal;word-break:break-word}.exc-matrix-schedule{font-size:11px;color:#555;margin-top:4px;margin-right:6px;background:#e0e7ff;padding:2px 8px;border-radius:6px;display:inline-block;font-variant-numeric:tabular-nums}.exc-matrix-emp{cursor:default}.exc-matrix-emp:hover{background:#fafafa}.exc-matrix-cell{height:36px;border-radius:6px;cursor:pointer;background:#f7f7f8;border:1px solid transparent;transition:background .1s;position:relative;text-align:center;padding:0!important;-webkit-user-select:none;user-select:none}.exc-matrix-cell:hover{background:#e5f0ff;border-color:#007aff}.exc-matrix-cell.weekend{background:#fafafa}.exc-matrix-cell.is-shift{background:#e8f5e9}.exc-matrix-cell.is-shift:hover{background:#c8e6c9}.exc-matrix-cell.is-shift:after{content:"✓";font-size:18px;font-weight:700;color:#2ea043;line-height:36px}.exc-matrix-cell.is-past{cursor:not-allowed;opacity:.5}.exc-matrix-cell.is-past:hover{background:#f7f7f8;border-color:transparent}.exc-matrix-cell.is-past.weekend{background:#fafafa}.exc-matrix-cell.is-past.is-shift{background:#e8f5e9}.exc-matrix-cell-split{padding:2px!important;background:transparent!important;vertical-align:middle;height:0}.exc-matrix-halves{display:flex;flex-direction:column;gap:2px;height:100%;min-height:36px}.exc-matrix-cell-split.weekend .exc-matrix-half:not(.is-shift){background:#fafafa}.exc-matrix-half{flex:1;min-height:17px;border-radius:6px;cursor:pointer;background:#f7f7f8;border:1px solid transparent;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;transition:background .1s}.exc-matrix-half:hover{background:#e5f0ff;border-color:#007aff}.exc-matrix-half.is-shift{background:#e8f5e9}.exc-matrix-half.is-shift:after{content:"✓";font-size:13px;font-weight:700;color:#2ea043}.exc-matrix-half.is-past{cursor:not-allowed;opacity:.5}.exc-matrix-half.is-past:hover{background:#f7f7f8;border-color:transparent}.exc-edit-badge{display:inline-flex;align-items:center;gap:8px;background:#dcfce7;color:#166534;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600}.exc-edit-badge button{background:#166534;color:#fff;border:none;border-radius:50%;width:18px;height:18px;font-size:11px;cursor:pointer;line-height:1}.exc-matrix-total{font-weight:700;font-size:14px;color:#1c1c1e;padding:8px 12px!important}.exc-layout{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:start}.exc-list{border-right:1px solid #eee;padding-right:12px;max-height:700px;overflow-y:auto}.exc-add-btn{width:100%;padding:10px;background:#f0f7ff;border:1px dashed #007AFF;color:#007aff;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;margin-bottom:10px}.exc-add-btn:hover{background:#e0efff}.exc-add-form{display:flex;flex-direction:column;gap:6px;padding:12px;background:#fafbfc;border-radius:10px;margin-bottom:12px}.exc-add-form input,.exc-add-form select{padding:7px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;background:#fff}.exc-add-form input:focus,.exc-add-form select:focus{outline:none;border-color:#007aff}.exc-list-header{font-size:11px;font-weight:700;text-transform:uppercase;color:#8e8e93;letter-spacing:.04em;padding:8px 12px 10px;display:flex;align-items:center;justify-content:space-between}.exc-list-count{background:#f0f0f0;color:#555;padding:1px 8px;border-radius:10px;font-size:10px;font-weight:600}.exc-list-item{position:relative;padding:10px 32px 10px 14px;cursor:pointer;border-radius:8px;transition:background .12s}.exc-list-item:hover{background:#f5f5f7}.exc-list-item.active{background:#e5f0ff}.exc-list-name{font-weight:600;color:#1c1c1e;font-size:13.5px;line-height:1.3}.exc-list-meta{font-size:11px;color:#8e8e93;margin-top:2px;display:flex;gap:8px;align-items:center}.exc-list-meta>span:first-child{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exc-list-shifts{background:#e0e0e6;color:#555;font-weight:600;padding:0 6px;border-radius:8px;font-size:10px;flex-shrink:0}.exc-list-item.active .exc-list-shifts{background:#007aff;color:#fff}.exc-list-delete{position:absolute;top:50%;right:6px;transform:translateY(-50%);background:none;border:none;cursor:pointer;opacity:0;font-size:16px;color:#aaa;line-height:1;padding:4px 8px;border-radius:4px;transition:opacity .12s}.exc-list-item:hover .exc-list-delete,.exc-list-item.active .exc-list-delete{opacity:1}.exc-list-delete:hover{color:#ef4444;background:#fef2f2}.exc-detail{padding:4px 8px;min-height:400px}.exc-empty{color:#aaa;text-align:center;padding:100px 20px;font-size:14px}.exc-detail-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid #f0f0f0}.exc-detail-name{font-size:18px;font-weight:700;color:#1c1c1e}.exc-detail-meta{font-size:13px;color:#888;margin-top:4px}.exc-detail-counter{text-align:right}.exc-detail-counter-num{font-size:28px;font-weight:800;color:#007aff;line-height:1}.exc-detail-counter-label{font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.04em}.skud-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:20px}.skud-stat-card{background:#f9fafb;border-radius:10px;padding:12px 14px;border-left:3px solid #ef4444}.skud-stat-label{font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px;font-weight:600}.skud-stat-count{font-size:22px;font-weight:800;color:#1c1c1e;font-variant-numeric:tabular-nums}.passwords-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:12px}.passwords-table th{text-align:left;padding:10px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#888;border-bottom:1px solid #eee}.passwords-table td{padding:10px 12px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.passwords-table tr:last-child td{border-bottom:none}.pass-display{padding:4px 6px;border-radius:6px;display:inline-flex;align-items:center;gap:6px}.pass-display code{cursor:pointer;-webkit-user-select:all;user-select:all;font-family:monospace;font-size:14px;color:#1c1c1e;font-weight:600;background:#f3f4f6;padding:4px 10px;border-radius:4px;min-width:60px;display:inline-block;text-align:center}.pass-display code:hover{background:#e5e7eb}.pass-eye-btn{background:none;border:none;cursor:pointer;opacity:.5;font-size:14px;padding:2px 4px;border-radius:4px}.pass-eye-btn:hover{opacity:1;background:#f3f4f6}.export-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;background:#16a34a;color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #16a34a40;transition:background .15s,transform .1s;white-space:nowrap}.export-btn:active{transform:scale(.98)}.export-btn svg{flex-shrink:0}.skud-reason-badge{display:inline-block;padding:3px 10px;border-radius:12px;background:#fef2f2;color:#991b1b;font-size:12px;font-weight:500;white-space:nowrap}.admin-page-loading{text-align:center;padding:60px;color:#aaa}@media (max-width: 600px){.admin-card-row{flex-direction:column}.admin-card-divider{width:100%;height:1px}}.main-content{flex:1;min-width:0}.stats{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.stat-card{background:#fff;border-radius:12px;padding:16px 24px;flex:1;min-width:140px;box-shadow:0 1px 3px #00000014}.stat-card .value{font-size:32px;font-weight:700}.stat-card .label{font-size:13px;color:#888;margin-top:4px}.label-sub{font-size:11px;color:#aaa;margin-top:2px}.stat-card.total .value{color:#333}.stat-card.checked .value{color:#22c55e}.stat-card.pending .value{color:#f59e0b}.stat-card.unmatched .value{color:#ef4444}.table-wrapper{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:visible;margin-bottom:24px}.table-wrapper h2{padding:16px 20px 12px;font-size:18px;font-weight:600;border-bottom:1px solid #eee}table{width:100%;border-collapse:collapse}th{text-align:left;padding:12px 16px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#888;border-bottom:1px solid #eee;background:#fafafa}td{padding:10px 16px;font-size:14px;border-bottom:1px solid #f0f0f0}tr:last-child td{border-bottom:none}tr.row-checked{background:#f0fdf4}tr.row-unmatched{background:#fef2f2}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.status-badge.checked{background:#dcfce7;color:#16a34a}.status-badge.pending{background:#fef3c7;color:#d97706}.status-badge.no-order{background:#fee2e2;color:#dc2626}.status-badge.no-show{background:#f3f4f6;color:#9ca3af;white-space:nowrap}.time{font-size:13px;color:#666;font-variant-numeric:tabular-nums}.refresh-info{text-align:center;font-size:12px;color:#aaa;padding:16px}.top-row{display:flex;gap:24px;margin-bottom:24px;align-items:stretch}.last-event{flex:1;background:#fff;border:3px solid #e5e7eb;border-radius:16px;padding:6px 8px;text-align:center;box-shadow:0 2px 8px #0000000f}.last-event.has-order{border-color:#22c55e;background:#f0fdf4}.last-event.no-order{border-color:#ef4444;background:#fef2f2}.last-event-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#888;margin-bottom:4px}.last-event-body{display:flex;align-items:center;gap:12px;justify-content:center}.last-event-info{text-align:center}.last-event-photo{flex-shrink:0;width:200px;align-self:stretch;border-radius:12px;overflow:hidden;border:3px solid rgba(0,0,0,.1)}.last-event-photo img,.last-event-avatar{width:100%;height:100%;object-fit:cover;display:block}.last-event-name{font-size:28px;font-weight:700;color:#111;margin-bottom:8px}.last-event-details{display:flex;justify-content:center;gap:16px;margin-bottom:12px;flex-wrap:wrap}.last-event-position{font-size:16px;color:#555}.last-event-company{font-size:16px;color:#888}.last-event-meta{display:flex;justify-content:center;gap:24px;margin-bottom:12px}.last-event-door{font-size:14px;color:#666}.last-event-time{font-size:18px;font-weight:600;color:#333;font-variant-numeric:tabular-nums}.last-event-status{display:inline-block;padding:6px 20px;border-radius:24px;font-size:14px;font-weight:600}.last-event-status.ok{background:#dcfce7;color:#16a34a}.last-event-status.warn{background:#fee2e2;color:#dc2626}.last-event-empty{font-size:16px;color:#aaa;padding:20px}.archive-notice{flex:1;display:flex;align-items:center;justify-content:center;background:#fff;border:2px dashed #d1d5db;border-radius:16px;padding:28px 32px;font-size:20px;font-weight:600;color:#666}.back-today-btn{display:inline-block;margin-bottom:16px;padding:8px 20px;font-size:14px;font-weight:500;color:#4472c4;background:#e8f0fe;border:none;border-radius:8px;cursor:pointer;transition:background .2s}.back-today-btn:hover{background:#d0e1fd}.export-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:28px 32px;min-width:220px;box-shadow:0 2px 8px #0000000f}.export-btn{display:flex;align-items:center;gap:10px;padding:14px 28px;font-size:16px;font-weight:600;color:#fff;background:#16a34a;border:none;border-radius:12px;cursor:pointer;transition:background .2s}.export-btn:hover{background:#15803d}.export-btn:disabled{background:#ccc;cursor:not-allowed}.export-stats{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#666;text-align:center}.export-stats strong{color:#333}.history-panel{width:240px;flex-shrink:0;background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden;position:sticky;top:20px;max-height:calc(100vh - 40px);overflow-y:auto}.history-title{padding:16px 16px 12px;font-size:15px;font-weight:600;color:#333;border-bottom:1px solid #eee}.history-list{padding:8px}.history-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 12px;margin-bottom:2px;border:none;border-radius:8px;background:transparent;cursor:pointer;transition:background .15s;font-family:inherit;text-align:left}.history-item:hover{background:#f3f4f6}.history-item.selected{background:#e8f0fe;border-left:3px solid #4472C4}.history-item.today .history-date{font-weight:700;color:#16a34a}.history-show-more{display:block;width:100%;margin-top:8px;padding:10px 12px;border:none;border-radius:8px;background:#eef2ff;color:#3b82f6;font-weight:600;font-size:13px;font-family:inherit;cursor:pointer;transition:background .15s}.history-show-more:hover{background:#dbeafe}.history-date{font-size:13px;color:#333;font-weight:500}.history-stats{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.history-total{font-size:16px;font-weight:700;color:#333}.history-checked{font-size:11px;color:#16a34a;font-weight:500}.history-empty{padding:20px;text-align:center;color:#aaa;font-size:13px}.row-clickable{cursor:pointer}.row-clickable:hover td{background:#00000008}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:200}.modal-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:201;background:#fff;border-radius:16px;padding:24px;box-shadow:0 8px 40px #00000040;text-align:center;max-width:400px;width:90%}.modal-close{position:absolute;top:12px;right:16px;font-size:28px;background:none;border:none;cursor:pointer;color:#999;line-height:1}.modal-close:hover{color:#333}.modal-photo{width:100%;max-height:350px;object-fit:contain;border-radius:12px;margin-bottom:16px}.modal-no-photo{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:16px;color:#aaa}.modal-info{text-align:center}.modal-name{font-size:20px;font-weight:700;margin-bottom:6px}.modal-detail{font-size:14px;color:#666}.modal-time{margin-top:8px;font-size:16px;font-weight:600;color:#333}.manual-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 12px;border-bottom:1px solid #eee}.manual-header h2{padding:0;border:none}.manual-add-btn{padding:6px 16px;font-size:13px;font-weight:600;font-family:inherit;color:#fff;background:#4472c4;border:none;border-radius:8px;cursor:pointer}.manual-add-btn:hover{background:#3a62a8}.manual-form{display:flex;gap:8px;padding:12px 20px;flex-wrap:wrap;border-bottom:1px solid #eee}.manual-form input{padding:8px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;flex:1;min-width:140px}.manual-form input:focus{outline:none;border-color:#4472c4}.manual-form-actions{display:flex;gap:8px}.manual-save-btn{padding:8px 20px;font-size:13px;font-weight:600;font-family:inherit;color:#fff;background:#16a34a;border:none;border-radius:8px;cursor:pointer}.manual-save-btn:disabled{opacity:.6}.manual-cancel-btn{padding:8px 16px;font-size:13px;font-family:inherit;color:#666;background:#f3f4f6;border:none;border-radius:8px;cursor:pointer}.row-manual{background:#fffbeb}.status-toggle{cursor:pointer;border:none;font-family:inherit;transition:transform .15s}.status-toggle:hover{transform:scale(1.1)}.manual-delete-btn{background:none;border:none;font-size:20px;color:#ccc;cursor:pointer;padding:0 4px}.manual-delete-btn:hover{color:#ef4444}.manual-empty{padding:20px;text-align:center;color:#bbb;font-size:13px}.anomalies-wrapper{border:1px solid #e5e7eb;background:#fafafa}.anomalies-wrapper h2{color:#999;font-size:15px}.row-anomaly{background:#fafafa}.row-anomaly:hover td{background:#f3f4f6}.anomalies-empty{padding:20px;text-align:center;color:#bbb;font-size:13px;font-style:italic}.comment-trigger{cursor:pointer;min-height:20px;display:flex;align-items:center}.comment-preview{font-size:11px;color:#888;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comment-trigger:hover .comment-preview{color:#4472c4}.comment-empty{font-size:14px;color:#ddd;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px dashed #ddd}.comment-trigger:hover .comment-empty{color:#4472c4;border-color:#4472c4}.comment-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.comment-popup-fixed{position:fixed;z-index:100;width:260px;background:#fff;border-radius:10px;box-shadow:0 4px 20px #0000002e;padding:12px}.comment-popup textarea{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:8px;font-size:13px;font-family:inherit;resize:vertical;outline:none}.comment-popup textarea:focus{border-color:#4472c4}.comment-popup-actions{display:flex;gap:6px;margin-top:8px}.analytics-page{max-width:100%;margin:0 auto;padding:20px 120px;min-height:100vh}.analytics-page.analytics-page--wide{padding:20px 24px}.analytics-header{display:flex;align-items:center;gap:20px;margin-bottom:24px}.analytics-header h1{font-size:24px;font-weight:600}.analytics-filters{display:flex;gap:24px;margin-bottom:28px;flex-wrap:wrap;align-items:flex-end}.analytics-filter label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#888;margin-bottom:6px}.drp-wrapper{position:relative}.drp-trigger{display:flex;align-items:center;gap:10px;padding:8px 16px;border:1px solid #ddd;border-radius:10px;background:#fff;font-size:14px;font-family:inherit;cursor:pointer;color:#333;white-space:nowrap}.drp-trigger:hover{border-color:#4472c4}.drp-dropdown{position:absolute;top:44px;left:0;z-index:200;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000002e;overflow:hidden}.drp-dropdown .rdrDefinedRangesWrapper{font-size:13px;width:150px}.drp-dropdown .rdrStaticRange{border-bottom:1px solid #f0f0f0}.drp-dropdown .rdrStaticRangeLabel{padding:10px 16px}.analytics-tabs{display:flex;gap:4px;background:#f3f4f6;border-radius:10px;padding:4px;margin-bottom:24px;width:fit-content}.a-tab{padding:8px 24px;font-size:14px;font-weight:600;font-family:inherit;border:none;border-radius:8px;cursor:pointer;background:transparent;color:#666;transition:all .2s}.a-tab:hover{color:#333}.a-tab.active{background:#fff;color:#4472c4;box-shadow:0 1px 3px #0000001a}.donut-layout{display:flex;align-items:center;gap:32px;flex-wrap:wrap;justify-content:center}.donut-layout-v2{display:flex;align-items:center;gap:24px;justify-content:center}.donut-legend-v2{flex:0 1 auto;max-width:480px}.donut-legend-v2{flex:1;display:flex;flex-direction:column;gap:16px;min-width:0}.donut-legend-group-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#8e8e93;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid #f0f0f0}.donut-legend-v2 .donut-legend-item{display:flex;align-items:center;gap:10px;font-size:13px;padding:3px 0}.donut-legend-v2 .donut-legend-label{color:#333;flex:1;min-width:0}.donut-legend-v2 .donut-legend-count{font-weight:700;color:#333;min-width:32px;text-align:right;font-variant-numeric:tabular-nums}.disc-filters{display:flex;flex-direction:column;gap:6px;min-width:140px}.disc-filter{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;font-size:15px;font-weight:600;font-family:inherit;border:none;border-radius:10px;cursor:pointer;background:transparent;color:#aaa;transition:all .2s;text-align:left}.disc-filter:hover{color:#555;background:#f9fafb}.disc-filter.active{color:#16a34a;background:#f0fdf4}.disc-filter-count{font-size:13px;font-weight:500;color:#bbb;margin-left:8px}.disc-filter.active .disc-filter-count{color:#16a34a}.donut-legend{display:flex;flex-direction:column;gap:8px}.donut-legend-item{display:flex;align-items:center;gap:10px;font-size:13px}.donut-dot{width:14px;height:14px;border-radius:3px;flex-shrink:0}.donut-legend-label{color:#333;min-width:200px}.donut-legend-count{font-weight:700;color:#333;min-width:30px}.donut-legend-type{font-size:11px;color:#aaa}.heatmap-wrap{overflow-x:auto;overflow-y:hidden;margin:0 -4px;padding-bottom:8px;position:relative}.heatmap-table{border-collapse:separate;border-spacing:5px 4px;width:100%;font-size:.9rem;table-layout:auto;border:none}.heatmap-table,.heatmap-table tr,.heatmap-table td,.heatmap-table th{border:none;outline:none}.heatmap-table thead th{text-align:center;font-weight:600;color:#495057;padding:10px 8px;white-space:nowrap;font-size:.85rem}.heatmap-table thead th:first-child{text-align:left;min-width:280px;position:sticky;left:0;z-index:3;background:#fff}.heatmap-label{text-align:left;font-weight:500;color:#495057;padding:8px 12px;white-space:nowrap;font-size:.95rem;position:sticky;left:0;z-index:2;background:#fff;min-width:280px;border:none}.heatmap-cell{text-align:center;padding:10px 16px;border-radius:10px;font-weight:700;font-size:.95rem;min-width:110px;cursor:pointer;border:none;font-variant-numeric:tabular-nums;letter-spacing:-.3px}.heatmap-empty{text-align:center;padding:10px 16px;border-radius:10px;color:#bbb;font-size:.85rem;background:#f3f3f3;min-width:110px;border:none}.heatmap-norm{font-weight:700}.heatmap-norm-row .heatmap-label{color:#1c1c1e;font-weight:700;font-size:.95rem}.heatmap-divider td{height:8px}.heatmap-line-row td{padding:0!important}.heatmap-line-inner{height:1px;background:#0000001f;margin:12px 0}.heatmap-label-head{font-size:.75rem!important;min-width:280px;text-align:left;text-transform:uppercase;letter-spacing:.6px;font-weight:600;color:#8e8e93}.heatmap-section-header td{font-weight:700;font-size:.8rem;color:#495057;padding:12px 12px 6px!important;text-transform:uppercase;letter-spacing:.4px;border:none!important;background:#f8f9fa!important;border-radius:6px}.heatmap-label-indent{padding-left:24px!important}.heatmap-totals .heatmap-label{color:#1c1c1e;font-weight:700;font-size:.95rem}.heatmap-totals .heatmap-cell{font-weight:800;font-size:1rem}.heatmap-pct-row .heatmap-label{font-weight:700;font-size:.95rem}.heatmap-pct-flat{text-align:center;padding:10px 16px;border-radius:0;font-weight:600;font-size:.9rem;min-width:110px;font-variant-numeric:tabular-nums;border:none}.heatmap-sep{width:1px!important;min-width:1px!important;max-width:1px!important;padding:0!important;border:none!important;background:#ddd!important;position:relative}.heatmap-sep:before,.heatmap-sep:after{content:"";position:absolute;left:0;width:1px;background:#ddd}.heatmap-sep:before{bottom:100%;height:4px}.heatmap-sep:after{top:100%;height:4px}.heatmap-table th:last-child{font-weight:700;color:#1c1c1e;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.heatmap-modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000006b;z-index:1000;align-items:center;justify-content:center}.heatmap-modal-overlay.active{display:flex}.heatmap-modal{background:#fff;border-radius:20px;padding:32px;min-width:380px;max-width:500px;box-shadow:0 24px 60px #00000040;animation:heatModalIn .2s ease}@keyframes heatModalIn{0%{opacity:0;transform:translateY(-12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.heatmap-modal h3{font-size:1.15rem;color:#1c1c1e;margin-bottom:6px}.heatmap-modal .modal-date{font-size:.9rem;color:#8e8e93;margin-bottom:20px}.modal-meal-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:20px}.modal-meal-card{background:#f9f9fb;border-radius:12px;padding:16px;text-align:center}.modal-meal-card .meal-label{font-size:.8rem;color:#8e8e93;margin-bottom:6px}.modal-meal-card .meal-value{font-size:2rem;font-weight:700;color:#1c1c1e}.modal-meal-card.obed{border-top:3px solid #007AFF}.modal-meal-card.uzhin{border-top:3px solid #7c3aed}.modal-meal-card.total{border-top:3px solid #FF3B30}.modal-close-btn{width:100%;padding:12px;background:#007aff;color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.modal-close-btn:hover{background:#0071e3}.emp-modal-table{width:100%;border-collapse:collapse;font-size:13px}.emp-modal-table th{background:#f2f2f7;padding:10px 12px;text-align:left;font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.4px;color:#8e8e93}.emp-modal-table td{padding:9px 12px;border-bottom:1px solid rgba(60,60,67,.08)}.emp-modal-table tr:last-child td{border-bottom:none}.emp-modal-table tr:hover td{background:#f2f2f7}.emp-type-badge{font-size:11px;padding:2px 8px;border-radius:4px;font-weight:500}.emp-type-badge.not_came{background:#fff3cd;color:#856404}.emp-type-badge.unmatched{background:#f8d7da;color:#842029}.emp-type-badge.anomaly{background:#e2e3e5;color:#41464b}.emp-comment{cursor:pointer;font-size:12px;color:#555;min-width:100px;padding:4px 6px;border-radius:4px}.emp-comment:hover{background:#f0f0f0}.emp-comment-edit{display:flex;align-items:center;gap:4px}.emp-comment-edit input{font-size:12px;padding:4px 8px;border:1.5px solid #007AFF;border-radius:6px;outline:none;width:140px}.emp-comment-actions{display:flex;gap:2px}.emp-comment-actions button{border:none;background:none;cursor:pointer;font-size:14px;padding:2px 4px;border-radius:4px;line-height:1}.emp-comment-actions button:first-child{color:#16a34a}.emp-comment-actions button:first-child:hover{background:#f0fdf4}.reason-dropdown{position:absolute;top:100%;right:0;z-index:1200;background:#fff;border-radius:10px;box-shadow:0 8px 32px #0000002e;min-width:320px;max-height:300px;overflow-y:auto;padding:4px 0}.reason-dropdown-item{display:block;width:100%;text-align:left;padding:8px 14px;font-size:12px;border:none;background:none;cursor:pointer;color:#333}.reason-dropdown-item:hover{background:#f0f5ff}.reason-dropdown-item.active{color:#007aff;font-weight:600;background:#f0f5ff}.reason-dropdown-item.clear{color:#ef4444}.reason-dropdown-item.clear:hover{background:#fef2f2}.reason-dropdown-item.other{color:#8e8e93;font-style:italic;border-top:1px solid #f0f0f0}.reason-dropdown-btn{padding:5px 12px;border-radius:6px;border:1px solid #ddd;font-size:11px;cursor:pointer;background:#fff}.reason-dropdown-btn.save{background:#007aff;color:#fff;border-color:#007aff}.analytics-loading{text-align:center;padding:60px;color:#aaa}.analytics-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:32px}.daily-header{display:flex;align-items:center;margin-bottom:20px}.daily-view-tabs{display:flex;gap:4px;background:#f3f4f6;border-radius:10px;padding:4px}.daily-tab{padding:8px 18px;border:none;background:transparent;border-radius:7px;font-size:13px;font-weight:600;color:#6b7280;cursor:pointer}.daily-tab.active{background:#fff;color:#007aff;box-shadow:0 1px 3px #00000014}.chart-tooltip{position:absolute;z-index:10;background:#fff;border-radius:10px;box-shadow:0 8px 24px #0000002e;padding:12px 14px;min-width:180px;pointer-events:none;font-size:12px}.chart-tooltip-date{font-weight:700;color:#1c1c1e;margin-bottom:8px;font-size:13px}.chart-tooltip-row{display:flex;align-items:center;gap:8px;padding:2px 0}.chart-tooltip-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}.chart-tooltip-label{color:#666;flex:1}.chart-tooltip-value{font-weight:700;color:#1c1c1e;font-variant-numeric:tabular-nums}.a-card{background:#fff;border-radius:14px;padding:20px;box-shadow:0 1px 3px #0000000f}.a-card-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#888;margin-bottom:8px}.a-card-value{font-size:32px;font-weight:700;color:#333}.a-card-accent.good .a-card-value{color:#16a34a}.a-card-accent.warn .a-card-value{color:#d97706}.a-card-accent.bad .a-card-value{color:#ef4444}.a-card-drop{font-size:12px;color:#ef4444;margin-top:4px}.a-card-note{font-size:12px;color:#888;margin-top:4px}.a-card-status{font-size:12px;font-weight:600;margin-top:4px}.a-card-status.good{color:#16a34a}.a-card-status.warn{color:#d97706}.a-card-status.bad{color:#ef4444}.analytics-section{background:#fff;border-radius:14px;padding:20px;box-shadow:0 1px 3px #0000000f;margin-bottom:20px}.heatmap-section{padding:12px 8px;overflow:hidden}.analytics-section h2{font-size:17px;font-weight:600;margin-bottom:20px}.analytics-table-wrap{overflow-x:auto}.analytics-table{width:100%;border-collapse:collapse}.analytics-table th{text-align:left;padding:10px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#888;border-bottom:1px solid #eee}.analytics-table td{padding:10px 12px;font-size:14px;border-bottom:1px solid #f0f0f0}.analytics-table .row-weekend td{background:#f0f5ff}.conv-badge{padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}.conv-badge.good{background:#dcfce7;color:#16a34a}.conv-badge.warn{background:#fef3c7;color:#d97706}.conv-badge.bad{background:#fee2e2;color:#ef4444}@media (max-width: 768px){.analytics-cards{grid-template-columns:repeat(2,1fr)}}.comment-save{flex:1;padding:6px;font-size:12px;font-weight:600;font-family:inherit;color:#fff;background:#16a34a;border:none;border-radius:6px;cursor:pointer}.comment-cancel{padding:6px 12px;font-size:12px;font-family:inherit;color:#888;background:#f3f4f6;border:none;border-radius:6px;cursor:pointer}.comment-view{display:flex;flex-direction:column;gap:8px}.comment-view-text{font-size:13px;color:#333;line-height:1.5;white-space:pre-wrap}.comment-edit-btn{font-size:11px;font-family:inherit;color:#4472c4;background:none;border:none;cursor:pointer;text-align:left;padding:0}.comment-edit-btn:hover{text-decoration:underline}.reason-list{display:flex;flex-direction:column;gap:2px}.reason-current{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:#e8f0fe;border-radius:6px;font-size:12px;color:#4472c4;margin-bottom:4px}.reason-clear{background:none;border:none;font-size:16px;color:#999;cursor:pointer;padding:0 2px}.reason-clear:hover{color:#ef4444}.reason-option{width:100%;text-align:left;padding:8px 10px;font-size:13px;font-family:inherit;color:#333;background:none;border:none;border-radius:6px;cursor:pointer;transition:background .15s}.reason-option:hover{background:#f3f4f6}.reason-option.active{background:#e8f0fe;color:#4472c4;font-weight:500}.reason-custom textarea{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:8px;font-size:13px;font-family:inherit;resize:vertical;outline:none;margin-bottom:8px}.reason-custom textarea:focus{border-color:#4472c4}.empty-state{text-align:center;padding:60px 20px;color:#aaa}.empty-state p{font-size:16px}@media (max-width: 768px){.container{padding:12px}header h1{font-size:20px}.main-layout{flex-direction:column}.history-panel{width:100%;position:static;max-height:none}.history-list{display:flex;flex-wrap:wrap;gap:4px}.history-item{width:auto;flex:0 0 auto}.top-row{flex-direction:column;gap:16px}.export-panel{min-width:auto}.last-event-name{font-size:22px}.stats{gap:8px}.stat-card{padding:12px 16px;min-width:100px}.stat-card .value{font-size:24px}th,td{padding:8px 10px;font-size:13px}.col-company,.col-position{display:none}}
