:root{--sap-primary: #0854A0;--sap-primary-dark: #053B6F;--sap-primary-light: #0A6ED1;--sap-secondary: #74B3E7;--sap-secondary-light: #A8D1F2;--sap-accent: #E8F4FD;--sap-gray-50: #FAFAFA;--sap-gray-100: #F5F5F5;--sap-gray-200: #EEEEEE;--sap-gray-300: #E0E0E0;--sap-gray-400: #BDBDBD;--sap-gray-500: #9E9E9E;--sap-gray-600: #757575;--sap-gray-700: #616161;--sap-gray-800: #424242;--sap-gray-900: #212121;--sap-success: #107E3E;--sap-warning: #E9730C;--sap-error: #BB0000;--sap-info: #0A6ED1;--sap-shadow-level-0: 0 0 0 1px rgba(0, 0, 0, .05);--sap-shadow-level-1: 0 0 0 1px rgba(0, 0, 0, .05), 0 2px 4px rgba(0, 0, 0, .08);--sap-shadow-level-2: 0 0 0 1px rgba(0, 0, 0, .05), 0 4px 8px rgba(0, 0, 0, .12);--sap-shadow-level-3: 0 0 0 1px rgba(0, 0, 0, .05), 0 8px 16px rgba(0, 0, 0, .15);--sap-border-radius-small: .25rem;--sap-border-radius-medium: .5rem;--sap-border-radius-large: .75rem;--sap-spacing-xs: .25rem;--sap-spacing-sm: .5rem;--sap-spacing-md: 1rem;--sap-spacing-lg: 1.5rem;--sap-spacing-xl: 2rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:"72",Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f5f5f5;color:var(--sap-gray-900);line-height:1.4;font-size:.75rem;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}button{font-family:inherit;cursor:pointer;transition:all .2s ease}input,select,textarea{font-family:inherit;font-size:.75rem;padding:.25rem .5rem;border:1px solid var(--sap-gray-300);border-radius:2px;background:#fff;color:var(--sap-gray-900);transition:border-color .2s ease}input:hover,select:hover,textarea:hover{border-color:var(--sap-primary)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--sap-primary);box-shadow:0 0 0 1px var(--sap-primary)}input:disabled,select:disabled,textarea:disabled{background:var(--sap-gray-100);color:var(--sap-gray-500);cursor:not-allowed}textarea{resize:vertical;min-height:60px}.sap-button{padding:.5rem 1rem;border:none;border-radius:.25rem;font-weight:500;transition:all .2s ease}.sap-button-primary{background-color:var(--sap-primary);color:#fff}.sap-button-primary:hover{background-color:var(--sap-primary-dark)}.sap-button-secondary{background-color:var(--sap-secondary);color:#fff}.sap-button-secondary:hover{background-color:var(--sap-primary-light)}.sap-card{background:#fff;border-radius:.5rem;box-shadow:0 0 0 1px #0000001a,0 2px 4px #00000014;transition:box-shadow .2s ease}.sap-card:hover{box-shadow:0 0 0 1px #0000001a,0 4px 8px #0000001f}.sap-input{padding:.5rem .75rem;border:1px solid var(--sap-gray-300);border-radius:.25rem;transition:border-color .2s ease}.sap-input:focus{outline:none;border-color:var(--sap-primary);box-shadow:0 0 0 1px var(--sap-primary)}.sap-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600}.sap-badge-success{background-color:#d5f5e5;color:var(--sap-success)}.sap-badge-warning{background-color:#fff4e5;color:var(--sap-warning)}.sap-badge-error{background-color:#ffebeb;color:var(--sap-error)}.sap-badge-info{background-color:var(--sap-accent);color:var(--sap-primary)}.header{background:var(--sap-primary);box-shadow:0 1px 3px #0000001f;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--sap-primary-dark)}.header-content{max-width:1920px;margin:0 auto;padding:.5rem 1rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:.5rem}.header-left{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.header-title-section{display:flex;flex-direction:column;gap:.25rem}.header-title{font-size:.875rem;font-weight:600;color:#fff;margin:0;letter-spacing:-.01em;white-space:nowrap}.task-count-badge{background:#fff3;color:#fff;padding:.125rem .375rem;border-radius:.25rem;font-size:.625rem;font-weight:600;border:1px solid rgba(255,255,255,.3);white-space:nowrap;flex-shrink:0}.header-right{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.user-info{color:#fff;font-size:.6875rem;font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-button{background:#8b5cf6;color:#fff;border:none;padding:.25rem .5rem;border-radius:.25rem;font-weight:600;font-size:.625rem;transition:background-color .2s ease;white-space:nowrap}.admin-button:hover{background:#7c3aed}.logout-button{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.25rem .5rem;border-radius:.25rem;font-weight:600;font-size:.625rem;transition:all .2s ease;white-space:nowrap}.logout-button:hover{background:#ffffff40}.filter-bar{background:#f7f7f7;border-bottom:1px solid var(--sap-gray-300);position:sticky;top:40px;z-index:90}.filter-bar-content{max-width:1920px;margin:0 auto;padding:.5rem 1rem}.filter-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.filter-label{font-size:.6875rem;font-weight:600;color:var(--sap-gray-700);white-space:nowrap}.filter-select{min-width:120px;font-size:.6875rem;padding:.25rem .5rem;border:1px solid var(--sap-gray-300);border-radius:2px;background:#fff;color:var(--sap-gray-900);font-weight:400;transition:border-color .2s ease;cursor:pointer;height:28px}.filter-select:hover{border-color:var(--sap-primary)}.filter-select:focus{outline:none;border-color:var(--sap-primary);box-shadow:0 0 0 1px var(--sap-primary)}.filter-actions{display:flex;gap:.375rem;margin-left:auto}.filter-actions .sap-button{padding:.25rem .75rem;font-weight:600;font-size:.6875rem;border-radius:2px;transition:background-color .2s ease;height:28px}.filter-actions .sap-button-primary{background:var(--sap-primary);color:#fff;border:none}.filter-actions .sap-button-primary:hover{background:var(--sap-primary-dark)}.filter-actions .logout-button{background:#fff;color:var(--sap-gray-900);border:1px solid var(--sap-gray-300)}.filter-actions .logout-button:hover{background:var(--sap-gray-100)}.task-list{margin-top:.5rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:.75rem}.loading-spinner{width:32px;height:32px;border:3px solid var(--sap-gray-200);border-top-color:var(--sap-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{background:#fff;border:1px solid var(--sap-gray-300);padding:2rem;text-align:center;font-size:.8125rem;color:var(--sap-gray-700)}.sap-table-container{background:#fff;border:1px solid var(--sap-gray-300);border-radius:2px;overflow-x:auto;overflow-y:hidden}.sap-table-header{background:var(--sap-primary);border-bottom:1px solid var(--sap-primary-dark);padding:.375rem .75rem;display:flex;justify-content:space-between;align-items:center}.sap-table-title{font-size:.8125rem;font-weight:600;color:#fff}.reset-widths-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.3);padding:.25rem .5rem;font-size:.6875rem;border-radius:2px;cursor:pointer;color:#fff;transition:all .2s ease}.reset-widths-btn:hover{background:#ffffff40;border-color:#ffffff80}.sap-table{width:100%;border-collapse:collapse;font-size:.75rem;table-layout:fixed;overflow:hidden}.table-resizing{-webkit-user-select:none;user-select:none}.table-resizing *{cursor:col-resize!important}.sap-table thead{background:#f7f7f7;border-bottom:1px solid var(--sap-gray-300)}.sap-table th{padding:.375rem .5rem;text-align:left;font-weight:600;color:var(--sap-gray-800);border-right:1px solid var(--sap-gray-200);white-space:nowrap;font-size:.6875rem;line-height:1.2}.sap-table th:last-child{border-right:none}.sap-table tbody tr{cursor:pointer;transition:background-color .1s ease}.sap-table tbody tr.row-even{background:#fff}.sap-table tbody tr.row-odd{background:#fafafa}.sap-table tbody tr:hover{background:#e8f4fd!important}.sap-table td{padding:.25rem .5rem;border-right:1px solid var(--sap-gray-200);border-bottom:1px solid var(--sap-gray-200);color:var(--sap-gray-900);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sap-table td:last-child{border-right:none}.sap-table td:first-child{text-align:center}.sap-table td:last-child{text-align:center}.division-header{background:#fff!important;cursor:default!important}.division-header:hover{background:#fff!important}.division-header-cell{background:#fff!important;font-weight:600!important;border-bottom:1px solid var(--sap-gray-300)!important;padding:.375rem .5rem!important;padding-left:10px!important;color:var(--sap-gray-800)!important;border-right:none!important;text-align:left!important}.division-name{font-size:.75rem;color:var(--sap-gray-800)}.team-indent{color:var(--sap-gray-700);font-size:.75rem}.task-row{cursor:pointer!important}.sap-table td:nth-child(7),.sap-table td:nth-child(8),.sap-table td:nth-child(9){white-space:pre-wrap;word-break:break-word}.status-icon{font-size:.875rem}.task-name{font-weight:500;color:var(--sap-primary)}.progress-cell{display:flex;align-items:center;gap:.375rem}.progress-bar-mini{flex:1;height:4px;background:var(--sap-gray-200);border-radius:2px;overflow:hidden}.progress-fill-mini{height:100%;background:var(--sap-primary);border-radius:2px;transition:width .3s ease}.progress-text-mini{font-size:.6875rem;font-weight:600;color:var(--sap-gray-700);min-width:28px;text-align:right}.review-badge{display:inline-block;padding:.125rem .375rem;border-radius:2px;font-size:.6875rem;font-weight:600;line-height:1}.review-적합{background:#e8f5e9;color:#2e7d32}.review-수정{background:#fff3e0;color:#e65100}.review-부적합{background:#ffebee;color:#c62828}@media(max-width:1400px){.sap-table{font-size:.6875rem}}.sidebar-overlay{position:fixed;inset:0;background-color:#0006;z-index:200;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.task-sidebar{position:fixed;right:0;top:0;height:100vh;width:700px;max-width:90vw;background-color:#f7f7f7;box-shadow:-2px 0 8px #0003;z-index:201;overflow-y:auto;animation:slideIn .2s ease;display:flex;flex-direction:column}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.sidebar-header{position:sticky;top:0;background-color:var(--sap-primary);border-bottom:1px solid var(--sap-primary-dark);padding:.5rem 1rem;display:flex;align-items:center;justify-content:space-between;z-index:10;box-shadow:0 1px 3px #0000001f}.sidebar-header h2{font-size:.875rem;font-weight:600;margin:0;color:#fff}.close-button{background:none;border:none;color:#fff;padding:.25rem;cursor:pointer;transition:color .2s ease;display:flex;align-items:center;justify-content:center}.close-button:hover{color:var(--sap-gray-900)}.sidebar-content{padding:0;flex:1;background:#fff}.version-timeline-simple{padding:.75rem 1rem;background:#f7f7f7;border-bottom:1px solid var(--sap-gray-300);max-height:none;overflow-y:visible}.timeline-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;position:relative;padding-left:0}.timeline-item{position:relative;display:flex;align-items:flex-start;gap:.5rem;margin-bottom:0;cursor:pointer;padding:.5rem;border:1px solid var(--sap-gray-300);border-radius:4px;background:#fff;transition:all .2s ease}.timeline-item:hover{border-color:var(--sap-primary);box-shadow:0 2px 4px #0000001a}.timeline-item.active{background:#e8f4fd;border-color:var(--sap-primary);box-shadow:0 2px 4px #0854a033}.timeline-icon{width:12px;height:12px;border-radius:50%;border:2px solid white;box-shadow:0 1px 3px #0003;flex-shrink:0;margin-top:.125rem;position:relative;z-index:1}.timeline-icon.current{background:#10b981}.timeline-icon.submitted{background:#3b82f6}.timeline-icon.reviewed{background:#8b5cf6}.timeline-content{flex:1;transition:all .2s ease}.timeline-title{font-size:.75rem;font-weight:600;color:var(--sap-gray-900);margin-bottom:.125rem}.timeline-date{font-size:.625rem;color:var(--sap-gray-600)}.task-form{display:flex;flex-direction:column;gap:0;padding:1rem}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:.75rem}.form-group{display:flex;flex-direction:column;gap:.25rem}.form-group.flex-2{grid-column:span 2}.form-label{font-size:.6875rem;font-weight:600;color:var(--sap-gray-700);margin-bottom:.125rem}.progress-slider{width:100%;height:8px;border-radius:4px;background:var(--sap-gray-200);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.progress-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--sap-primary);cursor:pointer}.progress-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--sap-primary);cursor:pointer;border:none}.form-actions{display:flex;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--sap-gray-300);background:#f7f7f7;position:sticky;bottom:0}.form-actions button{flex:1;padding:.375rem .75rem;font-weight:600;font-size:.6875rem;border-radius:2px;border:none;transition:background-color .2s ease}.form-actions button:first-child{background:var(--sap-primary);color:#fff}.form-actions button:first-child:hover{background:var(--sap-primary-dark)}.form-actions button:not(:first-child){background:#fff;color:var(--sap-gray-900);border:1px solid var(--sap-gray-300)}.form-actions button:not(:first-child):hover{background:var(--sap-gray-100)}.admin-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:300;animation:fadeIn .3s ease}.admin-modal{background-color:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:90vw;max-width:1200px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:scaleIn .3s ease}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.admin-modal-header{background-color:#8b5cf6;color:#fff;padding:1.5rem;display:flex;align-items:center;justify-content:space-between}.admin-modal-header h2{font-size:1.25rem;font-weight:600;margin:0}.admin-modal-content{padding:1.5rem;overflow-y:auto;flex:1}.admin-actions{margin-bottom:1.5rem;display:flex;gap:.75rem}.admin-task-list{display:flex;flex-direction:column;gap:1rem}.admin-task-card{background-color:var(--sap-gray-50);border:1px solid var(--sap-gray-200);border-radius:.5rem;padding:1rem}.admin-task-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.admin-task-info h4{font-size:1rem;font-weight:600;color:var(--sap-gray-900);margin:0 0 .25rem}.admin-task-info p{font-size:.875rem;color:var(--sap-gray-700);margin:0}.admin-task-actions{display:flex;gap:.5rem}.duplicate-button{background-color:#e8f4fd;color:var(--sap-primary);border:none;padding:.5rem 1rem;border-radius:.25rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .2s ease}.duplicate-button:hover{background-color:#d1e9fc}.delete-button{background-color:#ffebeb;color:var(--sap-error);border:none;padding:.5rem 1rem;border-radius:.25rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .2s ease}.delete-button:hover{background-color:#ffd6d6}.admin-task-editors{display:flex;flex-direction:column;gap:.5rem}.app{min-height:100vh;background:#f5f5f5}.main-content{max-width:1920px;margin:0 auto;padding:1rem}
