.rekon-root{display:grid;gap:16px}.rekon-root .rekon-panel{background:var(--surface,#fff);border:1px solid var(--border,#d8e2ee);border-radius:12px;padding:20px;min-width:0;box-shadow:0 2px 5px #142b4610}.rekon-root h2{margin:0 0 14px;font-size:1.05rem}.rekon-root h3{margin:10px 0}.rekon-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:12px;background:var(--surface,#fff);border:1px solid var(--border,#d8e2ee);border-radius:12px;padding:16px}.rekon-toolbar label{display:grid;gap:6px;min-width:150px;font-weight:600;font-size:.85rem}.rekon-toolbar select,.rekon-toolbar input{width:100%;min-height:42px}.rekon-toolbar button{min-height:42px}.rekon-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.rekon-stat{display:grid;gap:8px;padding:16px;background:var(--surface,#fff);border:1px solid var(--border,#d8e2ee);border-radius:12px}.rekon-stat span{font-size:.82rem;opacity:.75}.rekon-stat strong{font-size:1.5rem}.rekon-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rekon-chart-grid .rekon-wide{grid-column:1/-1}.rekon-section-label{border-top:1px solid var(--border,#d8e2ee);padding-top:14px}.rekon-chart-grid svg{display:block;width:100%;height:auto;max-height:250px;overflow:visible}.rekon-chart-grid svg .grid{stroke:#dce4ec;stroke-dasharray:4 5}.rekon-chart-grid svg .goal{stroke:#62728a;stroke-width:1.5;stroke-dasharray:4 4}.rekon-chart-grid svg .axis,.rekon-chart-grid svg .goal-label{fill:currentColor;font-size:12px}.rekon-chart-grid svg .value{fill:currentColor;font-size:12px;font-weight:700}.rekon-chart-grid svg .service-bar{fill:#92d0cf}.rekon-chart-grid svg .scheduler-bar{fill:#efad71}.rekon-chart-grid svg .area{fill:#80b9e6;fill-opacity:.32}.rekon-chart-grid svg .trend{fill:none;stroke:#438dda;stroke-width:2.5}.rekon-chart-grid svg .point{fill:#fff;stroke:#438dda;stroke-width:2}.rekon-chart-empty{min-height:170px;display:grid;place-items:center}.rekon-count-chart{display:grid;gap:11px;min-height:150px;align-content:center}.rekon-count-line{display:grid;grid-template-columns:70px 1fr 35px;gap:10px;align-items:center;font-size:.8rem}.rekon-stacked{display:flex;height:18px;background:#e9eff5;border-radius:5px;overflow:hidden}.rekon-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:.75rem}.rekon-legend span:before{content:'';display:inline-block;width:9px;height:9px;margin-right:5px;border-radius:2px;background:var(--legend)}.rekon-note,.rekon-empty{font-size:.83rem;opacity:.72}.rekon-table-wrap{max-width:100%;overflow:auto}.rekon-table-wrap table{width:100%;border-collapse:collapse;font-size:.82rem}.rekon-table-wrap th,.rekon-table-wrap td{padding:11px 9px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border,#d8e2ee)}.rekon-table-wrap th{white-space:nowrap;background:var(--surface-2,#edf3f9);color:var(--text,#25334b)}.rekon-table-wrap select{min-width:115px;max-width:180px}.rekon-table-wrap .rekon-title{min-width:280px;max-width:450px}.rekon-gap td:last-child{color:#e38d78;font-weight:700}.rekon-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rekon-upload-card{display:grid;gap:12px;align-content:start;padding:15px;border:1px solid var(--border,#d8e2ee);border-radius:10px}.rekon-upload-card h3{margin:0}.rekon-upload-card input{width:100%}.rekon-upload-actions{display:flex;gap:8px;flex-wrap:wrap}.rekon-preview{font-size:.8rem}.rekon-error{color:#e38d78}@media(max-width:760px){.rekon-chart-grid,.rekon-upload-grid{grid-template-columns:1fr}.rekon-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.rekon-toolbar label{flex:1 1 140px}.rekon-chart-grid svg .month-label{font-size:10px}}@media(max-width:430px){.rekon-stats{grid-template-columns:1fr 1fr}.rekon-root .rekon-panel{padding:14px}}
.rekon-source-controls,.rekon-pages{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}.rekon-source-controls input{width:min(100%,320px);min-height:40px}.rekon-pages{justify-content:flex-end;font-size:.82rem}.rekon-table-wrap td input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);cursor:pointer}.rekon-table-wrap td details summary{cursor:pointer;font-weight:600}.rekon-table-wrap td details p{white-space:pre-wrap;max-width:480px}
.rekon-check-all{display:inline-flex;align-items:center;gap:9px;margin:0 0 12px;font-size:.88rem;font-weight:600;cursor:pointer}.rekon-check-all input{width:20px;height:20px;accent-color:var(--accent)}
.rekon-detail-toggle{margin:0 0 12px}.rekon-detail-body[hidden]{display:none}.rekon-upload-status{display:flex;align-items:center;gap:9px;font-weight:600;color:var(--text,#25334b)}.rekon-spinner{width:17px;height:17px;border:2px solid var(--border,#d8e2ee);border-top-color:var(--accent,#438dda);border-radius:50%;animation:rekon-spin .8s linear infinite}.rekon-success{margin:0;padding:10px 12px;border-radius:8px;background:#dcf5e9;color:#12613e;font-weight:700}@keyframes rekon-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.rekon-spinner{animation:none}}
.rekon-workload-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.rekon-workload-summary>div{display:grid;gap:5px;padding:13px 15px;border:1px solid var(--border,#d8e2ee);border-radius:10px;background:var(--surface-2,#edf3f9)}.rekon-workload-summary span{font-size:.8rem;opacity:.8}.rekon-workload-summary strong{font-size:1.3rem}.rekon-workload-actions,.rekon-workload-filters{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.rekon-workload-filters label{display:grid;gap:6px;min-width:180px;font-size:.82rem;font-weight:600}.rekon-workload-filters select{min-height:40px}.rekon-workload-detail{margin-top:10px}.rekon-workload-detail .rekon-table-wrap{max-height:620px;overflow:auto}.rekon-workload-detail th{position:sticky;top:0;z-index:1}.rekon-workload-detail .rekon-gap{background:#e35d6514}@media(max-width:600px){.rekon-workload-summary{grid-template-columns:1fr}.rekon-workload-filters label{width:100%}}
.rekon-lock-status{display:grid;gap:8px;margin:14px 0;padding:12px 14px;border:1px solid var(--border,#d8e2ee);border-radius:10px;background:var(--surface-2,#edf3f9);font-size:.84rem}.rekon-lock-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.rekon-lock-status>span{align-self:center}.rekon-lock-status button{min-height:38px}
.rekon-limit-settings{margin:14px 0;padding:13px 15px;border:1px solid var(--border,#d8e2ee);border-radius:10px}.rekon-limit-settings summary{cursor:pointer;font-weight:700}.rekon-limit-rows{display:grid;gap:8px;margin-top:12px}.rekon-limit-row{display:grid;grid-template-columns:minmax(150px,1fr) 90px 75px 90px 80px 100px;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--border,#d8e2ee)}.rekon-limit-row input{width:100%;min-height:38px}.rekon-limit-row button{min-height:38px}.rekon-limit-person{display:grid;gap:3px}.rekon-limit-person small{font-size:.76rem;opacity:.75}.rekon-limit-row>strong{grid-column:2/-1}@media(max-width:760px){.rekon-limit-row{grid-template-columns:minmax(100px,1fr) 80px 70px 80px 75px}.rekon-limit-row button{grid-column:1/-1}.rekon-limit-row>strong{grid-column:2/-1}}@media(max-width:480px){.rekon-limit-row{grid-template-columns:minmax(110px,1fr) 76px 65px}.rekon-limit-person{grid-column:1/-1}.rekon-limit-row button{grid-column:1/-1}.rekon-limit-row>strong{grid-column:1/-1}}
.rekon-workload-detail .rekon-holiday{background:#e35d652e}.rekon-workload-detail .rekon-holiday td:first-child{border-left:3px solid #e35d65;color:#ff898f;font-weight:700}.rekon-holiday-badge{display:block;width:max-content;margin-top:4px;padding:2px 6px;border-radius:5px;background:#e35d6540;color:#ffb2b6;font-size:.72rem;font-weight:700}html[data-theme=light] .rekon-workload-detail .rekon-holiday{background:#fff0f1}html[data-theme=light] .rekon-workload-detail .rekon-holiday td:first-child{color:#b42336}html[data-theme=light] .rekon-holiday-badge{background:#ffdadd;color:#9f1f30}
.rekon-count-breakdown{display:flex;flex-wrap:wrap;gap:5px 12px;margin:3px 0 12px 80px;font-size:.76rem}.rekon-count-breakdown span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.rekon-count-breakdown span:before{content:'';width:9px;height:9px;border-radius:2px;background:var(--legend);flex:none}.rekon-count-chart+.rekon-note{margin-top:8px}@media(max-width:600px){.rekon-count-breakdown{margin-left:0}}
.rekon-root .rekon-lock-status button{background:var(--accent);border-color:var(--accent);color:#092232;font-weight:700}.rekon-root .rekon-lock-status button:hover{background:#8cddff}.rekon-root button.rekon-reset-button{background:#b42336;border-color:#b42336;color:#fff}.rekon-root button.rekon-reset-button:hover:not(:disabled){background:#8f1b2c;color:#fff}html[data-theme=light] .rekon-root .rekon-lock-status button{color:#fff}html[data-theme=light] .rekon-root .rekon-lock-status button:hover{background:#106b96;color:#fff}
.rekon-capacity-view svg .grid{stroke:var(--border,#d8e2ee);stroke-dasharray:4 5}.rekon-capacity-view svg .axis{fill:currentColor;font-size:11px}
.rekon-trend-chart{position:relative}.rekon-trend-hit{fill:transparent;cursor:crosshair}.rekon-trend-hit:focus{outline:none}.rekon-capacity-view svg .rekon-trend-active{filter:brightness(1.35);stroke:currentColor;stroke-width:1.5}.rekon-trend-tooltip{position:absolute;top:3px;z-index:2;transform:translateX(-50%);padding:5px 9px;border:1px solid var(--border,#d8e2ee);border-radius:6px;background:var(--surface,#fff);color:var(--text,#25334b);box-shadow:0 3px 12px #0003;font-size:.78rem;font-weight:700;white-space:nowrap;pointer-events:none}.rekon-trend-tooltip[hidden]{display:none}
.rekon-trend-tooltip{min-width:180px;max-width:min(270px,80vw);white-space:normal}.rekon-trend-tooltip-total{display:block;padding-bottom:5px;border-bottom:1px solid var(--border,#d8e2ee);white-space:nowrap}.rekon-trend-tooltip-member{display:flex;justify-content:space-between;gap:14px;padding-top:4px;font-weight:400}.rekon-trend-tooltip-member span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rekon-trend-tooltip-member strong{flex:none}.rekon-trend-tooltip-empty{display:block;padding-top:5px;font-weight:400}
.rekon-capacity-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:12px 0 18px}.rekon-capacity-filters label{display:grid;gap:6px;font-size:.82rem;font-weight:600}.rekon-capacity-filters select{min-height:40px;width:100%}.rekon-capacity-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:8px 0 20px}.rekon-capacity-stat{display:grid;gap:2px;padding:6px 8px}.rekon-capacity-stat span,.rekon-capacity-stat small{font-size:.78rem;opacity:.78}.rekon-capacity-stat strong{font-size:1.2rem}.rekon-capacity-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}.rekon-capacity-tab{min-height:38px}.rekon-capacity-tab.active{background:var(--text,#172b45);color:var(--surface,#fff)}.rekon-capacity-view{min-height:190px}.rekon-capacity-member{display:grid;gap:6px;margin:12px 0}.rekon-capacity-member-head{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:.82rem}.rekon-capacity-member-head span{white-space:nowrap}.rekon-capacity-track{height:11px;border-radius:9px;overflow:hidden;background:#dfe4e9}.rekon-capacity-track span{display:block;height:100%;border-radius:inherit}.rekon-capacity-track .normal{background:#42a891}.rekon-capacity-track .high{background:#e5ad3e}.rekon-capacity-track .over{background:#df565b}.rekon-capacity-legend,.rekon-holiday-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;font-size:.76rem}.rekon-capacity-legend span:before,.rekon-holiday-legend span:before{content:'';display:inline-block;width:9px;height:9px;margin-right:5px;border-radius:50%;background:var(--legend,#42a891)}.rekon-capacity-legend .normal:before{background:#42a891}.rekon-capacity-legend .high:before{background:#e5ad3e}.rekon-capacity-legend .over:before{background:#df565b}.rekon-capacity-view svg{display:block;width:100%;height:auto;max-height:290px;overflow:visible}.rekon-capacity-view .rekon-task-bar{fill:#4aa493}.rekon-capacity-view .rekon-holiday-bar{fill:#e5ad3e}.rekon-capacity-view .capacity-target{stroke:#df565b;stroke-width:1.5;stroke-dasharray:5 5}.rekon-capacity-view .capacity-target-label{fill:#df565b;font-size:10px}.rekon-capacity-view .donut-total{fill:currentColor;font-size:26px;font-weight:700}.rekon-capacity-view .donut-subtitle{fill:currentColor;font-size:10px}.rekon-holiday-donut-wrap{display:grid;justify-items:center}.rekon-holiday-donut-wrap svg{width:170px}.rekon-holiday-list{display:grid;margin-top:16px}.rekon-holiday-list>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border,#d8e2ee);font-size:.82rem}.rekon-holiday-list strong{white-space:nowrap}@media(max-width:600px){.rekon-capacity-filters,.rekon-capacity-stats{grid-template-columns:1fr 1fr}.rekon-capacity-member-head{align-items:flex-start;flex-direction:column;gap:2px}.rekon-capacity-tabs{gap:4px}.rekon-capacity-tab{font-size:.78rem;padding-inline:6px}}
.rekon-root{--rekon-blue:#2B80CD;--rekon-yellow:#FFBC00;--rekon-magenta:#C70052;--rekon-burgundy:#A5004C}
.rekon-root .rekon-chart-grid svg .service-bar{fill:var(--rekon-blue)}
.rekon-root .rekon-chart-grid svg .scheduler-bar{fill:var(--rekon-yellow)}
.rekon-root .rekon-chart-grid svg .area{fill:var(--rekon-burgundy);fill-opacity:.55}
.rekon-root .rekon-chart-grid svg .trend{stroke:var(--rekon-burgundy);stroke-width:3;filter:drop-shadow(0 0 1px #293347)}
.rekon-root .rekon-chart-grid svg .point{fill:var(--surface,#fff);stroke:var(--rekon-burgundy);stroke-width:3}
.rekon-root .rekon-capacity-track .normal,.rekon-root .rekon-capacity-legend .normal:before{background:var(--rekon-blue)}
.rekon-root .rekon-capacity-track .high,.rekon-root .rekon-capacity-legend .high:before{background:var(--rekon-yellow)}
.rekon-root .rekon-capacity-track .over,.rekon-root .rekon-capacity-legend .over:before{background:var(--rekon-magenta)}
.rekon-root .rekon-capacity-view .rekon-task-bar{fill:var(--rekon-blue)}
.rekon-root .rekon-capacity-view .rekon-holiday-bar{fill:var(--rekon-yellow)}
.rekon-root .rekon-capacity-view .capacity-target{stroke:var(--rekon-magenta)}
.rekon-root .rekon-capacity-view .capacity-target-label{fill:color-mix(in srgb,var(--rekon-magenta),var(--text,#25334b) 40%)}
.rekon-root .rekon-capacity-view svg .rekon-trend-active{filter:saturate(1.1);stroke:var(--text,#25334b)}
html[data-theme=light] .rekon-root .rekon-chart-grid svg .service-bar,html[data-theme=light] .rekon-root .rekon-chart-grid svg .scheduler-bar,html[data-theme=light] .rekon-root .rekon-capacity-view .rekon-task-bar,html[data-theme=light] .rekon-root .rekon-capacity-view .rekon-holiday-bar{stroke:var(--border,#d8e2ee);stroke-width:1}
