*,:before,:after{box-sizing:border-box}.tcp-container{justify-content:center;align-items:flex-start;width:100%;display:flex;overflow-x:hidden}.tcp-wrapper{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.tcp-grid{grid-template-columns:1fr;align-items:start;gap:1.25rem;display:grid}@media (min-width:900px){.tcp-grid{grid-template-columns:minmax(280px,380px) 1fr}.tcp-grid>.tcp-card:first-child{align-self:start;position:sticky;top:1rem}}.tcp-card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:1.5rem;box-shadow:0 1px 4px #00000014,0 4px 16px #0000000f}.tcp-card-title{color:#374151;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1rem;font-weight:700;display:flex}.tcp-summary{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.25rem;display:grid}@media (max-width:640px){.tcp-summary{grid-template-columns:1fr}}.tcp-summary-tile{text-align:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;padding:.75rem}.tcp-summary-value{font-size:1.5rem;font-weight:800;line-height:1.2;display:block}.tcp-summary-label{color:#6b7280;margin-top:.1rem;font-size:.7rem;font-weight:500}.tcp-section-label{text-transform:uppercase;letter-spacing:.06em;color:#6b7280;align-items:center;gap:.5rem;margin:1.25rem 0 .5rem;font-size:.72rem;font-weight:700;display:flex}.tcp-section-label:after{content:"";background:#e5e7eb;flex:1;height:1px}.tcp-add-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:.5rem;align-items:center;gap:.35rem;padding:.45rem .85rem;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.tcp-add-btn--team{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.tcp-add-btn--team:hover{background:#dbeafe}.tcp-add-btn--proj{color:#15803d;background:#f0fdf4;border:1px solid #86efac}.tcp-add-btn--proj:hover{background:#dcfce7}.tcp-add-btn--danger{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5}.tcp-add-btn--danger:hover{background:#fee2e2}.tcp-table{border-collapse:separate;border-spacing:0 .4rem;width:100%}.tcp-table-head th{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;text-align:left;padding:0 .4rem .4rem;font-size:.72rem;font-weight:600}.tcp-row{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.6rem;transition:box-shadow .15s}.tcp-row:hover{box-shadow:0 0 0 2px #2563eb1a}.tcp-row:focus-within{box-shadow:0 0 0 2px #2563eb26}.tcp-row td{padding:.55rem .5rem}.tcp-row td:first-child{border-radius:.6rem 0 0 .6rem;padding-left:.75rem}.tcp-row td:last-child{border-radius:0 .6rem .6rem 0;padding-right:.75rem}.tcp-num{text-align:center;border:1.5px solid #d1d5db;border-radius:.4rem;outline:none;width:64px;padding:.35rem .5rem;font-size:.82rem;transition:border-color .15s}.tcp-num:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.tcp-name{border:1.5px solid #d1d5db;border-radius:.4rem;outline:none;width:100%;padding:.35rem .5rem;font-size:.82rem;transition:border-color .15s}.tcp-name:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.tcp-select{cursor:pointer;background:#fff;border:1.5px solid #d1d5db;border-radius:.4rem;outline:none;padding:.35rem .5rem;font-size:.82rem}.tcp-select:focus{border-color:#2563eb}.tcp-new-proj{border-top:1px solid #e5e7eb;margin-top:.5rem;padding-top:1rem}.tcp-new-row{flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}.tcp-field{flex:1;min-width:0}.tcp-field label{color:#374151;margin-bottom:.2rem;font-size:.72rem;font-weight:600;display:block}.tcp-bar-wrap{background:#e5e7eb;border-radius:4px;width:100%;height:8px;overflow:hidden}.tcp-bar-fill{border-radius:4px;height:100%;transition:width .2s,background .2s}.tcp-bar-fill.green{background:#16a34a}.tcp-bar-fill.amber{background:#d97706}.tcp-bar-fill.red{background:#dc2626}.tcp-capacity-cell{align-items:center;gap:.4rem;display:flex}.tcp-capacity-text{text-align:right;white-space:nowrap;min-width:54px;font-size:.78rem}.tcp-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.tcp-status-dot.green{background:#16a34a}.tcp-status-dot.amber{background:#d97706}.tcp-status-dot.red{background:#dc2626}.tcp-alert{border-radius:.6rem;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;font-size:.84rem;font-weight:500;display:none}.tcp-alert.ok{color:#15803d;background:#f0fdf4;border:1px solid #86efac;display:flex}.tcp-alert.warning{color:#92400e;background:#fffbeb;border:1px solid #fcd34d}.tcp-alert.danger{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5}.tcp-actions{flex-wrap:wrap;gap:.65rem;margin-top:1rem;display:flex}.tcp-btn{cursor:pointer;border-radius:.5rem;align-items:center;gap:.35rem;padding:.55rem 1rem;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.tcp-btn--primary{color:#fff;background:#2563eb;border:none}.tcp-btn--primary:hover{background:#1d4ed8}.tcp-btn--ghost{color:#374151;background:#f3f4f6;border:1px solid #d1d5db}.tcp-btn--ghost:hover{background:#e5e7eb}.tcp-empty{text-align:center;color:#9ca3af;padding:2rem 1rem}.tcp-empty svg{margin:0 auto .75rem;display:block}.tcp-accordion{margin-top:1.5rem}.tcp-accordion-btn{cursor:pointer;color:#1e40af;background:#eff6ff;border:1.5px solid #bfdbfe;border-radius:.5rem;justify-content:space-between;align-items:center;width:100%;padding:.65rem 1rem;font-size:.85rem;font-weight:600;transition:background .15s;display:flex}.tcp-accordion-btn:hover{background:#dbeafe}.tcp-accordion-btn svg{transition:transform .25s}.tcp-accordion-btn.open svg{transform:rotate(180deg)}.tcp-accordion-body{max-height:0;transition:max-height .3s;overflow:hidden}.tcp-accordion-body.open{max-height:900px}.tcp-accordion-inner{color:#374151;border:1px solid #e5e7eb;border-top:none;border-radius:0 0 .5rem .5rem;padding:1rem;font-size:.875rem;line-height:1.75}.tcp-accordion-inner ul{margin:.6rem 0 0;padding-left:1.25rem}.tcp-accordion-inner li{margin-bottom:.3rem}.tcp-cta{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:1rem;margin-top:1.25rem;padding:1.5rem;box-shadow:0 1px 4px #00000014}.tcp-cta h3{color:#111827;margin:0 0 .4rem;font-size:1.1rem;font-weight:700}.tcp-cta p{color:#4b5563;margin:0 0 .75rem;font-size:.875rem}.tcp-cta-btn{color:#fff;text-align:center;cursor:pointer;background:#2563eb;border:none;border-radius:.5rem;width:100%;padding:.75rem;font-size:.9rem;font-weight:600;transition:background .15s;display:block}.tcp-cta-btn:hover{background:#1d4ed8;text-decoration:none}.tcp-cta-note{color:#16a34a;margin-top:.5rem;font-size:.75rem;font-weight:500}.tcp-table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}@media (max-width:640px){.tcp-card{padding:1rem}.tcp-summary{grid-template-columns:1fr}.tcp-row td{padding:.45rem .35rem;font-size:.8rem}.tcp-table-head th{padding:.3rem;font-size:.68rem}.tcp-num{width:52px;padding:.3rem .35rem;font-size:.78rem}.tcp-name{min-width:0;padding:.3rem .35rem;font-size:.78rem}.tcp-select{padding:.3rem .35rem;font-size:.78rem}.tcp-new-row{flex-direction:column;gap:.4rem}.tcp-field{flex:100%!important;min-width:0!important}.tcp-new-row .tcp-name,.tcp-new-row .tcp-num,.tcp-new-row .tcp-select{width:100%}.tcp-capacity-text{min-width:48px;font-size:.72rem}.tcp-bar-wrap{height:6px}.tcp-actions{flex-direction:column}.tcp-actions .tcp-btn{justify-content:center;width:100%}.tcp-add-btn{padding:.35rem .65rem;font-size:.75rem}.tcp-section-label{font-size:.68rem}}@media print{.no-print,footer,nav,header,.tcp-grid>.tcp-card:first-child,.tcp-accordion{display:none!important}body{background:#fff!important;margin:0!important;padding:0!important}.tcp-container{width:100%!important;display:block!important}.tcp-grid{display:block!important}#result-panel{width:100%!important;max-width:100%!important;box-shadow:none!important;border:none!important;border-radius:0!important;margin:0!important;padding:.5cm .75cm!important;display:block!important}.tcp-summary-tile,.tcp-bar-fill,.tcp-status-dot{-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{margin:12mm;size:auto}}
